[OpenNMS/opennms] f7fae2: NMS-19981: Vendor all FeatherDS icons as local Onm...

Scott Theleman via opennms-cvs <[email protected]>
Newsgroups gmane.network.opennms.cvs
Message-ID <OpenNMS/opennms/push/refs/heads/jira/NMS-19981-primevue-migration-feather-icon-and-cleanup/[email protected]>
  Branch: refs/heads/jira/NMS-19981-primevue-migration-feather-icon-and-cleanup
  Home:   https://github.com/OpenNMS/opennms
  Commit: f7fae2ebfc60e96d4cc59cf00958c2847228e99b
      https://github.com/OpenNMS/opennms/commit/f7fae2ebfc60e96d4cc59cf00958c2847228e99b
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A ui/scripts/generate-icons.mjs
    A ui/src/components/icons/OnmsIcon.vue
    A ui/src/components/icons/account/Group.vue
    A ui/src/components/icons/action/AccountCircle.vue
    A ui/src/components/icons/action/Add.vue
    A ui/src/components/icons/action/AddCircleAlt.vue
    A ui/src/components/icons/action/AddComment.vue
    A ui/src/components/icons/action/AddNote.vue
    A ui/src/components/icons/action/AddUser.vue
    A ui/src/components/icons/action/Archive.vue
    A ui/src/components/icons/action/AssignTo.vue
    A ui/src/components/icons/action/AttachEmail.vue
    A ui/src/components/icons/action/AttachFile.vue
    A ui/src/components/icons/action/Build.vue
    A ui/src/components/icons/action/Business.vue
    A ui/src/components/icons/action/Calendar.vue
    A ui/src/components/icons/action/CalendarEndDate.vue
    A ui/src/components/icons/action/CalendarStartDate.vue
    A ui/src/components/icons/action/Cancel.vue
    A ui/src/components/icons/action/ChangeOwner.vue
    A ui/src/components/icons/action/CheckCircle.vue
    A ui/src/components/icons/action/Cloud.vue
    A ui/src/components/icons/action/CloudDownload.vue
    A ui/src/components/icons/action/CloudUpload.vue
    A ui/src/components/icons/action/Code.vue
    A ui/src/components/icons/action/Comment.vue
    A ui/src/components/icons/action/ContactSupport.vue
    A ui/src/components/icons/action/ContentCopy.vue
    A ui/src/components/icons/action/ContentPaste.vue
    A ui/src/components/icons/action/Cycle.vue
    A ui/src/components/icons/action/Dashboard.vue
    A ui/src/components/icons/action/DateRange.vue
    A ui/src/components/icons/action/Delete.vue
    A ui/src/components/icons/action/DownloadFile.vue
    A ui/src/components/icons/action/Edit.vue
    A ui/src/components/icons/action/EditMode.vue
    A ui/src/components/icons/action/Email.vue
    A ui/src/components/icons/action/EmailDraft.vue
    A ui/src/components/icons/action/EmailInbox.vue
    A ui/src/components/icons/action/EmailSecure.vue
    A ui/src/components/icons/action/ExitToApp.vue
    A ui/src/components/icons/action/Expand.vue
    A ui/src/components/icons/action/Feedback.vue
    A ui/src/components/icons/action/FeedbackAlt.vue
    A ui/src/components/icons/action/FileCopy.vue
    A ui/src/components/icons/action/FilterAlt.vue
    A ui/src/components/icons/action/Group.vue
    A ui/src/components/icons/action/Help.vue
    A ui/src/components/icons/action/Hide.vue
    A ui/src/components/icons/action/Home.vue
    A ui/src/components/icons/action/Info.vue
    A ui/src/components/icons/action/InformationExchange.vue
    A ui/src/components/icons/action/LightDarkMode.vue
    A ui/src/components/icons/action/Link.vue
    A ui/src/components/icons/action/List.vue
    A ui/src/components/icons/action/Location.vue
    A ui/src/components/icons/action/LocationCity.vue
    A ui/src/components/icons/action/Lock.vue
    A ui/src/components/icons/action/LockPasswordProtected.vue
    A ui/src/components/icons/action/LogIn.vue
    A ui/src/components/icons/action/LogOut.vue
    A ui/src/components/icons/action/LoggerConfigs.vue
    A ui/src/components/icons/action/ManageProfile.vue
    A ui/src/components/icons/action/MarkComplete.vue
    A ui/src/components/icons/action/MarkIncomplete.vue
    A ui/src/components/icons/action/MarkRead.vue
    A ui/src/components/icons/action/MarkUnread.vue
    A ui/src/components/icons/action/Notifications.vue
    A ui/src/components/icons/action/Options.vue
    A ui/src/components/icons/action/Person.vue
    A ui/src/components/icons/action/Pin.vue
    A ui/src/components/icons/action/PlayCircle.vue
    A ui/src/components/icons/action/Print.vue
    A ui/src/components/icons/action/Remove.vue
    A ui/src/components/icons/action/RemoveUser.vue
    A ui/src/components/icons/action/Reporting.vue
    A ui/src/components/icons/action/Restore.vue
    A ui/src/components/icons/action/Search.vue
    A ui/src/components/icons/action/Send.vue
    A ui/src/components/icons/action/SendWorkflow.vue
    A ui/src/components/icons/action/Settings.vue
    A ui/src/components/icons/action/Share.vue
    A ui/src/components/icons/action/Sort.vue
    A ui/src/components/icons/action/Subscriptions.vue
    A ui/src/components/icons/action/SupportCenter.vue
    A ui/src/components/icons/action/Unlock.vue
    A ui/src/components/icons/action/UpdateSchedules.vue
    A ui/src/components/icons/action/UpdateUtilities.vue
    A ui/src/components/icons/action/UploadFile.vue
    A ui/src/components/icons/action/VerifedUser.vue
    A ui/src/components/icons/action/View.vue
    A ui/src/components/icons/action/ViewDetails.vue
    A ui/src/components/icons/action/Workflow.vue
    A ui/src/components/icons/communication/Certificate.vue
    A ui/src/components/icons/communication/CertificateAlt.vue
    A ui/src/components/icons/communication/Chat.vue
    A ui/src/components/icons/communication/Contacts.vue
    A ui/src/components/icons/communication/Documentation.vue
    A ui/src/components/icons/communication/IdCard.vue
    A ui/src/components/icons/communication/Phone.vue
    A ui/src/components/icons/content/BlogArticle.vue
    A ui/src/components/icons/content/Video.vue
    A ui/src/components/icons/datavis/AreaChart.vue
    A ui/src/components/icons/datavis/BarChart.vue
    A ui/src/components/icons/datavis/ColumnChart.vue
    A ui/src/components/icons/datavis/DonutChart.vue
    A ui/src/components/icons/datavis/Gauge.vue
    A ui/src/components/icons/datavis/LineChart.vue
    A ui/src/components/icons/datavis/PieChart.vue
    A ui/src/components/icons/datavis/PolarChart.vue
    A ui/src/components/icons/datavis/Reporting.vue
    A ui/src/components/icons/datavis/StackedBarChart.vue
    A ui/src/components/icons/datavis/StackedColumnChart.vue
    A ui/src/components/icons/datavis/TreeDiagram.vue
    A ui/src/components/icons/file/Attachment.vue
    A ui/src/components/icons/file/Folder.vue
    A ui/src/components/icons/file/FolderAdd.vue
    A ui/src/components/icons/file/FolderLocked.vue
    A ui/src/components/icons/file/FolderOpen.vue
    A ui/src/components/icons/file/Generic.vue
    A ui/src/components/icons/file/Image.vue
    A ui/src/components/icons/file/Pdf.vue
    A ui/src/components/icons/file/Text.vue
    A ui/src/components/icons/file/WordDoc.vue
    A ui/src/components/icons/file/Xls.vue
    A ui/src/components/icons/file/Zip.vue
    A ui/src/components/icons/hardware/ApplianceProfiles.vue
    A ui/src/components/icons/hardware/Appliances.vue
    A ui/src/components/icons/hardware/AppliancesAlt.vue
    A ui/src/components/icons/hardware/DesktopWindows.vue
    A ui/src/components/icons/hardware/Instances.vue
    A ui/src/components/icons/hardware/KeyboardArrowDown.vue
    A ui/src/components/icons/hardware/KeyboardArrowUp.vue
    A ui/src/components/icons/hardware/Laptop.vue
    A ui/src/components/icons/hardware/MinionProfiles.vue
    A ui/src/components/icons/hardware/Network.vue
    A ui/src/components/icons/hardware/NetworkProfiles.vue
    A ui/src/components/icons/hardware/Router.vue
    A ui/src/components/icons/hardware/Security.vue
    A ui/src/components/icons/hardware/Server.vue
    A ui/src/components/icons/hardware/VirtualMachine.vue
    A ui/src/components/icons/hardware/VirtualMachineAlt.vue
    A ui/src/components/icons/medical/Ambulance.vue
    A ui/src/components/icons/medical/CostSavings.vue
    A ui/src/components/icons/medical/Drug.vue
    A ui/src/components/icons/medical/DrugGroupId.vue
    A ui/src/components/icons/medical/Hospital.vue
    A ui/src/components/icons/medical/Patient.vue
    A ui/src/components/icons/medical/Payor.vue
    A ui/src/components/icons/medical/Provider.vue
    A ui/src/components/icons/medical/ProviderOffice.vue
    A ui/src/components/icons/medical/Treatment.vue
    A ui/src/components/icons/medical/TreatmentCycle.vue
    A ui/src/components/icons/medical/TreatmentSchedule.vue
    A ui/src/components/icons/medical/Vitals.vue
    A ui/src/components/icons/navigation/Apps.vue
    A ui/src/components/icons/navigation/AppsGetMore.vue
    A ui/src/components/icons/navigation/ArrowBack.vue
    A ui/src/components/icons/navigation/ArrowDropDown.vue
    A ui/src/components/icons/navigation/Cancel.vue
    A ui/src/components/icons/navigation/ChevronLeft.vue
    A ui/src/components/icons/navigation/ChevronRight.vue
    A ui/src/components/icons/navigation/ExpandLess.vue
    A ui/src/components/icons/navigation/ExpandMore.vue
    A ui/src/components/icons/navigation/FirstPage.vue
    A ui/src/components/icons/navigation/Fullscreen.vue
    A ui/src/components/icons/navigation/FullscreenExit.vue
    A ui/src/components/icons/navigation/GridView.vue
    A ui/src/components/icons/navigation/LastPage.vue
    A ui/src/components/icons/navigation/Menu.vue
    A ui/src/components/icons/navigation/MenuClose.vue
    A ui/src/components/icons/navigation/MenuOpen.vue
    A ui/src/components/icons/navigation/MoreHoriz.vue
    A ui/src/components/icons/navigation/MoreVert.vue
    A ui/src/components/icons/navigation/Refresh.vue
    A ui/src/components/icons/navigation/SubdirectoryArrowLeft.vue
    A ui/src/components/icons/navigation/SubdirectoryArrowRight.vue
    A ui/src/components/icons/navigation/UnfoldLess.vue
    A ui/src/components/icons/navigation/UnfoldMore.vue
    A ui/src/components/icons/network/AggregationLayer.vue
    A ui/src/components/icons/network/AggregationLayerAlt1.vue
    A ui/src/components/icons/network/AggregationLayerAlt2.vue
    A ui/src/components/icons/network/AggregationLayerAlt3.vue
    A ui/src/components/icons/network/AggregationLayerAlt4.vue
    A ui/src/components/icons/network/AggregationLayerAlt5.vue
    A ui/src/components/icons/network/ApiConfig.vue
    A ui/src/components/icons/network/ApiEndpoints.vue
    A ui/src/components/icons/network/ApplianceProfiles.vue
    A ui/src/components/icons/network/Appliances.vue
    A ui/src/components/icons/network/AppliancesAlt.vue
    A ui/src/components/icons/network/Build.vue
    A ui/src/components/icons/network/CertificateAlt.vue
    A ui/src/components/icons/network/Cloud.vue
    A ui/src/components/icons/network/CloudBackUp.vue
    A ui/src/components/icons/network/CloudDownload.vue
    A ui/src/components/icons/network/CloudService.vue
    A ui/src/components/icons/network/CloudUpload.vue
    A ui/src/components/icons/network/Code.vue
    A ui/src/components/icons/network/Compare.vue
    A ui/src/components/icons/network/Compare1.vue
    A ui/src/components/icons/network/Compliance.vue
    A ui/src/components/icons/network/Configuration.vue
    A ui/src/components/icons/network/Connection.vue
    A ui/src/components/icons/network/ContainerAdd.vue
    A ui/src/components/icons/network/ContainerTransient.vue
    A ui/src/components/icons/network/ContainerUnknown.vue
    A ui/src/components/icons/network/Database.vue
    A ui/src/components/icons/network/Desktop.vue
    A ui/src/components/icons/network/Digitize.vue
    A ui/src/components/icons/network/DistributedMonitoring.vue
    A ui/src/components/icons/network/ElectricalServices.vue
    A ui/src/components/icons/network/EndUser.vue
    A ui/src/components/icons/network/ExitCompare.vue
    A ui/src/components/icons/network/ExitCompareModeAlt.vue
    A ui/src/components/icons/network/ExtractData.vue
    A ui/src/components/icons/network/Firewall.vue
    A ui/src/components/icons/network/Instances.vue
    A ui/src/components/icons/network/Inventory.vue
    A ui/src/components/icons/network/InventoryAdd.vue
    A ui/src/components/icons/network/InventoryAlt.vue
    A ui/src/components/icons/network/InventoryConfirm.vue
    A ui/src/components/icons/network/InventoryDelete.vue
    A ui/src/components/icons/network/Laptop.vue
    A ui/src/components/icons/network/LogFile.vue
    A ui/src/components/icons/network/LoggerConfigs.vue
    A ui/src/components/icons/network/Logs.vue
    A ui/src/components/icons/network/LogsAlt.vue
    A ui/src/components/icons/network/Microservices.vue
    A ui/src/components/icons/network/Minion.vue
    A ui/src/components/icons/network/MinionProfiles.vue
    A ui/src/components/icons/network/Monitoring.vue
    A ui/src/components/icons/network/NetworkProfiles.vue
    A ui/src/components/icons/network/Nodes.vue
    A ui/src/components/icons/network/Policy.vue
    A ui/src/components/icons/network/Power.vue
    A ui/src/components/icons/network/RouterLan.vue
    A ui/src/components/icons/network/RouterWan.vue
    A ui/src/components/icons/network/Security.vue
    A ui/src/components/icons/network/SecurityScan.vue
    A ui/src/components/icons/network/Server.vue
    A ui/src/components/icons/network/ServerClock.vue
    A ui/src/components/icons/network/Switch.vue
    A ui/src/components/icons/network/Terminal.vue
    A ui/src/components/icons/network/UpdateUtilities.vue
    A ui/src/components/icons/network/Utilities.vue
    A ui/src/components/icons/network/ViewCode.vue
    A ui/src/components/icons/network/VirtualMachine.vue
    A ui/src/components/icons/network/VirtualMachineAlt.vue
    A ui/src/components/icons/network/VirtualMachineAlt2.vue
    A ui/src/components/icons/network/WifiRouter.vue
    A ui/src/components/icons/notification/Connected.vue
    A ui/src/components/icons/notification/Error.vue
    A ui/src/components/icons/notification/NotificationSelected.vue
    A ui/src/components/icons/notification/NotificationSoundSelected.vue
    A ui/src/components/icons/notification/NotificationsOff.vue
    A ui/src/components/icons/notification/Unconnected.vue
    A ui/src/components/icons/notification/Warning.vue
    A ui/src/components/icons/notification/Wifi.vue
    A ui/src/components/icons/notification/WifiNoConnection.vue
    A ui/src/components/icons/notification/WifiOff.vue
    A ui/src/components/icons/notification/WifiSignalBad.vue
    A ui/src/components/icons/notification/WifiStatusBar.vue
    A ui/src/components/icons/status/Available.vue
    A ui/src/components/icons/status/Unavailable.vue

  Log Message:
  -----------
  NMS-19981: Vendor all FeatherDS icons as local OnmsIcon components

Generate local template-only SFCs for all 262 @featherds/icon glyphs into
src/components/icons/<category>/<Name>.vue (SVG geometry copied verbatim via a
one-time render-to-string generator, scripts/generate-icons.mjs), plus a
self-contained OnmsIcon wrapper (depends only on vue) replacing FeatherIcon
with the same :icon/flex/title API. No app code wired to these yet.


  Commit: a28830690863bd703f1a5487c28e77da68c6afdc
      https://github.com/OpenNMS/opennms/commit/a28830690863bd703f1a5487c28e77da68c6afdc
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/eslint.config.js
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/Device/DCBTableStatusDropdown.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/VarbindsDecode.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/Console.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/FileTreeItem.vue
    M ui/src/components/FileEditor/Help.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/FileEditor/TopBar.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Map/MarkerPopup.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Menu/useMenuIcons.ts
    M ui/src/components/Menu/utils.ts
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/FlowTooltipCell.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfileBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/tests/components/Nodes/AssetFilterPanel.test.ts
    M ui/tests/components/Nodes/ExtendedSearchPanel.test.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/components/TrapdConfiguration/SnmpV3UserManagement.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts

  Log Message:
  -----------
  NMS-19981: Repoint icon usage to vendored OnmsIcon

Rewrite all @featherds/icon imports across src to the local vendored icons +
OnmsIcon wrapper (<FeatherIcon> -> <OnmsIcon>; deep icon imports ->
@/components/icons/<cat>/<Name>.vue). Rename the .feather-icon CSS class to
.onms-icon in the 5 consuming components; retype icon components from
typeof FeatherIcon/DefineComponent to vue Component in Menu/utils.ts and
UserSelfServiceMenuItem.vue; convert SideMenu's PrimeIcons toggle/submenu
chevron to OnmsIcon (ChevronLeft/ChevronRight); rename 5 test stubs; ignore
scripts/ in eslint.

No @featherds/icon imports remain in src. The package stays in package.json:
other still-present @featherds/* packages (@featherds/input-helper source)
import it transitively and rely on it being hoisted; it will be removed when
those packages are dropped later in Phase 6.


  Commit: d96adaa7e6159457a639dd25776a5f7070b076af
      https://github.com/OpenNMS/opennms/commit/d96adaa7e6159457a639dd25776a5f7070b076af
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationEmptyTable.vue
    M ui/src/components/Configuration/ConfigurationGeneratedUrl.vue
    M ui/src/components/Configuration/ConfigurationHeader.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/GraphContainer.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/containers/DeviceConfigBackup.vue
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/Logs.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/main/App.vue
    A ui/src/styles/_onms-typography.scss
    M ui/src/styles/opennms-feather-styles.scss

  Log Message:
  -----------
  NMS-19981: Vendor FeatherDS typography mixins as onms- mixins

Replace @featherds/styles/mixins/typography with local, self-contained
src/styles/_onms-typography.scss (all 15 typography mixins as onms-*, Feather
metrics inlined, Inter/OpenSans literals, color via var(--p-text-color)).
Repoint all 54 consumers (both @import and @use forms) and rename @include
sites to onms-. Other @featherds/styles imports remain for later Phase 6 steps.


  Commit: 0c42adf058910e8f9d0d9b5ae2e121650795b8e5
      https://github.com/OpenNMS/opennms/commit/0c42adf058910e8f9d0d9b5ae2e121650795b8e5
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/containers/Home.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/main/App.vue
    M ui/src/styles/onms-grid.scss

  Log Message:
  -----------
  NMS-19981: Migrate FeatherDS grid classes to onms-grid

Replace the remaining feather-row/feather-col-12 (Home, UsageStatistics)
with onms-row/onms-col-12, and feather-container (ProvisionDConfig) with a
new .onms-container in onms-grid.scss (max-width 75rem + 1.5rem padding,
matching FeatherDS). Remove the now-unused @featherds/styles/lib/grid import
from App.vue. No responsive/offset variants were in use.


  Commit: 983b25a06a166f81565cc06815174c963f101fe2
      https://github.com/OpenNMS/opennms/commit/983b25a06a166f81565cc06815174c963f101fe2
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationGeneratedUrl.vue
    M ui/src/components/Configuration/ConfigurationHeader.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Layout/BreadCrumbs.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/Logs.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/ResourceGraphs.vue
    M ui/src/containers/UsageStatistics.vue
    A ui/src/styles/_onms-elevation.scss
    M ui/src/styles/_transitionDataTable.scss

  Log Message:
  -----------
  NMS-19981: Vendor FeatherDS elevation mixin as onms-elevation

Replace @featherds/styles/mixins/elevation with local self-contained
src/styles/_onms-elevation.scss: parameterized onms-elevation($level) with the
Material box-shadow ramp inlined as literals (levels 0-4; app uses 1/2) and the
elevated surface via var(--p-content-background). Rewrite the 9 @include sites
(incl. one namespaced @use) and remove the dead elevation import from 7 files
that imported but never used it.


  Commit: 718ae6cecb4de17f8fbd960fa38671b1242e8bf7
      https://github.com/OpenNMS/opennms/commit/718ae6cecb4de17f8fbd960fa38671b1242e8bf7
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/EventConfigEventCreate/AlarmDataInfo.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/constants.ts
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/SortableTh.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/lib/constants.ts
    M ui/src/lib/sorting.ts
    M ui/src/lib/trapdValidator.ts
    M ui/src/stores/mapStore.ts
    M ui/src/stores/nodeStructureStore.ts
    M ui/src/types/index.ts
    M ui/src/types/snmpConfig.ts

  Log Message:
  -----------
  NMS-19981: Vendor FeatherDS type/enum shims into @/types

Define SORT (enum; asc/desc/none values preserved), ISelectItemType and
IAutocompleteItemType (loose index-signature interfaces) locally in
src/types/index.ts, and repoint all imports from @featherds/{table,select,
autocomplete} to @/types (8 SORT + 13 ISelectItemType + 6 IAutocompleteItemType
sites). @featherds/select and @featherds/autocomplete now have no source usage;
@featherds/table remains only via its table SCSS (separate cleanup).


  Commit: 59892e764c6f5c7b3de93f249b04aab170428283
      https://github.com/OpenNMS/opennms/commit/59892e764c6f5c7b3de93f249b04aab170428283
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Resources/GraphDataTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    A ui/src/styles/_onms-table.scss

  Log Message:
  -----------
  NMS-19981: Vendor FeatherDS table SCSS as onms-table

Add src/styles/_onms-table.scss with onms-table()/onms-table-condensed() mixins
(the only two the app used) copied verbatim from @featherds/table, typography via
onms-typography and border/text tokens mapped to --p-*. Rewrite the 4 @include
consumers (GraphDataTable, Map alarm/node grids, MarkerClusterPopupContent) and
remove the dead @use import from 4 files (NodeAdvancedFiltersDrawer, 3 SnmpConfig
tabs). @featherds/table now has no source usage.


  Commit: b41e9f2158af7a6d9aa24d32427519aff021dbf4
      https://github.com/OpenNMS/opennms/commit/b41e9f2158af7a6d9aa24d32427519aff021dbf4
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/SeverityFilter.vue

  Log Message:
  -----------
  NMS-19981: Fix Geographical Map overlay controls

- Search box: reposition top-left (was hidden under the fixed menu bar), add a
  magnifying-glass icon + a translucent light panel/padding, white input.
- Show Severity: drop the '>=' from the label, force dark-on-white so it reads
  over the always-light map in dark mode, translucent panel/padding.
- Push Leaflet zoom/layer controls below the fixed menu bar; drop the layers
  control's expanded list below its icon so it no longer overlaps Show Severity.
- Stop the map + controls shifting up on first click: disable Leaflet keyboard
  focus and drop the container tabindex (the browser was scrolling the
  focus-target container into view from under the fixed menu bar).


  Commit: 289463596c75c9ccdacdf475e23abc9f5f60de99
      https://github.com/OpenNMS/opennms/commit/289463596c75c9ccdacdf475e23abc9f5f60de99
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue

  Log Message:
  -----------
  NMS-19981: Fix Map table sticky header (CSS position:sticky, drop JS scroll-transform hack)


  Commit: 6e17e5021603d5f6b671194c64228e034aa92bff
      https://github.com/OpenNMS/opennms/commit/6e17e5021603d5f6b671194c64228e034aa92bff
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue

  Log Message:
  -----------
  NMS-19981: Lock Map sticky header immediately (move top gap to scroll container)


  Commit: db187b4d2ae8829cbca18be0376b3873f754a8a9
      https://github.com/OpenNMS/opennms/commit/db187b4d2ae8829cbca18be0376b3873f754a8a9
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/SeverityFilter.vue

  Log Message:
  -----------
  NMS-19981: Make Map Search & Show Severity controls theme-aware (dark mode)


  Commit: 0d6b0d083aeb9745439db3e89f9834b4a9334e8a
      https://github.com/OpenNMS/opennms/commit/0d6b0d083aeb9745439db3e89f9834b4a9334e8a
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/MapAlarmsGrid.vue

  Log Message:
  -----------
  NMS-19981: Lay Alarm Action label + dropdown on one line inline with tabs


  Commit: 3aae518d67cf9ea42d104018910dd6ff3539ae38
      https://github.com/OpenNMS/opennms/commit/3aae518d67cf9ea42d104018910dd6ff3539ae38
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MarkerPopup.vue
    M ui/src/components/Map/utils.ts

  Log Message:
  -----------
  NMS-19981: Keep Map popups below top menu on open (menu-aware autoPan), fix double scroll


  Commit: fdc73c58d52404a0aef0a6473ba2c08907907851
      https://github.com/OpenNMS/opennms/commit/fdc73c58d52404a0aef0a6473ba2c08907907851
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A ui/docs/superpowers/specs/2026-07-13-feather-themes-variables-token-migration-design.md
    M ui/package.json
    M ui/pnpm-lock.yaml
    A ui/src/components/Layout/OnmsAppLayout.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/utils.ts
    R ui/src/components/PrimeVueTest.vue
    A ui/src/composables/useOutsideClick.ts
    M ui/src/main/App.vue
    M ui/src/main/router/index.ts
    M ui/tests/components/Menu/utils.test.ts
    M ui/tests/components/Nodes/NodesTable.test.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/lib/sorting.test.ts

  Log Message:
  -----------
  NMS-19981: Remove remaining Feather components; vendor OnmsAppLayout + useOutsideClick; drop 40 @featherds packages


  Commit: b3ba6dfe7cfb46acdf2a599d1883a811f69e7906
      https://github.com/OpenNMS/opennms/commit/b3ba6dfe7cfb46acdf2a599d1883a811f69e7906
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A ui/docs/superpowers/plans/2026-07-13-feather-themes-variables-token-migration.md

  Log Message:
  -----------
  NMS-19981: Add themes/variables token-migration implementation plan


  Commit: 9b3f6355ea98071bb8b4bb92a0fdeb679e670d1f
      https://github.com/OpenNMS/opennms/commit/9b3f6355ea98071bb8b4bb92a0fdeb679e670d1f
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A ui/src/styles/_onms-color-utils.scss
    A ui/src/styles/_onms-theme.scss
    A ui/src/styles/_onms-tokens.scss

  Log Message:
  -----------
  NMS-19981: Add owned onms- token layer (tokens, theme, color-utils)


  Commit: f986295727a3e5fd7079e9d0cfe54cbb64f00106
      https://github.com/OpenNMS/opennms/commit/f986295727a3e5fd7079e9d0cfe54cbb64f00106
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/main/App.vue
    M ui/src/menu/main.ts
    R ui/src/styles/_onms-theme.scss
    M ui/src/styles/_onms-tokens.scss
    M ui/src/styles/_severities.scss
    A ui/src/styles/onms-theme.scss
    M ui/src/styles/opennms-feather-styles.scss
    M ui/src/styles/themes.scss

  Log Message:
  -----------
  NMS-19981: Wire onms- theme into SPA + menu builds; migrate global style files off Feather tokens


  Commit: e258f14e69fe59fe737248a9c337dcd8ab46ecaa
      https://github.com/OpenNMS/opennms/commit/e258f14e69fe59fe737248a9c337dcd8ab46ecaa
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/assets/Backup.vue
    M ui/src/assets/Compare.vue
    M ui/src/assets/Endpoints.vue
    M ui/src/assets/FileEditor.vue
    M ui/src/assets/Logs.vue
    M ui/src/assets/Speed.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Layout/BreadCrumbs.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/containers/Nodes.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/styles/_onms-tokens.scss
    M ui/src/styles/onms-theme.scss

  Log Message:
  -----------
  NMS-19981: Repoint var($token) consumers (~30 files) to onms-tokens; add primary-text-on-surface


  Commit: f6264da88f195f7f1d5acaa6eed87014252aa0d2
      https://github.com/OpenNMS/opennms/commit/f6264da88f195f7f1d5acaa6eed87014252aa0d2
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/Layout/BreadCrumbs.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileDetailsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/styles/_onms-typography.scss
    M ui/src/styles/opennms-feather-styles.scss

  Log Message:
  -----------
  NMS-19981: Repoint raw var(--feather-*) literals to var(--onms-*)


  Commit: 282295eba9773196186cf83890a4c56135d59c73
      https://github.com/OpenNMS/opennms/commit/282295eba9773196186cf83890a4c56135d59c73
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/theme/opennms-preset.ts

  Log Message:
  -----------
  NMS-19981: Convert local feather severity overrides + preset comment to onms


  Commit: 8c1945e01876ec553fd503b20776f3f3d0eed1e6
      https://github.com/OpenNMS/opennms/commit/8c1945e01876ec553fd503b20776f3f3d0eed1e6
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/package.json
    M ui/pnpm-lock.yaml
    M ui/src/main/index.html
    M ui/src/main/main.ts
    M ui/src/menu/index.html
    M ui/src/menu/main.ts
    A ui/src/styles/onms-base.scss
    M ui/src/styles/themes.scss
    M ui/vite.config.menu.ts
    M ui/vite.config.ts

  Log Message:
  -----------
  NMS-19981: Vendor base reset (onms-base); drop Feather theme + @featherds/styles; FeatherDS fully removed from UI


  Commit: f36f4a82d6e34c0e000f40d76460e34d7795bdb8
      https://github.com/OpenNMS/opennms/commit/f36f4a82d6e34c0e000f40d76460e34d7795bdb8
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/DEVELOPMENT.md
    M ui/copilot-instructions.md

  Log Message:
  -----------
  NMS-19981: Update docs for FeatherDS removal (PrimeVue + onms- layer)


  Commit: 51fa373576869a2df5cb45bb617b8b1fed7ca125
      https://github.com/OpenNMS/opennms/commit/51fa373576869a2df5cb45bb617b8b1fed7ca125
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M ui/MENU_TEMPLATES.md
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationHelper.ts
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/useMenuIcons.ts
    M ui/src/components/Menu/utils.ts
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/composables/useQueryParams.ts
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/lib/sorting.ts
    M ui/src/main/App.vue
    M ui/src/menu/main.ts
    M ui/src/stores/mapStore.ts
    M ui/src/styles/onms-base.scss
    R ui/src/styles/opennms-feather-styles.scss
    A ui/src/styles/opennms-styles.scss
    M ui/src/types/index.ts
    M ui/tests/lib/sorting.test.ts

  Log Message:
  -----------
  NMS-19981: De-Feather cleanup (comments, class/type renames, dead code, opennms-styles rename) + fix SPA content top-offset below fixed menubar


Compare: https://github.com/OpenNMS/opennms/compare/907cff0ff5a4...51fa37357686

To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications


_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.