From d955a9cc6e82c9d05f53ca7f7fe08f3af96b549c Mon Sep 17 00:00:00 2001 From: Fahri Gedik <53567152+fahrigedik@users.noreply.github.com> Date: Tue, 20 Jan 2026 13:32:03 +0300 Subject: [PATCH] Refactor feature management to use @angular/aria tabs Replaces ng-bootstrap nav components with @angular/aria tab components in the feature management UI for improved accessibility and alignment with Angular's latest standards. Updates dependencies and imports accordingly, and adds @angular/aria as a peer dependency. --- .../packages/feature-management/package.json | 3 ++ .../feature-management.component.html | 42 +++++++++---------- .../feature-management.component.ts | 11 +++-- 3 files changed, 32 insertions(+), 24 deletions(-) diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 7ad16aaec4..8769dd4a40 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -10,6 +10,9 @@ "@abp/ng.theme.shared": "~10.1.0-rc.1", "tslib": "^2.0.0" }, + "peerDependencies": { + "@angular/aria": ">=21.0.0" + }, "publishConfig": { "access": "public" } diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html index 257221add9..a2248010fa 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html @@ -12,18 +12,26 @@
@if (groups.length) { -
- +
- - - @if (description) { - {{ description }} - } - - -
} @if (!groups.length) { diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts index 0c6c532473..7f2d816bbc 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, Input, Output, inject, DOCUMENT } from '@angular/core'; -import { NgTemplateOutlet } from '@angular/common'; +import { NgTemplateOutlet, NgStyle } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { ConfigStateService, LocalizationPipe, TrackByService } from '@abp/ng.core'; import { @@ -17,7 +17,7 @@ import { ModalComponent, ToasterService, } from '@abp/ng.theme.shared'; -import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; +import { Tabs, TabList, Tab, TabPanel, TabContent } from '@angular/aria/tabs'; import { finalize } from 'rxjs/operators'; import { FreeTextInputDirective } from '../../directives'; import { FeatureManagement } from '../../models'; @@ -36,11 +36,16 @@ const DEFAULT_PROVIDER_NAME = 'D'; exportAs: 'abpFeatureManagement', imports: [ NgTemplateOutlet, + NgStyle, ButtonComponent, ModalComponent, LocalizationPipe, FormsModule, - NgbNavModule, + Tabs, + TabList, + Tab, + TabPanel, + TabContent, FreeTextInputDirective, ModalCloseDirective, ],