@i-cell/ids-angular 0.2.5 → 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.
@@ -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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"}
@@ -1,10 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, input, computed, contentChildren, inject, contentChild, TemplateRef, effect, untracked, 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
4
  import { NgTemplateOutlet } from '@angular/common';
5
- import { Router } from '@angular/router';
6
5
  import { IdsIconComponent } from '@i-cell/ids-angular/icon';
7
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');
8
13
 
9
14
  const IdsSideNavVariant = {
10
15
  SURFACE: 'surface',
@@ -45,25 +50,21 @@ class IdsSideNavItemComponent {
45
50
  this.label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
46
51
  this.target = input('', ...(ngDevMode ? [{ debugName: "target" }] : []));
47
52
  this.templateChildren = input(...(ngDevMode ? [undefined, { debugName: "templateChildren" }] : []));
48
- this.active = computed(() => this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }), ...(ngDevMode ? [{ debugName: "active" }] : []));
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" }] : []));
49
57
  this._expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate(), ...(ngDevMode ? [{ debugName: "_expandable" }] : []));
50
- this._expanded = false;
58
+ this._expanded = linkedSignal(() => {
59
+ this._parent?.navigationChange();
60
+ return this._contentChildren().some((child) => child.active());
61
+ });
51
62
  this._iconLeading = contentChildren('[icon-leading]', ...(ngDevMode ? [{ debugName: "_iconLeading" }] : []));
52
63
  this._iconTrailing = contentChildren('[icon-trailing]', ...(ngDevMode ? [{ debugName: "_iconTrailing" }] : []));
53
64
  this._parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });
54
65
  this._contentTemplate = contentChild('idsSideNavItemChildren', ...(ngDevMode ? [{ debugName: "_contentTemplate", read: TemplateRef }] : [{ read: TemplateRef }]));
55
66
  this._contentChildren = contentChildren(IdsSideNavItemComponent, ...(ngDevMode ? [{ debugName: "_contentChildren" }] : []));
56
- this._router = inject(Router, { skipSelf: true });
57
- effect(() => {
58
- const sideNavChildren = this._contentChildren();
59
- untracked(() => {
60
- sideNavChildren.forEach((child) => {
61
- if (child.active()) {
62
- this._expanded = true;
63
- }
64
- });
65
- });
66
- });
67
+ this._router = inject(IDS_SIDE_NAV_ROUTER, { skipSelf: true });
67
68
  }
68
69
  _onClick(event) {
69
70
  if (this.disabled()) {
@@ -109,7 +110,7 @@ class IdsSideNavItemComponent {
109
110
  }
110
111
  _toggle() {
111
112
  if (this._expandable()) {
112
- this._expanded = !this._expanded;
113
+ this._expanded.set(!this._expanded());
113
114
  }
114
115
  }
115
116
  _navigate() {
@@ -121,6 +122,8 @@ class IdsSideNavItemComponent {
121
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
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: `
123
124
  <a
125
+ idsTooltipPosition="east"
126
+ [idsTooltip]="_parent?.hasLabel() ? '' : label()"
124
127
  [class.ids-side-nav-item-single]="!_expandable()"
125
128
  [class.ids-side-nav-item-expandable-summary]="_expandable()"
126
129
  [attr.tabindex]="!disabled() ? 0 : null"
@@ -129,7 +132,7 @@ class IdsSideNavItemComponent {
129
132
  [attr.is-active-indicator]="active() && _parent?.hasActiveIndicator() ? '' : null"
130
133
  [attr.aria-disabled]="disabled() ? '' : null"
131
134
  [attr.aria-current]="active()"
132
- [attr.aria-expanded]="!_expandable() ? null : _expanded ? 'true' : 'false'"
135
+ [attr.aria-expanded]="!_expandable() ? null : _expanded() ? 'true' : 'false'"
133
136
  [attr.aria-label]="label()"
134
137
  (keydown)="_onKeyDown($event)"
135
138
  (click)="_onClick($event)"
@@ -145,18 +148,18 @@ class IdsSideNavItemComponent {
145
148
  }
146
149
  @if (_expandable()) {
147
150
  <button idsIconButton type="button" [disabled]="disabled()">
148
- <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'" />
149
152
  </button>
150
153
  }
151
154
  </a>
152
155
  @if (_expandable()) {
153
- <ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded">
156
+ <ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded()">
154
157
  <ng-content select="ids-side-nav-item,[idsSideNavItem]" />
155
158
  <ng-container *ngTemplateOutlet="_contentTemplate()" />
156
159
  </ul>
157
160
  }
158
161
  <ng-content select="ng-template" />
159
- `, 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"] }] }); }
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"] }] }); }
160
163
  }
161
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavItemComponent, decorators: [{
162
165
  type: Component,
@@ -165,10 +168,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
165
168
  imports: [
166
169
  IdsIconComponent,
167
170
  IdsIconButtonComponent,
171
+ IdsTooltipDirective,
168
172
  NgTemplateOutlet,
169
173
  ],
170
174
  template: `
171
175
  <a
176
+ idsTooltipPosition="east"
177
+ [idsTooltip]="_parent?.hasLabel() ? '' : label()"
172
178
  [class.ids-side-nav-item-single]="!_expandable()"
173
179
  [class.ids-side-nav-item-expandable-summary]="_expandable()"
174
180
  [attr.tabindex]="!disabled() ? 0 : null"
@@ -177,7 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
177
183
  [attr.is-active-indicator]="active() && _parent?.hasActiveIndicator() ? '' : null"
178
184
  [attr.aria-disabled]="disabled() ? '' : null"
179
185
  [attr.aria-current]="active()"
180
- [attr.aria-expanded]="!_expandable() ? null : _expanded ? 'true' : 'false'"
186
+ [attr.aria-expanded]="!_expandable() ? null : _expanded() ? 'true' : 'false'"
181
187
  [attr.aria-label]="label()"
182
188
  (keydown)="_onKeyDown($event)"
183
189
  (click)="_onClick($event)"
@@ -193,12 +199,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
193
199
  }
194
200
  @if (_expandable()) {
195
201
  <button idsIconButton type="button" [disabled]="disabled()">
196
- <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'" />
197
203
  </button>
198
204
  }
199
205
  </a>
200
206
  @if (_expandable()) {
201
- <ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded">
207
+ <ul class="ids-side-nav-item-expandable-submenu" [class.expanded]="_expanded()">
202
208
  <ng-content select="ids-side-nav-item,[idsSideNavItem]" />
203
209
  <ng-container *ngTemplateOutlet="_contentTemplate()" />
204
210
  </ul>
@@ -211,7 +217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
211
217
  '[role]': '_expandable() ? "group" : "treeitem"',
212
218
  },
213
219
  }]
214
- }], ctorParameters: () => [] });
220
+ }] });
215
221
 
216
222
  /**
217
223
  * Side navigation (section) title
@@ -295,11 +301,13 @@ class IdsSideNavComponent extends ComponentBaseWithDefaults {
295
301
  constructor() {
296
302
  super(...arguments);
297
303
  this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);
304
+ this._router = inject(IDS_SIDE_NAV_ROUTER);
298
305
  this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
299
306
  this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
300
307
  this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
301
308
  this.hasLabel = input(coerceBooleanAttribute(this._defaultConfig.hasLabel), ...(ngDevMode ? [{ debugName: "hasLabel" }] : []));
302
309
  this.hasActiveIndicator = input(coerceBooleanAttribute(this._defaultConfig.hasActiveIndicator), ...(ngDevMode ? [{ debugName: "hasActiveIndicator" }] : []));
310
+ this.navigationChange = toSignal(this._router.events.pipe(filter((event) => event instanceof NavigationEnd)));
303
311
  this.embeddedIconButtonAppearance = computed(() => this.appearance(), ...(ngDevMode ? [{ debugName: "embeddedIconButtonAppearance" }] : []));
304
312
  this.embeddedIconButtonVariant = computed(() => this.variant(), ...(ngDevMode ? [{ debugName: "embeddedIconButtonVariant" }] : []));
305
313
  this.embeddedIconButtonSize = computed(() => {
@@ -330,6 +338,10 @@ class IdsSideNavComponent extends ComponentBaseWithDefaults {
330
338
  provide: IDS_SIDE_NAV_PARENT,
331
339
  useExisting: IdsSideNavComponent,
332
340
  },
341
+ {
342
+ provide: IDS_SIDE_NAV_ROUTER,
343
+ useExisting: Router,
344
+ },
333
345
  ], usesInheritance: true, ngImport: i0, template: '<ng-content/>', isInline: true }); }
334
346
  }
335
347
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideNavComponent, decorators: [{
@@ -349,6 +361,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
349
361
  provide: IDS_SIDE_NAV_PARENT,
350
362
  useExisting: IdsSideNavComponent,
351
363
  },
364
+ {
365
+ provide: IDS_SIDE_NAV_ROUTER,
366
+ useExisting: Router,
367
+ },
352
368
  ],
353
369
  }]
354
370
  }] });
@@ -357,5 +373,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
357
373
  * Generated bundle index. Do not edit.
358
374
  */
359
375
 
360
- 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 };
361
377
  //# sourceMappingURL=i-cell-ids-angular-side-nav.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-side-nav.mjs","sources":["../../../projects/widgets/side-nav/types/side-nav-variant.type.ts","../../../projects/widgets/side-nav/types/side-nav-appearance.type.ts","../../../projects/widgets/side-nav/side-nav-defaults.ts","../../../projects/widgets/side-nav/tokens/ids-side-nav-parent.ts","../../../projects/widgets/side-nav/side-nav-item.component.ts","../../../projects/widgets/side-nav/side-nav-title.component.ts","../../../projects/widgets/side-nav/side-nav-section.component.ts","../../../projects/widgets/side-nav/side-nav.component.ts","../../../projects/widgets/side-nav/i-cell-ids-angular-side-nav.ts"],"sourcesContent":["export const IdsSideNavVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSideNavVariantType = (typeof IdsSideNavVariant)[keyof typeof IdsSideNavVariant];\n","export const IdsSideNavAppearance = {\n STANDARD: 'standard',\n} as const;\n\nexport type IdsSideNavAppearanceType = (typeof IdsSideNavAppearance)[keyof typeof IdsSideNavAppearance];\n","import { IdsSideNavAppearance, IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariant, IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideNavDefaultConfig {\n appearance?: IdsSideNavAppearanceType,\n size?: IdsSizeType,\n variant?: IdsSideNavVariantType,\n hasActiveIndicator?: boolean,\n hasLabel?: boolean,\n}\n\nexport const IDS_SIDE_NAV_DEFAULT_CONFIG = new InjectionToken<IdsSideNavDefaultConfig>(\n 'IDS_SIDE_NAV_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY(): Required<IdsSideNavDefaultConfig> {\n return {\n appearance: IdsSideNavAppearance.STANDARD,\n size: IdsSize.COMPACT,\n variant: IdsSideNavVariant.SURFACE,\n hasActiveIndicator: false,\n hasLabel: true,\n };\n}\n\n","import { IdsSideNavComponent } from '../side-nav.component';\n\nimport { InjectionToken } from '@angular/core';\n\nexport const IDS_SIDE_NAV_PARENT = new InjectionToken<IdsSideNavComponent>(\n 'IDS_SIDE_NAV_PARENT',\n);\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, contentChild, contentChildren, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\n/**\n * Side navigation item\n * - it can be a single list element or an expandable list element, containing another list of elements\n * - it can be used with selectors like `ids-side-nav-item` or `li[idsSideNavItem]`\n * - children can be provided with content projection:\n * - either project `ids-side-nav-item` elements\n * - or list elements as `<li>` elements in an ng-template, marked with `idsSideNavItemChildren` variable\n */\n@Component({\n selector: 'ids-side-nav-item, li[idsSideNavItem]',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n NgTemplateOutlet,\n ],\n template: `\n <a\n [class.ids-side-nav-item-single]=\"!_expandable()\"\n [class.ids-side-nav-item-expandable-summary]=\"_expandable()\"\n [attr.tabindex]=\"!disabled() ? 0 : null\"\n [attr.disabled]=\"disabled() ? '' : null\"\n [attr.is-active]=\"active() ? '' : null\"\n [attr.is-active-indicator]=\"active() && _parent?.hasActiveIndicator() ? '' : null\"\n [attr.aria-disabled]=\"disabled() ? '' : null\"\n [attr.aria-current]=\"active()\"\n [attr.aria-expanded]=\"!_expandable() ? null : _expanded ? 'true' : 'false'\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"_onClick($event)\"\n >\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-item-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n @if (_expandable()) {\n <button idsIconButton type=\"button\" [disabled]=\"disabled()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" [fontIcon]=\"_expanded ? 'chevron-up' : 'chevron-down'\" />\n </button>\n }\n </a>\n @if (_expandable()) {\n <ul class=\"ids-side-nav-item-expandable-submenu\" [class.expanded]=\"_expanded\">\n <ng-content select=\"ids-side-nav-item,[idsSideNavItem]\" />\n <ng-container *ngTemplateOutlet=\"_contentTemplate()\" />\n </ul>\n }\n <ng-content select=\"ng-template\" />\n `,\n host: {\n class: 'ids-side-nav-item',\n '[class.ids-side-nav-item-expandable]': '_expandable()',\n '[role]': '_expandable() ? \"group\" : \"treeitem\"',\n },\n})\nexport class IdsSideNavItemComponent {\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n public label = input.required<string>();\n public target = input<string>('');\n public templateChildren = input<TemplateRef<HTMLElement>>();\n public active = computed(() =>\n this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }),\n );\n\n protected _expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate());\n protected _expanded = false;\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n protected readonly _contentTemplate = contentChild('idsSideNavItemChildren', { read: TemplateRef });\n private readonly _contentChildren = contentChildren(IdsSideNavItemComponent);\n private readonly _router = inject(Router, { skipSelf: true });\n\n constructor() {\n effect(() => {\n const sideNavChildren = this._contentChildren();\n\n untracked(() => {\n sideNavChildren.forEach((child) => {\n if (child.active()) {\n this._expanded = true;\n }\n });\n });\n });\n }\n\n protected _onClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n const eventTarget = event.target as Element;\n\n if (!this.target()) {\n this._toggle();\n } else if (\n eventTarget.localName === 'button' ||\n (eventTarget.localName === 'ids-icon' && !eventTarget.hasAttribute('icon-leading') && !eventTarget.hasAttribute('icon-trailing'))\n ) {\n this._toggle();\n } else {\n this._navigate();\n }\n }\n\n protected _onKeyDown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n if ([\n 'Enter',\n 'Space',\n ].includes(event.code)) {\n event.preventDefault();\n if ((event.target as Element).localName === 'button') {\n this._toggle();\n } else {\n this._navigate();\n }\n } else if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n ].includes(event.code)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this._toggle();\n }\n }\n\n protected _toggle(): void {\n if (this._expandable()) {\n this._expanded = !this._expanded;\n }\n }\n\n protected _navigate(): void {\n const target = this.target();\n if (target) {\n this._router.navigateByUrl(target);\n }\n }\n}\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { Component, contentChildren, inject, input } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n/**\n * Side navigation (section) title\n * - title of the navigation section\n * - it can be used with selectors like `ids-side-nav-title` or `li[idsSideNavTitle]`\n * - leading and trailing icons should be projected, label is bound by input\n */\n@Component({\n selector: 'ids-side-nav-title, li[idsSideNavTitle]',\n imports: [],\n template: `\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-title-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n `,\n host: {\n class: 'ids-side-nav-title',\n role: 'treeitem',\n },\n})\nexport class IdsSideNavTitleComponent {\n public label = input.required<string>();\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n}\n","import { Component } from '@angular/core';\n\n/**\n * Side navigation section\n * - section wrapper inside the navigation\n * - it can be used with selectors like `ids-side-nav-section` or `li[idsSideNavSection]`\n * - content should be projected\n */\n@Component({\n selector: 'ids-side-nav-section, ul[idsSideNavSection]',\n imports: [],\n template: '<ng-content />',\n host: {\n class: 'ids-side-nav-section',\n role: 'tree',\n },\n})\nexport class IdsSideNavSectionComponent {}\n","import { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavDefaultConfig } from './side-nav-defaults';\nimport { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { Component, computed, input } from '@angular/core';\nimport { coerceBooleanAttribute, ComponentBaseWithDefaults, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IDS_ICON_BUTTON_PARENT, IdsIconButtonAppearanceType, IdsIconButtonVariantType, IdsIconButtonParent } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY();\n\n/**\n * Side navigation\n * - wrapper element for side navigation elements (sections, then title and items as part of section)\n * - content should be projected\n */\n@Component({\n selector: 'nav[idsSideNav]',\n template: '<ng-content/>',\n host: {\n class: 'ids-side-nav',\n },\n providers: [\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_PARENT,\n useExisting: IdsSideNavComponent,\n },\n ],\n})\nexport class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDefaultConfig> implements IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'side-nav';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);\n\n public appearance = input<IdsSideNavAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSideNavVariantType>(this._defaultConfig.variant);\n public hasLabel = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasLabel));\n public hasActiveIndicator = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasActiveIndicator));\n\n public embeddedIconButtonAppearance = computed<IdsIconButtonAppearanceType>(() => this.appearance());\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => this.variant());\n public embeddedIconButtonSize = computed<IdsSizeType>(() => {\n switch (this.size()) {\n // NOTE: SPACIOUS icon button size sticks out of side-nav item, size need to be adjusted\n case IdsSize.SPACIOUS:\n return IdsSize.COMFORTABLE;\n default:\n return this.size();\n }\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.variant(),\n this.size(),\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-side-nav.mjs","sources":["../../../projects/widgets/side-nav/tokens/ids-side-nav-router.ts","../../../projects/widgets/side-nav/types/side-nav-variant.type.ts","../../../projects/widgets/side-nav/types/side-nav-appearance.type.ts","../../../projects/widgets/side-nav/side-nav-defaults.ts","../../../projects/widgets/side-nav/tokens/ids-side-nav-parent.ts","../../../projects/widgets/side-nav/side-nav-item.component.ts","../../../projects/widgets/side-nav/side-nav-title.component.ts","../../../projects/widgets/side-nav/side-nav-section.component.ts","../../../projects/widgets/side-nav/side-nav.component.ts","../../../projects/widgets/side-nav/i-cell-ids-angular-side-nav.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Router } from '@angular/router';\n\nexport const IDS_SIDE_NAV_ROUTER = new InjectionToken<Router>(\n 'IDS_SIDE_NAV_ROUTER',\n);\n","export const IdsSideNavVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSideNavVariantType = (typeof IdsSideNavVariant)[keyof typeof IdsSideNavVariant];\n","export const IdsSideNavAppearance = {\n STANDARD: 'standard',\n} as const;\n\nexport type IdsSideNavAppearanceType = (typeof IdsSideNavAppearance)[keyof typeof IdsSideNavAppearance];\n","import { IdsSideNavAppearance, IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariant, IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideNavDefaultConfig {\n appearance?: IdsSideNavAppearanceType,\n size?: IdsSizeType,\n variant?: IdsSideNavVariantType,\n hasActiveIndicator?: boolean,\n hasLabel?: boolean,\n}\n\nexport const IDS_SIDE_NAV_DEFAULT_CONFIG = new InjectionToken<IdsSideNavDefaultConfig>(\n 'IDS_SIDE_NAV_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY(): Required<IdsSideNavDefaultConfig> {\n return {\n appearance: IdsSideNavAppearance.STANDARD,\n size: IdsSize.COMPACT,\n variant: IdsSideNavVariant.SURFACE,\n hasActiveIndicator: false,\n hasLabel: true,\n };\n}\n\n","import { IdsSideNavComponent } from '../side-nav.component';\n\nimport { InjectionToken } from '@angular/core';\n\nexport const IDS_SIDE_NAV_PARENT = new InjectionToken<IdsSideNavComponent>(\n 'IDS_SIDE_NAV_PARENT',\n);\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IDS_SIDE_NAV_ROUTER } from './tokens/ids-side-nav-router';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, contentChild, contentChildren, inject, input, linkedSignal, TemplateRef } from '@angular/core';\nimport { coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n/**\n * Side navigation item\n * - it can be a single list element or an expandable list element, containing another list of elements\n * - it can be used with selectors like `ids-side-nav-item` or `li[idsSideNavItem]`\n * - children can be provided with content projection:\n * - either project `ids-side-nav-item` elements\n * - or list elements as `<li>` elements in an ng-template, marked with `idsSideNavItemChildren` variable\n */\n@Component({\n selector: 'ids-side-nav-item, li[idsSideNavItem]',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n NgTemplateOutlet,\n ],\n template: `\n <a\n idsTooltipPosition=\"east\"\n [idsTooltip]=\"_parent?.hasLabel() ? '' : label()\"\n [class.ids-side-nav-item-single]=\"!_expandable()\"\n [class.ids-side-nav-item-expandable-summary]=\"_expandable()\"\n [attr.tabindex]=\"!disabled() ? 0 : null\"\n [attr.disabled]=\"disabled() ? '' : null\"\n [attr.is-active]=\"active() ? '' : null\"\n [attr.is-active-indicator]=\"active() && _parent?.hasActiveIndicator() ? '' : null\"\n [attr.aria-disabled]=\"disabled() ? '' : null\"\n [attr.aria-current]=\"active()\"\n [attr.aria-expanded]=\"!_expandable() ? null : _expanded() ? 'true' : 'false'\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"_onClick($event)\"\n >\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-item-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n @if (_expandable()) {\n <button idsIconButton type=\"button\" [disabled]=\"disabled()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" [fontIcon]=\"_expanded() ? 'chevron-up' : 'chevron-down'\" />\n </button>\n }\n </a>\n @if (_expandable()) {\n <ul class=\"ids-side-nav-item-expandable-submenu\" [class.expanded]=\"_expanded()\">\n <ng-content select=\"ids-side-nav-item,[idsSideNavItem]\" />\n <ng-container *ngTemplateOutlet=\"_contentTemplate()\" />\n </ul>\n }\n <ng-content select=\"ng-template\" />\n `,\n host: {\n class: 'ids-side-nav-item',\n '[class.ids-side-nav-item-expandable]': '_expandable()',\n '[role]': '_expandable() ? \"group\" : \"treeitem\"',\n },\n})\nexport class IdsSideNavItemComponent {\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n public label = input.required<string>();\n public target = input<string>('');\n public templateChildren = input<TemplateRef<HTMLElement>>();\n public active = computed(() => {\n this._parent?.navigationChange();\n return this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' });\n });\n\n protected _expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate());\n protected _expanded = linkedSignal(() => {\n this._parent?.navigationChange();\n return this._contentChildren().some((child) => child.active());\n });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n protected readonly _contentTemplate = contentChild('idsSideNavItemChildren', { read: TemplateRef });\n private readonly _contentChildren = contentChildren(IdsSideNavItemComponent);\n private readonly _router = inject(IDS_SIDE_NAV_ROUTER, { skipSelf: true });\n\n protected _onClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n const eventTarget = event.target as Element;\n\n if (!this.target()) {\n this._toggle();\n } else if (\n eventTarget.localName === 'button' ||\n (eventTarget.localName === 'ids-icon' && !eventTarget.hasAttribute('icon-leading') && !eventTarget.hasAttribute('icon-trailing'))\n ) {\n this._toggle();\n } else {\n this._navigate();\n }\n }\n\n protected _onKeyDown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n if ([\n 'Enter',\n 'Space',\n ].includes(event.code)) {\n event.preventDefault();\n if ((event.target as Element).localName === 'button') {\n this._toggle();\n } else {\n this._navigate();\n }\n } else if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n ].includes(event.code)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this._toggle();\n }\n }\n\n protected _toggle(): void {\n if (this._expandable()) {\n this._expanded.set(!this._expanded());\n }\n }\n\n protected _navigate(): void {\n const target = this.target();\n if (target) {\n this._router.navigateByUrl(target);\n }\n }\n}\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { Component, contentChildren, inject, input } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n/**\n * Side navigation (section) title\n * - title of the navigation section\n * - it can be used with selectors like `ids-side-nav-title` or `li[idsSideNavTitle]`\n * - leading and trailing icons should be projected, label is bound by input\n */\n@Component({\n selector: 'ids-side-nav-title, li[idsSideNavTitle]',\n imports: [],\n template: `\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-title-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n `,\n host: {\n class: 'ids-side-nav-title',\n role: 'treeitem',\n },\n})\nexport class IdsSideNavTitleComponent {\n public label = input.required<string>();\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n}\n","import { Component } from '@angular/core';\n\n/**\n * Side navigation section\n * - section wrapper inside the navigation\n * - it can be used with selectors like `ids-side-nav-section` or `li[idsSideNavSection]`\n * - content should be projected\n */\n@Component({\n selector: 'ids-side-nav-section, ul[idsSideNavSection]',\n imports: [],\n template: '<ng-content />',\n host: {\n class: 'ids-side-nav-section',\n role: 'tree',\n },\n})\nexport class IdsSideNavSectionComponent {}\n","import { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavDefaultConfig } from './side-nav-defaults';\nimport { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IDS_SIDE_NAV_ROUTER } from './tokens/ids-side-nav-router';\nimport { IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { coerceBooleanAttribute, ComponentBaseWithDefaults, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\nimport {\n IDS_ICON_BUTTON_PARENT,\n IdsIconButtonAppearanceType,\n IdsIconButtonVariantType,\n IdsIconButtonParent,\n} from '@i-cell/ids-angular/icon-button';\nimport { filter } from 'rxjs';\n\nconst defaultConfig = IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY();\n\n/**\n * Side navigation\n * - wrapper element for side navigation elements (sections, then title and items as part of section)\n * - content should be projected\n */\n@Component({\n selector: 'nav[idsSideNav]',\n template: '<ng-content/>',\n host: {\n class: 'ids-side-nav',\n },\n providers: [\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_ROUTER,\n useExisting: Router,\n },\n ],\n})\nexport class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDefaultConfig> implements IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'side-nav';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);\n protected readonly _router = inject(IDS_SIDE_NAV_ROUTER);\n\n public appearance = input<IdsSideNavAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSideNavVariantType>(this._defaultConfig.variant);\n public hasLabel = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasLabel));\n public hasActiveIndicator = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasActiveIndicator));\n public navigationChange = toSignal(\n this._router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n ),\n );\n\n public embeddedIconButtonAppearance = computed<IdsIconButtonAppearanceType>(() => this.appearance());\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => this.variant());\n public embeddedIconButtonSize = computed<IdsSizeType>(() => {\n switch (this.size()) {\n // NOTE: SPACIOUS icon button size sticks out of side-nav item, size need to be adjusted\n case IdsSize.SPACIOUS:\n return IdsSize.COMFORTABLE;\n default:\n return this.size();\n }\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.variant(),\n this.size(),\n ]));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -68,7 +68,7 @@ class SideSheetHeaderComponent {
68
68
  this.backClicked.emit();
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", 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"] }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", 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"] }] }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, decorators: [{
74
74
  type: Component,
@@ -76,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
76
76
  IdsIconComponent,
77
77
  IdsIconButtonComponent,
78
78
  IdsTooltipDirective,
79
- ], template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n" }]
79
+ ], template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n" }]
80
80
  }] });
81
81
 
82
82
  const defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();
@@ -127,7 +127,7 @@ class IdsSideSheetComponent extends ComponentBaseWithDefaults {
127
127
  this.backClicked.emit();
128
128
  }
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
131
131
  trigger('slideInOut', [
132
132
  transition('void => left', [
133
133
  style({ transform: 'translateX(-100%)' }),
@@ -168,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
168
168
  NgClass,
169
169
  A11yModule,
170
170
  CdkTrapFocus,
171
- ], template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n" }]
171
+ ], template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n" }]
172
172
  }] });
173
173
 
174
174
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\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-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -325,6 +325,7 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
325
325
  this.textAlign = input('auto', ...(ngDevMode ? [{ debugName: "textAlign", alias: 'idsTooltipTextAlign' }] : [{ alias: 'idsTooltipTextAlign' }]));
326
326
  this.tooltipClass = input(undefined, ...(ngDevMode ? [{ debugName: "tooltipClass", alias: 'idsTooltipClass' }] : [{ alias: 'idsTooltipClass' }]));
327
327
  this.showPointer = input(this._defaultConfig.showPointer, ...(ngDevMode ? [{ debugName: "showPointer", alias: 'idsTooltipShowPointer' }] : [{ alias: 'idsTooltipShowPointer' }]));
328
+ this.ignoreClipped = input(false, ...(ngDevMode ? [{ debugName: "ignoreClipped", alias: 'idsTooltipIgnoreClipped' }] : [{ alias: 'idsTooltipIgnoreClipped' }]));
328
329
  this._hostClasses = computed(() => this._getHostClasses([]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
329
330
  this._tooltipClassEffect = effect(() => {
330
331
  this._setTooltipInputs(this.message(), this._currentPosition() ?? this.position(), this.size(), this.variant(), this.textAlign(), this.hideDelay(), this.tooltipClass(), this.showPointer());
@@ -397,7 +398,9 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
397
398
  .withScrollableContainers(scrollableAncestors);
398
399
  strategy.positionChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((change) => {
399
400
  this._updateCurrentPositionClass(change.connectionPair);
400
- if (change.scrollableViewProperties.isOverlayClipped && this._tooltipInstance) {
401
+ if (!this.ignoreClipped() &&
402
+ change.scrollableViewProperties.isOverlayClipped &&
403
+ this._tooltipInstance) {
401
404
  this._ngZone.run(() => this.hide(0));
402
405
  }
403
406
  });
@@ -568,7 +571,7 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
568
571
  this._focusMonitor.stopMonitoring(nativeElement);
569
572
  }
570
573
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsTooltipDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
571
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: IdsTooltipDirective, isStandalone: true, selector: "[idsTooltip]", inputs: { message: { classPropertyName: "message", publicName: "idsTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "idsTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "idsTooltipSize", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "idsTooltipVariant", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "idsTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "idsTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "idsTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, touchGestures: { classPropertyName: "touchGestures", publicName: "idsTooltipTouchGestures", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "idsTooltipTextAlign", isSignal: true, isRequired: false, transformFunction: null }, tooltipClass: { classPropertyName: "tooltipClass", publicName: "idsTooltipClass", isSignal: true, isRequired: false, transformFunction: null }, showPointer: { classPropertyName: "showPointer", publicName: "idsTooltipShowPointer", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
574
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: IdsTooltipDirective, isStandalone: true, selector: "[idsTooltip]", inputs: { message: { classPropertyName: "message", publicName: "idsTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "idsTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "idsTooltipSize", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "idsTooltipVariant", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "idsTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "idsTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "idsTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, touchGestures: { classPropertyName: "touchGestures", publicName: "idsTooltipTouchGestures", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "idsTooltipTextAlign", isSignal: true, isRequired: false, transformFunction: null }, tooltipClass: { classPropertyName: "tooltipClass", publicName: "idsTooltipClass", isSignal: true, isRequired: false, transformFunction: null }, showPointer: { classPropertyName: "showPointer", publicName: "idsTooltipShowPointer", isSignal: true, isRequired: false, transformFunction: null }, ignoreClipped: { classPropertyName: "ignoreClipped", publicName: "idsTooltipIgnoreClipped", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
572
575
  }
573
576
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsTooltipDirective, decorators: [{
574
577
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-tooltip.mjs","sources":["../../../projects/widgets/tooltip/types/tooltip-position.type.ts","../../../projects/widgets/tooltip/types/tooltip-variant.type.ts","../../../projects/widgets/tooltip/tooltip-defaults.ts","../../../projects/widgets/tooltip/tooltip-position-strategies.ts","../../../projects/widgets/tooltip/tooltip.component.ts","../../../projects/widgets/tooltip/tooltip.component.html","../../../projects/widgets/tooltip/utils/tooltip-converters.ts","../../../projects/widgets/tooltip/tooltip.directive.ts","../../../projects/widgets/tooltip/i-cell-ids-angular-tooltip.ts"],"sourcesContent":["export const IdsTooltipPosition = {\n NORTH: 'north',\n NORTHEAST: 'northeast',\n EAST: 'east',\n SOUTHEAST: 'southeast',\n SOUTH: 'south',\n SOUTHWEST: 'southwest',\n WEST: 'west',\n NORTHWEST: 'northwest',\n} as const;\n\nexport type IdsTooltipPositionType = (typeof IdsTooltipPosition)[keyof typeof IdsTooltipPosition];\n","export const IdsTooltipVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsTooltipVariantType = (typeof IdsTooltipVariant)[keyof typeof IdsTooltipVariant];\n","import { IdsTooltipPosition, IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariant, IdsTooltipVariantType } from './types/tooltip-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\n\nconst DEFAULT_SHOW_DELAY = 1_000;\nconst DEFAULT_HIDE_DELAY = 1_000;\nconst DEFAULT_VIEWPORT_MARGIN = 8;\nconst DEFAULT_LONGPRESS_DELAY = 500;\nconst DEFAULT_TOUCHEND_HIDE_DELAY = 1500;\nconst DEFAULT_SCROLL_DEBOUNCE_TIME = 20;\n\nexport interface IdsTooltipDefaultConfig {\n position?: IdsTooltipPositionType\n size?: IdsSizeType\n variant?: IdsTooltipVariantType\n showPointer?: boolean\n showDelay?: number\n hideDelay?: number\n touchLongPressShowDelay?: number\n viewPortMargin?: number\n touchendHideDelay?: number\n scrollDebounceTime?: number\n}\n\nexport const IDS_TOOLTIP_DEFAULT_CONFIG = new InjectionToken<IdsTooltipDefaultConfig>(\n 'IDS_TOOLTIP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY(): Required<IdsTooltipDefaultConfig> {\n return {\n position: IdsTooltipPosition.NORTH,\n size: IdsSize.COMPACT,\n variant: IdsTooltipVariant.DARK,\n showPointer: true,\n showDelay: DEFAULT_SHOW_DELAY,\n hideDelay: DEFAULT_HIDE_DELAY,\n touchLongPressShowDelay: DEFAULT_LONGPRESS_DELAY,\n viewPortMargin: DEFAULT_VIEWPORT_MARGIN,\n touchendHideDelay: DEFAULT_TOUCHEND_HIDE_DELAY,\n scrollDebounceTime: DEFAULT_SCROLL_DEBOUNCE_TIME,\n };\n}\n","import { IdsTooltipPosition, IdsTooltipPositionType } from './types/tooltip-position.type';\n\nimport { ConnectedPosition, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';\n\nexport function setTooltipFlexibleConnectedPositionStrategy(\n connectedTo: FlexibleConnectedPositionStrategy,\n tooltipPosition: IdsTooltipPositionType,\n): FlexibleConnectedPositionStrategy {\n switch (tooltipPosition) {\n case IdsTooltipPosition.NORTH:\n return connectedTo.withPositions([\n connectedPosition.north,\n connectedPosition.northwest,\n connectedPosition.northeast,\n connectedPosition.south,\n connectedPosition.southwest,\n connectedPosition.southeast,\n ]);\n case IdsTooltipPosition.NORTHEAST:\n return connectedTo.withPositions([\n connectedPosition.northeast,\n connectedPosition.southeast,\n connectedPosition.northwest,\n connectedPosition.southwest,\n ]);\n case IdsTooltipPosition.EAST:\n return connectedTo.withPositions([\n connectedPosition.east,\n connectedPosition.northeast,\n connectedPosition.southeast,\n connectedPosition.west,\n connectedPosition.northwest,\n connectedPosition.southwest,\n ]);\n case IdsTooltipPosition.SOUTHEAST:\n return connectedTo.withPositions([\n connectedPosition.southeast,\n connectedPosition.southwest,\n connectedPosition.northeast,\n connectedPosition.northwest,\n ]);\n case IdsTooltipPosition.SOUTH:\n return connectedTo.withPositions([\n connectedPosition.south,\n connectedPosition.southwest,\n connectedPosition.southeast,\n connectedPosition.north,\n connectedPosition.northwest,\n connectedPosition.northeast,\n ]);\n case IdsTooltipPosition.SOUTHWEST:\n return connectedTo.withPositions([\n connectedPosition.southwest,\n connectedPosition.northwest,\n connectedPosition.southeast,\n connectedPosition.northeast,\n ]);\n case IdsTooltipPosition.WEST:\n return connectedTo.withPositions([\n connectedPosition.west,\n connectedPosition.northwest,\n connectedPosition.southwest,\n connectedPosition.east,\n connectedPosition.northeast,\n connectedPosition.southeast,\n ]);\n case IdsTooltipPosition.NORTHWEST:\n return connectedTo.withPositions([\n connectedPosition.northwest,\n connectedPosition.southwest,\n connectedPosition.northeast,\n connectedPosition.southeast,\n ]);\n }\n}\n\nconst connectedPosition: Record<IdsTooltipPositionType, ConnectedPosition> = {\n north: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n northeast: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n east: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n southeast: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n south: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n southwest: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n west: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n northwest: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n};\n","import { IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariantType } from './types/tooltip-variant.type';\nimport { IdsTooltipTextAlign } from './types/tooltip.type';\n\nimport { ChangeDetectionStrategy, Component, computed, input, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { IdsSizeType, ComponentBase } from '@i-cell/ids-angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Component({\n selector: 'ids-tooltip',\n imports: [],\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(mouseenter)': '_handleMouseEnter()',\n '(mouseleave)': '_handleMouseLeave($event)',\n 'aria-hidden': 'true',\n '[class]': 'tooltipClass()',\n },\n})\nexport class IdsTooltipComponent extends ComponentBase implements OnDestroy {\n protected override get _hostName(): string {\n return 'tooltip';\n }\n\n private readonly _onHide = new Subject<void>();\n\n public message = input<string>();\n public position = input<IdsTooltipPositionType>();\n public size = input<IdsSizeType>();\n public variant = input<IdsTooltipVariantType>();\n public textAlign = input<IdsTooltipTextAlign>();\n public mouseLeaveHideDelay = input<number>(0);\n public tooltipClass = input<string>();\n public showPointer = input<boolean>();\n\n public triggerElement?: HTMLElement;\n private _hideTimeout?: ReturnType<typeof setTimeout>;\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n [\n 'position',\n this.position(),\n ],\n [\n 'text-align',\n this.textAlign(),\n ],\n this.showPointer() ? 'pointered' : null,\n ]));\n\n public get isHideTimerTicking(): boolean {\n return Boolean(this._hideTimeout);\n }\n\n public hide(delay: number): void {\n this._hideTimeout = setTimeout(() => {\n this._hideTimeout = undefined;\n this._onHide.next();\n }, delay);\n }\n\n public afterHidden(): Observable<void> {\n return this._onHide;\n }\n\n public abortHide(): void {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = undefined;\n }\n\n private _handleMouseEnter(): void {\n if (this._hideTimeout) {\n this.abortHide();\n }\n }\n\n private _handleMouseLeave({ relatedTarget }: MouseEvent): void {\n if (!relatedTarget || !this.triggerElement?.contains(relatedTarget as Node)) {\n this.hide(this.mouseLeaveHideDelay());\n }\n }\n\n public ngOnDestroy(): void {\n this._onHide.complete();\n }\n}\n","<div class=\"ids-tooltip__content\">\n <span>{{ message() }}</span>\n</div>\n","import { IdsTooltipPosition, IdsTooltipPositionType } from '../types/tooltip-position.type';\n\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport function connectedPositionPairToTooltipPosition(positionPair: ConnectionPositionPair): IdsTooltipPositionType {\n const { originX, originY, overlayX, overlayY } = positionPair;\n\n if (\n originX=== 'center' &&\n originY === 'top' &&\n overlayX === 'center' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTH;\n }\n if (\n originX === 'end' &&\n originY === 'top' &&\n overlayX === 'start' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTHEAST;\n }\n if (\n originX === 'end' &&\n originY === 'center' &&\n overlayX === 'start' &&\n overlayY === 'center'\n ) {\n return IdsTooltipPosition.EAST;\n }\n if (\n originX === 'end' &&\n originY === 'bottom' &&\n overlayX === 'start' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTHEAST;\n }\n if (\n originX === 'center' &&\n originY === 'bottom' &&\n overlayX === 'center' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTH;\n }\n if (\n originX === 'start' &&\n originY === 'bottom' &&\n overlayX === 'end' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTHWEST;\n }\n if (\n originX === 'start' &&\n originY === 'center' &&\n overlayX === 'end' &&\n overlayY === 'center'\n ) {\n return IdsTooltipPosition.WEST;\n }\n if (\n originX === 'start' &&\n originY === 'top' &&\n overlayX === 'end' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTHWEST;\n }\n\n return IdsTooltipPosition.EAST;\n}\n","import { IDS_TOOLTIP_DEFAULT_CONFIG, IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY, IdsTooltipDefaultConfig } from './tooltip-defaults';\nimport { setTooltipFlexibleConnectedPositionStrategy } from './tooltip-position-strategies';\nimport { IdsTooltipComponent } from './tooltip.component';\nimport { IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariantType } from './types/tooltip-variant.type';\nimport { IdsTooltipTextAlign, IdsTooltipTouchGestures } from './types/tooltip.type';\nimport { connectedPositionPairToTooltipPosition } from './utils/tooltip-converters';\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { AfterViewInit, ComponentRef, computed, Directive, effect, ElementRef, inject, input, NgZone, OnDestroy, signal, ViewContainerRef, DOCUMENT } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { coerceStringAttribute, DirectiveBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY();\nconst passiveListenerOptions = normalizePassiveListenerOptions({ passive: true });\n\n@Directive({\n selector: '[idsTooltip]',\n standalone: true,\n})\nexport class IdsTooltipDirective extends DirectiveBaseWithDefaults<IdsTooltipDefaultConfig> implements AfterViewInit, OnDestroy {\n protected override get _hostName(): string {\n return 'tooltip-trigger';\n }\n\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _platform = inject(Platform);\n private readonly _ngZone = inject(NgZone);\n private readonly _elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _scrollDispatcher = inject(ScrollDispatcher);\n private readonly _overlay = inject(Overlay);\n private readonly _document = inject(DOCUMENT);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_TOOLTIP_DEFAULT_CONFIG);\n\n private readonly _passiveListeners: (readonly [string, EventListenerOrEventListenerObject])[] = [];\n\n private _overlayRef: OverlayRef | null = null;\n private _portal?: ComponentPortal<IdsTooltipComponent>;\n private _componentRef?: ComponentRef<IdsTooltipComponent> | null;\n private _tooltipInstance: IdsTooltipComponent | null = null;\n private _touchstartTimeout?: ReturnType<typeof setTimeout>;\n private _showTimeout?: ReturnType<typeof setTimeout>;\n private _pointerExitEventsInitialized = false;\n private _viewportMargin = this._defaultConfig.viewPortMargin;\n private _currentPosition = signal<IdsTooltipPositionType | null>(null);\n\n public message = input<string, string>('', { alias: 'idsTooltip', transform: coerceStringAttribute });\n public position = input<IdsTooltipPositionType>(this._defaultConfig.position, { alias: 'idsTooltipPosition' });\n public size = input<IdsSizeType>(this._defaultConfig.size, { alias: 'idsTooltipSize' });\n public variant = input<IdsTooltipVariantType>(this._defaultConfig.variant, { alias: 'idsTooltipVariant' });\n public showDelay = input<number>(this._defaultConfig.showDelay, { alias: 'idsTooltipShowDelay' });\n public hideDelay = input<number>(this._defaultConfig.hideDelay, { alias: 'idsTooltipHideDelay' });\n public disabled = input<boolean>(false, { alias: 'idsTooltipDisabled' });\n public touchGestures = input<IdsTooltipTouchGestures>('auto', { alias: 'idsTooltipTouchGestures' });\n public textAlign = input<IdsTooltipTextAlign>('auto', { alias: 'idsTooltipTextAlign' });\n public tooltipClass = input<string | undefined>(undefined, { alias: 'idsTooltipClass' });\n public showPointer = input<boolean>(this._defaultConfig.showPointer, { alias: 'idsTooltipShowPointer' });\n\n protected _hostClasses = computed(() => this._getHostClasses([]));\n\n private _tooltipClassEffect = effect(() => {\n this._setTooltipInputs(\n this.message(),\n this._currentPosition() ?? this.position(),\n this.size(),\n this.variant(),\n this.textAlign(),\n this.hideDelay(),\n this.tooltipClass(),\n this.showPointer(),\n );\n });\n\n public ngAfterViewInit(): void {\n this._setupPointerEnterEventsIfNeeded();\n\n this._focusMonitor\n .monitor(this._elementRef)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((origin) => {\n if (!origin) {\n this._ngZone.run(() => this.hide(0));\n } else if (origin === 'keyboard') {\n this._ngZone.run(() => this.show());\n }\n });\n }\n\n public show(): void {\n if (this.disabled() || !this.message() || this._tooltipInstance) {\n this._tooltipInstance?.abortHide();\n return;\n }\n\n const overlayRef = this._createOverlay();\n this._portal =\n this._portal || new ComponentPortal(IdsTooltipComponent, this._viewContainerRef);\n this._componentRef = overlayRef.attach(this._portal);\n this._tooltipInstance = this._componentRef.instance;\n const instance = this._tooltipInstance;\n instance.triggerElement = this._elementRef.nativeElement;\n this._setTooltipInputs(\n this.message(),\n this._currentPosition() ?? this.position(),\n this.size(),\n this.variant(),\n this.textAlign(),\n this.hideDelay(),\n this.tooltipClass(),\n this.showPointer(),\n );\n instance\n .afterHidden()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._detach();\n });\n }\n\n public hide(delay: number = this.hideDelay()): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = undefined;\n return;\n }\n\n const instance = this._tooltipInstance;\n if (instance?.isHideTimerTicking) {\n return;\n }\n\n if (instance) {\n instance.hide(delay);\n }\n }\n\n public toggle(): void {\n this._tooltipInstance ? this.hide() : this.show();\n }\n\n private _createOverlay(): OverlayRef {\n if (this._overlayRef) {\n this._detach();\n }\n\n const scrollableAncestors = this._scrollDispatcher.getAncestorScrollContainers(\n this._elementRef,\n );\n\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withFlexibleDimensions(false)\n .withViewportMargin(this._viewportMargin)\n .withScrollableContainers(scrollableAncestors);\n\n strategy.positionChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((change) => {\n this._updateCurrentPositionClass(change.connectionPair);\n\n if (change.scrollableViewProperties.isOverlayClipped && this._tooltipInstance) {\n this._ngZone.run(() => this.hide(0));\n }\n });\n\n this._overlayRef = this._overlay.create({\n positionStrategy: strategy,\n panelClass: 'ids-tooltip-panel',\n scrollStrategy: this._overlay.scrollStrategies.reposition({ scrollThrottle: this._defaultConfig.scrollDebounceTime }),\n });\n\n this._updatePosition(this._overlayRef);\n\n this._overlayRef\n .detachments()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._detach());\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._tooltipInstance?.hide(0));\n\n this._overlayRef\n .keydownEvents()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((event) => {\n if (this._tooltipInstance && event.key === 'Escape' && !hasModifierKey(event)) {\n event.preventDefault();\n event.stopPropagation();\n this._ngZone.run(() => this.hide(0));\n }\n });\n\n return this._overlayRef;\n }\n\n private _detach(): void {\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n }\n this._componentRef?.destroy();\n this._tooltipInstance = null;\n }\n\n private _updatePosition(overlayRef: OverlayRef): void {\n const position = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n setTooltipFlexibleConnectedPositionStrategy(position, this.position());\n }\n\n private _updateCurrentPositionClass(connectionPair: ConnectionPositionPair): void {\n const newPosition: IdsTooltipPositionType = connectedPositionPairToTooltipPosition(connectionPair);\n\n if (newPosition !== this._currentPosition()) {\n const overlayRef = this._overlayRef;\n\n if (overlayRef) {\n const positionClassPrefix = 'is-tooltip-panel-position-';\n overlayRef.removePanelClass(positionClassPrefix + this._currentPosition());\n overlayRef.addPanelClass(positionClassPrefix + newPosition);\n }\n\n this._currentPosition.set(newPosition);\n }\n }\n\n private _setTooltipInputs(\n message: string,\n position: IdsTooltipPositionType,\n size: IdsSizeType,\n variant: IdsTooltipVariantType,\n textAlign: IdsTooltipTextAlign,\n hideDelay: number,\n tooltipClass: string | undefined,\n showPointer: boolean,\n ): void {\n if (this._tooltipInstance) {\n this._componentRef?.setInput('message', message);\n this._componentRef?.setInput('position', position);\n this._componentRef?.setInput('size', size);\n this._componentRef?.setInput('variant', variant);\n this._componentRef?.setInput('textAlign', textAlign);\n this._componentRef?.setInput('mouseLeaveHideDelay', hideDelay);\n this._componentRef?.setInput('tooltipClass', tooltipClass);\n this._componentRef?.setInput('showPointer', showPointer);\n }\n }\n\n private _setupPointerEnterEventsIfNeeded(): void {\n if (!this.message() || this._passiveListeners.length) {\n return;\n }\n\n if (this._platformSupportsMouseEvents()) {\n this._passiveListeners.push([\n 'mouseenter',\n (): void => {\n this._setupPointerExitEventsIfNeeded();\n this._showTimeout = setTimeout(() => {\n this._showTimeout = undefined;\n this.show();\n }, this.showDelay());\n },\n ]);\n } else if (this.touchGestures() !== 'off') {\n this._disableNativeGesturesIfNecessary();\n\n this._passiveListeners.push([\n 'touchstart',\n (): void => {\n this._setupPointerExitEventsIfNeeded();\n clearTimeout(this._touchstartTimeout);\n\n this._touchstartTimeout = setTimeout(\n () => this.show(),\n this._defaultConfig.touchLongPressShowDelay,\n );\n },\n ]);\n }\n\n this._addListeners(this._passiveListeners);\n }\n\n private _wheelListener(event: WheelEvent): void {\n if (this._tooltipInstance) {\n const elementUnderPointer = this._document.elementFromPoint(event.clientX, event.clientY);\n const element = this._elementRef.nativeElement;\n\n if (elementUnderPointer !== element && !element.contains(elementUnderPointer)) {\n this.hide();\n }\n }\n }\n\n private _setupPointerExitEventsIfNeeded(): void {\n if (this._pointerExitEventsInitialized) {\n return;\n }\n this._pointerExitEventsInitialized = true;\n\n const exitListeners: (readonly [string, EventListenerOrEventListenerObject])[] = [];\n if (this._platformSupportsMouseEvents()) {\n exitListeners.push(\n [\n 'mouseleave',\n (): void => {\n this.hide();\n },\n ],\n [\n 'wheel',\n (event): void => {\n this._wheelListener(event as WheelEvent);\n },\n ],\n );\n } else if (this.touchGestures() !== 'off') {\n this._disableNativeGesturesIfNecessary();\n const touchendListener = (): void => {\n clearTimeout(this._touchstartTimeout);\n this.hide(this._defaultConfig.touchendHideDelay);\n };\n\n exitListeners.push([\n 'touchend',\n touchendListener,\n ], [\n 'touchcancel',\n touchendListener,\n ]);\n }\n\n this._addListeners(exitListeners);\n this._passiveListeners.push(...exitListeners);\n }\n\n private _addListeners(listeners: (readonly [string, EventListenerOrEventListenerObject])[]): void {\n listeners.forEach(([\n event,\n listener,\n ]) => {\n this._elementRef.nativeElement.addEventListener(event, listener, passiveListenerOptions);\n });\n }\n\n private _disableNativeGesturesIfNecessary(): void {\n const gestures = this.touchGestures();\n\n if (gestures !== 'off') {\n const element = this._elementRef.nativeElement;\n const style = element.style;\n\n if (gestures === 'on' || (element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA')) {\n style.userSelect = 'none';\n }\n\n style.touchAction = 'none';\n }\n }\n\n private _platformSupportsMouseEvents(): boolean {\n return !this._platform.IOS && !this._platform.ANDROID;\n }\n\n public ngOnDestroy(): void {\n const nativeElement = this._elementRef.nativeElement;\n\n clearTimeout(this._touchstartTimeout);\n\n if (this._componentRef) {\n this._tooltipInstance = null;\n }\n\n this._passiveListeners.forEach(([\n event,\n listener,\n ]) => {\n nativeElement.removeEventListener(event, listener, passiveListenerOptions);\n });\n this._passiveListeners.length = 0;\n\n this._focusMonitor.stopMonitoring(nativeElement);\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-tooltip.mjs","sources":["../../../projects/widgets/tooltip/types/tooltip-position.type.ts","../../../projects/widgets/tooltip/types/tooltip-variant.type.ts","../../../projects/widgets/tooltip/tooltip-defaults.ts","../../../projects/widgets/tooltip/tooltip-position-strategies.ts","../../../projects/widgets/tooltip/tooltip.component.ts","../../../projects/widgets/tooltip/tooltip.component.html","../../../projects/widgets/tooltip/utils/tooltip-converters.ts","../../../projects/widgets/tooltip/tooltip.directive.ts","../../../projects/widgets/tooltip/i-cell-ids-angular-tooltip.ts"],"sourcesContent":["export const IdsTooltipPosition = {\n NORTH: 'north',\n NORTHEAST: 'northeast',\n EAST: 'east',\n SOUTHEAST: 'southeast',\n SOUTH: 'south',\n SOUTHWEST: 'southwest',\n WEST: 'west',\n NORTHWEST: 'northwest',\n} as const;\n\nexport type IdsTooltipPositionType = (typeof IdsTooltipPosition)[keyof typeof IdsTooltipPosition];\n","export const IdsTooltipVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsTooltipVariantType = (typeof IdsTooltipVariant)[keyof typeof IdsTooltipVariant];\n","import { IdsTooltipPosition, IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariant, IdsTooltipVariantType } from './types/tooltip-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\n\nconst DEFAULT_SHOW_DELAY = 1_000;\nconst DEFAULT_HIDE_DELAY = 1_000;\nconst DEFAULT_VIEWPORT_MARGIN = 8;\nconst DEFAULT_LONGPRESS_DELAY = 500;\nconst DEFAULT_TOUCHEND_HIDE_DELAY = 1500;\nconst DEFAULT_SCROLL_DEBOUNCE_TIME = 20;\n\nexport interface IdsTooltipDefaultConfig {\n position?: IdsTooltipPositionType\n size?: IdsSizeType\n variant?: IdsTooltipVariantType\n showPointer?: boolean\n showDelay?: number\n hideDelay?: number\n touchLongPressShowDelay?: number\n viewPortMargin?: number\n touchendHideDelay?: number\n scrollDebounceTime?: number\n}\n\nexport const IDS_TOOLTIP_DEFAULT_CONFIG = new InjectionToken<IdsTooltipDefaultConfig>(\n 'IDS_TOOLTIP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY(): Required<IdsTooltipDefaultConfig> {\n return {\n position: IdsTooltipPosition.NORTH,\n size: IdsSize.COMPACT,\n variant: IdsTooltipVariant.DARK,\n showPointer: true,\n showDelay: DEFAULT_SHOW_DELAY,\n hideDelay: DEFAULT_HIDE_DELAY,\n touchLongPressShowDelay: DEFAULT_LONGPRESS_DELAY,\n viewPortMargin: DEFAULT_VIEWPORT_MARGIN,\n touchendHideDelay: DEFAULT_TOUCHEND_HIDE_DELAY,\n scrollDebounceTime: DEFAULT_SCROLL_DEBOUNCE_TIME,\n };\n}\n","import { IdsTooltipPosition, IdsTooltipPositionType } from './types/tooltip-position.type';\n\nimport { ConnectedPosition, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';\n\nexport function setTooltipFlexibleConnectedPositionStrategy(\n connectedTo: FlexibleConnectedPositionStrategy,\n tooltipPosition: IdsTooltipPositionType,\n): FlexibleConnectedPositionStrategy {\n switch (tooltipPosition) {\n case IdsTooltipPosition.NORTH:\n return connectedTo.withPositions([\n connectedPosition.north,\n connectedPosition.northwest,\n connectedPosition.northeast,\n connectedPosition.south,\n connectedPosition.southwest,\n connectedPosition.southeast,\n ]);\n case IdsTooltipPosition.NORTHEAST:\n return connectedTo.withPositions([\n connectedPosition.northeast,\n connectedPosition.southeast,\n connectedPosition.northwest,\n connectedPosition.southwest,\n ]);\n case IdsTooltipPosition.EAST:\n return connectedTo.withPositions([\n connectedPosition.east,\n connectedPosition.northeast,\n connectedPosition.southeast,\n connectedPosition.west,\n connectedPosition.northwest,\n connectedPosition.southwest,\n ]);\n case IdsTooltipPosition.SOUTHEAST:\n return connectedTo.withPositions([\n connectedPosition.southeast,\n connectedPosition.southwest,\n connectedPosition.northeast,\n connectedPosition.northwest,\n ]);\n case IdsTooltipPosition.SOUTH:\n return connectedTo.withPositions([\n connectedPosition.south,\n connectedPosition.southwest,\n connectedPosition.southeast,\n connectedPosition.north,\n connectedPosition.northwest,\n connectedPosition.northeast,\n ]);\n case IdsTooltipPosition.SOUTHWEST:\n return connectedTo.withPositions([\n connectedPosition.southwest,\n connectedPosition.northwest,\n connectedPosition.southeast,\n connectedPosition.northeast,\n ]);\n case IdsTooltipPosition.WEST:\n return connectedTo.withPositions([\n connectedPosition.west,\n connectedPosition.northwest,\n connectedPosition.southwest,\n connectedPosition.east,\n connectedPosition.northeast,\n connectedPosition.southeast,\n ]);\n case IdsTooltipPosition.NORTHWEST:\n return connectedTo.withPositions([\n connectedPosition.northwest,\n connectedPosition.southwest,\n connectedPosition.northeast,\n connectedPosition.southeast,\n ]);\n }\n}\n\nconst connectedPosition: Record<IdsTooltipPositionType, ConnectedPosition> = {\n north: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n northeast: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n east: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n southeast: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n south: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n southwest: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n west: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n northwest: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n};\n","import { IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariantType } from './types/tooltip-variant.type';\nimport { IdsTooltipTextAlign } from './types/tooltip.type';\n\nimport { ChangeDetectionStrategy, Component, computed, input, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { IdsSizeType, ComponentBase } from '@i-cell/ids-angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Component({\n selector: 'ids-tooltip',\n imports: [],\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(mouseenter)': '_handleMouseEnter()',\n '(mouseleave)': '_handleMouseLeave($event)',\n 'aria-hidden': 'true',\n '[class]': 'tooltipClass()',\n },\n})\nexport class IdsTooltipComponent extends ComponentBase implements OnDestroy {\n protected override get _hostName(): string {\n return 'tooltip';\n }\n\n private readonly _onHide = new Subject<void>();\n\n public message = input<string>();\n public position = input<IdsTooltipPositionType>();\n public size = input<IdsSizeType>();\n public variant = input<IdsTooltipVariantType>();\n public textAlign = input<IdsTooltipTextAlign>();\n public mouseLeaveHideDelay = input<number>(0);\n public tooltipClass = input<string>();\n public showPointer = input<boolean>();\n\n public triggerElement?: HTMLElement;\n private _hideTimeout?: ReturnType<typeof setTimeout>;\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n [\n 'position',\n this.position(),\n ],\n [\n 'text-align',\n this.textAlign(),\n ],\n this.showPointer() ? 'pointered' : null,\n ]));\n\n public get isHideTimerTicking(): boolean {\n return Boolean(this._hideTimeout);\n }\n\n public hide(delay: number): void {\n this._hideTimeout = setTimeout(() => {\n this._hideTimeout = undefined;\n this._onHide.next();\n }, delay);\n }\n\n public afterHidden(): Observable<void> {\n return this._onHide;\n }\n\n public abortHide(): void {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = undefined;\n }\n\n private _handleMouseEnter(): void {\n if (this._hideTimeout) {\n this.abortHide();\n }\n }\n\n private _handleMouseLeave({ relatedTarget }: MouseEvent): void {\n if (!relatedTarget || !this.triggerElement?.contains(relatedTarget as Node)) {\n this.hide(this.mouseLeaveHideDelay());\n }\n }\n\n public ngOnDestroy(): void {\n this._onHide.complete();\n }\n}\n","<div class=\"ids-tooltip__content\">\n <span>{{ message() }}</span>\n</div>\n","import { IdsTooltipPosition, IdsTooltipPositionType } from '../types/tooltip-position.type';\n\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport function connectedPositionPairToTooltipPosition(positionPair: ConnectionPositionPair): IdsTooltipPositionType {\n const { originX, originY, overlayX, overlayY } = positionPair;\n\n if (\n originX=== 'center' &&\n originY === 'top' &&\n overlayX === 'center' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTH;\n }\n if (\n originX === 'end' &&\n originY === 'top' &&\n overlayX === 'start' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTHEAST;\n }\n if (\n originX === 'end' &&\n originY === 'center' &&\n overlayX === 'start' &&\n overlayY === 'center'\n ) {\n return IdsTooltipPosition.EAST;\n }\n if (\n originX === 'end' &&\n originY === 'bottom' &&\n overlayX === 'start' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTHEAST;\n }\n if (\n originX === 'center' &&\n originY === 'bottom' &&\n overlayX === 'center' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTH;\n }\n if (\n originX === 'start' &&\n originY === 'bottom' &&\n overlayX === 'end' &&\n overlayY === 'top'\n ) {\n return IdsTooltipPosition.SOUTHWEST;\n }\n if (\n originX === 'start' &&\n originY === 'center' &&\n overlayX === 'end' &&\n overlayY === 'center'\n ) {\n return IdsTooltipPosition.WEST;\n }\n if (\n originX === 'start' &&\n originY === 'top' &&\n overlayX === 'end' &&\n overlayY === 'bottom'\n ) {\n return IdsTooltipPosition.NORTHWEST;\n }\n\n return IdsTooltipPosition.EAST;\n}\n","import { IDS_TOOLTIP_DEFAULT_CONFIG, IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY, IdsTooltipDefaultConfig } from './tooltip-defaults';\nimport { setTooltipFlexibleConnectedPositionStrategy } from './tooltip-position-strategies';\nimport { IdsTooltipComponent } from './tooltip.component';\nimport { IdsTooltipPositionType } from './types/tooltip-position.type';\nimport { IdsTooltipVariantType } from './types/tooltip-variant.type';\nimport { IdsTooltipTextAlign, IdsTooltipTouchGestures } from './types/tooltip.type';\nimport { connectedPositionPairToTooltipPosition } from './utils/tooltip-converters';\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { AfterViewInit, ComponentRef, computed, Directive, effect, ElementRef, inject, input, NgZone, OnDestroy, signal, ViewContainerRef, DOCUMENT } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { coerceStringAttribute, DirectiveBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY();\nconst passiveListenerOptions = normalizePassiveListenerOptions({ passive: true });\n\n@Directive({\n selector: '[idsTooltip]',\n standalone: true,\n})\nexport class IdsTooltipDirective extends DirectiveBaseWithDefaults<IdsTooltipDefaultConfig> implements AfterViewInit, OnDestroy {\n protected override get _hostName(): string {\n return 'tooltip-trigger';\n }\n\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _platform = inject(Platform);\n private readonly _ngZone = inject(NgZone);\n private readonly _elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _scrollDispatcher = inject(ScrollDispatcher);\n private readonly _overlay = inject(Overlay);\n private readonly _document = inject(DOCUMENT);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_TOOLTIP_DEFAULT_CONFIG);\n\n private readonly _passiveListeners: (readonly [string, EventListenerOrEventListenerObject])[] = [];\n\n private _overlayRef: OverlayRef | null = null;\n private _portal?: ComponentPortal<IdsTooltipComponent>;\n private _componentRef?: ComponentRef<IdsTooltipComponent> | null;\n private _tooltipInstance: IdsTooltipComponent | null = null;\n private _touchstartTimeout?: ReturnType<typeof setTimeout>;\n private _showTimeout?: ReturnType<typeof setTimeout>;\n private _pointerExitEventsInitialized = false;\n private _viewportMargin = this._defaultConfig.viewPortMargin;\n private _currentPosition = signal<IdsTooltipPositionType | null>(null);\n\n public message = input<string, string>('', { alias: 'idsTooltip', transform: coerceStringAttribute });\n public position = input<IdsTooltipPositionType>(this._defaultConfig.position, { alias: 'idsTooltipPosition' });\n public size = input<IdsSizeType>(this._defaultConfig.size, { alias: 'idsTooltipSize' });\n public variant = input<IdsTooltipVariantType>(this._defaultConfig.variant, { alias: 'idsTooltipVariant' });\n public showDelay = input<number>(this._defaultConfig.showDelay, { alias: 'idsTooltipShowDelay' });\n public hideDelay = input<number>(this._defaultConfig.hideDelay, { alias: 'idsTooltipHideDelay' });\n public disabled = input<boolean>(false, { alias: 'idsTooltipDisabled' });\n public touchGestures = input<IdsTooltipTouchGestures>('auto', { alias: 'idsTooltipTouchGestures' });\n public textAlign = input<IdsTooltipTextAlign>('auto', { alias: 'idsTooltipTextAlign' });\n public tooltipClass = input<string | undefined>(undefined, { alias: 'idsTooltipClass' });\n public showPointer = input<boolean>(this._defaultConfig.showPointer, { alias: 'idsTooltipShowPointer' });\n public ignoreClipped = input<boolean>(false, { alias: 'idsTooltipIgnoreClipped' });\n\n protected _hostClasses = computed(() => this._getHostClasses([]));\n\n private _tooltipClassEffect = effect(() => {\n this._setTooltipInputs(\n this.message(),\n this._currentPosition() ?? this.position(),\n this.size(),\n this.variant(),\n this.textAlign(),\n this.hideDelay(),\n this.tooltipClass(),\n this.showPointer(),\n );\n });\n\n public ngAfterViewInit(): void {\n this._setupPointerEnterEventsIfNeeded();\n\n this._focusMonitor\n .monitor(this._elementRef)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((origin) => {\n if (!origin) {\n this._ngZone.run(() => this.hide(0));\n } else if (origin === 'keyboard') {\n this._ngZone.run(() => this.show());\n }\n });\n }\n\n public show(): void {\n if (this.disabled() || !this.message() || this._tooltipInstance) {\n this._tooltipInstance?.abortHide();\n return;\n }\n\n const overlayRef = this._createOverlay();\n this._portal =\n this._portal || new ComponentPortal(IdsTooltipComponent, this._viewContainerRef);\n this._componentRef = overlayRef.attach(this._portal);\n this._tooltipInstance = this._componentRef.instance;\n const instance = this._tooltipInstance;\n instance.triggerElement = this._elementRef.nativeElement;\n this._setTooltipInputs(\n this.message(),\n this._currentPosition() ?? this.position(),\n this.size(),\n this.variant(),\n this.textAlign(),\n this.hideDelay(),\n this.tooltipClass(),\n this.showPointer(),\n );\n instance\n .afterHidden()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._detach();\n });\n }\n\n public hide(delay: number = this.hideDelay()): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = undefined;\n return;\n }\n\n const instance = this._tooltipInstance;\n if (instance?.isHideTimerTicking) {\n return;\n }\n\n if (instance) {\n instance.hide(delay);\n }\n }\n\n public toggle(): void {\n this._tooltipInstance ? this.hide() : this.show();\n }\n\n private _createOverlay(): OverlayRef {\n if (this._overlayRef) {\n this._detach();\n }\n\n const scrollableAncestors = this._scrollDispatcher.getAncestorScrollContainers(\n this._elementRef,\n );\n\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withFlexibleDimensions(false)\n .withViewportMargin(this._viewportMargin)\n .withScrollableContainers(scrollableAncestors);\n\n strategy.positionChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((change) => {\n this._updateCurrentPositionClass(change.connectionPair);\n\n if (!this.ignoreClipped() &&\n change.scrollableViewProperties.isOverlayClipped &&\n this._tooltipInstance\n ) {\n this._ngZone.run(() => this.hide(0));\n }\n });\n\n this._overlayRef = this._overlay.create({\n positionStrategy: strategy,\n panelClass: 'ids-tooltip-panel',\n scrollStrategy: this._overlay.scrollStrategies.reposition({ scrollThrottle: this._defaultConfig.scrollDebounceTime }),\n });\n\n this._updatePosition(this._overlayRef);\n\n this._overlayRef\n .detachments()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._detach());\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._tooltipInstance?.hide(0));\n\n this._overlayRef\n .keydownEvents()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((event) => {\n if (this._tooltipInstance && event.key === 'Escape' && !hasModifierKey(event)) {\n event.preventDefault();\n event.stopPropagation();\n this._ngZone.run(() => this.hide(0));\n }\n });\n\n return this._overlayRef;\n }\n\n private _detach(): void {\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n }\n this._componentRef?.destroy();\n this._tooltipInstance = null;\n }\n\n private _updatePosition(overlayRef: OverlayRef): void {\n const position = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n setTooltipFlexibleConnectedPositionStrategy(position, this.position());\n }\n\n private _updateCurrentPositionClass(connectionPair: ConnectionPositionPair): void {\n const newPosition: IdsTooltipPositionType = connectedPositionPairToTooltipPosition(connectionPair);\n\n if (newPosition !== this._currentPosition()) {\n const overlayRef = this._overlayRef;\n\n if (overlayRef) {\n const positionClassPrefix = 'is-tooltip-panel-position-';\n overlayRef.removePanelClass(positionClassPrefix + this._currentPosition());\n overlayRef.addPanelClass(positionClassPrefix + newPosition);\n }\n\n this._currentPosition.set(newPosition);\n }\n }\n\n private _setTooltipInputs(\n message: string,\n position: IdsTooltipPositionType,\n size: IdsSizeType,\n variant: IdsTooltipVariantType,\n textAlign: IdsTooltipTextAlign,\n hideDelay: number,\n tooltipClass: string | undefined,\n showPointer: boolean,\n ): void {\n if (this._tooltipInstance) {\n this._componentRef?.setInput('message', message);\n this._componentRef?.setInput('position', position);\n this._componentRef?.setInput('size', size);\n this._componentRef?.setInput('variant', variant);\n this._componentRef?.setInput('textAlign', textAlign);\n this._componentRef?.setInput('mouseLeaveHideDelay', hideDelay);\n this._componentRef?.setInput('tooltipClass', tooltipClass);\n this._componentRef?.setInput('showPointer', showPointer);\n }\n }\n\n private _setupPointerEnterEventsIfNeeded(): void {\n if (!this.message() || this._passiveListeners.length) {\n return;\n }\n\n if (this._platformSupportsMouseEvents()) {\n this._passiveListeners.push([\n 'mouseenter',\n (): void => {\n this._setupPointerExitEventsIfNeeded();\n this._showTimeout = setTimeout(() => {\n this._showTimeout = undefined;\n this.show();\n }, this.showDelay());\n },\n ]);\n } else if (this.touchGestures() !== 'off') {\n this._disableNativeGesturesIfNecessary();\n\n this._passiveListeners.push([\n 'touchstart',\n (): void => {\n this._setupPointerExitEventsIfNeeded();\n clearTimeout(this._touchstartTimeout);\n\n this._touchstartTimeout = setTimeout(\n () => this.show(),\n this._defaultConfig.touchLongPressShowDelay,\n );\n },\n ]);\n }\n\n this._addListeners(this._passiveListeners);\n }\n\n private _wheelListener(event: WheelEvent): void {\n if (this._tooltipInstance) {\n const elementUnderPointer = this._document.elementFromPoint(event.clientX, event.clientY);\n const element = this._elementRef.nativeElement;\n\n if (elementUnderPointer !== element && !element.contains(elementUnderPointer)) {\n this.hide();\n }\n }\n }\n\n private _setupPointerExitEventsIfNeeded(): void {\n if (this._pointerExitEventsInitialized) {\n return;\n }\n this._pointerExitEventsInitialized = true;\n\n const exitListeners: (readonly [string, EventListenerOrEventListenerObject])[] = [];\n if (this._platformSupportsMouseEvents()) {\n exitListeners.push(\n [\n 'mouseleave',\n (): void => {\n this.hide();\n },\n ],\n [\n 'wheel',\n (event): void => {\n this._wheelListener(event as WheelEvent);\n },\n ],\n );\n } else if (this.touchGestures() !== 'off') {\n this._disableNativeGesturesIfNecessary();\n const touchendListener = (): void => {\n clearTimeout(this._touchstartTimeout);\n this.hide(this._defaultConfig.touchendHideDelay);\n };\n\n exitListeners.push([\n 'touchend',\n touchendListener,\n ], [\n 'touchcancel',\n touchendListener,\n ]);\n }\n\n this._addListeners(exitListeners);\n this._passiveListeners.push(...exitListeners);\n }\n\n private _addListeners(listeners: (readonly [string, EventListenerOrEventListenerObject])[]): void {\n listeners.forEach(([\n event,\n listener,\n ]) => {\n this._elementRef.nativeElement.addEventListener(event, listener, passiveListenerOptions);\n });\n }\n\n private _disableNativeGesturesIfNecessary(): void {\n const gestures = this.touchGestures();\n\n if (gestures !== 'off') {\n const element = this._elementRef.nativeElement;\n const style = element.style;\n\n if (gestures === 'on' || (element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA')) {\n style.userSelect = 'none';\n }\n\n style.touchAction = 'none';\n }\n }\n\n private _platformSupportsMouseEvents(): boolean {\n return !this._platform.IOS && !this._platform.ANDROID;\n }\n\n public ngOnDestroy(): void {\n const nativeElement = this._elementRef.nativeElement;\n\n clearTimeout(this._touchstartTimeout);\n\n if (this._componentRef) {\n this._tooltipInstance = null;\n }\n\n this._passiveListeners.forEach(([\n event,\n listener,\n ]) => {\n nativeElement.removeEventListener(event, listener, passiveListenerOptions);\n });\n this._passiveListeners.length = 0;\n\n this._focusMonitor.stopMonitoring(nativeElement);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@i-cell/ids-angular",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "private": false,
5
5
  "description": "i-Cell Design System UI Kit components for Angular",
6
6
  "publishConfig": {
@@ -32,7 +32,7 @@
32
32
  "@angular/forms": "^20.1.7",
33
33
  "@angular/platform-browser": "^20.1.7",
34
34
  "@angular/router": "^20.1.7",
35
- "@i-cell/ids-styles": "^0.0.49"
35
+ "@i-cell/ids-styles": "^0.0.51"
36
36
  },
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.0"
@@ -56,14 +56,14 @@
56
56
  "types": "./avatar/index.d.ts",
57
57
  "default": "./fesm2022/i-cell-ids-angular-avatar.mjs"
58
58
  },
59
- "./breadcrumb": {
60
- "types": "./breadcrumb/index.d.ts",
61
- "default": "./fesm2022/i-cell-ids-angular-breadcrumb.mjs"
62
- },
63
59
  "./badge": {
64
60
  "types": "./badge/index.d.ts",
65
61
  "default": "./fesm2022/i-cell-ids-angular-badge.mjs"
66
62
  },
63
+ "./breadcrumb": {
64
+ "types": "./breadcrumb/index.d.ts",
65
+ "default": "./fesm2022/i-cell-ids-angular-breadcrumb.mjs"
66
+ },
67
67
  "./button": {
68
68
  "types": "./button/index.d.ts",
69
69
  "default": "./fesm2022/i-cell-ids-angular-button.mjs"
@@ -72,14 +72,14 @@
72
72
  "types": "./card/index.d.ts",
73
73
  "default": "./fesm2022/i-cell-ids-angular-card.mjs"
74
74
  },
75
- "./checkbox": {
76
- "types": "./checkbox/index.d.ts",
77
- "default": "./fesm2022/i-cell-ids-angular-checkbox.mjs"
78
- },
79
75
  "./chip": {
80
76
  "types": "./chip/index.d.ts",
81
77
  "default": "./fesm2022/i-cell-ids-angular-chip.mjs"
82
78
  },
79
+ "./checkbox": {
80
+ "types": "./checkbox/index.d.ts",
81
+ "default": "./fesm2022/i-cell-ids-angular-checkbox.mjs"
82
+ },
83
83
  "./core": {
84
84
  "types": "./core/index.d.ts",
85
85
  "default": "./fesm2022/i-cell-ids-angular-core.mjs"
@@ -152,10 +152,6 @@
152
152
  "types": "./snackbar/index.d.ts",
153
153
  "default": "./fesm2022/i-cell-ids-angular-snackbar.mjs"
154
154
  },
155
- "./spinner": {
156
- "types": "./spinner/index.d.ts",
157
- "default": "./fesm2022/i-cell-ids-angular-spinner.mjs"
158
- },
159
155
  "./switch": {
160
156
  "types": "./switch/index.d.ts",
161
157
  "default": "./fesm2022/i-cell-ids-angular-switch.mjs"
@@ -175,6 +171,10 @@
175
171
  "./tooltip": {
176
172
  "types": "./tooltip/index.d.ts",
177
173
  "default": "./fesm2022/i-cell-ids-angular-tooltip.mjs"
174
+ },
175
+ "./spinner": {
176
+ "types": "./spinner/index.d.ts",
177
+ "default": "./fesm2022/i-cell-ids-angular-spinner.mjs"
178
178
  }
179
179
  }
180
180
  }
@@ -1,10 +1,13 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, TemplateRef } from '@angular/core';
3
+ import { Router, NavigationEnd } from '@angular/router';
3
4
  import { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
4
5
  import * as _i_cell_ids_angular_side_nav from '@i-cell/ids-angular/side-nav';
5
6
  import { IdsIconComponent } from '@i-cell/ids-angular/icon';
6
7
  import { IdsIconButtonParent, IdsIconButtonAppearanceType, IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';
7
8
 
9
+ declare const IDS_SIDE_NAV_ROUTER: InjectionToken<Router>;
10
+
8
11
  declare const IdsSideNavVariant: {
9
12
  readonly SURFACE: "surface";
10
13
  readonly LIGHT: "light";
@@ -41,14 +44,13 @@ declare class IdsSideNavItemComponent {
41
44
  templateChildren: _angular_core.InputSignal<TemplateRef<HTMLElement> | undefined>;
42
45
  active: _angular_core.Signal<boolean>;
43
46
  protected _expandable: _angular_core.Signal<true | TemplateRef<any> | undefined>;
44
- protected _expanded: boolean;
47
+ protected _expanded: _angular_core.WritableSignal<boolean>;
45
48
  protected _iconLeading: _angular_core.Signal<readonly IdsIconComponent[]>;
46
49
  protected _iconTrailing: _angular_core.Signal<readonly IdsIconComponent[]>;
47
50
  protected readonly _parent: _i_cell_ids_angular_side_nav.IdsSideNavComponent | null;
48
51
  protected readonly _contentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
49
52
  private readonly _contentChildren;
50
53
  private readonly _router;
51
- constructor();
52
54
  protected _onClick(event: MouseEvent): void;
53
55
  protected _onKeyDown(event: KeyboardEvent): void;
54
56
  protected _toggle(): void;
@@ -91,11 +93,13 @@ declare class IdsSideNavSectionComponent {
91
93
  declare class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDefaultConfig> implements IdsIconButtonParent {
92
94
  protected get _hostName(): string;
93
95
  protected readonly _defaultConfig: Required<IdsSideNavDefaultConfig>;
96
+ protected readonly _router: Router;
94
97
  appearance: _angular_core.InputSignal<"standard">;
95
98
  size: _angular_core.InputSignal<IdsSizeType>;
96
99
  variant: _angular_core.InputSignal<IdsSideNavVariantType>;
97
100
  hasLabel: _angular_core.InputSignal<boolean>;
98
101
  hasActiveIndicator: _angular_core.InputSignal<boolean>;
102
+ navigationChange: _angular_core.Signal<NavigationEnd | undefined>;
99
103
  embeddedIconButtonAppearance: _angular_core.Signal<IdsIconButtonAppearanceType>;
100
104
  embeddedIconButtonVariant: _angular_core.Signal<IdsIconButtonVariantType>;
101
105
  embeddedIconButtonSize: _angular_core.Signal<IdsSizeType>;
@@ -104,5 +108,5 @@ declare class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDe
104
108
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<IdsSideNavComponent, "nav[idsSideNav]", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "hasLabel": { "alias": "hasLabel"; "required": false; "isSignal": true; }; "hasActiveIndicator": { "alias": "hasActiveIndicator"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
105
109
  }
106
110
 
107
- export { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavAppearance, IdsSideNavComponent, IdsSideNavItemComponent, IdsSideNavSectionComponent, IdsSideNavTitleComponent, IdsSideNavVariant };
111
+ export { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IDS_SIDE_NAV_ROUTER, IdsSideNavAppearance, IdsSideNavComponent, IdsSideNavItemComponent, IdsSideNavSectionComponent, IdsSideNavTitleComponent, IdsSideNavVariant };
108
112
  export type { IdsSideNavAppearanceType, IdsSideNavDefaultConfig, IdsSideNavVariantType };
@@ -70,6 +70,7 @@ declare class IdsTooltipDirective extends DirectiveBaseWithDefaults<IdsTooltipDe
70
70
  textAlign: _angular_core.InputSignal<IdsTooltipTextAlign>;
71
71
  tooltipClass: _angular_core.InputSignal<string | undefined>;
72
72
  showPointer: _angular_core.InputSignal<boolean>;
73
+ ignoreClipped: _angular_core.InputSignal<boolean>;
73
74
  protected _hostClasses: _angular_core.Signal<string>;
74
75
  private _tooltipClassEffect;
75
76
  ngAfterViewInit(): void;
@@ -89,7 +90,7 @@ declare class IdsTooltipDirective extends DirectiveBaseWithDefaults<IdsTooltipDe
89
90
  private _platformSupportsMouseEvents;
90
91
  ngOnDestroy(): void;
91
92
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IdsTooltipDirective, never>;
92
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IdsTooltipDirective, "[idsTooltip]", never, { "message": { "alias": "idsTooltip"; "required": false; "isSignal": true; }; "position": { "alias": "idsTooltipPosition"; "required": false; "isSignal": true; }; "size": { "alias": "idsTooltipSize"; "required": false; "isSignal": true; }; "variant": { "alias": "idsTooltipVariant"; "required": false; "isSignal": true; }; "showDelay": { "alias": "idsTooltipShowDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "idsTooltipHideDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "idsTooltipDisabled"; "required": false; "isSignal": true; }; "touchGestures": { "alias": "idsTooltipTouchGestures"; "required": false; "isSignal": true; }; "textAlign": { "alias": "idsTooltipTextAlign"; "required": false; "isSignal": true; }; "tooltipClass": { "alias": "idsTooltipClass"; "required": false; "isSignal": true; }; "showPointer": { "alias": "idsTooltipShowPointer"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
93
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IdsTooltipDirective, "[idsTooltip]", never, { "message": { "alias": "idsTooltip"; "required": false; "isSignal": true; }; "position": { "alias": "idsTooltipPosition"; "required": false; "isSignal": true; }; "size": { "alias": "idsTooltipSize"; "required": false; "isSignal": true; }; "variant": { "alias": "idsTooltipVariant"; "required": false; "isSignal": true; }; "showDelay": { "alias": "idsTooltipShowDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "idsTooltipHideDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "idsTooltipDisabled"; "required": false; "isSignal": true; }; "touchGestures": { "alias": "idsTooltipTouchGestures"; "required": false; "isSignal": true; }; "textAlign": { "alias": "idsTooltipTextAlign"; "required": false; "isSignal": true; }; "tooltipClass": { "alias": "idsTooltipClass"; "required": false; "isSignal": true; }; "showPointer": { "alias": "idsTooltipShowPointer"; "required": false; "isSignal": true; }; "ignoreClipped": { "alias": "idsTooltipIgnoreClipped"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
93
94
  }
94
95
 
95
96
  export { IDS_TOOLTIP_DEFAULT_CONFIG, IDS_TOOLTIP_DEFAULT_CONFIG_FACTORY, IdsTooltipDirective, IdsTooltipPosition, IdsTooltipVariant };