@i-cell/ids-angular 0.2.11 → 0.2.12

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.
@@ -1,44 +1,10 @@
1
- import * as i1 from '@angular/cdk/menu';
2
- import { CdkMenuTrigger, CdkMenuItem } from '@angular/cdk/menu';
3
1
  import * as i0 from '@angular/core';
4
- import { inject, Directive, InjectionToken, ElementRef, input, contentChildren, computed, effect, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChild } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, input, contentChildren, computed, effect, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChild, Directive } from '@angular/core';
5
3
  import { IdsSize, ComponentBaseWithDefaults, coerceBooleanAttribute } from '@i-cell/ids-angular/core';
4
+ import * as i1 from '@angular/cdk/menu';
5
+ import { CdkMenuItem } from '@angular/cdk/menu';
6
6
  import { RouterLink } from '@angular/router';
7
7
 
8
- class IdsActionMenuTriggerDirective {
9
- constructor() {
10
- this.menuTrigger = inject(CdkMenuTrigger);
11
- }
12
- get isOpen() {
13
- return !!this.menuTrigger.isOpen();
14
- }
15
- open() {
16
- this.menuTrigger.open();
17
- }
18
- close() {
19
- this.menuTrigger.close();
20
- }
21
- toggle() {
22
- this.menuTrigger.toggle();
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsActionMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: IdsActionMenuTriggerDirective, isStandalone: true, selector: "button[idsActionMenuTriggerFor]", exportAs: ["idsActionMenuTrigger"], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "idsActionMenuTriggerFor"] }], ngImport: i0 }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsActionMenuTriggerDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: 'button[idsActionMenuTriggerFor]',
31
- standalone: true,
32
- hostDirectives: [
33
- {
34
- directive: CdkMenuTrigger,
35
- inputs: ['cdkMenuTriggerFor: idsActionMenuTriggerFor'],
36
- },
37
- ],
38
- exportAs: 'idsActionMenuTrigger',
39
- }]
40
- }] });
41
-
42
8
  const IdsMenuItemAppearance = {
43
9
  FILLED: 'filled',
44
10
  TEXT: 'text',
@@ -150,5 +116,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
150
116
  * Generated bundle index. Do not edit.
151
117
  */
152
118
 
153
- export { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsActionMenuTriggerDirective, IdsActiveIndicatorDirective, IdsMenuItemAppearance, IdsMenuItemComponent, IdsMenuItemVariant };
119
+ export { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsActiveIndicatorDirective, IdsMenuItemAppearance, IdsMenuItemComponent, IdsMenuItemVariant };
154
120
  //# sourceMappingURL=i-cell-ids-angular-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-menu.mjs","sources":["../../../projects/widgets/menu/action-menu/action-menu-trigger.directive.ts","../../../projects/widgets/menu/menu-item/types/menu-item-appearance.type.ts","../../../projects/widgets/menu/menu-item/types/menu-item-variant.type.ts","../../../projects/widgets/menu/menu-item/menu-item-defaults.ts","../../../projects/widgets/menu/menu-item/menu-item.component.ts","../../../projects/widgets/menu/menu-item/menu-item.component.html","../../../projects/widgets/menu/active-indicator/active-indicator.directive.ts","../../../projects/widgets/menu/i-cell-ids-angular-menu.ts"],"sourcesContent":["import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: 'button[idsActionMenuTriggerFor]',\n standalone: true,\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: idsActionMenuTriggerFor'],\n },\n ],\n exportAs: 'idsActionMenuTrigger',\n})\nexport class IdsActionMenuTriggerDirective {\n public menuTrigger = inject(CdkMenuTrigger);\n\n get isOpen(): boolean {\n return !!this.menuTrigger.isOpen();\n }\n\n public open(): void {\n this.menuTrigger.open();\n }\n\n public close(): void {\n this.menuTrigger.close();\n }\n\n public toggle(): void {\n this.menuTrigger.toggle();\n }\n}\n","export const IdsMenuItemAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsMenuItemAppearanceType = (typeof IdsMenuItemAppearance)[keyof typeof IdsMenuItemAppearance];\n","export const IdsMenuItemVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsMenuItemVariantType = (typeof IdsMenuItemVariant)[keyof typeof IdsMenuItemVariant];\n","import { IdsMenuItemAppearance, IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariant, IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsMenuItemDefaultConfig {\n appearance?: IdsMenuItemAppearanceType,\n size?: IdsSizeType,\n variant?: IdsMenuItemVariantType,\n showLabel?: boolean,\n}\n\nexport const IDS_MENU_ITEM_DEFAULT_CONFIG = new InjectionToken<IdsMenuItemDefaultConfig>(\n 'IDS_MENU_ITEM_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY(): Required<IdsMenuItemDefaultConfig> {\n return {\n appearance: IdsMenuItemAppearance.TEXT,\n size: IdsSize.COMPACT,\n variant: IdsMenuItemVariant.SURFACE,\n showLabel: true,\n };\n}\n\n","import { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsMenuItemDefaultConfig } from './menu-item-defaults';\nimport { IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, contentChildren, effect, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsMenuItem],a[idsMenuItem]',\n imports: [],\n hostDirectives: [CdkMenuItem],\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': 'buttonType',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class IdsMenuItemComponent extends ComponentBaseWithDefaults<IdsMenuItemDefaultConfig> {\n protected override get _hostName(): string {\n return 'menu-item';\n }\n\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_MENU_ITEM_DEFAULT_CONFIG);\n\n public label = input<string>();\n public appearance = input<IdsMenuItemAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsMenuItemVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this.disabled() ? 'disabled' : null,\n !this.label() ? 'no-label' : null,\n ]));\n\n private get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n","import { IdsMenuItemComponent } from '../menu-item/menu-item.component';\n\nimport { contentChild, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[idsActiveIndicator]',\n host: {\n '[class.ids-active-indicator]': 'true',\n '[class.ids-active-indicator--active]': 'active()',\n },\n})\nexport class IdsActiveIndicatorDirective {\n private _menuItem = contentChild.required(IdsMenuItemComponent);\n\n public active = input.required<boolean>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAca,6BAA6B,CAAA;AAX1C,IAAA,WAAA,GAAA;AAYS,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC;AAiB5C,IAAA;AAfC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IACpC;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IACzB;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;IAC1B;IAEO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IAC3B;8GAjBW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,cAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,cAAc;4BACzB,MAAM,EAAE,CAAC,4CAA4C,CAAC;AACvD,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA;;;ACbM,MAAM,qBAAqB,GAAG;AACnC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;;;ACFP,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;MCWH,4BAA4B,GAAG,IAAI,cAAc,CAC5D,8BAA8B,EAC9B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,oCAAoC;AAC9C,CAAA;SAGa,oCAAoC,GAAA;IAClD,OAAO;QACL,UAAU,EAAE,qBAAqB,CAAC,IAAI;QACtC,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,OAAO,EAAE,kBAAkB,CAAC,OAAO;AACnC,QAAA,SAAS,EAAE,IAAI;KAChB;AACH;;AClBA,MAAM,aAAa,GAAG,oCAAoC,EAAE;AAetD,MAAO,oBAAqB,SAAQ,yBAAmD,CAAA;AAC3F,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,WAAW;IACpB;AAwBA,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAG,IAAI;IACjE;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QA3BD,IAAA,CAAA,YAAY,GAAG,MAAM,EAA0B,UAAuB,EAAC,CAAC,aAAa;AACrF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAErD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAEhG,IAAA,CAAA,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QACvB,IAAA,CAAA,UAAU,GAAG,KAAK,CAA4B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7E,IAAA,CAAA,IAAI,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACnD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAyB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACpE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,sBAAsB,EAAA,CAAA,GAAA,CAAnC,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAAC;AAE3D,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAmB,gBAAgB,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAmB,iBAAiB,yDAAC;QAEpE,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;YACnC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,GAAG,IAAI;AAClC,SAAA,CAAC,wDAAC;QASD,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB;YACF;AAEA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAiC;AAEnD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,IAAuB,EAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;QAC3C;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9B;AAEQ,IAAA,WAAW,CAAC,IAAuB,EAAA;AACzC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAE/E,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACnC;IACF;8GA/DW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6lCCzBjC,sSAUA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDea,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,EAAA,OAAA,EACrC,EAAE,EAAA,cAAA,EACK,CAAC,WAAW,CAAC,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,iBAAiB,EAAE,wBAAwB;AAC3C,wBAAA,sBAAsB,EAAE,oBAAoB;AAC7C,qBAAA,EAAA,QAAA,EAAA,sSAAA,EAAA;;;MEZU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;AAQU,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAExD,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAW;AAC1C,IAAA;8GAJY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,+WACI,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FADnD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACJ,wBAAA,8BAA8B,EAAE,MAAM;AACtC,wBAAA,sCAAsC,EAAE,UAAU;AACnD,qBAAA;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"i-cell-ids-angular-menu.mjs","sources":["../../../projects/widgets/menu/menu-item/types/menu-item-appearance.type.ts","../../../projects/widgets/menu/menu-item/types/menu-item-variant.type.ts","../../../projects/widgets/menu/menu-item/menu-item-defaults.ts","../../../projects/widgets/menu/menu-item/menu-item.component.ts","../../../projects/widgets/menu/menu-item/menu-item.component.html","../../../projects/widgets/menu/active-indicator/active-indicator.directive.ts","../../../projects/widgets/menu/i-cell-ids-angular-menu.ts"],"sourcesContent":["export const IdsMenuItemAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsMenuItemAppearanceType = (typeof IdsMenuItemAppearance)[keyof typeof IdsMenuItemAppearance];\n","export const IdsMenuItemVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsMenuItemVariantType = (typeof IdsMenuItemVariant)[keyof typeof IdsMenuItemVariant];\n","import { IdsMenuItemAppearance, IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariant, IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsMenuItemDefaultConfig {\n appearance?: IdsMenuItemAppearanceType,\n size?: IdsSizeType,\n variant?: IdsMenuItemVariantType,\n showLabel?: boolean,\n}\n\nexport const IDS_MENU_ITEM_DEFAULT_CONFIG = new InjectionToken<IdsMenuItemDefaultConfig>(\n 'IDS_MENU_ITEM_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY(): Required<IdsMenuItemDefaultConfig> {\n return {\n appearance: IdsMenuItemAppearance.TEXT,\n size: IdsSize.COMPACT,\n variant: IdsMenuItemVariant.SURFACE,\n showLabel: true,\n };\n}\n\n","import { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsMenuItemDefaultConfig } from './menu-item-defaults';\nimport { IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, contentChildren, effect, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsMenuItem],a[idsMenuItem]',\n imports: [],\n hostDirectives: [CdkMenuItem],\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': 'buttonType',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class IdsMenuItemComponent extends ComponentBaseWithDefaults<IdsMenuItemDefaultConfig> {\n protected override get _hostName(): string {\n return 'menu-item';\n }\n\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_MENU_ITEM_DEFAULT_CONFIG);\n\n public label = input<string>();\n public appearance = input<IdsMenuItemAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsMenuItemVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this.disabled() ? 'disabled' : null,\n !this.label() ? 'no-label' : null,\n ]));\n\n private get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n","import { IdsMenuItemComponent } from '../menu-item/menu-item.component';\n\nimport { contentChild, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[idsActiveIndicator]',\n host: {\n '[class.ids-active-indicator]': 'true',\n '[class.ids-active-indicator--active]': 'active()',\n },\n})\nexport class IdsActiveIndicatorDirective {\n private _menuItem = contentChild.required(IdsMenuItemComponent);\n\n public active = input.required<boolean>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAAO,MAAM,qBAAqB,GAAG;AACnC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;;;ACFP,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;MCWH,4BAA4B,GAAG,IAAI,cAAc,CAC5D,8BAA8B,EAC9B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,oCAAoC;AAC9C,CAAA;SAGa,oCAAoC,GAAA;IAClD,OAAO;QACL,UAAU,EAAE,qBAAqB,CAAC,IAAI;QACtC,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,OAAO,EAAE,kBAAkB,CAAC,OAAO;AACnC,QAAA,SAAS,EAAE,IAAI;KAChB;AACH;;AClBA,MAAM,aAAa,GAAG,oCAAoC,EAAE;AAetD,MAAO,oBAAqB,SAAQ,yBAAmD,CAAA;AAC3F,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,WAAW;IACpB;AAwBA,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAG,IAAI;IACjE;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QA3BD,IAAA,CAAA,YAAY,GAAG,MAAM,EAA0B,UAAuB,EAAC,CAAC,aAAa;AACrF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAErD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAEhG,IAAA,CAAA,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QACvB,IAAA,CAAA,UAAU,GAAG,KAAK,CAA4B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7E,IAAA,CAAA,IAAI,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACnD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAyB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACpE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,sBAAsB,EAAA,CAAA,GAAA,CAAnC,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAAC;AAE3D,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAmB,gBAAgB,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAmB,iBAAiB,yDAAC;QAEpE,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;YACnC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,GAAG,IAAI;AAClC,SAAA,CAAC,wDAAC;QASD,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB;YACF;AAEA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAiC;AAEnD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,IAAuB,EAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;QAC3C;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9B;AAEQ,IAAA,WAAW,CAAC,IAAuB,EAAA;AACzC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAE/E,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACnC;IACF;8GA/DW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6lCCzBjC,sSAUA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDea,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,EAAA,OAAA,EACrC,EAAE,EAAA,cAAA,EACK,CAAC,WAAW,CAAC,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,iBAAiB,EAAE,wBAAwB;AAC3C,wBAAA,sBAAsB,EAAE,oBAAoB;AAC7C,qBAAA,EAAA,QAAA,EAAA,sSAAA,EAAA;;;MEZU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;AAQU,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAExD,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAW;AAC1C,IAAA;8GAJY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,+WACI,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FADnD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACJ,wBAAA,8BAA8B,EAAE,MAAM;AACtC,wBAAA,sCAAsC,EAAE,UAAU;AACnD,qBAAA;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -1,9 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, input, contentChildren, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
2
+ import { InjectionToken, input, output, contentChild, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { IdsSize, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
4
- import * as i1 from '@angular/cdk/menu';
5
- import { CdkMenu, CdkTargetMenuAim } from '@angular/cdk/menu';
6
- import { IdsMenuItemComponent } from '@i-cell/ids-angular/menu';
4
+ import * as i2 from '@angular/cdk/a11y';
5
+ import { A11yModule } from '@angular/cdk/a11y';
6
+ import { CdkMenu } from '@angular/cdk/menu';
7
+ import * as i1 from '@angular/cdk/overlay';
8
+ import { OverlayModule } from '@angular/cdk/overlay';
9
+ import { NgClass } from '@angular/common';
7
10
 
8
11
  const IdsOverlayPanelAppearance = {
9
12
  FILLED: 'filled',
@@ -33,35 +36,43 @@ class IdsOverlayPanelComponent extends ComponentBaseWithDefaults {
33
36
  constructor() {
34
37
  super(...arguments);
35
38
  this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);
39
+ this.open = input(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
40
+ this.origin = input.required(...(ngDevMode ? [{ debugName: "origin" }] : []));
41
+ this.closed = output();
36
42
  this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
37
43
  this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
38
44
  this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
39
- this.actionItems = contentChildren(IdsMenuItemComponent, ...(ngDevMode ? [{ debugName: "actionItems" }] : []));
40
- this._hostClasses = computed(() => this._getHostClasses([
45
+ this._cdkMenu = contentChild(CdkMenu, ...(ngDevMode ? [{ debugName: "_cdkMenu", descendants: true }] : [{ descendants: true }]));
46
+ this._hasCdkMenu = computed(() => !!this._cdkMenu(), ...(ngDevMode ? [{ debugName: "_hasCdkMenu" }] : []));
47
+ this._panelClasses = computed(() => this._getHostClasses([
41
48
  this.appearance(),
42
49
  this.size(),
43
50
  this.variant(),
44
- ]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
51
+ this._hasCdkMenu() ? 'has-menu' : null,
52
+ ]), ...(ngDevMode ? [{ debugName: "_panelClasses" }] : []));
53
+ this._hostClasses = computed(() => '', ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
45
54
  }
46
55
  get _hostName() {
47
56
  return 'overlay-panel';
48
57
  }
58
+ _handleOverlayOutsideClick() {
59
+ if (this.open()) {
60
+ this.closed.emit();
61
+ }
62
+ }
63
+ _handleDetach() {
64
+ this.closed.emit();
65
+ }
49
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsOverlayPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.7", type: IdsOverlayPanelComponent, isStandalone: true, selector: "ids-overlay-panel,div[idsOverlayPanel]", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", 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 } }, queries: [{ propertyName: "actionItems", predicate: IdsMenuItemComponent, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.CdkMenu }, { directive: i1.CdkTargetMenuAim }], ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.7", type: IdsOverlayPanelComponent, isStandalone: true, selector: "ids-overlay-panel", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: true, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", 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 } }, outputs: { closed: "closed" }, queries: [{ propertyName: "_cdkMenu", first: true, predicate: CdkMenu, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_handleOverlayOutsideClick()\"\n (detach)=\"_handleDetach()\"\n>\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [ngClass]=\"_panelClasses()\"\n >\n <ng-content/>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
68
  }
52
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsOverlayPanelComponent, decorators: [{
53
70
  type: Component,
54
- args: [{
55
- selector: 'ids-overlay-panel,div[idsOverlayPanel]',
56
- imports: [],
57
- hostDirectives: [
58
- CdkMenu,
59
- CdkTargetMenuAim,
60
- ],
61
- template: '<ng-content />',
62
- encapsulation: ViewEncapsulation.None,
63
- changeDetection: ChangeDetectionStrategy.OnPush,
64
- }]
71
+ args: [{ selector: 'ids-overlay-panel', imports: [
72
+ OverlayModule,
73
+ A11yModule,
74
+ NgClass,
75
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_handleOverlayOutsideClick()\"\n (detach)=\"_handleDetach()\"\n>\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [ngClass]=\"_panelClasses()\"\n >\n <ng-content/>\n </div>\n</ng-template>\n" }]
65
76
  }] });
66
77
 
67
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-overlay-panel.mjs","sources":["../../../projects/widgets/overlay-panel/types/overlay-panel-appearance.type.ts","../../../projects/widgets/overlay-panel/types/overlay-panel-variant.type.ts","../../../projects/widgets/overlay-panel/overlay-panel-defaults.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.ts","../../../projects/widgets/overlay-panel/i-cell-ids-angular-overlay-panel.ts"],"sourcesContent":["export const IdsOverlayPanelAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n ELEVATED: 'elevated',\n} as const;\n\nexport type IdsOverlayPanelAppearanceType = (typeof IdsOverlayPanelAppearance)[keyof typeof IdsOverlayPanelAppearance];\n","export const IdsOverlayPanelVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsOverlayPanelVariantType = (typeof IdsOverlayPanelVariant)[keyof typeof IdsOverlayPanelVariant];\n","import { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsOverlayPanelDefaultConfig {\n appearance?: IdsOverlayPanelAppearanceType,\n size?: IdsSizeType,\n variant?: IdsOverlayPanelVariantType,\n}\n\nexport const IDS_OVERLAY_PANEL_DEFAULT_CONFIG = new InjectionToken<IdsOverlayPanelDefaultConfig>(\n 'IDS_OVERLAY_PANEL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY(): Required<IdsOverlayPanelDefaultConfig> {\n return {\n appearance: IdsOverlayPanelAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsOverlayPanelVariant.LIGHT,\n };\n}\n\n","import { IDS_OVERLAY_PANEL_DEFAULT_CONFIG, IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY, IdsOverlayPanelDefaultConfig } from './overlay-panel-defaults';\nimport { IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { CdkMenu, CdkTargetMenuAim } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChildren, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsMenuItemComponent } from '@i-cell/ids-angular/menu';\n\nconst defaultConfig = IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-overlay-panel,div[idsOverlayPanel]',\n imports: [],\n hostDirectives: [\n CdkMenu,\n CdkTargetMenuAim,\n ],\n template: '<ng-content />',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsOverlayPanelComponent extends ComponentBaseWithDefaults<IdsOverlayPanelDefaultConfig> {\n protected override get _hostName(): string {\n return 'overlay-panel';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);\n\n public appearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsOverlayPanelVariantType>(this._defaultConfig.variant);\n\n public actionItems = contentChildren(IdsMenuItemComponent);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n ]),\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-overlay-panel.mjs","sources":["../../../projects/widgets/overlay-panel/types/overlay-panel-appearance.type.ts","../../../projects/widgets/overlay-panel/types/overlay-panel-variant.type.ts","../../../projects/widgets/overlay-panel/overlay-panel-defaults.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.html","../../../projects/widgets/overlay-panel/i-cell-ids-angular-overlay-panel.ts"],"sourcesContent":["export const IdsOverlayPanelAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n ELEVATED: 'elevated',\n} as const;\n\nexport type IdsOverlayPanelAppearanceType = (typeof IdsOverlayPanelAppearance)[keyof typeof IdsOverlayPanelAppearance];\n","export const IdsOverlayPanelVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsOverlayPanelVariantType = (typeof IdsOverlayPanelVariant)[keyof typeof IdsOverlayPanelVariant];\n","import { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsOverlayPanelDefaultConfig {\n appearance?: IdsOverlayPanelAppearanceType,\n size?: IdsSizeType,\n variant?: IdsOverlayPanelVariantType,\n}\n\nexport const IDS_OVERLAY_PANEL_DEFAULT_CONFIG = new InjectionToken<IdsOverlayPanelDefaultConfig>(\n 'IDS_OVERLAY_PANEL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY(): Required<IdsOverlayPanelDefaultConfig> {\n return {\n appearance: IdsOverlayPanelAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsOverlayPanelVariant.LIGHT,\n };\n}\n\n","import {\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG,\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n IdsOverlayPanelDefaultConfig,\n} from './overlay-panel-defaults';\nimport { IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { OverlayModule, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input, output, computed, contentChild,\n} from '@angular/core';\nimport { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-overlay-panel',\n imports: [\n OverlayModule,\n A11yModule,\n NgClass,\n ],\n templateUrl: './overlay-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class IdsOverlayPanelComponent extends ComponentBaseWithDefaults<IdsOverlayPanelDefaultConfig> {\n protected override get _hostName(): string {\n return 'overlay-panel';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);\n\n public open = input<boolean>(false);\n public origin = input.required<CdkOverlayOrigin>();\n public closed = output<void>();\n\n public appearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsOverlayPanelVariantType>(this._defaultConfig.variant);\n\n private _cdkMenu = contentChild(CdkMenu, { descendants: true });\n\n protected _hasCdkMenu = computed(() => !!this._cdkMenu());\n\n protected _handleOverlayOutsideClick(): void {\n if (this.open()) {\n this.closed.emit();\n }\n }\n\n protected _handleDetach(): void {\n this.closed.emit();\n }\n\n protected _panelClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this._hasCdkMenu() ? 'has-menu' : null,\n ]),\n );\n\n protected _hostClasses = computed(() => '');\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_handleOverlayOutsideClick()\"\n (detach)=\"_handleDetach()\"\n>\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [ngClass]=\"_panelClasses()\"\n >\n <ng-content/>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/menu/index.d.ts CHANGED
@@ -1,19 +1,8 @@
1
- import * as i1 from '@angular/cdk/menu';
2
- import { CdkMenuTrigger } from '@angular/cdk/menu';
3
1
  import * as _angular_core from '@angular/core';
4
2
  import { InjectionToken } from '@angular/core';
5
3
  import { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
6
4
  import { IdsIconComponent } from '@i-cell/ids-angular/icon';
7
-
8
- declare class IdsActionMenuTriggerDirective {
9
- menuTrigger: CdkMenuTrigger;
10
- get isOpen(): boolean;
11
- open(): void;
12
- close(): void;
13
- toggle(): void;
14
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<IdsActionMenuTriggerDirective, never>;
15
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IdsActionMenuTriggerDirective, "button[idsActionMenuTriggerFor]", ["idsActionMenuTrigger"], {}, {}, never, never, true, [{ directive: typeof i1.CdkMenuTrigger; inputs: { "cdkMenuTriggerFor": "idsActionMenuTriggerFor"; }; outputs: {}; }]>;
16
- }
5
+ import * as i1 from '@angular/cdk/menu';
17
6
 
18
7
  declare class IdsActiveIndicatorDirective {
19
8
  private _menuItem;
@@ -64,5 +53,5 @@ declare class IdsMenuItemComponent extends ComponentBaseWithDefaults<IdsMenuItem
64
53
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<IdsMenuItemComponent, "button[idsMenuItem],a[idsMenuItem]", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["_iconLeading", "_iconTrailing"], ["ids-icon[icon-leading]", "ids-icon[icon-trailing]"], true, [{ directive: typeof i1.CdkMenuItem; inputs: {}; outputs: {}; }]>;
65
54
  }
66
55
 
67
- export { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsActionMenuTriggerDirective, IdsActiveIndicatorDirective, IdsMenuItemAppearance, IdsMenuItemComponent, IdsMenuItemVariant };
56
+ export { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsActiveIndicatorDirective, IdsMenuItemAppearance, IdsMenuItemComponent, IdsMenuItemVariant };
68
57
  export type { IdsMenuItemAppearanceType, IdsMenuItemDefaultConfig, IdsMenuItemVariantType };
@@ -1,8 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken } from '@angular/core';
3
3
  import { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
4
- import { IdsMenuItemComponent } from '@i-cell/ids-angular/menu';
5
- import * as i1 from '@angular/cdk/menu';
4
+ import { CdkOverlayOrigin } from '@angular/cdk/overlay';
6
5
 
7
6
  declare const IdsOverlayPanelAppearance: {
8
7
  readonly FILLED: "filled";
@@ -28,13 +27,20 @@ declare function IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY(): Required<IdsOverlay
28
27
  declare class IdsOverlayPanelComponent extends ComponentBaseWithDefaults<IdsOverlayPanelDefaultConfig> {
29
28
  protected get _hostName(): string;
30
29
  protected readonly _defaultConfig: Required<IdsOverlayPanelDefaultConfig>;
30
+ open: _angular_core.InputSignal<boolean>;
31
+ origin: _angular_core.InputSignal<CdkOverlayOrigin>;
32
+ closed: _angular_core.OutputEmitterRef<void>;
31
33
  appearance: _angular_core.InputSignal<IdsOverlayPanelAppearanceType>;
32
34
  size: _angular_core.InputSignal<IdsSizeType>;
33
35
  variant: _angular_core.InputSignal<IdsOverlayPanelVariantType>;
34
- actionItems: _angular_core.Signal<readonly IdsMenuItemComponent[]>;
36
+ private _cdkMenu;
37
+ protected _hasCdkMenu: _angular_core.Signal<boolean>;
38
+ protected _handleOverlayOutsideClick(): void;
39
+ protected _handleDetach(): void;
40
+ protected _panelClasses: _angular_core.Signal<string>;
35
41
  protected _hostClasses: _angular_core.Signal<string>;
36
42
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IdsOverlayPanelComponent, never>;
37
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IdsOverlayPanelComponent, "ids-overlay-panel,div[idsOverlayPanel]", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["actionItems"], ["*"], true, [{ directive: typeof i1.CdkMenu; inputs: {}; outputs: {}; }, { directive: typeof i1.CdkTargetMenuAim; inputs: {}; outputs: {}; }]>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IdsOverlayPanelComponent, "ids-overlay-panel", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "origin": { "alias": "origin"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, ["_cdkMenu"], ["*"], true, never>;
38
44
  }
39
45
 
40
46
  export { IDS_OVERLAY_PANEL_DEFAULT_CONFIG, IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY, IdsOverlayPanelAppearance, IdsOverlayPanelComponent, IdsOverlayPanelVariant };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@i-cell/ids-angular",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
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.52"
35
+ "@i-cell/ids-styles": "^0.0.53"
36
36
  },
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.0"
@@ -52,6 +52,10 @@
52
52
  "types": "./accordion/index.d.ts",
53
53
  "default": "./fesm2022/i-cell-ids-angular-accordion.mjs"
54
54
  },
55
+ "./badge": {
56
+ "types": "./badge/index.d.ts",
57
+ "default": "./fesm2022/i-cell-ids-angular-badge.mjs"
58
+ },
55
59
  "./avatar": {
56
60
  "types": "./avatar/index.d.ts",
57
61
  "default": "./fesm2022/i-cell-ids-angular-avatar.mjs"
@@ -60,10 +64,6 @@
60
64
  "types": "./breadcrumb/index.d.ts",
61
65
  "default": "./fesm2022/i-cell-ids-angular-breadcrumb.mjs"
62
66
  },
63
- "./badge": {
64
- "types": "./badge/index.d.ts",
65
- "default": "./fesm2022/i-cell-ids-angular-badge.mjs"
66
- },
67
67
  "./button": {
68
68
  "types": "./button/index.d.ts",
69
69
  "default": "./fesm2022/i-cell-ids-angular-button.mjs"