[OpenNMS/opennms] b9c52f: 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: b9c52fcd849d7cbbd0d5bb614db05c8de10a471a
      https://github.com/OpenNMS/opennms/commit/b9c52fcd849d7cbbd0d5bb614db05c8de10a471a
  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: 5b5482ebba0a0c45fbcfb910c6f7680008c629f4
      https://github.com/OpenNMS/opennms/commit/5b5482ebba0a0c45fbcfb910c6f7680008c629f4
  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: ddc11915baeadd53e0485dac8c2dd0231cfb17b0
      https://github.com/OpenNMS/opennms/commit/ddc11915baeadd53e0485dac8c2dd0231cfb17b0
  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: 18c38f055ea420b27f13ac5cb4528a71c24aaabb
      https://github.com/OpenNMS/opennms/commit/18c38f055ea420b27f13ac5cb4528a71c24aaabb
  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: 4d5f27abe770385df9907342c254b51a4336df66
      https://github.com/OpenNMS/opennms/commit/4d5f27abe770385df9907342c254b51a4336df66
  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: ea16ccb0c91ffcbc6257cb79820093c751084b92
      https://github.com/OpenNMS/opennms/commit/ea16ccb0c91ffcbc6257cb79820093c751084b92
  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: 646c848e296984b83baa6feb1c879a301d6e1738
      https://github.com/OpenNMS/opennms/commit/646c848e296984b83baa6feb1c879a301d6e1738
  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: ab3631ed176b2b4044db1999bbf2a0213a8f7a26
      https://github.com/OpenNMS/opennms/commit/ab3631ed176b2b4044db1999bbf2a0213a8f7a26
  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: 51d3a8fa14f75b36a64d9bec99abcf67f7462fa6
      https://github.com/OpenNMS/opennms/commit/51d3a8fa14f75b36a64d9bec99abcf67f7462fa6
  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: c60fd15911fcb44d0efeb3b15aa5ef43a317fb71
      https://github.com/OpenNMS/opennms/commit/c60fd15911fcb44d0efeb3b15aa5ef43a317fb71
  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: c578c7ef15b51fe0caf5d8ff0e4415bf19f40a6f
      https://github.com/OpenNMS/opennms/commit/c578c7ef15b51fe0caf5d8ff0e4415bf19f40a6f
  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: fd036c1198a0290e60221810094b8edd0991ef59
      https://github.com/OpenNMS/opennms/commit/fd036c1198a0290e60221810094b8edd0991ef59
  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: dc75d0e6e6e88510c77a35e6160bbdd125b880df
      https://github.com/OpenNMS/opennms/commit/dc75d0e6e6e88510c77a35e6160bbdd125b880df
  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: f23054aae8ef40073c6d2572a4c68c682091074a
      https://github.com/OpenNMS/opennms/commit/f23054aae8ef40073c6d2572a4c68c682091074a
  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: f25fe9a4c5e58e2de338b19f202ae8b45a9ae2d4
      https://github.com/OpenNMS/opennms/commit/f25fe9a4c5e58e2de338b19f202ae8b45a9ae2d4
  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: 87942eda414fdb248b4da2a3e4d11f1170dab0e3
      https://github.com/OpenNMS/opennms/commit/87942eda414fdb248b4da2a3e4d11f1170dab0e3
  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: 14339ca0b769569523c294aab15f45b1633928c1
      https://github.com/OpenNMS/opennms/commit/14339ca0b769569523c294aab15f45b1633928c1
  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: 1305fde1b9262593e967c15175d5745a8ac426a4
      https://github.com/OpenNMS/opennms/commit/1305fde1b9262593e967c15175d5745a8ac426a4
  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: 85f59a6ff5534739fa3b74bd569b1d7d14aec38e
      https://github.com/OpenNMS/opennms/commit/85f59a6ff5534739fa3b74bd569b1d7d14aec38e
  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: 6b48b6e534f7ee743fd1696a90a47b1440dc9fb1
      https://github.com/OpenNMS/opennms/commit/6b48b6e534f7ee743fd1696a90a47b1440dc9fb1
  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: 730309d42335476f4fa90cfb3d89aec4bc9ce2ee
      https://github.com/OpenNMS/opennms/commit/730309d42335476f4fa90cfb3d89aec4bc9ce2ee
  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: a752687705ae23c5cc18b47f991c993558a281ea
      https://github.com/OpenNMS/opennms/commit/a752687705ae23c5cc18b47f991c993558a281ea
  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: fbdbd4b017985531f306321376630ae8970e41f2
      https://github.com/OpenNMS/opennms/commit/fbdbd4b017985531f306321376630ae8970e41f2
  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/51fa37357686...fbdbd4b01798

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.