@i-cell/ids-angular 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/i-cell-ids-angular-avatar.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +3 -3
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-checkbox.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-forms.mjs +8 -8
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +54 -23
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +4 -4
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-switch.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tooltip.mjs +5 -2
- package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
- package/package.json +6 -6
- package/side-nav/index.d.ts +13 -5
- package/tooltip/index.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-side-nav.mjs","sources":["../../../projects/widgets/side-nav/types/side-nav-variant.type.ts","../../../projects/widgets/side-nav/types/side-nav-appearance.type.ts","../../../projects/widgets/side-nav/side-nav-defaults.ts","../../../projects/widgets/side-nav/tokens/ids-side-nav-parent.ts","../../../projects/widgets/side-nav/side-nav-item.component.ts","../../../projects/widgets/side-nav/side-nav-title.component.ts","../../../projects/widgets/side-nav/side-nav-section.component.ts","../../../projects/widgets/side-nav/side-nav.component.ts","../../../projects/widgets/side-nav/i-cell-ids-angular-side-nav.ts"],"sourcesContent":["export const IdsSideNavVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSideNavVariantType = (typeof IdsSideNavVariant)[keyof typeof IdsSideNavVariant];\n","export const IdsSideNavAppearance = {\n STANDARD: 'standard',\n} as const;\n\nexport type IdsSideNavAppearanceType = (typeof IdsSideNavAppearance)[keyof typeof IdsSideNavAppearance];\n","import { IdsSideNavAppearance, IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariant, IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideNavDefaultConfig {\n appearance?: IdsSideNavAppearanceType,\n size?: IdsSizeType,\n variant?: IdsSideNavVariantType,\n hasActiveIndicator?: boolean,\n hasLabel?: boolean,\n}\n\nexport const IDS_SIDE_NAV_DEFAULT_CONFIG = new InjectionToken<IdsSideNavDefaultConfig>(\n 'IDS_SIDE_NAV_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY(): Required<IdsSideNavDefaultConfig> {\n return {\n appearance: IdsSideNavAppearance.STANDARD,\n size: IdsSize.COMPACT,\n variant: IdsSideNavVariant.SURFACE,\n hasActiveIndicator: false,\n hasLabel: true,\n };\n}\n\n","import { IdsSideNavComponent } from '../side-nav.component';\n\nimport { InjectionToken } from '@angular/core';\n\nexport const IDS_SIDE_NAV_PARENT = new InjectionToken<IdsSideNavComponent>(\n 'IDS_SIDE_NAV_PARENT',\n);\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, contentChild, contentChildren, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\n/**\n * Side navigation item\n * - it can be a single list element or an expandable list element, containing another list of elements\n * - it can be used with selectors like `ids-side-nav-item` or `li[idsSideNavItem]`\n * - children can be provided with content projection:\n * - either project `ids-side-nav-item` elements\n * - or list elements as `<li>` elements in an ng-template, marked with `idsSideNavItemChildren` variable\n */\n@Component({\n selector: 'ids-side-nav-item, li[idsSideNavItem]',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n NgTemplateOutlet,\n ],\n template: `\n <a\n [class.ids-side-nav-item-single]=\"!_expandable()\"\n [class.ids-side-nav-item-expandable-summary]=\"_expandable()\"\n [attr.tabindex]=\"!disabled() ? 0 : null\"\n [attr.disabled]=\"disabled() ? '' : null\"\n [attr.is-active]=\"active() ? '' : null\"\n [attr.is-active-indicator]=\"active() && _parent?.hasActiveIndicator() ? '' : null\"\n [attr.aria-disabled]=\"disabled() ? '' : null\"\n [attr.aria-current]=\"active()\"\n [attr.aria-expanded]=\"!_expandable() ? null : _expanded ? 'true' : 'false'\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"_onClick($event)\"\n >\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-item-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n @if (_expandable()) {\n <button idsIconButton type=\"button\" [disabled]=\"disabled()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" [fontIcon]=\"_expanded ? 'chevron-up' : 'chevron-down'\" />\n </button>\n }\n </a>\n @if (_expandable()) {\n <ul class=\"ids-side-nav-item-expandable-submenu\" [class.expanded]=\"_expanded\">\n <ng-content select=\"ids-side-nav-item,[idsSideNavItem]\" />\n <ng-container *ngTemplateOutlet=\"_contentTemplate()\" />\n </ul>\n }\n <ng-content select=\"ng-template\" />\n `,\n host: {\n class: 'ids-side-nav-item',\n '[class.ids-side-nav-item-expandable]': '_expandable()',\n '[role]': '_expandable() ? \"group\" : \"treeitem\"',\n },\n})\nexport class IdsSideNavItemComponent {\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n public label = input.required<string>();\n public target = input<string>('');\n public templateChildren = input<TemplateRef<HTMLElement>>();\n public active = computed(() =>\n this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }),\n );\n\n protected _expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate());\n protected _expanded = false;\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n protected readonly _contentTemplate = contentChild('idsSideNavItemChildren', { read: TemplateRef });\n private readonly _contentChildren = contentChildren(IdsSideNavItemComponent);\n private readonly _router = inject(Router, { skipSelf: true });\n\n constructor() {\n effect(() => {\n const sideNavChildren = this._contentChildren();\n\n untracked(() => {\n sideNavChildren.forEach((child) => {\n if (child.active()) {\n this._expanded = true;\n }\n });\n });\n });\n }\n\n protected _onClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n const eventTarget = event.target as Element;\n\n if (!this.target()) {\n this._toggle();\n } else if (\n eventTarget.localName === 'button' ||\n (eventTarget.localName === 'ids-icon' && !eventTarget.hasAttribute('icon-leading') && !eventTarget.hasAttribute('icon-trailing'))\n ) {\n this._toggle();\n } else {\n this._navigate();\n }\n }\n\n protected _onKeyDown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n if ([\n 'Enter',\n 'Space',\n ].includes(event.code)) {\n event.preventDefault();\n if ((event.target as Element).localName === 'button') {\n this._toggle();\n } else {\n this._navigate();\n }\n } else if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n ].includes(event.code)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this._toggle();\n }\n }\n\n protected _toggle(): void {\n if (this._expandable()) {\n this._expanded = !this._expanded;\n }\n }\n\n protected _navigate(): void {\n const target = this.target();\n if (target) {\n this._router.navigateByUrl(target);\n }\n }\n}\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { Component, contentChildren, inject, input } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n/**\n * Side navigation (section) title\n * - title of the navigation section\n * - it can be used with selectors like `ids-side-nav-title` or `li[idsSideNavTitle]`\n * - leading and trailing icons should be projected, label is bound by input\n */\n@Component({\n selector: 'ids-side-nav-title, li[idsSideNavTitle]',\n imports: [],\n template: `\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-title-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n `,\n host: {\n class: 'ids-side-nav-title',\n role: 'treeitem',\n },\n})\nexport class IdsSideNavTitleComponent {\n public label = input.required<string>();\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n}\n","import { Component } from '@angular/core';\n\n/**\n * Side navigation section\n * - section wrapper inside the navigation\n * - it can be used with selectors like `ids-side-nav-section` or `li[idsSideNavSection]`\n * - content should be projected\n */\n@Component({\n selector: 'ids-side-nav-section, ul[idsSideNavSection]',\n imports: [],\n template: '<ng-content />',\n host: {\n class: 'ids-side-nav-section',\n role: 'tree',\n },\n})\nexport class IdsSideNavSectionComponent {}\n","import { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavDefaultConfig } from './side-nav-defaults';\nimport { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { Component, computed, input } from '@angular/core';\nimport { coerceBooleanAttribute, ComponentBaseWithDefaults, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IDS_ICON_BUTTON_PARENT, IdsIconButtonAppearanceType, IdsIconButtonVariantType, IdsIconButtonParent } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY();\n\n/**\n * Side navigation\n * - wrapper element for side navigation elements (sections, then title and items as part of section)\n * - content should be projected\n */\n@Component({\n selector: 'nav[idsSideNav]',\n template: '<ng-content/>',\n host: {\n class: 'ids-side-nav',\n },\n providers: [\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_PARENT,\n useExisting: IdsSideNavComponent,\n },\n ],\n})\nexport class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDefaultConfig> implements IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'side-nav';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);\n\n public appearance = input<IdsSideNavAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSideNavVariantType>(this._defaultConfig.variant);\n public hasLabel = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasLabel));\n public hasActiveIndicator = input<boolean>(coerceBooleanAttribute(this._defaultConfig.hasActiveIndicator));\n\n public embeddedIconButtonAppearance = computed<IdsIconButtonAppearanceType>(() => this.appearance());\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => this.variant());\n public embeddedIconButtonSize = computed<IdsSizeType>(() => {\n switch (this.size()) {\n // NOTE: SPACIOUS icon button size sticks out of side-nav item, size need to be adjusted\n case IdsSize.SPACIOUS:\n return IdsSize.COMFORTABLE;\n default:\n return this.size();\n }\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.variant(),\n this.size(),\n ]));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAAO,MAAM,iBAAiB,GAAG;AAC/B,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;ACFT,MAAM,oBAAoB,GAAG;AAClC,IAAA,QAAQ,EAAE,UAAU;;;MCaT,2BAA2B,GAAG,IAAI,cAAc,CAC3D,6BAA6B,EAC7B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,mCAAmC;AAC7C,CAAA;SAGa,mCAAmC,GAAA;IACjD,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,QAAQ;QACzC,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,OAAO,EAAE,iBAAiB,CAAC,OAAO;AAClC,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,QAAQ,EAAE,IAAI;KACf;AACH;;AC1BO,MAAM,mBAAmB,GAAG,IAAI,cAAc,CACnD,qBAAqB,CACtB;;ACGD;;;;;;;AAOG;MAoDU,uBAAuB,CAAA;AAkBlC,IAAA,WAAA,GAAA;AAjBO,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAI,SAAS,EAAE,CAAC,KAAuB,KAAK,sBAAsB,CAAC,KAAK,CAAC,EAAA,CAAA,GAAA,CAAvE,EAAE,SAAS,EAAE,CAAC,KAAuB,KAAK,sBAAsB,CAAC,KAAK,CAAC,EAAE,GAAC;AAClG,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAU;AAChC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;QAC1B,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA4B;AACpD,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,kDAC7H;QAES,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,uDAAC;QAC3F,IAAA,CAAA,SAAS,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAmB,gBAAgB,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAmB,iBAAiB,yDAAC;QAC3D,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzD,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,oDAAI,IAAI,EAAE,WAAW,EAAA,CAAA,GAAA,CAAnB,EAAE,IAAI,EAAE,WAAW,EAAE,GAAC;AAClF,QAAA,IAAA,CAAA,gBAAgB,GAAG,eAAe,CAAC,uBAAuB,4DAAC;QAC3D,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAG3D,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAE/C,SAAS,CAAC,MAAK;AACb,gBAAA,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAChC,oBAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AAClB,wBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;oBACvB;AACF,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEU,IAAA,QAAQ,CAAC,KAAiB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB;QACF;AACA,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAiB;AAE3C,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE;QAChB;AAAO,aAAA,IACL,WAAW,CAAC,SAAS,KAAK,QAAQ;aACjC,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,EACjI;YACA,IAAI,CAAC,OAAO,EAAE;QAChB;aAAO;YACL,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;AAEU,IAAA,UAAU,CAAC,KAAoB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB;QACF;QACA,IAAI;YACF,OAAO;YACP,OAAO;AACR,SAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,CAAC,cAAc,EAAE;YACtB,IAAK,KAAK,CAAC,MAAkB,CAAC,SAAS,KAAK,QAAQ,EAAE;gBACpD,IAAI,CAAC,OAAO,EAAE;YAChB;iBAAO;gBACL,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;aAAO,IAAI;YACT,SAAS;YACT,WAAW;YACX,QAAQ;AACT,SAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,wBAAwB,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEU,OAAO,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAClC;IACF;IAEU,SAAS,GAAA;AACjB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;QACpC;IACF;8GAtFW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,UAAA,EAAA,EAAA,oCAAA,EAAA,eAAA,EAAA,MAAA,EAAA,0CAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAcmD,WAAW,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAC5C,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3DjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAzCC,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,sBAAsB,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FA8CP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAnDnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,sBAAsB;wBACtB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,sCAAsC,EAAE,eAAe;AACvD,wBAAA,QAAQ,EAAE,sCAAsC;AACjD,qBAAA;AACF,iBAAA;;;AC9DD;;;;;AAKG;MAoBU,wBAAwB,CAAA;AAnBrC,IAAA,WAAA,GAAA;AAoBS,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAU;AAC7B,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAmB,gBAAgB,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAmB,iBAAiB,yDAAC;QAC3D,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC7E,IAAA;8GALY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhBzB;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAMU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAnBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,QAAQ,EAAE;;;;;;;;;;AAUT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;AACF,iBAAA;;;AC3BD;;;;;AAKG;MAUU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,yLAN3B,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAMf,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,IAAI,EAAE,MAAM;AACb,qBAAA;AACF,iBAAA;;;ACPD,MAAM,aAAa,GAAG,mCAAmC,EAAE;AAE3D;;;;AAIG;AAkBG,MAAO,mBAAoB,SAAQ,yBAAkD,CAAA;AAjB3F,IAAA,WAAA,GAAA;;QAsBqB,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,2BAA2B,CAAC;QAE/F,IAAA,CAAA,UAAU,GAAG,KAAK,CAA2B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC5E,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,CAAwB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACnE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAC/E,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAU,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAEnG,IAAA,CAAA,4BAA4B,GAAG,QAAQ,CAA8B,MAAM,IAAI,CAAC,UAAU,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7F,IAAA,CAAA,yBAAyB,GAAG,QAAQ,CAA2B,MAAM,IAAI,CAAC,OAAO,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,2BAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACpF,QAAA,IAAA,CAAA,sBAAsB,GAAG,QAAQ,CAAc,MAAK;AACzD,YAAA,QAAQ,IAAI,CAAC,IAAI,EAAE;;gBAEjB,KAAK,OAAO,CAAC,QAAQ;oBACnB,OAAO,OAAO,CAAC,WAAW;AAC5B,gBAAA;AACE,oBAAA,OAAO,IAAI,CAAC,IAAI,EAAE;;AAExB,QAAA,CAAC,kEAAC;QAEQ,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,IAAI,EAAE;AACZ,SAAA,CAAC,wDAAC;AACJ,IAAA;AA7BC,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,UAAU;IACnB;8GAHW,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,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,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAXnB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,WAAW,EAAE,mBAAmB;AACjC,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,mBAAmB;AACjC,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbS,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAed,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAjB/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,cAAc;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,WAAW,EAAA,mBAAqB;AACjC,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAA,mBAAqB;AACjC,yBAAA;AACF,qBAAA;AACF,iBAAA;;;AChCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-side-nav.mjs","sources":["../../../projects/widgets/side-nav/tokens/ids-side-nav-router.ts","../../../projects/widgets/side-nav/types/side-nav-variant.type.ts","../../../projects/widgets/side-nav/types/side-nav-appearance.type.ts","../../../projects/widgets/side-nav/side-nav-defaults.ts","../../../projects/widgets/side-nav/tokens/ids-side-nav-parent.ts","../../../projects/widgets/side-nav/side-nav-item.component.ts","../../../projects/widgets/side-nav/side-nav-title.component.ts","../../../projects/widgets/side-nav/side-nav-section.component.ts","../../../projects/widgets/side-nav/side-nav.component.ts","../../../projects/widgets/side-nav/i-cell-ids-angular-side-nav.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Router } from '@angular/router';\n\nexport const IDS_SIDE_NAV_ROUTER = new InjectionToken<Router>(\n 'IDS_SIDE_NAV_ROUTER',\n);\n","export const IdsSideNavVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSideNavVariantType = (typeof IdsSideNavVariant)[keyof typeof IdsSideNavVariant];\n","export const IdsSideNavAppearance = {\n STANDARD: 'standard',\n} as const;\n\nexport type IdsSideNavAppearanceType = (typeof IdsSideNavAppearance)[keyof typeof IdsSideNavAppearance];\n","import { IdsSideNavAppearance, IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariant, IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideNavDefaultConfig {\n appearance?: IdsSideNavAppearanceType,\n size?: IdsSizeType,\n variant?: IdsSideNavVariantType,\n hasActiveIndicator?: boolean,\n hasLabel?: boolean,\n hasTooltip?: boolean,\n}\n\nexport const IDS_SIDE_NAV_DEFAULT_CONFIG = new InjectionToken<IdsSideNavDefaultConfig>(\n 'IDS_SIDE_NAV_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY(): Required<IdsSideNavDefaultConfig> {\n return {\n appearance: IdsSideNavAppearance.STANDARD,\n size: IdsSize.COMPACT,\n variant: IdsSideNavVariant.SURFACE,\n hasActiveIndicator: false,\n hasLabel: true,\n hasTooltip: false,\n };\n}\n\n","import { IdsSideNavComponent } from '../side-nav.component';\n\nimport { InjectionToken } from '@angular/core';\n\nexport const IDS_SIDE_NAV_PARENT = new InjectionToken<IdsSideNavComponent>(\n 'IDS_SIDE_NAV_PARENT',\n);\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IDS_SIDE_NAV_ROUTER } from './tokens/ids-side-nav-router';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n contentChild,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n TemplateRef,\n untracked,\n} from '@angular/core';\nimport { coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n/**\n * Side navigation item\n * - it can be a single list element or an expandable list element, containing another list of elements\n * - it can be used with selectors like `ids-side-nav-item` or `li[idsSideNavItem]`\n * - children can be provided with content projection:\n * - either project `ids-side-nav-item` elements\n * - or list elements as `<li>` elements in an ng-template, marked with `idsSideNavItemChildren` variable\n */\n@Component({\n selector: 'ids-side-nav-item, li[idsSideNavItem]',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n NgTemplateOutlet,\n ],\n template: `\n <a\n idsTooltipPosition=\"east\"\n [idsTooltip]=\"label()\"\n [idsTooltipDisabled]=\"!_parent?.hasTooltip() || !label() || disabled()\"\n [idsTooltipIgnoreClipped]=\"true\"\n [class.ids-side-nav-item-single]=\"!_expandable()\"\n [class.ids-side-nav-item-expandable-summary]=\"_expandable()\"\n [attr.tabindex]=\"!disabled() ? 0 : null\"\n [attr.disabled]=\"disabled() ? '' : null\"\n [attr.is-active]=\"active() ? '' : null\"\n [attr.is-active-indicator]=\"active() && _parent?.hasActiveIndicator() ? '' : null\"\n [attr.aria-disabled]=\"disabled() ? '' : null\"\n [attr.aria-current]=\"active()\"\n [attr.aria-expanded]=\"!_expandable() ? null : _expanded() ? 'true' : 'false'\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"_onClick($event)\"\n >\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-item-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n @if (_expandable()) {\n <button idsIconButton type=\"button\" [disabled]=\"disabled()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" [fontIcon]=\"_expanded() ? 'chevron-up' : 'chevron-down'\" />\n </button>\n }\n </a>\n @if (_expandable()) {\n <ul class=\"ids-side-nav-item-expandable-submenu\" [class.expanded]=\"_expanded()\">\n <ng-content select=\"ids-side-nav-item,[idsSideNavItem]\" />\n <ng-container *ngTemplateOutlet=\"_contentTemplate()\" />\n </ul>\n }\n <ng-content select=\"ng-template\" />\n `,\n host: {\n class: 'ids-side-nav-item',\n '[class.ids-side-nav-item-expandable]': '_expandable()',\n '[role]': '_expandable() ? \"group\" : \"treeitem\"',\n },\n})\nexport class IdsSideNavItemComponent {\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n public label = input.required<string>();\n public target = input<string>('');\n public templateChildren = input<TemplateRef<HTMLElement>>();\n public active = computed(() => {\n this._parent?.navigationChange();\n return this._router.isActive(this.target(), { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' });\n });\n\n protected _expandable = computed(() => this._contentChildren().length > 0 || this._contentTemplate());\n protected _expanded = linkedSignal(() => {\n this._parent?.navigationChange();\n return this._contentChildren().some((child) => child.active());\n });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n protected readonly _contentTemplate = contentChild('idsSideNavItemChildren', { read: TemplateRef });\n private readonly _contentChildren = contentChildren(IdsSideNavItemComponent);\n private readonly _router = inject(IDS_SIDE_NAV_ROUTER, { skipSelf: true });\n private _elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const contentLength = this._contentChildren().length;\n\n untracked(() => {\n if (this._expandable()) {\n this._elementRef.nativeElement.style.setProperty('--submenu-items-count', contentLength.toString());\n }\n });\n });\n }\n\n protected _onClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n const eventTarget = event.target as Element;\n\n if (!this.target()) {\n this._toggle();\n } else if (\n eventTarget.localName === 'button' ||\n (eventTarget.localName === 'ids-icon' && !eventTarget.hasAttribute('icon-leading') && !eventTarget.hasAttribute('icon-trailing'))\n ) {\n this._toggle();\n } else {\n this._navigate();\n }\n }\n\n protected _onKeyDown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n if ([\n 'Enter',\n 'Space',\n ].includes(event.code)) {\n event.preventDefault();\n if ((event.target as Element).localName === 'button') {\n this._toggle();\n } else {\n this._navigate();\n }\n } else if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n ].includes(event.code)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this._toggle();\n }\n }\n\n protected _toggle(): void {\n if (this._expandable()) {\n this._expanded.set(!this._expanded());\n }\n }\n\n protected _navigate(): void {\n const target = this.target();\n if (target) {\n this._router.navigateByUrl(target);\n }\n }\n}\n","import { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\n\nimport { Component, contentChildren, inject, input } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n/**\n * Side navigation (section) title\n * - title of the navigation section\n * - it can be used with selectors like `ids-side-nav-title` or `li[idsSideNavTitle]`\n * - leading and trailing icons should be projected, label is bound by input\n */\n@Component({\n selector: 'ids-side-nav-title, li[idsSideNavTitle]',\n imports: [],\n template: `\n @if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n }\n @if (_parent?.hasLabel()) {\n <span class=\"ids-side-nav-title-label\">{{ label() }}</span>\n }\n @if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n }\n `,\n host: {\n class: 'ids-side-nav-title',\n role: 'treeitem',\n },\n})\nexport class IdsSideNavTitleComponent {\n public label = input.required<string>();\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n protected readonly _parent = inject(IDS_SIDE_NAV_PARENT, { optional: true });\n}\n","import { Component } from '@angular/core';\n\n/**\n * Side navigation section\n * - section wrapper inside the navigation\n * - it can be used with selectors like `ids-side-nav-section` or `li[idsSideNavSection]`\n * - content should be projected\n */\n@Component({\n selector: 'ids-side-nav-section, ul[idsSideNavSection]',\n imports: [],\n template: '<ng-content />',\n host: {\n class: 'ids-side-nav-section',\n role: 'tree',\n },\n})\nexport class IdsSideNavSectionComponent {}\n","import { IDS_SIDE_NAV_DEFAULT_CONFIG, IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY, IdsSideNavDefaultConfig } from './side-nav-defaults';\nimport { IDS_SIDE_NAV_PARENT } from './tokens/ids-side-nav-parent';\nimport { IDS_SIDE_NAV_ROUTER } from './tokens/ids-side-nav-router';\nimport { IdsSideNavAppearanceType } from './types/side-nav-appearance.type';\nimport { IdsSideNavVariantType } from './types/side-nav-variant.type';\n\nimport { booleanAttribute, Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { ComponentBaseWithDefaults, IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\nimport {\n IDS_ICON_BUTTON_PARENT,\n IdsIconButtonAppearanceType,\n IdsIconButtonVariantType,\n IdsIconButtonParent,\n} from '@i-cell/ids-angular/icon-button';\nimport { filter } from 'rxjs';\n\nconst defaultConfig = IDS_SIDE_NAV_DEFAULT_CONFIG_FACTORY();\n\n/**\n * Side navigation\n * - wrapper element for side navigation elements (sections, then title and items as part of section)\n * - content should be projected\n */\n@Component({\n selector: 'nav[idsSideNav]',\n template: '<ng-content/>',\n host: {\n class: 'ids-side-nav',\n },\n providers: [\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_PARENT,\n useExisting: IdsSideNavComponent,\n },\n {\n provide: IDS_SIDE_NAV_ROUTER,\n useExisting: Router,\n },\n ],\n})\nexport class IdsSideNavComponent extends ComponentBaseWithDefaults<IdsSideNavDefaultConfig> implements IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'side-nav';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_NAV_DEFAULT_CONFIG);\n protected readonly _router = inject(IDS_SIDE_NAV_ROUTER);\n\n public appearance = input<IdsSideNavAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSideNavVariantType>(this._defaultConfig.variant);\n public hasActiveIndicator = input<unknown, boolean>(this._defaultConfig.hasActiveIndicator, { transform: booleanAttribute });\n public hasLabel = input<unknown, boolean>(this._defaultConfig.hasLabel, { transform: booleanAttribute });\n public hasTooltip = input<unknown, boolean>(this._defaultConfig.hasTooltip, { transform: booleanAttribute });\n public navigationChange = toSignal(this._router.events.pipe(filter((event) => event instanceof NavigationEnd)));\n\n public embeddedIconButtonAppearance = computed<IdsIconButtonAppearanceType>(() => this.appearance());\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => this.variant());\n public embeddedIconButtonSize = computed<IdsSizeType>(() => {\n switch (this.size()) {\n // NOTE: SPACIOUS icon button size sticks out of side-nav item, size need to be adjusted\n case IdsSize.SPACIOUS:\n return IdsSize.COMFORTABLE;\n default:\n return this.size();\n }\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.variant(),\n this.size(),\n ]));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ class SideSheetHeaderComponent {
|
|
|
68
68
|
this.backClicked.emit();
|
|
69
69
|
}
|
|
70
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer"] }] }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }] }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
@@ -76,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
76
76
|
IdsIconComponent,
|
|
77
77
|
IdsIconButtonComponent,
|
|
78
78
|
IdsTooltipDirective,
|
|
79
|
-
], template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n" }]
|
|
79
|
+
], template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n" }]
|
|
80
80
|
}] });
|
|
81
81
|
|
|
82
82
|
const defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();
|
|
@@ -127,7 +127,7 @@ class IdsSideSheetComponent extends ComponentBaseWithDefaults {
|
|
|
127
127
|
this.backClicked.emit();
|
|
128
128
|
}
|
|
129
129
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
131
131
|
trigger('slideInOut', [
|
|
132
132
|
transition('void => left', [
|
|
133
133
|
style({ transform: 'translateX(-100%)' }),
|
|
@@ -168,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
168
168
|
NgClass,
|
|
169
169
|
A11yModule,
|
|
170
170
|
CdkTrapFocus,
|
|
171
|
-
], template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n" }]
|
|
171
|
+
], template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n" }]
|
|
172
172
|
}] });
|
|
173
173
|
|
|
174
174
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -151,7 +151,7 @@ class IdsSwitchComponent extends ComponentBaseWithDefaults {
|
|
|
151
151
|
useExisting: IdsSwitchComponent,
|
|
152
152
|
multi: true,
|
|
153
153
|
},
|
|
154
|
-
], viewQueries: [{ propertyName: "_switchElement", first: true, predicate: ["switch"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"
|
|
154
|
+
], viewQueries: [{ propertyName: "_switchElement", first: true, predicate: ["switch"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n </div>\n <div class=\"ids-switch__track-icon\">\n @if (!_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n </div>\n }\n <div class=\"ids-switch__handle\">\n @if (_hasHandleIcon()) {\n <!-- needs to be here duplicate ids-icon because of animation :enter and :leave -->\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n } @else {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n }\n </div>\n </div>\n</button>\n\n<label class=\"ids-switch__label\" [for]=\"id()\">{{ label() }}</label>\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], animations: [switchAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
155
155
|
}
|
|
156
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSwitchComponent, decorators: [{
|
|
157
157
|
type: Component,
|
|
@@ -167,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
167
167
|
'[aria-label]': 'ariaLabel()',
|
|
168
168
|
'[aria-labelledby]': 'ariaLabelledBy()',
|
|
169
169
|
'[aria-describedby]': 'ariaDescribedBy()',
|
|
170
|
-
}, template: "<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"
|
|
170
|
+
}, template: "<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n </div>\n <div class=\"ids-switch__track-icon\">\n @if (!_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n </div>\n }\n <div class=\"ids-switch__handle\">\n @if (_hasHandleIcon()) {\n <!-- needs to be here duplicate ids-icon because of animation :enter and :leave -->\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n } @else {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n }\n </div>\n </div>\n</button>\n\n<label class=\"ids-switch__label\" [for]=\"id()\">{{ label() }}</label>\n" }]
|
|
171
171
|
}], propDecorators: { disabled: [{
|
|
172
172
|
type: Input,
|
|
173
173
|
args: [{ transform: coerceBooleanAttribute }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-switch.mjs","sources":["../../../projects/widgets/switch/types/switch-positions.type.ts","../../../projects/widgets/switch/types/switch-variant.type.ts","../../../projects/widgets/switch/switch-defaults.ts","../../../projects/widgets/switch/switch-group.component.ts","../../../projects/widgets/switch/switch-group.component.html","../../../projects/widgets/switch/switch-animations.ts","../../../projects/widgets/switch/switch.component.ts","../../../projects/widgets/switch/switch.component.html","../../../projects/widgets/switch/i-cell-ids-angular-switch.ts"],"sourcesContent":["export const IdsSwitchIconPosition = {\n ONHANDLE: 'onhandle',\n ONTRACK: 'ontrack',\n} as const;\n\nexport type IdsSwitchIconPositionType = (typeof IdsSwitchIconPosition)[keyof typeof IdsSwitchIconPosition];\n\nexport const IdsSwitchLabelPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSwitchLabelPositionType = (typeof IdsSwitchLabelPosition)[keyof typeof IdsSwitchLabelPosition];\n","export const IdsSwitchVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSwitchVariantType = (typeof IdsSwitchVariant)[keyof typeof IdsSwitchVariant];\n","import { IdsSwitchIconPosition, IdsSwitchIconPositionType, IdsSwitchLabelPosition, IdsSwitchLabelPositionType } from './types/switch-positions.type';\nimport { IdsSwitchVariant, IdsSwitchVariantType } from './types/switch-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSwitchDefaultConfig {\n size?: IdsSizeType\n variant?: IdsSwitchVariantType\n hasIcon?: boolean\n iconPosition: IdsSwitchIconPositionType\n labelPosition: IdsSwitchLabelPositionType\n}\n\nexport const IDS_SWITCH_DEFAULT_CONFIG = new InjectionToken<IdsSwitchDefaultConfig>(\n 'IDS_SWITCH_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SWITCH_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SWITCH_DEFAULT_CONFIG_FACTORY(): Required<IdsSwitchDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsSwitchVariant.SURFACE,\n hasIcon: false,\n iconPosition: IdsSwitchIconPosition.ONHANDLE,\n labelPosition: IdsSwitchLabelPosition.RIGHT,\n };\n}\n","import { IDS_SWITCH_DEFAULT_CONFIG, IDS_SWITCH_DEFAULT_CONFIG_FACTORY, IdsSwitchDefaultConfig } from './switch-defaults';\n\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SWITCH_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-switch-group',\n imports: [],\n templateUrl: './switch-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsSwitchGroupComponent extends ComponentBaseWithDefaults<IdsSwitchDefaultConfig> {\n protected override get _hostName(): string {\n return 'switch-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SWITCH_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType | null>(this._defaultConfig.size);\n public hasIcon = input(this._defaultConfig.hasIcon);\n public iconPosition = input(this._defaultConfig.iconPosition);\n public labelPosition = input(this._defaultConfig.labelPosition);\n\n protected _hostClasses = computed(() => this._getHostClasses([this.size()]));\n}\n","<ng-content select=\"ids-switch\" />\n","import { animate, AnimationTriggerMetadata, query, style, transition, trigger } from '@angular/animations';\n\nexport const switchAnimation: AnimationTriggerMetadata = trigger('switchAnimation', [\n transition('off <=> on', [\n query('.ids-icon:enter', [\n style({ opacity: 0 }),\n animate('0.1s ease-in', style({ opacity: 1 })),\n ], { optional: true }),\n query('.ids-icon:leave', [animate('0.1s ease-out', style({ opacity: 0 }))], { optional: true }),\n ]),\n]);\n","import { switchAnimation } from './switch-animations';\nimport { IDS_SWITCH_DEFAULT_CONFIG, IDS_SWITCH_DEFAULT_CONFIG_FACTORY, IdsSwitchDefaultConfig } from './switch-defaults';\nimport { IdsSwitchGroupComponent } from './switch-group.component';\nimport { IdsSwitchIconPosition } from './types/switch-positions.type';\nimport { IdsSwitchVariantType } from './types/switch-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Input, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBooleanAttribute, IdsSizeType, fallbackValue, coerceNumberAttribute, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_SWITCH_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: `ids-switch[ngModel]:not([formControl]):not([formControlName]),\n ids-switch[formControl]:not([ngModel]):not([formControlName]),\n ids-switch[formControlName]:not([ngModel]):not([formControl])`,\n imports: [IdsIconComponent],\n templateUrl: './switch.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IdsSwitchComponent,\n multi: true,\n },\n ],\n animations: [switchAnimation],\n host: {\n '[aria-label]': 'ariaLabel()',\n '[aria-labelledby]': 'ariaLabelledBy()',\n '[aria-describedby]': 'ariaDescribedBy()',\n },\n})\nexport class IdsSwitchComponent extends ComponentBaseWithDefaults<IdsSwitchDefaultConfig> {\n protected override get _hostName(): string {\n return 'switch';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SWITCH_DEFAULT_CONFIG);\n\n private _switchGroup = inject(IdsSwitchGroupComponent, { optional: true });\n\n private _switchElement = viewChild<ElementRef<HTMLInputElement>>('switch');\n\n protected _isChecked = signal(false);\n\n public label = input<string>();\n public name = input<string | null>();\n public readonly = input(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public tabIndex = input(0, { transform: coerceNumberAttribute });\n public variant = input<IdsSwitchVariantType>(this._defaultConfig.variant);\n public hasIcon = input(this._defaultConfig.hasIcon);\n public iconPosition = input(this._defaultConfig.iconPosition);\n public labelPosition = input(this._defaultConfig.labelPosition);\n protected _isDisabled = signal(false);\n public ariaLabel = input<string| null>(null, { alias: 'aria-label' });\n public ariaLabelledBy = input<string | null, string>(null,\n { alias: 'aria-labelledby', transform: (val) => fallbackValue(val, this.id()) },\n );\n\n public ariaDescribedBy = input<string | null>(null, { alias: 'aria-describedby' });\n\n protected _parentOrSelfSize = computed(() => this._switchGroup?.size() ?? this.size());\n protected _parentOrSelfHasIcon = computed(() => this._switchGroup?.hasIcon() ?? this.hasIcon());\n protected _parentOrSelfIconPosition = computed(() => this._switchGroup?.iconPosition() ?? this.iconPosition());\n protected _parentOrSelfLabelPosition = computed(() => this._switchGroup?.labelPosition() ?? this.labelPosition());\n protected _hasHandleIcon = computed(() =>\n this._parentOrSelfHasIcon() && this._parentOrSelfIconPosition() === IdsSwitchIconPosition.ONHANDLE,\n );\n\n protected _hasTrackIcon = computed(() =>\n this._parentOrSelfHasIcon() && this._parentOrSelfIconPosition() === IdsSwitchIconPosition.ONTRACK,\n );\n\n private _isFocusable = computed(() => !this._isDisabled() && !this.readonly());\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfSize(),\n this.variant(),\n this._isDisabled() ? 'disabled' : null,\n this._isChecked() ? 'on' : null,\n [\n 'label',\n this._parentOrSelfLabelPosition(),\n ],\n ]),\n );\n\n private _onChange: (value: unknown) => void = () => { };\n private _onTouched: () => unknown = () => { };\n\n @Input({ transform: coerceBooleanAttribute })\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this._isDisabled.set(value);\n }\n }\n\n public focus(): void {\n if (this._isFocusable()) {\n this._switchElement()?.nativeElement.focus();\n }\n }\n\n public writeValue(value: boolean | undefined): void {\n this._isChecked.set(Boolean(value));\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this._isDisabled.set(isDisabled);\n }\n\n public toggle(): void {\n if (!this._isDisabled() && !this.readonly()) {\n this._isChecked.update((checked) => !checked);\n this._onChange(this._isChecked());\n this._onTouched();\n }\n }\n\n protected _handleClick(): void {\n if (!this._isDisabled()) {\n this.toggle();\n }\n }\n}\n","<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"check\" />\n }\n </div>\n <div class=\"ids-switch__track-icon\">\n @if (!_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n </div>\n }\n <div class=\"ids-switch__handle\">\n @if (_hasHandleIcon()) {\n <!-- needs to be here duplicate ids-icon because of animation :enter and :leave -->\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"check\" />\n } @else {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n }\n </div>\n </div>\n</button>\n\n<label class=\"ids-switch__label\" [for]=\"id()\">{{ label() }}</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-switch.mjs","sources":["../../../projects/widgets/switch/types/switch-positions.type.ts","../../../projects/widgets/switch/types/switch-variant.type.ts","../../../projects/widgets/switch/switch-defaults.ts","../../../projects/widgets/switch/switch-group.component.ts","../../../projects/widgets/switch/switch-group.component.html","../../../projects/widgets/switch/switch-animations.ts","../../../projects/widgets/switch/switch.component.ts","../../../projects/widgets/switch/switch.component.html","../../../projects/widgets/switch/i-cell-ids-angular-switch.ts"],"sourcesContent":["export const IdsSwitchIconPosition = {\n ONHANDLE: 'onhandle',\n ONTRACK: 'ontrack',\n} as const;\n\nexport type IdsSwitchIconPositionType = (typeof IdsSwitchIconPosition)[keyof typeof IdsSwitchIconPosition];\n\nexport const IdsSwitchLabelPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSwitchLabelPositionType = (typeof IdsSwitchLabelPosition)[keyof typeof IdsSwitchLabelPosition];\n","export const IdsSwitchVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSwitchVariantType = (typeof IdsSwitchVariant)[keyof typeof IdsSwitchVariant];\n","import { IdsSwitchIconPosition, IdsSwitchIconPositionType, IdsSwitchLabelPosition, IdsSwitchLabelPositionType } from './types/switch-positions.type';\nimport { IdsSwitchVariant, IdsSwitchVariantType } from './types/switch-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSwitchDefaultConfig {\n size?: IdsSizeType\n variant?: IdsSwitchVariantType\n hasIcon?: boolean\n iconPosition: IdsSwitchIconPositionType\n labelPosition: IdsSwitchLabelPositionType\n}\n\nexport const IDS_SWITCH_DEFAULT_CONFIG = new InjectionToken<IdsSwitchDefaultConfig>(\n 'IDS_SWITCH_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SWITCH_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SWITCH_DEFAULT_CONFIG_FACTORY(): Required<IdsSwitchDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsSwitchVariant.SURFACE,\n hasIcon: false,\n iconPosition: IdsSwitchIconPosition.ONHANDLE,\n labelPosition: IdsSwitchLabelPosition.RIGHT,\n };\n}\n","import { IDS_SWITCH_DEFAULT_CONFIG, IDS_SWITCH_DEFAULT_CONFIG_FACTORY, IdsSwitchDefaultConfig } from './switch-defaults';\n\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SWITCH_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-switch-group',\n imports: [],\n templateUrl: './switch-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsSwitchGroupComponent extends ComponentBaseWithDefaults<IdsSwitchDefaultConfig> {\n protected override get _hostName(): string {\n return 'switch-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SWITCH_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType | null>(this._defaultConfig.size);\n public hasIcon = input(this._defaultConfig.hasIcon);\n public iconPosition = input(this._defaultConfig.iconPosition);\n public labelPosition = input(this._defaultConfig.labelPosition);\n\n protected _hostClasses = computed(() => this._getHostClasses([this.size()]));\n}\n","<ng-content select=\"ids-switch\" />\n","import { animate, AnimationTriggerMetadata, query, style, transition, trigger } from '@angular/animations';\n\nexport const switchAnimation: AnimationTriggerMetadata = trigger('switchAnimation', [\n transition('off <=> on', [\n query('.ids-icon:enter', [\n style({ opacity: 0 }),\n animate('0.1s ease-in', style({ opacity: 1 })),\n ], { optional: true }),\n query('.ids-icon:leave', [animate('0.1s ease-out', style({ opacity: 0 }))], { optional: true }),\n ]),\n]);\n","import { switchAnimation } from './switch-animations';\nimport { IDS_SWITCH_DEFAULT_CONFIG, IDS_SWITCH_DEFAULT_CONFIG_FACTORY, IdsSwitchDefaultConfig } from './switch-defaults';\nimport { IdsSwitchGroupComponent } from './switch-group.component';\nimport { IdsSwitchIconPosition } from './types/switch-positions.type';\nimport { IdsSwitchVariantType } from './types/switch-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Input, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBooleanAttribute, IdsSizeType, fallbackValue, coerceNumberAttribute, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_SWITCH_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: `ids-switch[ngModel]:not([formControl]):not([formControlName]),\n ids-switch[formControl]:not([ngModel]):not([formControlName]),\n ids-switch[formControlName]:not([ngModel]):not([formControl])`,\n imports: [IdsIconComponent],\n templateUrl: './switch.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IdsSwitchComponent,\n multi: true,\n },\n ],\n animations: [switchAnimation],\n host: {\n '[aria-label]': 'ariaLabel()',\n '[aria-labelledby]': 'ariaLabelledBy()',\n '[aria-describedby]': 'ariaDescribedBy()',\n },\n})\nexport class IdsSwitchComponent extends ComponentBaseWithDefaults<IdsSwitchDefaultConfig> {\n protected override get _hostName(): string {\n return 'switch';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SWITCH_DEFAULT_CONFIG);\n\n private _switchGroup = inject(IdsSwitchGroupComponent, { optional: true });\n\n private _switchElement = viewChild<ElementRef<HTMLInputElement>>('switch');\n\n protected _isChecked = signal(false);\n\n public label = input<string>();\n public name = input<string | null>();\n public readonly = input(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public tabIndex = input(0, { transform: coerceNumberAttribute });\n public variant = input<IdsSwitchVariantType>(this._defaultConfig.variant);\n public hasIcon = input(this._defaultConfig.hasIcon);\n public iconPosition = input(this._defaultConfig.iconPosition);\n public labelPosition = input(this._defaultConfig.labelPosition);\n protected _isDisabled = signal(false);\n public ariaLabel = input<string| null>(null, { alias: 'aria-label' });\n public ariaLabelledBy = input<string | null, string>(null,\n { alias: 'aria-labelledby', transform: (val) => fallbackValue(val, this.id()) },\n );\n\n public ariaDescribedBy = input<string | null>(null, { alias: 'aria-describedby' });\n\n protected _parentOrSelfSize = computed(() => this._switchGroup?.size() ?? this.size());\n protected _parentOrSelfHasIcon = computed(() => this._switchGroup?.hasIcon() ?? this.hasIcon());\n protected _parentOrSelfIconPosition = computed(() => this._switchGroup?.iconPosition() ?? this.iconPosition());\n protected _parentOrSelfLabelPosition = computed(() => this._switchGroup?.labelPosition() ?? this.labelPosition());\n protected _hasHandleIcon = computed(() =>\n this._parentOrSelfHasIcon() && this._parentOrSelfIconPosition() === IdsSwitchIconPosition.ONHANDLE,\n );\n\n protected _hasTrackIcon = computed(() =>\n this._parentOrSelfHasIcon() && this._parentOrSelfIconPosition() === IdsSwitchIconPosition.ONTRACK,\n );\n\n private _isFocusable = computed(() => !this._isDisabled() && !this.readonly());\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfSize(),\n this.variant(),\n this._isDisabled() ? 'disabled' : null,\n this._isChecked() ? 'on' : null,\n [\n 'label',\n this._parentOrSelfLabelPosition(),\n ],\n ]),\n );\n\n private _onChange: (value: unknown) => void = () => { };\n private _onTouched: () => unknown = () => { };\n\n @Input({ transform: coerceBooleanAttribute })\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this._isDisabled.set(value);\n }\n }\n\n public focus(): void {\n if (this._isFocusable()) {\n this._switchElement()?.nativeElement.focus();\n }\n }\n\n public writeValue(value: boolean | undefined): void {\n this._isChecked.set(Boolean(value));\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this._isDisabled.set(isDisabled);\n }\n\n public toggle(): void {\n if (!this._isDisabled() && !this.readonly()) {\n this._isChecked.update((checked) => !checked);\n this._onChange(this._isChecked());\n this._onTouched();\n }\n }\n\n protected _handleClick(): void {\n if (!this._isDisabled()) {\n this.toggle();\n }\n }\n}\n","<button\n #switch\n role=\"switch\"\n type=\"button\"\n class=\"ids-switch__button\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [id]=\"id()\"\n [name]=\"name()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedBy()\"\n [attr.aria-checked]=\"_isChecked()\"\n [@switchAnimation]=\"_isChecked() ? 'on' : 'off'\"\n (click)=\"_handleClick()\"\n>\n <div class=\"ids-switch__track\">\n @if (_hasTrackIcon()) {\n <div class=\"ids-switch__track-icon\">\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n </div>\n <div class=\"ids-switch__track-icon\">\n @if (!_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n </div>\n }\n <div class=\"ids-switch__handle\">\n @if (_hasHandleIcon()) {\n <!-- needs to be here duplicate ids-icon because of animation :enter and :leave -->\n @if (_isChecked()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n } @else {\n <ids-icon aria-hidden=\"true\" fontIcon=\"close\" />\n }\n }\n </div>\n </div>\n</button>\n\n<label class=\"ids-switch__label\" [for]=\"id()\">{{ label() }}</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|
|
@@ -325,6 +325,7 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
|
|
|
325
325
|
this.textAlign = input('auto', ...(ngDevMode ? [{ debugName: "textAlign", alias: 'idsTooltipTextAlign' }] : [{ alias: 'idsTooltipTextAlign' }]));
|
|
326
326
|
this.tooltipClass = input(undefined, ...(ngDevMode ? [{ debugName: "tooltipClass", alias: 'idsTooltipClass' }] : [{ alias: 'idsTooltipClass' }]));
|
|
327
327
|
this.showPointer = input(this._defaultConfig.showPointer, ...(ngDevMode ? [{ debugName: "showPointer", alias: 'idsTooltipShowPointer' }] : [{ alias: 'idsTooltipShowPointer' }]));
|
|
328
|
+
this.ignoreClipped = input(false, ...(ngDevMode ? [{ debugName: "ignoreClipped", alias: 'idsTooltipIgnoreClipped' }] : [{ alias: 'idsTooltipIgnoreClipped' }]));
|
|
328
329
|
this._hostClasses = computed(() => this._getHostClasses([]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
329
330
|
this._tooltipClassEffect = effect(() => {
|
|
330
331
|
this._setTooltipInputs(this.message(), this._currentPosition() ?? this.position(), this.size(), this.variant(), this.textAlign(), this.hideDelay(), this.tooltipClass(), this.showPointer());
|
|
@@ -397,7 +398,9 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
|
|
|
397
398
|
.withScrollableContainers(scrollableAncestors);
|
|
398
399
|
strategy.positionChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((change) => {
|
|
399
400
|
this._updateCurrentPositionClass(change.connectionPair);
|
|
400
|
-
if (
|
|
401
|
+
if (!this.ignoreClipped() &&
|
|
402
|
+
change.scrollableViewProperties.isOverlayClipped &&
|
|
403
|
+
this._tooltipInstance) {
|
|
401
404
|
this._ngZone.run(() => this.hide(0));
|
|
402
405
|
}
|
|
403
406
|
});
|
|
@@ -568,7 +571,7 @@ class IdsTooltipDirective extends DirectiveBaseWithDefaults {
|
|
|
568
571
|
this._focusMonitor.stopMonitoring(nativeElement);
|
|
569
572
|
}
|
|
570
573
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsTooltipDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
571
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: IdsTooltipDirective, isStandalone: true, selector: "[idsTooltip]", inputs: { message: { classPropertyName: "message", publicName: "idsTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "idsTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "idsTooltipSize", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "idsTooltipVariant", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "idsTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "idsTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "idsTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, touchGestures: { classPropertyName: "touchGestures", publicName: "idsTooltipTouchGestures", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "idsTooltipTextAlign", isSignal: true, isRequired: false, transformFunction: null }, tooltipClass: { classPropertyName: "tooltipClass", publicName: "idsTooltipClass", isSignal: true, isRequired: false, transformFunction: null }, showPointer: { classPropertyName: "showPointer", publicName: "idsTooltipShowPointer", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
574
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: IdsTooltipDirective, isStandalone: true, selector: "[idsTooltip]", inputs: { message: { classPropertyName: "message", publicName: "idsTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "idsTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "idsTooltipSize", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "idsTooltipVariant", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "idsTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "idsTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "idsTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, touchGestures: { classPropertyName: "touchGestures", publicName: "idsTooltipTouchGestures", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "idsTooltipTextAlign", isSignal: true, isRequired: false, transformFunction: null }, tooltipClass: { classPropertyName: "tooltipClass", publicName: "idsTooltipClass", isSignal: true, isRequired: false, transformFunction: null }, showPointer: { classPropertyName: "showPointer", publicName: "idsTooltipShowPointer", isSignal: true, isRequired: false, transformFunction: null }, ignoreClipped: { classPropertyName: "ignoreClipped", publicName: "idsTooltipIgnoreClipped", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
572
575
|
}
|
|
573
576
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsTooltipDirective, decorators: [{
|
|
574
577
|
type: Directive,
|