@i-cell/ids-angular 0.1.11 → 0.1.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.
Files changed (39) hide show
  1. package/breadcrumb/breadcrumb-defaults.d.ts +17 -0
  2. package/breadcrumb/breadcrumb.component.d.ts +35 -0
  3. package/breadcrumb/index.d.ts +5 -0
  4. package/breadcrumb/libs/breadcrumb-divider.component.d.ts +13 -0
  5. package/breadcrumb/libs/breadcrumb-link.directive.d.ts +10 -0
  6. package/breadcrumb/libs/breadcrumb-list.directive.d.ts +5 -0
  7. package/breadcrumb/libs/breadcrumb-page.directive.d.ts +5 -0
  8. package/breadcrumb/libs/breadcrumb-truncation.component.d.ts +15 -0
  9. package/breadcrumb/public-api.d.ts +5 -0
  10. package/breadcrumb/types/breadcrumb-divider.type.d.ts +5 -0
  11. package/breadcrumb/types/breadcrumb-hierarchy.type.d.ts +5 -0
  12. package/breadcrumb/types/breadcrumb-variant.type.d.ts +6 -0
  13. package/button/button.component.d.ts +7 -1
  14. package/fesm2022/i-cell-ids-angular-accordion.mjs +1 -1
  15. package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -1
  16. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +313 -0
  17. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -0
  18. package/fesm2022/i-cell-ids-angular-button.mjs +40 -8
  19. package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
  20. package/fesm2022/i-cell-ids-angular-chip.mjs +1 -1
  21. package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
  22. package/fesm2022/i-cell-ids-angular-datepicker.mjs +2 -2
  23. package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
  24. package/fesm2022/i-cell-ids-angular-dialog.mjs +1 -1
  25. package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
  26. package/fesm2022/i-cell-ids-angular-icon-button.mjs +40 -8
  27. package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
  28. package/fesm2022/i-cell-ids-angular-notification.mjs +1 -1
  29. package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
  30. package/fesm2022/i-cell-ids-angular-select.mjs +6 -3
  31. package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
  32. package/fesm2022/i-cell-ids-angular-snackbar.mjs +1 -1
  33. package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
  34. package/fesm2022/i-cell-ids-angular-table.mjs +1 -1
  35. package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
  36. package/fesm2022/i-cell-ids-angular-tooltip.mjs +1 -1
  37. package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
  38. package/icon-button/icon-button.component.d.ts +7 -1
  39. package/package.json +24 -20
@@ -0,0 +1,17 @@
1
+ import { IdsBreadcrumbDividerType } from './types/breadcrumb-divider.type';
2
+ import { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';
3
+ import { IdsBreadcrumbVariantType } from './types/breadcrumb-variant.type';
4
+ import { InjectionToken } from '@angular/core';
5
+ import { IdsSizeType } from '@i-cell/ids-angular/core';
6
+ import { IdsOverlayPanelAppearanceType, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';
7
+ export interface IdsBreadcrumbDefaultConfig {
8
+ hierarchy: IdsBreadcrumbHierarchyType[];
9
+ size?: IdsSizeType;
10
+ variant?: IdsBreadcrumbVariantType;
11
+ dividerType?: IdsBreadcrumbDividerType;
12
+ overlayAppearance?: IdsOverlayPanelAppearanceType;
13
+ overlaySize?: IdsSizeType;
14
+ overlayVariant?: IdsOverlayPanelVariantType;
15
+ }
16
+ export declare const IDS_BREADCRUMB_DEFAULT_CONFIG: InjectionToken<IdsBreadcrumbDefaultConfig>;
17
+ export declare function IDS_BREADCRUMB_DEFAULT_CONFIG_FACTORY(): Required<IdsBreadcrumbDefaultConfig>;
@@ -0,0 +1,35 @@
1
+ import { IdsBreadcrumbDefaultConfig } from './breadcrumb-defaults';
2
+ import { IdsBreadcrumbDividerType } from './types/breadcrumb-divider.type';
3
+ import { IdsBreadcrumbHierarchyType } from './types/breadcrumb-hierarchy.type';
4
+ import { IdsBreadcrumbVariantType } from './types/breadcrumb-variant.type';
5
+ import { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';
6
+ import { IdsOverlayPanelAppearanceType, IdsOverlayPanelVariantType } from '@i-cell/ids-angular/overlay-panel';
7
+ import * as i0 from "@angular/core";
8
+ export declare class IdsBreadcrumbComponent extends ComponentBaseWithDefaults<IdsBreadcrumbDefaultConfig> {
9
+ protected get _hostName(): string;
10
+ protected readonly _defaultConfig: Required<IdsBreadcrumbDefaultConfig>;
11
+ hierarchy: import("@angular/core").InputSignal<IdsBreadcrumbHierarchyType[]>;
12
+ dividerType: import("@angular/core").InputSignal<IdsBreadcrumbDividerType>;
13
+ size: import("@angular/core").InputSignal<IdsSizeType>;
14
+ variant: import("@angular/core").InputSignal<IdsBreadcrumbVariantType>;
15
+ overlayAppearance: import("@angular/core").InputSignal<IdsOverlayPanelAppearanceType>;
16
+ overlaySize: import("@angular/core").InputSignal<IdsSizeType>;
17
+ overlayVariant: import("@angular/core").InputSignal<IdsOverlayPanelVariantType>;
18
+ protected _breadcrumbs: import("@angular/core").Signal<(IdsBreadcrumbHierarchyType & {
19
+ hasTooltip?: boolean;
20
+ })[]>;
21
+ protected _truncation: import("@angular/core").Signal<(IdsBreadcrumbHierarchyType & {
22
+ hasTooltip?: boolean;
23
+ })[]>;
24
+ private _maxLength;
25
+ private _truncationIndex;
26
+ private _hostElement;
27
+ private _resizeObserver;
28
+ protected _hostClasses: import("@angular/core").Signal<string>;
29
+ protected _overlayClasses: import("@angular/core").Signal<string>;
30
+ constructor();
31
+ private _calcmaxLength;
32
+ private _getCssVariableValue;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<IdsBreadcrumbComponent, "ids-breadcrumb", never, { "hierarchy": { "alias": "hierarchy"; "required": false; "isSignal": true; }; "dividerType": { "alias": "dividerType"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "overlayAppearance": { "alias": "overlayAppearance"; "required": false; "isSignal": true; }; "overlaySize": { "alias": "overlaySize"; "required": false; "isSignal": true; }; "overlayVariant": { "alias": "overlayVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
35
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@i-cell/ids-angular/breadcrumb" />
5
+ export * from './public-api';
@@ -0,0 +1,13 @@
1
+ import { IdsBreadcrumbDividerType } from '../public-api';
2
+ import { IdsSizeType } from '@i-cell/ids-angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class IdsBreadcrumbDividerComponent {
5
+ dividerType: import("@angular/core").InputSignal<IdsBreadcrumbDividerType | undefined>;
6
+ size: import("@angular/core").InputSignal<IdsSizeType>;
7
+ protected _dividerType: {
8
+ readonly FORESLASH: "foreslash";
9
+ readonly ICON: "icon";
10
+ };
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbDividerComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<IdsBreadcrumbDividerComponent, "li[idsBreadcrumbDivider]", never, { "dividerType": { "alias": "dividerType"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/router";
3
+ export declare class IdsBreadcrumbLinkDirective {
4
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
5
+ readonly link: import("@angular/core").InputSignal<string | any[] | import("@angular/router").UrlTree | null | undefined>;
6
+ readonly hasTooltip: import("@angular/core").OutputEmitterRef<boolean>;
7
+ constructor();
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbLinkDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IdsBreadcrumbLinkDirective, "a[idsBreadcrumbLink]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; }, { "hasTooltip": "hasTooltip"; }, never, never, true, [{ directive: typeof i1.RouterLink; inputs: { "routerLink": "link"; }; outputs: {}; }]>;
10
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class IdsBreadcrumbListDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbListDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IdsBreadcrumbListDirective, "ol[idsBreadcrumbList]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class IdsBreadcrumbPageDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbPageDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IdsBreadcrumbPageDirective, "span[idsBreadcrumbPage]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,15 @@
1
+ import { IdsSizeType } from '@i-cell/ids-angular/core';
2
+ import { IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';
3
+ import * as i0 from "@angular/core";
4
+ export declare class IdsBreadcrumbTruncationComponent {
5
+ overlayClass: import("@angular/core").InputSignal<string>;
6
+ panelClass: import("@angular/core").InputSignalWithTransform<string[], string>;
7
+ size: import("@angular/core").InputSignal<IdsSizeType>;
8
+ variant: import("@angular/core").InputSignal<IdsIconButtonVariantType>;
9
+ isPanelOpen: import("@angular/core").WritableSignal<boolean>;
10
+ protected _toggle(): void;
11
+ protected _open(): void;
12
+ protected _close(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdsBreadcrumbTruncationComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<IdsBreadcrumbTruncationComponent, "li[idsBreadcrumbTruncation]", never, { "overlayClass": { "alias": "overlayClass"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
15
+ }
@@ -0,0 +1,5 @@
1
+ export * from './types/breadcrumb-divider.type';
2
+ export * from './types/breadcrumb-hierarchy.type';
3
+ export * from './types/breadcrumb-variant.type';
4
+ export * from './breadcrumb-defaults';
5
+ export * from './breadcrumb.component';
@@ -0,0 +1,5 @@
1
+ export declare const IdsBreadcrumbDivider: {
2
+ readonly FORESLASH: "foreslash";
3
+ readonly ICON: "icon";
4
+ };
5
+ export type IdsBreadcrumbDividerType = (typeof IdsBreadcrumbDivider)[keyof typeof IdsBreadcrumbDivider];
@@ -0,0 +1,5 @@
1
+ export type IdsBreadcrumbHierarchyType = {
2
+ label: string;
3
+ path: string;
4
+ disabled?: boolean;
5
+ };
@@ -0,0 +1,6 @@
1
+ export declare const IdsBreadcrumbVariant: {
2
+ readonly PRIMARY: "primary";
3
+ readonly SURFACE: "surface";
4
+ readonly LIGHT: "light";
5
+ };
6
+ export type IdsBreadcrumbVariantType = (typeof IdsBreadcrumbVariant)[keyof typeof IdsBreadcrumbVariant];
@@ -8,6 +8,8 @@ export declare class IdsButtonComponent extends ComponentBaseWithDefaults<IdsBut
8
8
  protected get _hostName(): string;
9
9
  private readonly _parent;
10
10
  private readonly _group;
11
+ private _hostElement;
12
+ private _routerLink;
11
13
  protected readonly _defaultConfig: Required<IdsButtonDefaultConfig>;
12
14
  appearance: import("@angular/core").InputSignal<IdsButtonAppearanceType>;
13
15
  size: import("@angular/core").InputSignal<IdsSizeType>;
@@ -17,7 +19,11 @@ export declare class IdsButtonComponent extends ComponentBaseWithDefaults<IdsBut
17
19
  private _parentOrSelfVariant;
18
20
  protected _iconLeading: import("@angular/core").Signal<readonly IdsIconComponent[]>;
19
21
  protected _iconTrailing: import("@angular/core").Signal<readonly IdsIconComponent[]>;
22
+ private get _buttonType();
23
+ constructor();
20
24
  protected _hostClasses: import("@angular/core").Signal<string>;
25
+ private _disableLink;
26
+ private _enableLink;
21
27
  static ɵfac: i0.ɵɵFactoryDeclaration<IdsButtonComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<IdsButtonComponent, "button[idsButton]", never, { "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"], ["[icon-leading]", "*", "[icon-trailing]"], true, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<IdsButtonComponent, "button[idsButton], a[idsButton]", never, { "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"], ["[icon-leading]", "*", "[icon-trailing]"], true, never>;
23
29
  }
@@ -136,7 +136,7 @@ class IdsAccordionComponent extends ComponentBaseWithDefaults {
136
136
  }
137
137
  }
138
138
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsAccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.2", type: IdsAccordionComponent, isStandalone: true, selector: "ids-accordion", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasLeadingIcon: { classPropertyName: "hasLeadingIcon", publicName: "hasLeadingIcon", isSignal: true, isRequired: false, transformFunction: null }, hasTrailingIcon: { classPropertyName: "hasTrailingIcon", publicName: "hasTrailingIcon", isSignal: true, isRequired: false, transformFunction: null }, multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, btnSize: { classPropertyName: "btnSize", publicName: "btnSize", isSignal: true, isRequired: false, transformFunction: null }, btnAppearance: { classPropertyName: "btnAppearance", publicName: "btnAppearance", isSignal: true, isRequired: false, transformFunction: null }, btnVariant: { classPropertyName: "btnVariant", publicName: "btnVariant", isSignal: true, isRequired: false, transformFunction: null }, expandBtnLabel: { classPropertyName: "expandBtnLabel", publicName: "expandBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseBtnLabel: { classPropertyName: "collapseBtnLabel", publicName: "collapseBtnLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "_handleKeyDown($event)" } }, queries: [{ propertyName: "_items", predicate: IdsAccordionItemComponent, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.CdkAccordion, inputs: ["multi", "multi"] }], ngImport: i0, template: "@if (multi()) {\n <div class=\"ids-accordion-controls\">\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"openAll()\"\n >\n {{ expandBtnLabel() }}\n </button>\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"closeAll()\"\n >\n {{ collapseBtnLabel() }}\n </button>\n </div>\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: IdsButtonComponent, selector: "button[idsButton]", inputs: ["appearance", "size", "variant", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.2", type: IdsAccordionComponent, isStandalone: true, selector: "ids-accordion", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasLeadingIcon: { classPropertyName: "hasLeadingIcon", publicName: "hasLeadingIcon", isSignal: true, isRequired: false, transformFunction: null }, hasTrailingIcon: { classPropertyName: "hasTrailingIcon", publicName: "hasTrailingIcon", isSignal: true, isRequired: false, transformFunction: null }, multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, btnSize: { classPropertyName: "btnSize", publicName: "btnSize", isSignal: true, isRequired: false, transformFunction: null }, btnAppearance: { classPropertyName: "btnAppearance", publicName: "btnAppearance", isSignal: true, isRequired: false, transformFunction: null }, btnVariant: { classPropertyName: "btnVariant", publicName: "btnVariant", isSignal: true, isRequired: false, transformFunction: null }, expandBtnLabel: { classPropertyName: "expandBtnLabel", publicName: "expandBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseBtnLabel: { classPropertyName: "collapseBtnLabel", publicName: "collapseBtnLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "_handleKeyDown($event)" } }, queries: [{ propertyName: "_items", predicate: IdsAccordionItemComponent, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.CdkAccordion, inputs: ["multi", "multi"] }], ngImport: i0, template: "@if (multi()) {\n <div class=\"ids-accordion-controls\">\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"openAll()\"\n >\n {{ expandBtnLabel() }}\n </button>\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"closeAll()\"\n >\n {{ collapseBtnLabel() }}\n </button>\n </div>\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: IdsButtonComponent, selector: "button[idsButton], a[idsButton]", inputs: ["appearance", "size", "variant", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
140
  }
141
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsAccordionComponent, decorators: [{
142
142
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-accordion.mjs","sources":["../../../projects/widgets/accordion/accordion-animations.ts","../../../projects/widgets/accordion/types/accordion-appearance.type.ts","../../../projects/widgets/accordion/accordion-defaults.ts","../../../projects/widgets/accordion/accordion.component.ts","../../../projects/widgets/accordion/accordion.component.html","../../../projects/widgets/accordion/accordion-item/accordion-item.component.ts","../../../projects/widgets/accordion/accordion-item/accordion-item.component.html","../../../projects/widgets/accordion/i-cell-ids-angular-accordion.ts"],"sourcesContent":["import { trigger, state, style, transition, animate } from '@angular/animations';\n\nexport const accordionAnimations = trigger('accordionAnimations', [\n state('expanded', style({\n height: '*',\n opacity: 1,\n transform: 'scaleY(1)',\n visibility: '',\n })),\n state('collapsed', style({\n height: '0',\n opacity: 0,\n transform: 'scaleY(0.3)',\n padding: 0,\n visibility: 'hidden',\n })),\n transition('expanded => collapsed', [animate('0.5s cubic-bezier(0.390, 0.575, 0.565, 1.000)')]),\n transition('collapsed => expanded', [animate('0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940)')]),\n]);\n","export const IdsAccordionAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsAccordionAppearanceType = (typeof IdsAccordionAppearance)[keyof typeof IdsAccordionAppearance];\n","import { IdsAccordionAppearance, IdsAccordionAppearanceType } from './types/accordion-appearance.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonAppearanceType, IdsButtonVariant, IdsButtonVariantType } from '@i-cell/ids-angular/button';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsAccordionDefaultConfig {\n size?: IdsSizeType\n appearance?: IdsAccordionAppearanceType\n multi?: boolean,\n btnSize?: IdsSizeType,\n btnAppearance?: IdsButtonAppearanceType,\n btnVariant?: IdsButtonVariantType,\n expandBtnLabel?: string,\n collapseBtnLabel?: string,\n hasLeadingIcon?: boolean,\n hasTrailingIcon?: boolean,\n}\n\nexport const IDS_ACCORDION_DEFAULT_CONFIG = new InjectionToken<IdsAccordionDefaultConfig>(\n 'IDS_ACCORDION_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ACCORDION_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ACCORDION_DEFAULT_CONFIG_FACTORY(): Required<IdsAccordionDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n appearance: IdsAccordionAppearance.FILLED,\n multi: false,\n btnSize: IdsSize.COMPACT,\n btnAppearance: IdsButtonAppearance.FILLED,\n btnVariant: IdsButtonVariant.SURFACE,\n expandBtnLabel: 'Expand all',\n collapseBtnLabel: 'Collapse all',\n hasLeadingIcon: false,\n hasTrailingIcon: true,\n };\n}\n","import { IDS_ACCORDION_DEFAULT_CONFIG, IDS_ACCORDION_DEFAULT_CONFIG_FACTORY, IdsAccordionDefaultConfig } from './accordion-defaults';\nimport { IdsAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { IdsAccordionAppearanceType } from './types/accordion-appearance.type';\n\nimport { CdkAccordion } from '@angular/cdk/accordion';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, ViewEncapsulation } from '@angular/core';\nimport { IdsButtonAppearanceType, IdsButtonComponent, IdsButtonVariantType } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_ACCORDION_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-accordion',\n imports: [IdsButtonComponent],\n templateUrl: './accordion.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n hostDirectives: [\n {\n directive: CdkAccordion,\n inputs: ['multi'],\n },\n ],\n})\nexport class IdsAccordionComponent extends ComponentBaseWithDefaults<IdsAccordionDefaultConfig> {\n protected override get _hostName(): string {\n return 'accordion';\n }\n\n private _cdkAccordion = inject(CdkAccordion);\n private _items = contentChildren<IdsAccordionItemComponent>(IdsAccordionItemComponent);\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ACCORDION_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public appearance = input<IdsAccordionAppearanceType>(this._defaultConfig.appearance);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n public hasLeadingIcon = input(this._defaultConfig.hasLeadingIcon, { transform: coerceBooleanAttribute });\n public hasTrailingIcon = input(this._defaultConfig.hasTrailingIcon, { transform: coerceBooleanAttribute });\n public multi = input<boolean>(this._defaultConfig.multi);\n public btnSize = input<IdsSizeType>(this._defaultConfig.btnSize);\n public btnAppearance = input<IdsButtonAppearanceType>(this._defaultConfig.btnAppearance);\n public btnVariant = input<IdsButtonVariantType>(this._defaultConfig.btnVariant);\n public expandBtnLabel = input<string, string>(this._defaultConfig.expandBtnLabel, { transform: coerceStringAttribute });\n public collapseBtnLabel = input<string, string>(this._defaultConfig.collapseBtnLabel, { transform: coerceStringAttribute });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.appearance(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n public openAll(): void {\n if (!this.disabled()) {\n this._cdkAccordion.openAll();\n }\n }\n\n public closeAll(): void {\n if (!this.disabled()) {\n this._cdkAccordion.closeAll();\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent): void {\n const navigationKeys = [\n 'Enter',\n ' ',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (!navigationKeys.includes(event.key)) {\n return;\n }\n\n event.preventDefault();\n\n const items = this._items();\n const target = event.target as HTMLButtonElement;\n const accordionId = target.parentElement!.id;\n const index = items.findIndex((item) => item.id() === accordionId);\n\n switch (event.key) {\n case 'ArrowUp': {\n if (index > 0) {\n const prevItem = items[index - 1];\n prevItem.focus();\n }\n break;\n }\n case 'ArrowDown': {\n if (index < items.length - 1) {\n const nextItem = items[index + 1];\n nextItem.focus();\n }\n break;\n }\n case 'Enter':\n case ' ': {\n items[index].toggle();\n break;\n }\n case 'Home': {\n items[0].focus();\n break;\n }\n case 'End': {\n items[items.length - 1].focus();\n break;\n }\n default:\n return;\n }\n }\n}\n","@if (multi()) {\n <div class=\"ids-accordion-controls\">\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"openAll()\"\n >\n {{ expandBtnLabel() }}\n </button>\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"closeAll()\"\n >\n {{ collapseBtnLabel() }}\n </button>\n </div>\n}\n<ng-content />\n","import { accordionAnimations } from '../accordion-animations';\nimport { IdsAccordionComponent } from '../accordion.component';\n\nimport { CdkAccordionItem } from '@angular/cdk/accordion';\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { coerceBooleanAttribute, ComponentBase } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'ids-accordion-item',\n imports: [IdsIconComponent],\n templateUrl: './accordion-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [accordionAnimations],\n hostDirectives: [\n {\n directive: CdkAccordionItem,\n inputs: [\n 'expanded',\n 'disabled',\n ],\n outputs: [\n 'closed',\n 'destroyed',\n 'opened',\n ],\n },\n ],\n})\nexport class IdsAccordionItemComponent extends ComponentBase {\n protected override get _hostName(): string {\n return 'accordion-item';\n }\n\n private _accordion = inject(IdsAccordionComponent, { skipSelf: true });\n private _accordionItem = inject(CdkAccordionItem);\n private _accordionHeader = viewChild.required<ElementRef<HTMLElement>>('header');\n\n public summary = input<string | null>();\n public disabled = input<boolean>(false);\n public hasLeadingIcon = input(false, { transform: coerceBooleanAttribute });\n public hasTrailingIcon = input(this._accordion.hasTrailingIcon(), { transform: coerceBooleanAttribute });\n\n protected _headerId = computed(() => `${this.id()}-header`);\n protected _contentId = computed(() => `${this.id()}-content`);\n protected _parentOrSelfHasLeadingIcon = computed(() => this._accordion.hasLeadingIcon() ?? this.hasLeadingIcon());\n protected _parentOrSelfHasTrailingIcon = computed(() => this._accordion.hasTrailingIcon() ?? this.hasTrailingIcon());\n protected _parentOrSelfDisabled = computed(() => this._accordion.disabled() || this.disabled());\n\n protected _hostClasses = computed(() => this._getHostClasses(\n [this._parentOrSelfDisabled() ? 'disabled' : null],\n ));\n\n protected get _icon(): string {\n return this.isExpanded ? 'chevron-up' : 'chevron-down';\n }\n\n public get isExpanded(): boolean {\n return this._accordionItem.expanded;\n }\n\n public open(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.open();\n }\n }\n\n public close(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.close();\n }\n }\n\n public toggle(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.toggle();\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._accordionHeader().nativeElement.focus(options);\n }\n}\n","<div\n #header\n role=\"button\"\n class=\"ids-accordion-item-summary\"\n [id]=\"_headerId()\"\n [attr.aria-expanded]=\"isExpanded ? 'true' : 'false'\"\n [attr.aria-controls]=\"_contentId()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : 0\"\n [attr.aria-disabled]=\"_parentOrSelfDisabled()\"\n (click)=\"toggle()\"\n>\n @if (_parentOrSelfHasLeadingIcon()) {\n <ids-icon icon-leading [fontIcon]=\"_icon\" />\n }\n <span class=\"ids-accordion-item-title\">{{ summary() }}</span>\n @if (_parentOrSelfHasTrailingIcon()) {\n <ids-icon icon-trailing [fontIcon]=\"_icon\" />\n }\n</div>\n<div\n role=\"region\"\n class=\"ids-accordion-item-content\"\n [id]=\"_contentId()\"\n [attr.aria-labelledby]=\"_headerId()\"\n [@accordionAnimations]=\"isExpanded ? 'expanded' : 'collapsed'\"\n>\n <ng-content />\n</div>\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-accordion.mjs","sources":["../../../projects/widgets/accordion/accordion-animations.ts","../../../projects/widgets/accordion/types/accordion-appearance.type.ts","../../../projects/widgets/accordion/accordion-defaults.ts","../../../projects/widgets/accordion/accordion.component.ts","../../../projects/widgets/accordion/accordion.component.html","../../../projects/widgets/accordion/accordion-item/accordion-item.component.ts","../../../projects/widgets/accordion/accordion-item/accordion-item.component.html","../../../projects/widgets/accordion/i-cell-ids-angular-accordion.ts"],"sourcesContent":["import { trigger, state, style, transition, animate } from '@angular/animations';\n\nexport const accordionAnimations = trigger('accordionAnimations', [\n state('expanded', style({\n height: '*',\n opacity: 1,\n transform: 'scaleY(1)',\n visibility: '',\n })),\n state('collapsed', style({\n height: '0',\n opacity: 0,\n transform: 'scaleY(0.3)',\n padding: 0,\n visibility: 'hidden',\n })),\n transition('expanded => collapsed', [animate('0.5s cubic-bezier(0.390, 0.575, 0.565, 1.000)')]),\n transition('collapsed => expanded', [animate('0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940)')]),\n]);\n","export const IdsAccordionAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsAccordionAppearanceType = (typeof IdsAccordionAppearance)[keyof typeof IdsAccordionAppearance];\n","import { IdsAccordionAppearance, IdsAccordionAppearanceType } from './types/accordion-appearance.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonAppearanceType, IdsButtonVariant, IdsButtonVariantType } from '@i-cell/ids-angular/button';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsAccordionDefaultConfig {\n size?: IdsSizeType\n appearance?: IdsAccordionAppearanceType\n multi?: boolean,\n btnSize?: IdsSizeType,\n btnAppearance?: IdsButtonAppearanceType,\n btnVariant?: IdsButtonVariantType,\n expandBtnLabel?: string,\n collapseBtnLabel?: string,\n hasLeadingIcon?: boolean,\n hasTrailingIcon?: boolean,\n}\n\nexport const IDS_ACCORDION_DEFAULT_CONFIG = new InjectionToken<IdsAccordionDefaultConfig>(\n 'IDS_ACCORDION_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ACCORDION_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ACCORDION_DEFAULT_CONFIG_FACTORY(): Required<IdsAccordionDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n appearance: IdsAccordionAppearance.FILLED,\n multi: false,\n btnSize: IdsSize.COMPACT,\n btnAppearance: IdsButtonAppearance.FILLED,\n btnVariant: IdsButtonVariant.SURFACE,\n expandBtnLabel: 'Expand all',\n collapseBtnLabel: 'Collapse all',\n hasLeadingIcon: false,\n hasTrailingIcon: true,\n };\n}\n","import { IDS_ACCORDION_DEFAULT_CONFIG, IDS_ACCORDION_DEFAULT_CONFIG_FACTORY, IdsAccordionDefaultConfig } from './accordion-defaults';\nimport { IdsAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { IdsAccordionAppearanceType } from './types/accordion-appearance.type';\n\nimport { CdkAccordion } from '@angular/cdk/accordion';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, ViewEncapsulation } from '@angular/core';\nimport { IdsButtonAppearanceType, IdsButtonComponent, IdsButtonVariantType } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_ACCORDION_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-accordion',\n imports: [IdsButtonComponent],\n templateUrl: './accordion.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n hostDirectives: [\n {\n directive: CdkAccordion,\n inputs: ['multi'],\n },\n ],\n})\nexport class IdsAccordionComponent extends ComponentBaseWithDefaults<IdsAccordionDefaultConfig> {\n protected override get _hostName(): string {\n return 'accordion';\n }\n\n private _cdkAccordion = inject(CdkAccordion);\n private _items = contentChildren<IdsAccordionItemComponent>(IdsAccordionItemComponent);\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ACCORDION_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public appearance = input<IdsAccordionAppearanceType>(this._defaultConfig.appearance);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n public hasLeadingIcon = input(this._defaultConfig.hasLeadingIcon, { transform: coerceBooleanAttribute });\n public hasTrailingIcon = input(this._defaultConfig.hasTrailingIcon, { transform: coerceBooleanAttribute });\n public multi = input<boolean>(this._defaultConfig.multi);\n public btnSize = input<IdsSizeType>(this._defaultConfig.btnSize);\n public btnAppearance = input<IdsButtonAppearanceType>(this._defaultConfig.btnAppearance);\n public btnVariant = input<IdsButtonVariantType>(this._defaultConfig.btnVariant);\n public expandBtnLabel = input<string, string>(this._defaultConfig.expandBtnLabel, { transform: coerceStringAttribute });\n public collapseBtnLabel = input<string, string>(this._defaultConfig.collapseBtnLabel, { transform: coerceStringAttribute });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.appearance(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n public openAll(): void {\n if (!this.disabled()) {\n this._cdkAccordion.openAll();\n }\n }\n\n public closeAll(): void {\n if (!this.disabled()) {\n this._cdkAccordion.closeAll();\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent): void {\n const navigationKeys = [\n 'Enter',\n ' ',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (!navigationKeys.includes(event.key)) {\n return;\n }\n\n event.preventDefault();\n\n const items = this._items();\n const target = event.target as HTMLButtonElement;\n const accordionId = target.parentElement!.id;\n const index = items.findIndex((item) => item.id() === accordionId);\n\n switch (event.key) {\n case 'ArrowUp': {\n if (index > 0) {\n const prevItem = items[index - 1];\n prevItem.focus();\n }\n break;\n }\n case 'ArrowDown': {\n if (index < items.length - 1) {\n const nextItem = items[index + 1];\n nextItem.focus();\n }\n break;\n }\n case 'Enter':\n case ' ': {\n items[index].toggle();\n break;\n }\n case 'Home': {\n items[0].focus();\n break;\n }\n case 'End': {\n items[items.length - 1].focus();\n break;\n }\n default:\n return;\n }\n }\n}\n","@if (multi()) {\n <div class=\"ids-accordion-controls\">\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"openAll()\"\n >\n {{ expandBtnLabel() }}\n </button>\n <button\n type=\"button\"\n idsButton\n [appearance]=\"btnAppearance()\"\n [disabled]=\"disabled()\"\n [variant]=\"btnVariant()\"\n [size]=\"btnSize()\"\n (click)=\"closeAll()\"\n >\n {{ collapseBtnLabel() }}\n </button>\n </div>\n}\n<ng-content />\n","import { accordionAnimations } from '../accordion-animations';\nimport { IdsAccordionComponent } from '../accordion.component';\n\nimport { CdkAccordionItem } from '@angular/cdk/accordion';\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { coerceBooleanAttribute, ComponentBase } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'ids-accordion-item',\n imports: [IdsIconComponent],\n templateUrl: './accordion-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [accordionAnimations],\n hostDirectives: [\n {\n directive: CdkAccordionItem,\n inputs: [\n 'expanded',\n 'disabled',\n ],\n outputs: [\n 'closed',\n 'destroyed',\n 'opened',\n ],\n },\n ],\n})\nexport class IdsAccordionItemComponent extends ComponentBase {\n protected override get _hostName(): string {\n return 'accordion-item';\n }\n\n private _accordion = inject(IdsAccordionComponent, { skipSelf: true });\n private _accordionItem = inject(CdkAccordionItem);\n private _accordionHeader = viewChild.required<ElementRef<HTMLElement>>('header');\n\n public summary = input<string | null>();\n public disabled = input<boolean>(false);\n public hasLeadingIcon = input(false, { transform: coerceBooleanAttribute });\n public hasTrailingIcon = input(this._accordion.hasTrailingIcon(), { transform: coerceBooleanAttribute });\n\n protected _headerId = computed(() => `${this.id()}-header`);\n protected _contentId = computed(() => `${this.id()}-content`);\n protected _parentOrSelfHasLeadingIcon = computed(() => this._accordion.hasLeadingIcon() ?? this.hasLeadingIcon());\n protected _parentOrSelfHasTrailingIcon = computed(() => this._accordion.hasTrailingIcon() ?? this.hasTrailingIcon());\n protected _parentOrSelfDisabled = computed(() => this._accordion.disabled() || this.disabled());\n\n protected _hostClasses = computed(() => this._getHostClasses(\n [this._parentOrSelfDisabled() ? 'disabled' : null],\n ));\n\n protected get _icon(): string {\n return this.isExpanded ? 'chevron-up' : 'chevron-down';\n }\n\n public get isExpanded(): boolean {\n return this._accordionItem.expanded;\n }\n\n public open(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.open();\n }\n }\n\n public close(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.close();\n }\n }\n\n public toggle(): void {\n if (!this._parentOrSelfDisabled()) {\n this._accordionItem.toggle();\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._accordionHeader().nativeElement.focus(options);\n }\n}\n","<div\n #header\n role=\"button\"\n class=\"ids-accordion-item-summary\"\n [id]=\"_headerId()\"\n [attr.aria-expanded]=\"isExpanded ? 'true' : 'false'\"\n [attr.aria-controls]=\"_contentId()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : 0\"\n [attr.aria-disabled]=\"_parentOrSelfDisabled()\"\n (click)=\"toggle()\"\n>\n @if (_parentOrSelfHasLeadingIcon()) {\n <ids-icon icon-leading [fontIcon]=\"_icon\" />\n }\n <span class=\"ids-accordion-item-title\">{{ summary() }}</span>\n @if (_parentOrSelfHasTrailingIcon()) {\n <ids-icon icon-trailing [fontIcon]=\"_icon\" />\n }\n</div>\n<div\n role=\"region\"\n class=\"ids-accordion-item-content\"\n [id]=\"_contentId()\"\n [attr.aria-labelledby]=\"_headerId()\"\n [@accordionAnimations]=\"isExpanded ? 'expanded' : 'collapsed'\"\n>\n <ng-content />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAEa,MAAA,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAChE,IAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;AACtB,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,UAAU,EAAE,EAAE;AACf,KAAA,CAAC,CAAC;AACH,IAAA,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;AACvB,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,UAAU,EAAE,QAAQ;AACrB,KAAA,CAAC,CAAC;IACH,UAAU,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAC/F,UAAU,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC;AAChG,CAAA;;AClBY,MAAA,sBAAsB,GAAG;AACpC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;;;MCiBD,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,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,UAAU,EAAE,sBAAsB,CAAC,MAAM;AACzC,QAAA,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,mBAAmB,CAAC,MAAM;QACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO;AACpC,QAAA,cAAc,EAAE,YAAY;AAC5B,QAAA,gBAAgB,EAAE,cAAc;AAChC,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,IAAI;KACtB;AACH;;AC/BA,MAAM,aAAa,GAAG,oCAAoC,EAAE;AAkBtD,MAAO,qBAAsB,SAAQ,yBAAoD,CAAA;AAhB/F,IAAA,WAAA,GAAA;;AAqBU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,eAAe,CAA4B,yBAAyB,CAAC;QAEnE,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAEhG,IAAI,CAAA,IAAA,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACnD,IAAU,CAAA,UAAA,GAAG,KAAK,CAA6B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;QAC9E,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;AAC9D,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;AACjG,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;QACnG,IAAK,CAAA,KAAA,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACjD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QACzD,IAAa,CAAA,aAAA,GAAG,KAAK,CAA0B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;QACjF,IAAU,CAAA,UAAA,GAAG,KAAK,CAAuB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AACxE,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAiB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAChH,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAiB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;QAEjH,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;AACpC,SAAA,CAAC,CAAC;AAmEJ;AA5FC,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,WAAW;;IA0Bb,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;;;IAIzB,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;;;AAIzB,IAAA,cAAc,CAAC,KAAoB,EAAA;AACzC,QAAA,MAAM,cAAc,GAAG;YACrB,OAAO;YACP,GAAG;YACH,SAAS;YACT,WAAW;YACX,MAAM;YACN,KAAK;SACN;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACvC;;QAGF,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B;AAChD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,aAAc,CAAC,EAAE;AAC5C,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,WAAW,CAAC;AAElE,QAAA,QAAQ,KAAK,CAAC,GAAG;YACf,KAAK,SAAS,EAAE;AACd,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;oBACjC,QAAQ,CAAC,KAAK,EAAE;;gBAElB;;YAEF,KAAK,WAAW,EAAE;gBAChB,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;oBACjC,QAAQ,CAAC,KAAK,EAAE;;gBAElB;;AAEF,YAAA,KAAK,OAAO;YACZ,KAAK,GAAG,EAAE;AACR,gBAAA,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;gBACrB;;YAEF,KAAK,MAAM,EAAE;AACX,gBAAA,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAChB;;YAEF,KAAK,KAAK,EAAE;gBACV,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC/B;;AAEF,YAAA;gBACE;;;8GA1FK,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAM4B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,yBAAyB,ECjCvF,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,unBA2BA,4CDdY,kBAAkB,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAcjB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAChB,OAAA,EAAA,CAAC,kBAAkB,CAAC,EAEd,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,WAAW,EAAE,wBAAwB;qBACtC,EACe,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,YAAY;4BACvB,MAAM,EAAE,CAAC,OAAO,CAAC;AAClB,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,unBAAA,EAAA;;;AEKG,MAAO,yBAA0B,SAAQ,aAAa,CAAA;AAtB5D,IAAA,WAAA,GAAA;;QA2BU,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC9D,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;QAEzE,IAAO,CAAA,OAAA,GAAG,KAAK,EAAiB;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC;QAChC,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;AACpE,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;AAE9F,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAG,EAAA,IAAI,CAAC,EAAE,EAAE,CAAA,OAAA,CAAS,CAAC;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAG,EAAA,IAAI,CAAC,EAAE,EAAE,CAAA,QAAA,CAAU,CAAC;AACnD,QAAA,IAAA,CAAA,2BAA2B,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;AACvG,QAAA,IAAA,CAAA,4BAA4B,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1G,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAErF,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAC1D,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CACnD,CAAC;AA+BH;AApDC,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,gBAAgB;;AAsBzB,IAAA,IAAc,KAAK,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,cAAc;;AAGxD,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ;;IAG9B,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;;;IAIvB,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;;;IAIxB,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;;;AAIzB,IAAA,KAAK,CAAC,OAAsB,EAAA;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;;8GAnD3C,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,k9BC9BtC,s0BA4BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBY,gBAAgB,EAId,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,mBAAmB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAgBtB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAtBrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WACrB,CAAC,gBAAgB,CAAC,EAAA,aAAA,EAEZ,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,CAAC,mBAAmB,CAAC,EACjB,cAAA,EAAA;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,gBAAgB;AAC3B,4BAAA,MAAM,EAAE;gCACN,UAAU;gCACV,UAAU;AACX,6BAAA;AACD,4BAAA,OAAO,EAAE;gCACP,QAAQ;gCACR,WAAW;gCACX,QAAQ;AACT,6BAAA;AACF,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,s0BAAA,EAAA;;;AE5BH;;AAEG;;;;"}