@i-cell/ids-angular 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +3 -2
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +56 -54
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +4 -4
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tooltip.mjs +5 -2
- package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
- package/package.json +16 -16
- package/radio/index.d.ts +1 -0
- package/side-nav/index.d.ts +8 -3
- package/tooltip/index.d.ts +2 -1
|
@@ -290,7 +290,7 @@ class IdsBreadcrumbComponent extends ComponentBaseWithDefaults {
|
|
|
290
290
|
return parseInt(host.getPropertyValue(variableName).replace('px', ''), 10);
|
|
291
291
|
}
|
|
292
292
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
293
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsBreadcrumbComponent, isStandalone: true, selector: "ids-breadcrumb", inputs: { hierarchy: { classPropertyName: "hierarchy", publicName: "hierarchy", isSignal: true, isRequired: false, transformFunction: null }, dividerType: { classPropertyName: "dividerType", publicName: "dividerType", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, overlayAppearance: { classPropertyName: "overlayAppearance", publicName: "overlayAppearance", isSignal: true, isRequired: false, transformFunction: null }, overlaySize: { classPropertyName: "overlaySize", publicName: "overlaySize", isSignal: true, isRequired: false, transformFunction: null }, overlayVariant: { classPropertyName: "overlayVariant", publicName: "overlayVariant", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<nav class=\"ids-breadcrumb\">\n <ol idsBreadcrumbList>\n @if (_truncation().length) {\n <li idsBreadcrumbTruncation [panelClass]=\"_hostClasses()\" [overlayClass]=\"_overlayClasses()\" [size]=\"size()\" [variant]=\"variant()\">\n @for (breadcrumbItem of _truncation(); track $index; let isLast = $last) {\n <li>\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n </li>\n }\n </li>\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n @for (breadcrumbItem of _breadcrumbs(); track $index; let isLast = $last) {\n <li>\n @if (isLast) {\n <span idsBreadcrumbPage>{{ breadcrumbItem.label }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n }\n </li>\n @if (!isLast) {\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n }\n </ol>\n</nav>\n\n<ng-template #breadcrumbLink let-breadcrumbItem=\"breadcrumbItem\">\n <a\n idsBreadcrumbLink\n [link]=\"!breadcrumbItem.disabled ? breadcrumbItem.path : null\"\n [idsTooltip]=\"breadcrumbItem.label\"\n [idsTooltipDisabled]=\"!breadcrumbItem.hasTooltip\"\n [disabled]=\"!!breadcrumbItem.disabled\"\n (hasTooltip)=\"breadcrumbItem.hasTooltip = $event\"\n >\n {{ breadcrumbItem.label }}\n </a>\n</ng-template>\n", dependencies: [{ kind: "component", type: IdsBreadcrumbDividerComponent, selector: "li[idsBreadcrumbDivider]", inputs: ["dividerType", "size"] }, { kind: "directive", type: IdsBreadcrumbLinkDirective, selector: "a[idsBreadcrumbLink]", inputs: ["disabled", "link"], outputs: ["hasTooltip"] }, { kind: "directive", type: IdsBreadcrumbPageDirective, selector: "span[idsBreadcrumbPage]" }, { kind: "directive", type: IdsBreadcrumbListDirective, selector: "ol[idsBreadcrumbList]" }, { kind: "component", type: IdsBreadcrumbTruncationComponent, selector: "li[idsBreadcrumbTruncation]", inputs: ["overlayClass", "panelClass", "size", "variant"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsBreadcrumbComponent, isStandalone: true, selector: "ids-breadcrumb", inputs: { hierarchy: { classPropertyName: "hierarchy", publicName: "hierarchy", isSignal: true, isRequired: false, transformFunction: null }, dividerType: { classPropertyName: "dividerType", publicName: "dividerType", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, overlayAppearance: { classPropertyName: "overlayAppearance", publicName: "overlayAppearance", isSignal: true, isRequired: false, transformFunction: null }, overlaySize: { classPropertyName: "overlaySize", publicName: "overlaySize", isSignal: true, isRequired: false, transformFunction: null }, overlayVariant: { classPropertyName: "overlayVariant", publicName: "overlayVariant", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<nav class=\"ids-breadcrumb\">\n <ol idsBreadcrumbList>\n @if (_truncation().length) {\n <li idsBreadcrumbTruncation [panelClass]=\"_hostClasses()\" [overlayClass]=\"_overlayClasses()\" [size]=\"size()\" [variant]=\"variant()\">\n @for (breadcrumbItem of _truncation(); track $index; let isLast = $last) {\n <li>\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n </li>\n }\n </li>\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n @for (breadcrumbItem of _breadcrumbs(); track $index; let isLast = $last) {\n <li>\n @if (isLast) {\n <span idsBreadcrumbPage>{{ breadcrumbItem.label }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n }\n </li>\n @if (!isLast) {\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n }\n </ol>\n</nav>\n\n<ng-template #breadcrumbLink let-breadcrumbItem=\"breadcrumbItem\">\n <a\n idsBreadcrumbLink\n [link]=\"!breadcrumbItem.disabled ? breadcrumbItem.path : null\"\n [idsTooltip]=\"breadcrumbItem.label\"\n [idsTooltipDisabled]=\"!breadcrumbItem.hasTooltip\"\n [disabled]=\"!!breadcrumbItem.disabled\"\n (hasTooltip)=\"breadcrumbItem.hasTooltip = $event\"\n >\n {{ breadcrumbItem.label }}\n </a>\n</ng-template>\n", dependencies: [{ kind: "component", type: IdsBreadcrumbDividerComponent, selector: "li[idsBreadcrumbDivider]", inputs: ["dividerType", "size"] }, { kind: "directive", type: IdsBreadcrumbLinkDirective, selector: "a[idsBreadcrumbLink]", inputs: ["disabled", "link"], outputs: ["hasTooltip"] }, { kind: "directive", type: IdsBreadcrumbPageDirective, selector: "span[idsBreadcrumbPage]" }, { kind: "directive", type: IdsBreadcrumbListDirective, selector: "ol[idsBreadcrumbList]" }, { kind: "component", type: IdsBreadcrumbTruncationComponent, selector: "li[idsBreadcrumbTruncation]", inputs: ["overlayClass", "panelClass", "size", "variant"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
294
294
|
}
|
|
295
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsBreadcrumbComponent, decorators: [{
|
|
296
296
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-breadcrumb.mjs","sources":["../../../projects/widgets/breadcrumb/types/breadcrumb-divider.type.ts","../../../projects/widgets/breadcrumb/types/breadcrumb-variant.type.ts","../../../projects/widgets/breadcrumb/breadcrumb-defaults.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-divider.component.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-link.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-list.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-page.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-truncation.component.ts","../../../projects/widgets/breadcrumb/breadcrumb.component.ts","../../../projects/widgets/breadcrumb/breadcrumb.component.html","../../../projects/widgets/breadcrumb/i-cell-ids-angular-breadcrumb.ts"],"sourcesContent":["export const IdsBreadcrumbDivider = {\n FORESLASH: 'foreslash',\n ICON: 'icon',\n} as const;\n\nexport type IdsBreadcrumbDividerType = (typeof IdsBreadcrumbDivider)[keyof typeof IdsBreadcrumbDivider];\n","export const IdsBreadcrumbVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsBreadcrumbVariantType = (typeof IdsBreadcrumbVariant)[keyof typeof IdsBreadcrumbVariant];\n","import { IdsBreadcrumbDividerType, IdsBreadcrumbDivider } from './types/breadcrumb-divider.type';\nimport { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';\nimport { IdsBreadcrumbVariantType, IdsBreadcrumbVariant } from './types/breadcrumb-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\nimport { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType, IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';\n\nexport interface IdsBreadcrumbDefaultConfig {\n hierarchy: IdsBreadcrumbHierarchyType[];\n size?: IdsSizeType;\n variant?: IdsBreadcrumbVariantType;\n dividerType?: IdsBreadcrumbDividerType;\n overlayAppearance?: IdsOverlayPanelAppearanceType;\n overlaySize?: IdsSizeType;\n overlayVariant?: IdsOverlayPanelVariantType;\n}\n\nexport const IDS_BREADCRUMB_DEFAULT_CONFIG = new InjectionToken<IdsBreadcrumbDefaultConfig>('IDS_BADGE_DEFAULT_CONFIG', {\n providedIn: 'root',\n factory: IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY,\n});\n\nexport function IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY(): Required<IdsBreadcrumbDefaultConfig> {\n return {\n hierarchy: [],\n size: IdsSize.COMPACT,\n variant: IdsBreadcrumbVariant.SURFACE,\n dividerType: IdsBreadcrumbDivider.ICON,\n overlayAppearance: IdsOverlayPanelAppearance.ELEVATED,\n overlaySize: IdsSize.COMPACT,\n overlayVariant: IdsOverlayPanelVariant.LIGHT,\n };\n}\n","import { IdsBreadcrumbDivider, IdsBreadcrumbDividerType } from '../public-api';\n\nimport { Component, input } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'li[idsBreadcrumbDivider]',\n imports: [IdsIconComponent],\n providers: [],\n host: {\n role: 'presentation',\n 'class': 'ids-breadcrumb-divider',\n '[attr.aria-hidden]': 'true',\n },\n template: `\n @if (dividerType() === _dividerType.ICON) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"chevron-right\" [size]=\"size()\" />\n } @else {\n <span class=\"ids-breadcrumb-divider-foreslash\">/</span>\n }\n `,\n})\nexport class IdsBreadcrumbDividerComponent {\n public dividerType = input<IdsBreadcrumbDividerType>();\n public size = input.required<IdsSizeType>();\n protected _dividerType = IdsBreadcrumbDivider;\n}\n","import { afterNextRender, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\n@Directive({\n selector: 'a[idsBreadcrumbLink]',\n hostDirectives: [\n {\n directive: RouterLink,\n inputs: ['routerLink: link'],\n },\n ],\n host: {\n class: 'ids-breadcrumb-link',\n '[attr.aria-disabled]': 'this.disabled() ? \"\" : null',\n '[attr.disabled]': 'this.disabled() ? \"\" : null',\n },\n})\nexport class IdsBreadcrumbLinkDirective {\n public readonly disabled = input<boolean>(false);\n public readonly link = input<RouterLink['routerLink'] | null>();\n public readonly hasTooltip = output<boolean>();\n\n constructor() {\n const host = inject(ElementRef).nativeElement;\n\n afterNextRender({\n read: () => {\n this.hasTooltip.emit(host.offsetWidth < host.scrollWidth);\n },\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ol[idsBreadcrumbList]',\n host: {\n 'class': 'ids-breadcrumb-list',\n },\n})\nexport class IdsBreadcrumbListDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'span[idsBreadcrumbPage]',\n host: {\n role: 'link',\n 'aria-current': 'page',\n 'class': 'ids-breadcrumb-page',\n },\n})\nexport class IdsBreadcrumbPageDirective {}\n","import { IdsBreadcrumbListDirective } from './breadcrumb-list.directive';\n\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport { Component, input, signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent, IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';\n\n@Component({\n selector: 'li[idsBreadcrumbTruncation]',\n imports: [\n IdsBreadcrumbListDirective,\n IdsIconButtonComponent,\n IdsIconComponent,\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n CdkTrapFocus,\n NgClass,\n ],\n template: `\n <!-- ids-icon-button should have the same size and variant as the parent -->\n <button\n #truncationMenuTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n idsIconButton\n appearance=\"standard\"\n cdkOverlayOrigin\n [size]=\"size()\"\n [variant]=\"variant()\"\n (click)=\"_toggle()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"more-horizontal\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"truncationMenuTrigger\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen()\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"panelClass()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n >\n <ol idsBreadcrumbList cdkTrapFocus cdkTrapFocusAutoCapture=\"true\" [ngClass]=\"overlayClass()\">\n <ng-content />\n </ol>\n </ng-template>\n `,\n})\nexport class IdsBreadcrumbTruncationComponent {\n public overlayClass = input<string>('');\n public panelClass = input([], { transform: (value: string) => value.split(' ') });\n\n public size = input.required<IdsSizeType>();\n public variant = input.required<IdsIconButtonVariantType>();\n public isPanelOpen = signal<boolean>(false);\n\n protected _toggle(): void {\n this.isPanelOpen() ? this._close() : this._open();\n }\n\n protected _open(): void {\n if (!this.isPanelOpen()) {\n this.isPanelOpen.set(true);\n }\n }\n\n protected _close(): void {\n if (this.isPanelOpen()) {\n this.isPanelOpen.set(false);\n }\n }\n}\n","import { IDS_BREADCRUMB_DEFAULT_CONFIG, IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY, IdsBreadcrumbDefaultConfig } from './breadcrumb-defaults';\nimport { IdsBreadcrumbDividerComponent } from './libs/breadcrumb-divider.component';\nimport { IdsBreadcrumbLinkDirective } from './libs/breadcrumb-link.directive';\nimport { IdsBreadcrumbListDirective } from './libs/breadcrumb-list.directive';\nimport { IdsBreadcrumbPageDirective } from './libs/breadcrumb-page.directive';\nimport { IdsBreadcrumbTruncationComponent } from './libs/breadcrumb-truncation.component';\nimport { IdsBreadcrumbDivider, IdsBreadcrumbDividerType } from './types/breadcrumb-divider.type';\nimport { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';\nimport { IdsBreadcrumbVariantType } from './types/breadcrumb-variant.type';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, input, signal } from '@angular/core';\nimport { ComponentBaseWithDefaults, createClassList, IdsSizeType, ResizeObserverService } from '@i-cell/ids-angular/core';\nimport { IdsOverlayPanelAppearanceType, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-breadcrumb',\n standalone: true,\n templateUrl: './breadcrumb.component.html',\n imports: [\n IdsBreadcrumbDividerComponent,\n IdsBreadcrumbLinkDirective,\n IdsBreadcrumbPageDirective,\n IdsBreadcrumbListDirective,\n IdsBreadcrumbTruncationComponent,\n IdsTooltipDirective,\n NgTemplateOutlet,\n ],\n})\nexport class IdsBreadcrumbComponent extends ComponentBaseWithDefaults<IdsBreadcrumbDefaultConfig> {\n protected override get _hostName(): string {\n return 'breadcrumb';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BREADCRUMB_DEFAULT_CONFIG);\n public hierarchy = input<IdsBreadcrumbHierarchyType[]>([]);\n public dividerType = input<IdsBreadcrumbDividerType>(this._defaultConfig.dividerType);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsBreadcrumbVariantType>(this._defaultConfig.variant);\n public overlayAppearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.overlayAppearance);\n public overlaySize = input<IdsSizeType>(this._defaultConfig.overlaySize);\n public overlayVariant = input<IdsOverlayPanelVariantType>(this._defaultConfig.overlayVariant);\n\n // The breadcrumbs that are currently visible in the breadcrumb component\n protected _breadcrumbs = computed<(IdsBreadcrumbHierarchyType & { hasTooltip?: boolean })[]>(() =>\n this.hierarchy().slice(this._truncationIndex()),\n );\n\n // The breadcrumbs that are currently truncated and shown on overlay\n protected _truncation = computed<(IdsBreadcrumbHierarchyType & { hasTooltip?: boolean })[]>(() =>\n this.hierarchy().slice(0, this._truncationIndex()),\n );\n\n // The maximum number of breadcrumbs that can be shown (without truncation)\n private _maxLength = signal<number>(0);\n\n // The index at which the breadcrumb truncation starts\n private _truncationIndex = computed(() => {\n const hierarchyLength = this.hierarchy().length;\n const maxLength = this._maxLength();\n return hierarchyLength > maxLength ? Math.min(hierarchyLength - maxLength, hierarchyLength - 1) : 0;\n });\n\n private _hostElement = inject(ElementRef).nativeElement;\n private _resizeObserver = inject(ResizeObserverService);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.dividerType(),\n ]));\n\n protected _overlayClasses = computed(() =>\n createClassList('ids-overlay-panel', [\n this.overlayAppearance(),\n this.overlayVariant(),\n this.overlaySize(),\n ]),\n );\n\n constructor() {\n super();\n this._resizeObserver.observe(this._hostElement.parentElement).subscribe(() => this._calcmaxLength());\n }\n\n private _calcmaxLength(): void {\n const containerElementWidth = this._hostElement.parentElement.clientWidth;\n const breadcrumbElementMaxWidth = this._getCssVariableValue(`--ids-comp-breadcrumb-navigation-link-size-max-width-${this.size()}`);\n const dividerWidth =\n this.dividerType() === IdsBreadcrumbDivider.ICON\n ? this._getCssVariableValue(`--ids-comp-icon-size-smallcollection-width-${this.size()}`)\n : { dense: 4, compact: 5, comfortable: 6, spacious: 7 }[this.size()];\n const gapWidth = this._getCssVariableValue(`--ids-comp-breadcrumb-size-gap-${this.size()}`);\n const breadcrumbItemMaxWidth = breadcrumbElementMaxWidth + (gapWidth * 2 + dividerWidth) / 2;\n this._maxLength.set(Math.floor(containerElementWidth / breadcrumbItemMaxWidth));\n }\n\n private _getCssVariableValue(variableName: string): number {\n const host = getComputedStyle(this._hostElement);\n return parseInt(host.getPropertyValue(variableName).replace('px', ''), 10);\n }\n}\n","<nav class=\"ids-breadcrumb\">\n <ol idsBreadcrumbList>\n @if (_truncation().length) {\n <li idsBreadcrumbTruncation [panelClass]=\"_hostClasses()\" [overlayClass]=\"_overlayClasses()\" [size]=\"size()\" [variant]=\"variant()\">\n @for (breadcrumbItem of _truncation(); track $index; let isLast = $last) {\n <li>\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n </li>\n }\n </li>\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n @for (breadcrumbItem of _breadcrumbs(); track $index; let isLast = $last) {\n <li>\n @if (isLast) {\n <span idsBreadcrumbPage>{{ breadcrumbItem.label }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n }\n </li>\n @if (!isLast) {\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n }\n </ol>\n</nav>\n\n<ng-template #breadcrumbLink let-breadcrumbItem=\"breadcrumbItem\">\n <a\n idsBreadcrumbLink\n [link]=\"!breadcrumbItem.disabled ? breadcrumbItem.path : null\"\n [idsTooltip]=\"breadcrumbItem.label\"\n [idsTooltipDisabled]=\"!breadcrumbItem.hasTooltip\"\n [disabled]=\"!!breadcrumbItem.disabled\"\n (hasTooltip)=\"breadcrumbItem.hasTooltip = $event\"\n >\n {{ breadcrumbItem.label }}\n </a>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-breadcrumb.mjs","sources":["../../../projects/widgets/breadcrumb/types/breadcrumb-divider.type.ts","../../../projects/widgets/breadcrumb/types/breadcrumb-variant.type.ts","../../../projects/widgets/breadcrumb/breadcrumb-defaults.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-divider.component.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-link.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-list.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-page.directive.ts","../../../projects/widgets/breadcrumb/libs/breadcrumb-truncation.component.ts","../../../projects/widgets/breadcrumb/breadcrumb.component.ts","../../../projects/widgets/breadcrumb/breadcrumb.component.html","../../../projects/widgets/breadcrumb/i-cell-ids-angular-breadcrumb.ts"],"sourcesContent":["export const IdsBreadcrumbDivider = {\n FORESLASH: 'foreslash',\n ICON: 'icon',\n} as const;\n\nexport type IdsBreadcrumbDividerType = (typeof IdsBreadcrumbDivider)[keyof typeof IdsBreadcrumbDivider];\n","export const IdsBreadcrumbVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsBreadcrumbVariantType = (typeof IdsBreadcrumbVariant)[keyof typeof IdsBreadcrumbVariant];\n","import { IdsBreadcrumbDividerType, IdsBreadcrumbDivider } from './types/breadcrumb-divider.type';\nimport { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';\nimport { IdsBreadcrumbVariantType, IdsBreadcrumbVariant } from './types/breadcrumb-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\nimport { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType, IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';\n\nexport interface IdsBreadcrumbDefaultConfig {\n hierarchy: IdsBreadcrumbHierarchyType[];\n size?: IdsSizeType;\n variant?: IdsBreadcrumbVariantType;\n dividerType?: IdsBreadcrumbDividerType;\n overlayAppearance?: IdsOverlayPanelAppearanceType;\n overlaySize?: IdsSizeType;\n overlayVariant?: IdsOverlayPanelVariantType;\n}\n\nexport const IDS_BREADCRUMB_DEFAULT_CONFIG = new InjectionToken<IdsBreadcrumbDefaultConfig>('IDS_BADGE_DEFAULT_CONFIG', {\n providedIn: 'root',\n factory: IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY,\n});\n\nexport function IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY(): Required<IdsBreadcrumbDefaultConfig> {\n return {\n hierarchy: [],\n size: IdsSize.COMPACT,\n variant: IdsBreadcrumbVariant.SURFACE,\n dividerType: IdsBreadcrumbDivider.ICON,\n overlayAppearance: IdsOverlayPanelAppearance.ELEVATED,\n overlaySize: IdsSize.COMPACT,\n overlayVariant: IdsOverlayPanelVariant.LIGHT,\n };\n}\n","import { IdsBreadcrumbDivider, IdsBreadcrumbDividerType } from '../public-api';\n\nimport { Component, input } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'li[idsBreadcrumbDivider]',\n imports: [IdsIconComponent],\n providers: [],\n host: {\n role: 'presentation',\n 'class': 'ids-breadcrumb-divider',\n '[attr.aria-hidden]': 'true',\n },\n template: `\n @if (dividerType() === _dividerType.ICON) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"chevron-right\" [size]=\"size()\" />\n } @else {\n <span class=\"ids-breadcrumb-divider-foreslash\">/</span>\n }\n `,\n})\nexport class IdsBreadcrumbDividerComponent {\n public dividerType = input<IdsBreadcrumbDividerType>();\n public size = input.required<IdsSizeType>();\n protected _dividerType = IdsBreadcrumbDivider;\n}\n","import { afterNextRender, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\n@Directive({\n selector: 'a[idsBreadcrumbLink]',\n hostDirectives: [\n {\n directive: RouterLink,\n inputs: ['routerLink: link'],\n },\n ],\n host: {\n class: 'ids-breadcrumb-link',\n '[attr.aria-disabled]': 'this.disabled() ? \"\" : null',\n '[attr.disabled]': 'this.disabled() ? \"\" : null',\n },\n})\nexport class IdsBreadcrumbLinkDirective {\n public readonly disabled = input<boolean>(false);\n public readonly link = input<RouterLink['routerLink'] | null>();\n public readonly hasTooltip = output<boolean>();\n\n constructor() {\n const host = inject(ElementRef).nativeElement;\n\n afterNextRender({\n read: () => {\n this.hasTooltip.emit(host.offsetWidth < host.scrollWidth);\n },\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ol[idsBreadcrumbList]',\n host: {\n 'class': 'ids-breadcrumb-list',\n },\n})\nexport class IdsBreadcrumbListDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'span[idsBreadcrumbPage]',\n host: {\n role: 'link',\n 'aria-current': 'page',\n 'class': 'ids-breadcrumb-page',\n },\n})\nexport class IdsBreadcrumbPageDirective {}\n","import { IdsBreadcrumbListDirective } from './breadcrumb-list.directive';\n\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport { Component, input, signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent, IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';\n\n@Component({\n selector: 'li[idsBreadcrumbTruncation]',\n imports: [\n IdsBreadcrumbListDirective,\n IdsIconButtonComponent,\n IdsIconComponent,\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n CdkTrapFocus,\n NgClass,\n ],\n template: `\n <!-- ids-icon-button should have the same size and variant as the parent -->\n <button\n #truncationMenuTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n idsIconButton\n appearance=\"standard\"\n cdkOverlayOrigin\n [size]=\"size()\"\n [variant]=\"variant()\"\n (click)=\"_toggle()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"more-horizontal\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"truncationMenuTrigger\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen()\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"panelClass()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n >\n <ol idsBreadcrumbList cdkTrapFocus cdkTrapFocusAutoCapture=\"true\" [ngClass]=\"overlayClass()\">\n <ng-content />\n </ol>\n </ng-template>\n `,\n})\nexport class IdsBreadcrumbTruncationComponent {\n public overlayClass = input<string>('');\n public panelClass = input([], { transform: (value: string) => value.split(' ') });\n\n public size = input.required<IdsSizeType>();\n public variant = input.required<IdsIconButtonVariantType>();\n public isPanelOpen = signal<boolean>(false);\n\n protected _toggle(): void {\n this.isPanelOpen() ? this._close() : this._open();\n }\n\n protected _open(): void {\n if (!this.isPanelOpen()) {\n this.isPanelOpen.set(true);\n }\n }\n\n protected _close(): void {\n if (this.isPanelOpen()) {\n this.isPanelOpen.set(false);\n }\n }\n}\n","import { IDS_BREADCRUMB_DEFAULT_CONFIG, IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY, IdsBreadcrumbDefaultConfig } from './breadcrumb-defaults';\nimport { IdsBreadcrumbDividerComponent } from './libs/breadcrumb-divider.component';\nimport { IdsBreadcrumbLinkDirective } from './libs/breadcrumb-link.directive';\nimport { IdsBreadcrumbListDirective } from './libs/breadcrumb-list.directive';\nimport { IdsBreadcrumbPageDirective } from './libs/breadcrumb-page.directive';\nimport { IdsBreadcrumbTruncationComponent } from './libs/breadcrumb-truncation.component';\nimport { IdsBreadcrumbDivider, IdsBreadcrumbDividerType } from './types/breadcrumb-divider.type';\nimport { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';\nimport { IdsBreadcrumbVariantType } from './types/breadcrumb-variant.type';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, input, signal } from '@angular/core';\nimport { ComponentBaseWithDefaults, createClassList, IdsSizeType, ResizeObserverService } from '@i-cell/ids-angular/core';\nimport { IdsOverlayPanelAppearanceType, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-breadcrumb',\n standalone: true,\n templateUrl: './breadcrumb.component.html',\n imports: [\n IdsBreadcrumbDividerComponent,\n IdsBreadcrumbLinkDirective,\n IdsBreadcrumbPageDirective,\n IdsBreadcrumbListDirective,\n IdsBreadcrumbTruncationComponent,\n IdsTooltipDirective,\n NgTemplateOutlet,\n ],\n})\nexport class IdsBreadcrumbComponent extends ComponentBaseWithDefaults<IdsBreadcrumbDefaultConfig> {\n protected override get _hostName(): string {\n return 'breadcrumb';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BREADCRUMB_DEFAULT_CONFIG);\n public hierarchy = input<IdsBreadcrumbHierarchyType[]>([]);\n public dividerType = input<IdsBreadcrumbDividerType>(this._defaultConfig.dividerType);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsBreadcrumbVariantType>(this._defaultConfig.variant);\n public overlayAppearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.overlayAppearance);\n public overlaySize = input<IdsSizeType>(this._defaultConfig.overlaySize);\n public overlayVariant = input<IdsOverlayPanelVariantType>(this._defaultConfig.overlayVariant);\n\n // The breadcrumbs that are currently visible in the breadcrumb component\n protected _breadcrumbs = computed<(IdsBreadcrumbHierarchyType & { hasTooltip?: boolean })[]>(() =>\n this.hierarchy().slice(this._truncationIndex()),\n );\n\n // The breadcrumbs that are currently truncated and shown on overlay\n protected _truncation = computed<(IdsBreadcrumbHierarchyType & { hasTooltip?: boolean })[]>(() =>\n this.hierarchy().slice(0, this._truncationIndex()),\n );\n\n // The maximum number of breadcrumbs that can be shown (without truncation)\n private _maxLength = signal<number>(0);\n\n // The index at which the breadcrumb truncation starts\n private _truncationIndex = computed(() => {\n const hierarchyLength = this.hierarchy().length;\n const maxLength = this._maxLength();\n return hierarchyLength > maxLength ? Math.min(hierarchyLength - maxLength, hierarchyLength - 1) : 0;\n });\n\n private _hostElement = inject(ElementRef).nativeElement;\n private _resizeObserver = inject(ResizeObserverService);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.dividerType(),\n ]));\n\n protected _overlayClasses = computed(() =>\n createClassList('ids-overlay-panel', [\n this.overlayAppearance(),\n this.overlayVariant(),\n this.overlaySize(),\n ]),\n );\n\n constructor() {\n super();\n this._resizeObserver.observe(this._hostElement.parentElement).subscribe(() => this._calcmaxLength());\n }\n\n private _calcmaxLength(): void {\n const containerElementWidth = this._hostElement.parentElement.clientWidth;\n const breadcrumbElementMaxWidth = this._getCssVariableValue(`--ids-comp-breadcrumb-navigation-link-size-max-width-${this.size()}`);\n const dividerWidth =\n this.dividerType() === IdsBreadcrumbDivider.ICON\n ? this._getCssVariableValue(`--ids-comp-icon-size-smallcollection-width-${this.size()}`)\n : { dense: 4, compact: 5, comfortable: 6, spacious: 7 }[this.size()];\n const gapWidth = this._getCssVariableValue(`--ids-comp-breadcrumb-size-gap-${this.size()}`);\n const breadcrumbItemMaxWidth = breadcrumbElementMaxWidth + (gapWidth * 2 + dividerWidth) / 2;\n this._maxLength.set(Math.floor(containerElementWidth / breadcrumbItemMaxWidth));\n }\n\n private _getCssVariableValue(variableName: string): number {\n const host = getComputedStyle(this._hostElement);\n return parseInt(host.getPropertyValue(variableName).replace('px', ''), 10);\n }\n}\n","<nav class=\"ids-breadcrumb\">\n <ol idsBreadcrumbList>\n @if (_truncation().length) {\n <li idsBreadcrumbTruncation [panelClass]=\"_hostClasses()\" [overlayClass]=\"_overlayClasses()\" [size]=\"size()\" [variant]=\"variant()\">\n @for (breadcrumbItem of _truncation(); track $index; let isLast = $last) {\n <li>\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n </li>\n }\n </li>\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n @for (breadcrumbItem of _breadcrumbs(); track $index; let isLast = $last) {\n <li>\n @if (isLast) {\n <span idsBreadcrumbPage>{{ breadcrumbItem.label }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"breadcrumbLink; context: { breadcrumbItem }\" />\n }\n </li>\n @if (!isLast) {\n <li idsBreadcrumbDivider [dividerType]=\"dividerType()\" [size]=\"size()\"></li>\n }\n }\n </ol>\n</nav>\n\n<ng-template #breadcrumbLink let-breadcrumbItem=\"breadcrumbItem\">\n <a\n idsBreadcrumbLink\n [link]=\"!breadcrumbItem.disabled ? breadcrumbItem.path : null\"\n [idsTooltip]=\"breadcrumbItem.label\"\n [idsTooltipDisabled]=\"!breadcrumbItem.hasTooltip\"\n [disabled]=\"!!breadcrumbItem.disabled\"\n (hasTooltip)=\"breadcrumbItem.hasTooltip = $event\"\n >\n {{ breadcrumbItem.label }}\n </a>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ class IdsRadioComponent extends ComponentBase {
|
|
|
46
46
|
this._name = computed(() => this._group?.name(), ...(ngDevMode ? [{ debugName: "_name" }] : []));
|
|
47
47
|
this._required = computed(() => this._group?.required(), ...(ngDevMode ? [{ debugName: "_required" }] : []));
|
|
48
48
|
this._ariaChecked = computed(() => this.selected(), ...(ngDevMode ? [{ debugName: "_ariaChecked" }] : []));
|
|
49
|
+
this._inputId = computed(() => (this.inputId() === this._uniqueId ? `${this._uniqueId}-native` : this.inputId()), ...(ngDevMode ? [{ debugName: "_inputId" }] : []));
|
|
49
50
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
50
51
|
this._group?.variant() ?? null,
|
|
51
52
|
this._group?.labelPosition() ?? null,
|
|
@@ -84,11 +85,11 @@ class IdsRadioComponent extends ComponentBase {
|
|
|
84
85
|
this._inputElement().nativeElement.focus(options);
|
|
85
86
|
}
|
|
86
87
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.7", type: IdsRadioComponent, isStandalone: true, selector: "ids-radio", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.7", type: IdsRadioComponent, isStandalone: true, selector: "ids-radio", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"_inputId()\"\n [checked]=\"selected()\"\n [disabled]=\"_isDisabled()\"\n [attr.name]=\"_name()\"\n [attr.value]=\"value()\"\n [required]=\"_required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n (change)=\"onChange()\"\n />\n <div class=\"ids-radio__inner-circle\" (click)=\"_innerCircleClick()\"></div>\n</div>\n<label class=\"ids-radio__label\" [for]=\"_inputId()\">\n <ng-content />\n</label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
88
89
|
}
|
|
89
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsRadioComponent, decorators: [{
|
|
90
91
|
type: Component,
|
|
91
|
-
args: [{ selector: 'ids-radio', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"
|
|
92
|
+
args: [{ selector: 'ids-radio', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"_inputId()\"\n [checked]=\"selected()\"\n [disabled]=\"_isDisabled()\"\n [attr.name]=\"_name()\"\n [attr.value]=\"value()\"\n [required]=\"_required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n (change)=\"onChange()\"\n />\n <div class=\"ids-radio__inner-circle\" (click)=\"_innerCircleClick()\"></div>\n</div>\n<label class=\"ids-radio__label\" [for]=\"_inputId()\">\n <ng-content />\n</label>\n" }]
|
|
92
93
|
}] });
|
|
93
94
|
|
|
94
95
|
const defaultConfig = IDS_RADIO_DEFAULT_CONFIG_FACTORY();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-radio.mjs","sources":["../../../projects/widgets/radio/types/radio-variant.type.ts","../../../projects/widgets/radio/types/radio-events.class.ts","../../../projects/widgets/radio/radio-defaults.ts","../../../projects/widgets/radio/radio.component.ts","../../../projects/widgets/radio/radio.component.html","../../../projects/widgets/radio/radio-group.directive.ts","../../../projects/widgets/radio/i-cell-ids-angular-radio.ts"],"sourcesContent":["export const IdsRadioVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsRadioVariantType = (typeof IdsRadioVariant)[keyof typeof IdsRadioVariant];\n","import { IdsRadioComponent } from '../radio.component';\n\nexport class IdsRadioChangeEvent {\n constructor(\n public source: IdsRadioComponent,\n public value: unknown,\n ) {}\n}\n","import { IdsRadioVariant, IdsRadioVariantType } from './types/radio-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsOrientation, IdsOrientationType, IdsPosition, IdsPositionType, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsRadioDefaultConfig {\n size?: IdsSizeType\n variant?: IdsRadioVariantType\n orientation?: IdsOrientationType\n labelPosition?: IdsPositionType\n}\n\nexport const IDS_RADIO_DEFAULT_CONFIG = new InjectionToken<IdsRadioDefaultConfig>(\n 'IDS_RADIO_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_RADIO_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_RADIO_DEFAULT_CONFIG_FACTORY(): Required<IdsRadioDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsRadioVariant.SURFACE,\n orientation: IdsOrientation.VERTICAL,\n labelPosition: IdsPosition.RIGHT,\n };\n}\n","import { IdsRadioGroupDirective } from './radio-group.directive';\nimport { IdsRadioChangeEvent } from './types/radio-events.class';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, OnInit, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { coerceNumberAttribute, ComponentBase } from '@i-cell/ids-angular/core';\n\n@Component({\n selector: 'ids-radio',\n imports: [],\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsRadioComponent extends ComponentBase implements OnInit {\n protected override get _hostName(): string {\n return 'radio';\n }\n\n private _group = inject(IdsRadioGroupDirective, { optional: true, skipSelf: true });\n\n public selected = signal<boolean>(false);\n\n public inputId = input<string>(this._uniqueId);\n public value = input.required<unknown>();\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledBy = input<string>('', { alias: 'aria-labelledby' });\n public ariaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n public tabIndex = input<number, unknown>(0, { transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n\n protected _isDisabled = computed(() => this.disabled() || this._group?.isDisabled());\n protected _name = computed(() => this._group?.name());\n protected _required = computed(() => this._group?.required());\n protected _ariaChecked = computed(() => this.selected());\n protected _hostClasses = computed(() => this._getHostClasses([\n this._group?.variant() ?? null,\n this._group?.labelPosition() ?? null,\n this._isDisabled() ? 'disabled' : null,\n ]));\n\n private _inputElement = viewChild.required<ElementRef<HTMLButtonElement>>('input');\n\n public readonly changes = output<IdsRadioChangeEvent>();\n\n public ngOnInit(): void {\n if (!this._group) {\n throw this._createHostError('component must be direct child of a radio group');\n }\n if (this._group.isItemPreSelectedByValue(this.value())) {\n this.selected.set(true);\n }\n }\n\n public onChange(): void {\n this.changes.emit(new IdsRadioChangeEvent(this, this.value()));\n }\n\n protected _touchTargetClick(): void {\n if (!this.selected() && !this._isDisabled()) {\n this._inputElement().nativeElement.focus();\n this.onChange();\n }\n }\n\n protected _innerCircleClick(): void {\n if (!this.selected() && !this._isDisabled()) {\n this._inputElement().nativeElement.focus();\n this.onChange();\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._inputElement().nativeElement.focus(options);\n }\n}\n","<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"inputId()\"\n [checked]=\"selected()\"\n [disabled]=\"_isDisabled()\"\n [attr.name]=\"_name()\"\n [attr.value]=\"value()\"\n [required]=\"_required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n (change)=\"onChange()\"\n />\n <div class=\"ids-radio__inner-circle\" (click)=\"_innerCircleClick()\"></div>\n</div>\n<label class=\"ids-radio__label\" [for]=\"inputId()\">\n <ng-content />\n</label>\n","import { IDS_RADIO_DEFAULT_CONFIG, IDS_RADIO_DEFAULT_CONFIG_FACTORY, IdsRadioDefaultConfig } from './radio-defaults';\nimport { IdsRadioComponent } from './radio.component';\nimport { IdsRadioChangeEvent } from './types/radio-events.class';\nimport { IdsRadioVariantType } from './types/radio-variant.type';\n\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { AfterContentChecked, computed, contentChildren, Directive, forwardRef, Input, input, isDevMode, OnInit, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBooleanAttribute, IdsOrientation, IdsOrientationType, IdsPositionType, IdsSizeType, IdsVerticalPosition, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_RADIO_DEFAULT_CONFIG_FACTORY();\n\n@Directive({\n selector: 'ids-radio-group',\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IdsRadioGroupDirective),\n multi: true,\n },\n ],\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsRadioGroupDirective\n extends ComponentBaseWithDefaults<IdsRadioDefaultConfig>\n implements OnInit, AfterContentChecked, ControlValueAccessor {\n protected override get _hostName(): string {\n return 'radio-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_RADIO_DEFAULT_CONFIG);\n\n private _selectionModel?: SelectionModel<IdsRadioComponent>;\n private _rawValue: unknown;\n private _items = contentChildren<IdsRadioComponent>(IdsRadioComponent, { descendants: true });\n\n public name = input.required<string>();\n public required = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsRadioVariantType>(this._defaultConfig.variant);\n public orientation = input<IdsOrientationType>(this._defaultConfig.orientation);\n public labelPosition = input<IdsPositionType>(this._defaultConfig.labelPosition);\n public isDisabled = signal<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.orientation(),\n this.labelPosition(),\n ]));\n\n private _onChange: (value: unknown) => void = () => {};\n private _onTouched: () => unknown = () => {};\n\n @Input() public valueCompareFn?: (o1: IdsRadioComponent, o2: IdsRadioComponent) => boolean;\n @Input({ transform: coerceBooleanAttribute })\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this.isDisabled.set(value);\n }\n }\n\n public readonly itemChanges = output<IdsRadioChangeEvent>();\n\n private _handleKeyDown(event: KeyboardEvent): void {\n const navigationKeys: Record<IdsOrientationType, Set<string>> = {\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n horizontal: new Set(['ArrowLeft', 'ArrowRight', 'Enter', ' ']),\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n vertical: new Set(['ArrowUp', 'ArrowDown', 'Enter', ' ']),\n };\n\n const orientation = this.orientation();\n\n if (navigationKeys.horizontal.has(event.key) || navigationKeys.vertical.has(event.key)) {\n event.preventDefault();\n }\n if (!navigationKeys[orientation].has(event.key)) {\n return;\n }\n\n const items = this._items();\n const target = event.target as HTMLButtonElement;\n const inputId = target.id;\n const index = items.findIndex((item) => item.inputId() === inputId);\n\n switch (event.key) {\n case 'ArrowUp': {\n if (orientation === IdsOrientation.HORIZONTAL) {\n return;\n }\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowLeft': {\n if (orientation === IdsOrientation.VERTICAL) {\n return;\n }\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowDown': {\n if (orientation === IdsOrientation.HORIZONTAL) {\n return;\n }\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'ArrowRight': {\n if (orientation === IdsOrientation.VERTICAL) {\n return;\n }\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'Enter':\n case ' ': {\n items[index].onChange();\n break;\n }\n default:\n return;\n }\n }\n\n public ngOnInit(): void {\n this._selectionModel = new SelectionModel<IdsRadioComponent>(false, undefined, false, this.valueCompareFn);\n\n if (this._hasInvalidLabelPosition()) {\n throw this._createHostError('invalid `orientation` + `labelPosition` combination.');\n }\n }\n\n public ngAfterContentChecked(): void {\n const items = this._items();\n const minItemCount = 2;\n\n if (isDevMode() && (items.length < minItemCount)) {\n throw this._createHostError('invalid count of radio items. Minimum item count is 2.');\n }\n\n this._selectionModel?.select(...this._items().filter((item) => item.selected()));\n this._subscribeItemChanges();\n }\n\n public writeValue(value: unknown | unknown[]): void {\n this._setSelectionByValue(value);\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n\n private _subscribeItemChanges(): void {\n this._items().forEach((item) => {\n item.changes.subscribe(\n (change) => {\n this._handleItemChanges(change);\n },\n );\n });\n }\n\n private _handleItemChanges(change: IdsRadioChangeEvent): void {\n const { source } = change;\n this._clearSelection();\n source.selected.set(true);\n this._selectionModel?.select(source);\n this.itemChanges.emit(change);\n this._handleChange();\n this._onTouched();\n }\n\n private _setSelectionByValue(value: unknown | unknown[]): void {\n this._rawValue = value;\n\n if (this._items().length === 0) {\n return;\n }\n\n this._clearSelection();\n this._selectValue(value);\n }\n\n private _selectValue(value: unknown): void {\n const correspondingItem = this._items().find((item) => item.value() != null && item.value() === value);\n if (correspondingItem) {\n correspondingItem.selected.set(true);\n this._selectionModel?.select(correspondingItem);\n }\n }\n\n private _clearSelection(): void {\n this._selectionModel?.clear();\n this._items().forEach((item) => {\n item.selected.set(false);\n });\n }\n\n private _handleChange(): void {\n const selectionModelValues = this._selectionModel?.selected?.map((item) => item.value());\n this._onChange(selectionModelValues?.[0]);\n }\n\n public isItemPreSelectedByValue(itemValue: unknown): boolean {\n if (this._rawValue === undefined) {\n return false;\n }\n\n return itemValue === this._rawValue;\n }\n\n private _hasInvalidLabelPosition(): boolean {\n const orientation = this.orientation();\n const labelPosition = this.labelPosition();\n\n return (orientation === IdsOrientation.VERTICAL && Object.values(IdsVerticalPosition).some((pos) => pos === labelPosition));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-radio.mjs","sources":["../../../projects/widgets/radio/types/radio-variant.type.ts","../../../projects/widgets/radio/types/radio-events.class.ts","../../../projects/widgets/radio/radio-defaults.ts","../../../projects/widgets/radio/radio.component.ts","../../../projects/widgets/radio/radio.component.html","../../../projects/widgets/radio/radio-group.directive.ts","../../../projects/widgets/radio/i-cell-ids-angular-radio.ts"],"sourcesContent":["export const IdsRadioVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsRadioVariantType = (typeof IdsRadioVariant)[keyof typeof IdsRadioVariant];\n","import { IdsRadioComponent } from '../radio.component';\n\nexport class IdsRadioChangeEvent {\n constructor(\n public source: IdsRadioComponent,\n public value: unknown,\n ) {}\n}\n","import { IdsRadioVariant, IdsRadioVariantType } from './types/radio-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsOrientation, IdsOrientationType, IdsPosition, IdsPositionType, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsRadioDefaultConfig {\n size?: IdsSizeType\n variant?: IdsRadioVariantType\n orientation?: IdsOrientationType\n labelPosition?: IdsPositionType\n}\n\nexport const IDS_RADIO_DEFAULT_CONFIG = new InjectionToken<IdsRadioDefaultConfig>(\n 'IDS_RADIO_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_RADIO_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_RADIO_DEFAULT_CONFIG_FACTORY(): Required<IdsRadioDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsRadioVariant.SURFACE,\n orientation: IdsOrientation.VERTICAL,\n labelPosition: IdsPosition.RIGHT,\n };\n}\n","import { IdsRadioGroupDirective } from './radio-group.directive';\nimport { IdsRadioChangeEvent } from './types/radio-events.class';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, OnInit, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { coerceNumberAttribute, ComponentBase } from '@i-cell/ids-angular/core';\n\n@Component({\n selector: 'ids-radio',\n imports: [],\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsRadioComponent extends ComponentBase implements OnInit {\n protected override get _hostName(): string {\n return 'radio';\n }\n\n private _group = inject(IdsRadioGroupDirective, { optional: true, skipSelf: true });\n\n public selected = signal<boolean>(false);\n\n public inputId = input<string>(this._uniqueId);\n public value = input.required<unknown>();\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledBy = input<string>('', { alias: 'aria-labelledby' });\n public ariaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n public tabIndex = input<number, unknown>(0, { transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n\n protected _isDisabled = computed(() => this.disabled() || this._group?.isDisabled());\n protected _name = computed(() => this._group?.name());\n protected _required = computed(() => this._group?.required());\n protected _ariaChecked = computed(() => this.selected());\n protected _inputId = computed(() => (this.inputId() === this._uniqueId ? `${this._uniqueId}-native` : this.inputId()));\n protected _hostClasses = computed(() => this._getHostClasses([\n this._group?.variant() ?? null,\n this._group?.labelPosition() ?? null,\n this._isDisabled() ? 'disabled' : null,\n ]));\n\n private _inputElement = viewChild.required<ElementRef<HTMLButtonElement>>('input');\n\n public readonly changes = output<IdsRadioChangeEvent>();\n\n public ngOnInit(): void {\n if (!this._group) {\n throw this._createHostError('component must be direct child of a radio group');\n }\n if (this._group.isItemPreSelectedByValue(this.value())) {\n this.selected.set(true);\n }\n }\n\n public onChange(): void {\n this.changes.emit(new IdsRadioChangeEvent(this, this.value()));\n }\n\n protected _touchTargetClick(): void {\n if (!this.selected() && !this._isDisabled()) {\n this._inputElement().nativeElement.focus();\n this.onChange();\n }\n }\n\n protected _innerCircleClick(): void {\n if (!this.selected() && !this._isDisabled()) {\n this._inputElement().nativeElement.focus();\n this.onChange();\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._inputElement().nativeElement.focus(options);\n }\n}\n","<div class=\"ids-radio__input-wrapper\">\n <div class=\"ids-radio__touch-target\" (click)=\"_touchTargetClick()\"></div>\n <input\n #input\n class=\"ids-radio__native-control\"\n type=\"radio\"\n [id]=\"_inputId()\"\n [checked]=\"selected()\"\n [disabled]=\"_isDisabled()\"\n [attr.name]=\"_name()\"\n [attr.value]=\"value()\"\n [required]=\"_required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n (change)=\"onChange()\"\n />\n <div class=\"ids-radio__inner-circle\" (click)=\"_innerCircleClick()\"></div>\n</div>\n<label class=\"ids-radio__label\" [for]=\"_inputId()\">\n <ng-content />\n</label>\n","import { IDS_RADIO_DEFAULT_CONFIG, IDS_RADIO_DEFAULT_CONFIG_FACTORY, IdsRadioDefaultConfig } from './radio-defaults';\nimport { IdsRadioComponent } from './radio.component';\nimport { IdsRadioChangeEvent } from './types/radio-events.class';\nimport { IdsRadioVariantType } from './types/radio-variant.type';\n\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { AfterContentChecked, computed, contentChildren, Directive, forwardRef, Input, input, isDevMode, OnInit, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBooleanAttribute, IdsOrientation, IdsOrientationType, IdsPositionType, IdsSizeType, IdsVerticalPosition, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_RADIO_DEFAULT_CONFIG_FACTORY();\n\n@Directive({\n selector: 'ids-radio-group',\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IdsRadioGroupDirective),\n multi: true,\n },\n ],\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsRadioGroupDirective\n extends ComponentBaseWithDefaults<IdsRadioDefaultConfig>\n implements OnInit, AfterContentChecked, ControlValueAccessor {\n protected override get _hostName(): string {\n return 'radio-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_RADIO_DEFAULT_CONFIG);\n\n private _selectionModel?: SelectionModel<IdsRadioComponent>;\n private _rawValue: unknown;\n private _items = contentChildren<IdsRadioComponent>(IdsRadioComponent, { descendants: true });\n\n public name = input.required<string>();\n public required = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsRadioVariantType>(this._defaultConfig.variant);\n public orientation = input<IdsOrientationType>(this._defaultConfig.orientation);\n public labelPosition = input<IdsPositionType>(this._defaultConfig.labelPosition);\n public isDisabled = signal<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.orientation(),\n this.labelPosition(),\n ]));\n\n private _onChange: (value: unknown) => void = () => {};\n private _onTouched: () => unknown = () => {};\n\n @Input() public valueCompareFn?: (o1: IdsRadioComponent, o2: IdsRadioComponent) => boolean;\n @Input({ transform: coerceBooleanAttribute })\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this.isDisabled.set(value);\n }\n }\n\n public readonly itemChanges = output<IdsRadioChangeEvent>();\n\n private _handleKeyDown(event: KeyboardEvent): void {\n const navigationKeys: Record<IdsOrientationType, Set<string>> = {\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n horizontal: new Set(['ArrowLeft', 'ArrowRight', 'Enter', ' ']),\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n vertical: new Set(['ArrowUp', 'ArrowDown', 'Enter', ' ']),\n };\n\n const orientation = this.orientation();\n\n if (navigationKeys.horizontal.has(event.key) || navigationKeys.vertical.has(event.key)) {\n event.preventDefault();\n }\n if (!navigationKeys[orientation].has(event.key)) {\n return;\n }\n\n const items = this._items();\n const target = event.target as HTMLButtonElement;\n const inputId = target.id;\n const index = items.findIndex((item) => item.inputId() === inputId);\n\n switch (event.key) {\n case 'ArrowUp': {\n if (orientation === IdsOrientation.HORIZONTAL) {\n return;\n }\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowLeft': {\n if (orientation === IdsOrientation.VERTICAL) {\n return;\n }\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowDown': {\n if (orientation === IdsOrientation.HORIZONTAL) {\n return;\n }\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'ArrowRight': {\n if (orientation === IdsOrientation.VERTICAL) {\n return;\n }\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'Enter':\n case ' ': {\n items[index].onChange();\n break;\n }\n default:\n return;\n }\n }\n\n public ngOnInit(): void {\n this._selectionModel = new SelectionModel<IdsRadioComponent>(false, undefined, false, this.valueCompareFn);\n\n if (this._hasInvalidLabelPosition()) {\n throw this._createHostError('invalid `orientation` + `labelPosition` combination.');\n }\n }\n\n public ngAfterContentChecked(): void {\n const items = this._items();\n const minItemCount = 2;\n\n if (isDevMode() && (items.length < minItemCount)) {\n throw this._createHostError('invalid count of radio items. Minimum item count is 2.');\n }\n\n this._selectionModel?.select(...this._items().filter((item) => item.selected()));\n this._subscribeItemChanges();\n }\n\n public writeValue(value: unknown | unknown[]): void {\n this._setSelectionByValue(value);\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n\n private _subscribeItemChanges(): void {\n this._items().forEach((item) => {\n item.changes.subscribe(\n (change) => {\n this._handleItemChanges(change);\n },\n );\n });\n }\n\n private _handleItemChanges(change: IdsRadioChangeEvent): void {\n const { source } = change;\n this._clearSelection();\n source.selected.set(true);\n this._selectionModel?.select(source);\n this.itemChanges.emit(change);\n this._handleChange();\n this._onTouched();\n }\n\n private _setSelectionByValue(value: unknown | unknown[]): void {\n this._rawValue = value;\n\n if (this._items().length === 0) {\n return;\n }\n\n this._clearSelection();\n this._selectValue(value);\n }\n\n private _selectValue(value: unknown): void {\n const correspondingItem = this._items().find((item) => item.value() != null && item.value() === value);\n if (correspondingItem) {\n correspondingItem.selected.set(true);\n this._selectionModel?.select(correspondingItem);\n }\n }\n\n private _clearSelection(): void {\n this._selectionModel?.clear();\n this._items().forEach((item) => {\n item.selected.set(false);\n });\n }\n\n private _handleChange(): void {\n const selectionModelValues = this._selectionModel?.selected?.map((item) => item.value());\n this._onChange(selectionModelValues?.[0]);\n }\n\n public isItemPreSelectedByValue(itemValue: unknown): boolean {\n if (this._rawValue === undefined) {\n return false;\n }\n\n return itemValue === this._rawValue;\n }\n\n private _hasInvalidLabelPosition(): boolean {\n const orientation = this.orientation();\n const labelPosition = this.labelPosition();\n\n return (orientation === IdsOrientation.VERTICAL && Object.values(IdsVerticalPosition).some((pos) => pos === labelPosition));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, input, computed, contentChildren, inject, contentChild, TemplateRef, Component } from '@angular/core';
|
|
2
|
+
import { InjectionToken, input, computed, linkedSignal, contentChildren, inject, contentChild, TemplateRef, Component } from '@angular/core';
|
|
3
3
|
import { IdsSize, coerceBooleanAttribute, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
|
|
4
|
-
import { trigger, transition, style, animate } from '@angular/animations';
|
|
5
4
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
|
-
import { Router } from '@angular/router';
|
|
7
5
|
import { IdsIconComponent } from '@i-cell/ids-angular/icon';
|
|
8
6
|
import { IdsIconButtonComponent, IDS_ICON_BUTTON_PARENT } from '@i-cell/ids-angular/icon-button';
|
|
7
|
+
import { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';
|
|
8
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
9
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
10
|
+
import { filter } from 'rxjs';
|
|
11
|
+
|
|
12
|
+
const IDS_SIDE_NAV_ROUTER = new InjectionToken('IDS_SIDE_NAV_ROUTER');
|
|
9
13
|
|
|
10
14
|
const IdsSideNavVariant = {
|
|
11
15
|
SURFACE: 'surface',
|
|
@@ -46,24 +50,32 @@ class IdsSideNavItemComponent {
|
|
|
46
50
|
this.label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
47
51
|
this.target = input('', ...(ngDevMode ? [{ debugName: "target" }] : []));
|
|
48
52
|
this.templateChildren = input(...(ngDevMode ? [undefined, { debugName: "templateChildren" }] : []));
|
|
49
|
-
this.
|
|
53
|
+
this.active = computed(() => {
|
|
54
|
+
this._parent?.navigationChange();
|
|
55
|
+
return this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' });
|
|
56
|
+
}, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
50
57
|
this._expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate(), ...(ngDevMode ? [{ debugName: "_expandable" }] : []));
|
|
51
|
-
this._expanded =
|
|
58
|
+
this._expanded = linkedSignal(() => {
|
|
59
|
+
this._parent?.navigationChange();
|
|
60
|
+
return this._contentChildren().some((child) => child.active());
|
|
61
|
+
});
|
|
52
62
|
this._iconLeading = contentChildren('[icon-leading]', ...(ngDevMode ? [{ debugName: "_iconLeading" }] : []));
|
|
53
63
|
this._iconTrailing = contentChildren('[icon-trailing]', ...(ngDevMode ? [{ debugName: "_iconTrailing" }] : []));
|
|
54
64
|
this._parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });
|
|
55
65
|
this._contentTemplate = contentChild('idsSideNavItemChildren', ...(ngDevMode ? [{ debugName: "_contentTemplate", read: TemplateRef }] : [{ read: TemplateRef }]));
|
|
56
66
|
this._contentChildren = contentChildren(IdsSideNavItemComponent, ...(ngDevMode ? [{ debugName: "_contentChildren" }] : []));
|
|
57
|
-
this._router = inject(
|
|
67
|
+
this._router = inject(IDS_SIDE_NAV_ROUTER, { skipSelf: true });
|
|
58
68
|
}
|
|
59
69
|
_onClick(event) {
|
|
60
70
|
if (this.disabled()) {
|
|
61
71
|
return;
|
|
62
72
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
const eventTarget = event.target;
|
|
74
|
+
if (!this.target()) {
|
|
75
|
+
this._toggle();
|
|
76
|
+
}
|
|
77
|
+
else if (eventTarget.localName === 'button' ||
|
|
78
|
+
(eventTarget.localName === 'ids-icon' && !eventTarget.hasAttribute('icon-leading') && !eventTarget.hasAttribute('icon-trailing'))) {
|
|
67
79
|
this._toggle();
|
|
68
80
|
}
|
|
69
81
|
else {
|
|
@@ -98,7 +110,7 @@ class IdsSideNavItemComponent {
|
|
|
98
110
|
}
|
|
99
111
|
_toggle() {
|
|
100
112
|
if (this._expandable()) {
|
|
101
|
-
this._expanded
|
|
113
|
+
this._expanded.set(!this._expanded());
|
|
102
114
|
}
|
|
103
115
|
}
|
|
104
116
|
_navigate() {
|
|
@@ -110,15 +122,17 @@ class IdsSideNavItemComponent {
|
|
|
110
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
123
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideNavItemComponent, isStandalone: true, selector: "ids-side-nav-item, li[idsSideNavItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, templateChildren: { classPropertyName: "templateChildren", publicName: "templateChildren", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ids-side-nav-item-expandable": "_expandable()", "role": "_expandable() ? \"group\" : \"treeitem\"" }, classAttribute: "ids-side-nav-item" }, queries: [{ propertyName: "_iconLeading", predicate: ["[icon-leading]"], isSignal: true }, { propertyName: "_iconTrailing", predicate: ["[icon-trailing]"], isSignal: true }, { propertyName: "_contentTemplate", first: true, predicate: ["idsSideNavItemChildren"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "_contentChildren", predicate: IdsSideNavItemComponent, isSignal: true }], ngImport: i0, template: `
|
|
112
124
|
<a
|
|
125
|
+
idsTooltipPosition="east"
|
|
126
|
+
[idsTooltip]="_parent?.hasLabel() ? '' : label()"
|
|
113
127
|
[class.ids-side-nav-item-single]="!_expandable()"
|
|
114
128
|
[class.ids-side-nav-item-expandable-summary]="_expandable()"
|
|
115
129
|
[attr.tabindex]="!disabled() ? 0 : null"
|
|
116
130
|
[attr.disabled]="disabled() ? '' : null"
|
|
117
|
-
[attr.is-active]="
|
|
118
|
-
[attr.is-active-indicator]="
|
|
131
|
+
[attr.is-active]="active() ? '' : null"
|
|
132
|
+
[attr.is-active-indicator]="active() && _parent?.hasActiveIndicator() ? '' : null"
|
|
119
133
|
[attr.aria-disabled]="disabled() ? '' : null"
|
|
120
|
-
[attr.aria-current]="
|
|
121
|
-
[attr.aria-expanded]="!_expandable() ? null : _expanded ? 'true' : 'false'"
|
|
134
|
+
[attr.aria-current]="active()"
|
|
135
|
+
[attr.aria-expanded]="!_expandable() ? null : _expanded() ? 'true' : 'false'"
|
|
122
136
|
[attr.aria-label]="label()"
|
|
123
137
|
(keydown)="_onKeyDown($event)"
|
|
124
138
|
(click)="_onClick($event)"
|
|
@@ -134,30 +148,18 @@ class IdsSideNavItemComponent {
|
|
|
134
148
|
}
|
|
135
149
|
@if (_expandable()) {
|
|
136
150
|
<button idsIconButton type="button" [disabled]="disabled()">
|
|
137
|
-
<ids-icon aria-hidden="true" alt="" [fontIcon]="_expanded ? 'chevron-up' : 'chevron-down'" />
|
|
151
|
+
<ids-icon aria-hidden="true" alt="" [fontIcon]="_expanded() ? 'chevron-up' : 'chevron-down'" />
|
|
138
152
|
</button>
|
|
139
153
|
}
|
|
140
154
|
</a>
|
|
141
|
-
@if (_expandable()
|
|
142
|
-
<ul
|
|
155
|
+
@if (_expandable()) {
|
|
156
|
+
<ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded()">
|
|
143
157
|
<ng-content select="ids-side-nav-item,[idsSideNavItem]" />
|
|
144
158
|
<ng-container *ngTemplateOutlet="_contentTemplate()" />
|
|
145
159
|
</ul>
|
|
146
160
|
}
|
|
147
|
-
<ng-content select="ng-template"/>
|
|
148
|
-
`, isInline: true, dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }]
|
|
149
|
-
trigger('enterLeave', [
|
|
150
|
-
transition(':enter', [
|
|
151
|
-
style({ height: 0, opacity: 0 }),
|
|
152
|
-
animate('150ms ease-out', style({ height: '*' })),
|
|
153
|
-
animate('150ms ease-in', style({ opacity: 1 })),
|
|
154
|
-
]),
|
|
155
|
-
transition(':leave', [
|
|
156
|
-
animate('150ms ease-out', style({ opacity: 0 })),
|
|
157
|
-
animate('150ms ease-in', style({ height: 0 })),
|
|
158
|
-
]),
|
|
159
|
-
]),
|
|
160
|
-
] }); }
|
|
161
|
+
<ng-content select="ng-template" />
|
|
162
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
161
163
|
}
|
|
162
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavItemComponent, decorators: [{
|
|
163
165
|
type: Component,
|
|
@@ -166,19 +168,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
166
168
|
imports: [
|
|
167
169
|
IdsIconComponent,
|
|
168
170
|
IdsIconButtonComponent,
|
|
171
|
+
IdsTooltipDirective,
|
|
169
172
|
NgTemplateOutlet,
|
|
170
173
|
],
|
|
171
174
|
template: `
|
|
172
175
|
<a
|
|
176
|
+
idsTooltipPosition="east"
|
|
177
|
+
[idsTooltip]="_parent?.hasLabel() ? '' : label()"
|
|
173
178
|
[class.ids-side-nav-item-single]="!_expandable()"
|
|
174
179
|
[class.ids-side-nav-item-expandable-summary]="_expandable()"
|
|
175
180
|
[attr.tabindex]="!disabled() ? 0 : null"
|
|
176
181
|
[attr.disabled]="disabled() ? '' : null"
|
|
177
|
-
[attr.is-active]="
|
|
178
|
-
[attr.is-active-indicator]="
|
|
182
|
+
[attr.is-active]="active() ? '' : null"
|
|
183
|
+
[attr.is-active-indicator]="active() && _parent?.hasActiveIndicator() ? '' : null"
|
|
179
184
|
[attr.aria-disabled]="disabled() ? '' : null"
|
|
180
|
-
[attr.aria-current]="
|
|
181
|
-
[attr.aria-expanded]="!_expandable() ? null : _expanded ? 'true' : 'false'"
|
|
185
|
+
[attr.aria-current]="active()"
|
|
186
|
+
[attr.aria-expanded]="!_expandable() ? null : _expanded() ? 'true' : 'false'"
|
|
182
187
|
[attr.aria-label]="label()"
|
|
183
188
|
(keydown)="_onKeyDown($event)"
|
|
184
189
|
(click)="_onClick($event)"
|
|
@@ -194,36 +199,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
194
199
|
}
|
|
195
200
|
@if (_expandable()) {
|
|
196
201
|
<button idsIconButton type="button" [disabled]="disabled()">
|
|
197
|
-
<ids-icon aria-hidden="true" alt="" [fontIcon]="_expanded ? 'chevron-up' : 'chevron-down'" />
|
|
202
|
+
<ids-icon aria-hidden="true" alt="" [fontIcon]="_expanded() ? 'chevron-up' : 'chevron-down'" />
|
|
198
203
|
</button>
|
|
199
204
|
}
|
|
200
205
|
</a>
|
|
201
|
-
@if (_expandable()
|
|
202
|
-
<ul
|
|
206
|
+
@if (_expandable()) {
|
|
207
|
+
<ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded()">
|
|
203
208
|
<ng-content select="ids-side-nav-item,[idsSideNavItem]" />
|
|
204
209
|
<ng-container *ngTemplateOutlet="_contentTemplate()" />
|
|
205
210
|
</ul>
|
|
206
211
|
}
|
|
207
|
-
<ng-content select="ng-template"/>
|
|
212
|
+
<ng-content select="ng-template" />
|
|
208
213
|
`,
|
|
209
214
|
host: {
|
|
210
215
|
class: 'ids-side-nav-item',
|
|
211
216
|
'[class.ids-side-nav-item-expandable]': '_expandable()',
|
|
212
217
|
'[role]': '_expandable() ? "group" : "treeitem"',
|
|
213
218
|
},
|
|
214
|
-
animations: [
|
|
215
|
-
trigger('enterLeave', [
|
|
216
|
-
transition(':enter', [
|
|
217
|
-
style({ height: 0, opacity: 0 }),
|
|
218
|
-
animate('150ms ease-out', style({ height: '*' })),
|
|
219
|
-
animate('150ms ease-in', style({ opacity: 1 })),
|
|
220
|
-
]),
|
|
221
|
-
transition(':leave', [
|
|
222
|
-
animate('150ms ease-out', style({ opacity: 0 })),
|
|
223
|
-
animate('150ms ease-in', style({ height: 0 })),
|
|
224
|
-
]),
|
|
225
|
-
]),
|
|
226
|
-
],
|
|
227
219
|
}]
|
|
228
220
|
}] });
|
|
229
221
|
|
|
@@ -309,11 +301,13 @@ class IdsSideNavComponent extends ComponentBaseWithDefaults {
|
|
|
309
301
|
constructor() {
|
|
310
302
|
super(...arguments);
|
|
311
303
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);
|
|
304
|
+
this._router = inject(IDS_SIDE_NAV_ROUTER);
|
|
312
305
|
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
313
306
|
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
314
307
|
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
315
308
|
this.hasLabel = input(coerceBooleanAttribute(this._defaultConfig.hasLabel), ...(ngDevMode ? [{ debugName: "hasLabel" }] : []));
|
|
316
309
|
this.hasActiveIndicator = input(coerceBooleanAttribute(this._defaultConfig.hasActiveIndicator), ...(ngDevMode ? [{ debugName: "hasActiveIndicator" }] : []));
|
|
310
|
+
this.navigationChange = toSignal(this._router.events.pipe(filter((event) => event instanceof NavigationEnd)));
|
|
317
311
|
this.embeddedIconButtonAppearance = computed(() => this.appearance(), ...(ngDevMode ? [{ debugName: "embeddedIconButtonAppearance" }] : []));
|
|
318
312
|
this.embeddedIconButtonVariant = computed(() => this.variant(), ...(ngDevMode ? [{ debugName: "embeddedIconButtonVariant" }] : []));
|
|
319
313
|
this.embeddedIconButtonSize = computed(() => {
|
|
@@ -344,6 +338,10 @@ class IdsSideNavComponent extends ComponentBaseWithDefaults {
|
|
|
344
338
|
provide: IDS_SIDE_NAV_PARENT,
|
|
345
339
|
useExisting: IdsSideNavComponent,
|
|
346
340
|
},
|
|
341
|
+
{
|
|
342
|
+
provide: IDS_SIDE_NAV_ROUTER,
|
|
343
|
+
useExisting: Router,
|
|
344
|
+
},
|
|
347
345
|
], usesInheritance: true, ngImport: i0, template: '<ng-content/>', isInline: true }); }
|
|
348
346
|
}
|
|
349
347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavComponent, decorators: [{
|
|
@@ -363,6 +361,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
363
361
|
provide: IDS_SIDE_NAV_PARENT,
|
|
364
362
|
useExisting: IdsSideNavComponent,
|
|
365
363
|
},
|
|
364
|
+
{
|
|
365
|
+
provide: IDS_SIDE_NAV_ROUTER,
|
|
366
|
+
useExisting: Router,
|
|
367
|
+
},
|
|
366
368
|
],
|
|
367
369
|
}]
|
|
368
370
|
}] });
|
|
@@ -371,5 +373,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
371
373
|
* Generated bundle index. Do not edit.
|
|
372
374
|
*/
|
|
373
375
|
|
|
374
|
-
export { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavAppearance, IdsSideNavComponent, IdsSideNavItemComponent, IdsSideNavSectionComponent, IdsSideNavTitleComponent, IdsSideNavVariant };
|
|
376
|
+
export { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IDS_SIDE_NAV_ROUTER, IdsSideNavAppearance, IdsSideNavComponent, IdsSideNavItemComponent, IdsSideNavSectionComponent, IdsSideNavTitleComponent, IdsSideNavVariant };
|
|
375
377
|
//# sourceMappingURL=i-cell-ids-angular-side-nav.mjs.map
|