@i-cell/ids-angular 0.2.23 → 0.2.25
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-accordion.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-avatar.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-badge.mjs +27 -27
- package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +45 -45
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-button.mjs +19 -19
- package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-card.mjs +38 -41
- package/fesm2022/i-cell-ids-angular-card.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-checkbox.mjs +45 -45
- package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-chip.mjs +28 -28
- package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-core.mjs +18 -20
- package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +74 -74
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-dialog.mjs +23 -23
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-divider.mjs +12 -12
- package/fesm2022/i-cell-ids-angular-divider.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-forms.mjs +1054 -830
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon-button.mjs +15 -15
- package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon.mjs +15 -15
- package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-menu.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-notification.mjs +26 -26
- package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-paginator.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-select.mjs +29 -29
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +41 -41
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +29 -29
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-snackbar.mjs +30 -30
- package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-spinner.mjs +10 -10
- package/fesm2022/i-cell-ids-angular-spinner.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-switch.mjs +36 -36
- package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tab.mjs +140 -30
- package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-table.mjs +94 -94
- package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tag.mjs +20 -20
- package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tooltip.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
- package/package.json +60 -60
- package/{accordion/index.d.ts → types/i-cell-ids-angular-accordion.d.ts} +1 -1
- package/{avatar/index.d.ts → types/i-cell-ids-angular-avatar.d.ts} +1 -1
- package/{button/index.d.ts → types/i-cell-ids-angular-button.d.ts} +1 -1
- package/{card/index.d.ts → types/i-cell-ids-angular-card.d.ts} +2 -2
- package/{chip/index.d.ts → types/i-cell-ids-angular-chip.d.ts} +5 -5
- package/{core/index.d.ts → types/i-cell-ids-angular-core.d.ts} +2 -2
- package/{datepicker/index.d.ts → types/i-cell-ids-angular-datepicker.d.ts} +1 -1
- package/{divider/index.d.ts → types/i-cell-ids-angular-divider.d.ts} +2 -2
- package/{forms/index.d.ts → types/i-cell-ids-angular-forms.d.ts} +116 -96
- package/{icon-button/index.d.ts → types/i-cell-ids-angular-icon-button.d.ts} +2 -2
- package/{icon/index.d.ts → types/i-cell-ids-angular-icon.d.ts} +1 -1
- package/{menu/index.d.ts → types/i-cell-ids-angular-menu.d.ts} +1 -1
- package/{notification/index.d.ts → types/i-cell-ids-angular-notification.d.ts} +1 -1
- package/{paginator/index.d.ts → types/i-cell-ids-angular-paginator.d.ts} +1 -1
- package/{radio/index.d.ts → types/i-cell-ids-angular-radio.d.ts} +1 -1
- package/{segmented-control-toggle/index.d.ts → types/i-cell-ids-angular-segmented-control-toggle.d.ts} +1 -1
- package/{segmented-control/index.d.ts → types/i-cell-ids-angular-segmented-control.d.ts} +1 -1
- package/{snackbar/index.d.ts → types/i-cell-ids-angular-snackbar.d.ts} +3 -3
- package/{tab/index.d.ts → types/i-cell-ids-angular-tab.d.ts} +16 -3
- package/{tag/index.d.ts → types/i-cell-ids-angular-tag.d.ts} +1 -1
- /package/{badge/index.d.ts → types/i-cell-ids-angular-badge.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/i-cell-ids-angular-breadcrumb.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/i-cell-ids-angular-checkbox.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/i-cell-ids-angular-dialog.d.ts} +0 -0
- /package/{overlay-panel/index.d.ts → types/i-cell-ids-angular-overlay-panel.d.ts} +0 -0
- /package/{select/index.d.ts → types/i-cell-ids-angular-select.d.ts} +0 -0
- /package/{side-nav/index.d.ts → types/i-cell-ids-angular-side-nav.d.ts} +0 -0
- /package/{side-sheet/index.d.ts → types/i-cell-ids-angular-side-sheet.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/i-cell-ids-angular-spinner.d.ts} +0 -0
- /package/{switch/index.d.ts → types/i-cell-ids-angular-switch.d.ts} +0 -0
- /package/{table/index.d.ts → types/i-cell-ids-angular-table.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/i-cell-ids-angular-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/i-cell-ids-angular.d.ts} +0 -0
|
@@ -54,28 +54,28 @@ class IdsIconButtonComponent extends ComponentBaseWithDefaults {
|
|
|
54
54
|
this._hostElement = inject((ElementRef)).nativeElement;
|
|
55
55
|
this._routerLink = inject(RouterLink, { optional: true, self: true });
|
|
56
56
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ICON_BUTTON_DEFAULT_CONFIG);
|
|
57
|
-
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
58
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
59
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
60
|
-
this.disabled = input(false, ...(ngDevMode ?
|
|
61
|
-
this.allowCustomContent = input(false, ...(ngDevMode ?
|
|
62
|
-
this._icons = contentChildren(IdsIconComponent, ...(ngDevMode ? [{ debugName: "_icons" }] : []));
|
|
63
|
-
this._parentOrSelfAppearance = computed(() => this._parent?.embeddedIconButtonAppearance() ?? this.appearance(), ...(ngDevMode ? [{ debugName: "_parentOrSelfAppearance" }] : []));
|
|
57
|
+
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
58
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
59
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
60
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanAttribute });
|
|
61
|
+
this.allowCustomContent = input(false, { ...(ngDevMode ? { debugName: "allowCustomContent" } : /* istanbul ignore next */ {}), transform: coerceBooleanAttribute });
|
|
62
|
+
this._icons = contentChildren(IdsIconComponent, ...(ngDevMode ? [{ debugName: "_icons" }] : /* istanbul ignore next */ []));
|
|
63
|
+
this._parentOrSelfAppearance = computed(() => this._parent?.embeddedIconButtonAppearance() ?? this.appearance(), ...(ngDevMode ? [{ debugName: "_parentOrSelfAppearance" }] : /* istanbul ignore next */ []));
|
|
64
64
|
this._parentOrSelfSize = computed(() => {
|
|
65
65
|
const embeddedIconButtonSize = this._parent?.embeddedIconButtonSize;
|
|
66
66
|
return embeddedIconButtonSize ? embeddedIconButtonSize() : this.size();
|
|
67
|
-
}, ...(ngDevMode ? [{ debugName: "_parentOrSelfSize" }] : []));
|
|
68
|
-
this._parentOrSelfVariant = computed(() => this._parent?.embeddedIconButtonVariant() ?? this.variant(), ...(ngDevMode ? [{ debugName: "_parentOrSelfVariant" }] : []));
|
|
67
|
+
}, ...(ngDevMode ? [{ debugName: "_parentOrSelfSize" }] : /* istanbul ignore next */ []));
|
|
68
|
+
this._parentOrSelfVariant = computed(() => this._parent?.embeddedIconButtonVariant() ?? this.variant(), ...(ngDevMode ? [{ debugName: "_parentOrSelfVariant" }] : /* istanbul ignore next */ []));
|
|
69
69
|
this._parentOrSelfDisabled = computed(() => {
|
|
70
70
|
const parentDisabled = this._parent?.disabled;
|
|
71
71
|
return parentDisabled ? parentDisabled() : this.disabled();
|
|
72
|
-
}, ...(ngDevMode ? [{ debugName: "_parentOrSelfDisabled" }] : []));
|
|
72
|
+
}, ...(ngDevMode ? [{ debugName: "_parentOrSelfDisabled" }] : /* istanbul ignore next */ []));
|
|
73
73
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
74
74
|
this._parentOrSelfAppearance(),
|
|
75
75
|
this._parentOrSelfSize(),
|
|
76
76
|
this._parentOrSelfVariant(),
|
|
77
77
|
this.disabled() ? 'disabled' : null,
|
|
78
|
-
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
78
|
+
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
79
79
|
effect(() => {
|
|
80
80
|
if (this._buttonType) {
|
|
81
81
|
return;
|
|
@@ -102,16 +102,16 @@ class IdsIconButtonComponent extends ComponentBaseWithDefaults {
|
|
|
102
102
|
link.removeAttribute('data-href');
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsIconButtonComponent, isStandalone: true, selector: "button[idsIconButton], a[idsIconButton]", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, allowCustomContent: { classPropertyName: "allowCustomContent", publicName: "allowCustomContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "_parentOrSelfDisabled() ? \"\" : null", "attr.aria-disabled": "_parentOrSelfDisabled()" } }, queries: [{ propertyName: "_icons", predicate: IdsIconComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (allowCustomContent()) {\n <ng-content />\n} @else if (_icons().length) {\n <ng-content select=\"ids-icon\" />\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsIconButtonComponent, decorators: [{
|
|
109
109
|
type: Component,
|
|
110
110
|
args: [{ selector: 'button[idsIconButton], a[idsIconButton]', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
111
111
|
'[attr.disabled]': '_parentOrSelfDisabled() ? "" : null',
|
|
112
112
|
'[attr.aria-disabled]': '_parentOrSelfDisabled()',
|
|
113
113
|
}, template: "@if (allowCustomContent()) {\n <ng-content />\n} @else if (_icons().length) {\n <ng-content select=\"ids-icon\" />\n}\n" }]
|
|
114
|
-
}], ctorParameters: () => [] });
|
|
114
|
+
}], ctorParameters: () => [], propDecorators: { appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], allowCustomContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCustomContent", required: false }] }], _icons: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IdsIconComponent), { isSignal: true }] }] } });
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
117
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-icon-button.mjs","sources":["../../../projects/widgets/icon-button/tokens/icon-button-parent.ts","../../../projects/widgets/icon-button/types/icon-button-appearance.type.ts","../../../projects/widgets/icon-button/types/icon-button-variant.type.ts","../../../projects/widgets/icon-button/icon-button-defaults.ts","../../../projects/widgets/icon-button/icon-button.component.ts","../../../projects/widgets/icon-button/icon-button.component.html","../../../projects/widgets/icon-button/i-cell-ids-angular-icon-button.ts"],"sourcesContent":["import { IdsIconButtonAppearanceType } from '../types/icon-button-appearance.type';\nimport { IdsIconButtonVariantType } from '../types/icon-button-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport abstract class IdsIconButtonParent {\n public readonly embeddedIconButtonVariant!: Signal<IdsIconButtonVariantType>;\n public readonly embeddedIconButtonAppearance!: Signal<IdsIconButtonAppearanceType>;\n public readonly embeddedIconButtonSize?: Signal<IdsSizeType>;\n public readonly disabled?: Signal<boolean>;\n};\n\nexport const IDS_ICON_BUTTON_PARENT = new InjectionToken<IdsIconButtonParent>(\n 'IDS_ICON_BUTTON_PARENT',\n);\n","export const IdsIconButtonAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n STANDARD: 'standard',\n} as const;\n\nexport type IdsIconButtonAppearanceType = (typeof IdsIconButtonAppearance)[keyof typeof IdsIconButtonAppearance];\n","export const IdsIconButtonVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n BRAND: 'brand',\n LIGHT: 'light',\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsIconButtonVariantType = (typeof IdsIconButtonVariant)[keyof typeof IdsIconButtonVariant];\n\n","import { IdsIconButtonAppearance, IdsIconButtonAppearanceType } from './types/icon-button-appearance.type';\nimport { IdsIconButtonVariant, IdsIconButtonVariantType } from './types/icon-button-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsIconButtonDefaultConfig {\n appearance?: IdsIconButtonAppearanceType,\n size?: IdsSizeType,\n variant?: IdsIconButtonVariantType,\n}\n\nexport const IDS_ICON_BUTTON_DEFAULT_CONFIG = new InjectionToken<IdsIconButtonDefaultConfig>(\n 'IDS_ICON_BUTTON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY(): Required<IdsIconButtonDefaultConfig> {\n return {\n appearance: IdsIconButtonAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsIconButtonVariant.PRIMARY,\n };\n}\n\n","import { IDS_ICON_BUTTON_DEFAULT_CONFIG, IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY, IdsIconButtonDefaultConfig } from './icon-button-defaults';\nimport { IDS_ICON_BUTTON_PARENT } from './tokens/icon-button-parent';\nimport { IdsIconButtonAppearanceType } from './types/icon-button-appearance.type';\nimport { IdsIconButtonVariantType } from './types/icon-button-variant.type';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport {\n ComponentBaseWithDefaults,\n IdsSizeType,\n coerceBooleanAttribute,\n} from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsIconButton], a[idsIconButton]',\n imports: [],\n templateUrl: './icon-button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': '_parentOrSelfDisabled() ? \"\" : null',\n '[attr.aria-disabled]': '_parentOrSelfDisabled()',\n },\n})\nexport class IdsIconButtonComponent extends ComponentBaseWithDefaults<IdsIconButtonDefaultConfig> {\n protected override get _hostName(): string {\n return 'icon-button';\n }\n\n private readonly _parent = inject(IDS_ICON_BUTTON_PARENT, { optional: true });\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ICON_BUTTON_DEFAULT_CONFIG);\n\n public appearance = input<IdsIconButtonAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsIconButtonVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n public allowCustomContent = input(false, { transform: coerceBooleanAttribute });\n\n protected _icons = contentChildren(IdsIconComponent);\n\n private _parentOrSelfAppearance = computed(() => this._parent?.embeddedIconButtonAppearance() ?? this.appearance());\n private _parentOrSelfSize = computed(() => {\n const embeddedIconButtonSize = this._parent?.embeddedIconButtonSize;\n return embeddedIconButtonSize ? embeddedIconButtonSize() : this.size();\n });\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedIconButtonVariant() ?? this.variant());\n private _parentOrSelfDisabled = computed(() => {\n const parentDisabled = this._parent?.disabled;\n return parentDisabled ? parentDisabled() : this.disabled();\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfAppearance(),\n this._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n private get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (allowCustomContent()) {\n <ng-content />\n} @else if (_icons().length) {\n <ng-content select=\"ids-icon\" />\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-icon-button.mjs","sources":["../../../projects/widgets/icon-button/tokens/icon-button-parent.ts","../../../projects/widgets/icon-button/types/icon-button-appearance.type.ts","../../../projects/widgets/icon-button/types/icon-button-variant.type.ts","../../../projects/widgets/icon-button/icon-button-defaults.ts","../../../projects/widgets/icon-button/icon-button.component.ts","../../../projects/widgets/icon-button/icon-button.component.html","../../../projects/widgets/icon-button/i-cell-ids-angular-icon-button.ts"],"sourcesContent":["import { IdsIconButtonAppearanceType } from '../types/icon-button-appearance.type';\nimport { IdsIconButtonVariantType } from '../types/icon-button-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport abstract class IdsIconButtonParent {\n public readonly embeddedIconButtonVariant!: Signal<IdsIconButtonVariantType>;\n public readonly embeddedIconButtonAppearance!: Signal<IdsIconButtonAppearanceType>;\n public readonly embeddedIconButtonSize?: Signal<IdsSizeType>;\n public readonly disabled?: Signal<boolean>;\n};\n\nexport const IDS_ICON_BUTTON_PARENT = new InjectionToken<IdsIconButtonParent>(\n 'IDS_ICON_BUTTON_PARENT',\n);\n","export const IdsIconButtonAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n STANDARD: 'standard',\n} as const;\n\nexport type IdsIconButtonAppearanceType = (typeof IdsIconButtonAppearance)[keyof typeof IdsIconButtonAppearance];\n","export const IdsIconButtonVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n BRAND: 'brand',\n LIGHT: 'light',\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsIconButtonVariantType = (typeof IdsIconButtonVariant)[keyof typeof IdsIconButtonVariant];\n\n","import { IdsIconButtonAppearance, IdsIconButtonAppearanceType } from './types/icon-button-appearance.type';\nimport { IdsIconButtonVariant, IdsIconButtonVariantType } from './types/icon-button-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsIconButtonDefaultConfig {\n appearance?: IdsIconButtonAppearanceType,\n size?: IdsSizeType,\n variant?: IdsIconButtonVariantType,\n}\n\nexport const IDS_ICON_BUTTON_DEFAULT_CONFIG = new InjectionToken<IdsIconButtonDefaultConfig>(\n 'IDS_ICON_BUTTON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY(): Required<IdsIconButtonDefaultConfig> {\n return {\n appearance: IdsIconButtonAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsIconButtonVariant.PRIMARY,\n };\n}\n\n","import { IDS_ICON_BUTTON_DEFAULT_CONFIG, IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY, IdsIconButtonDefaultConfig } from './icon-button-defaults';\nimport { IDS_ICON_BUTTON_PARENT } from './tokens/icon-button-parent';\nimport { IdsIconButtonAppearanceType } from './types/icon-button-appearance.type';\nimport { IdsIconButtonVariantType } from './types/icon-button-variant.type';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport {\n ComponentBaseWithDefaults,\n IdsSizeType,\n coerceBooleanAttribute,\n} from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_ICON_BUTTON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsIconButton], a[idsIconButton]',\n imports: [],\n templateUrl: './icon-button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': '_parentOrSelfDisabled() ? \"\" : null',\n '[attr.aria-disabled]': '_parentOrSelfDisabled()',\n },\n})\nexport class IdsIconButtonComponent extends ComponentBaseWithDefaults<IdsIconButtonDefaultConfig> {\n protected override get _hostName(): string {\n return 'icon-button';\n }\n\n private readonly _parent = inject(IDS_ICON_BUTTON_PARENT, { optional: true });\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ICON_BUTTON_DEFAULT_CONFIG);\n\n public appearance = input<IdsIconButtonAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsIconButtonVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n public allowCustomContent = input(false, { transform: coerceBooleanAttribute });\n\n protected _icons = contentChildren(IdsIconComponent);\n\n private _parentOrSelfAppearance = computed(() => this._parent?.embeddedIconButtonAppearance() ?? this.appearance());\n private _parentOrSelfSize = computed(() => {\n const embeddedIconButtonSize = this._parent?.embeddedIconButtonSize;\n return embeddedIconButtonSize ? embeddedIconButtonSize() : this.size();\n });\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedIconButtonVariant() ?? this.variant());\n\n protected _parentOrSelfDisabled = computed(() => {\n const parentDisabled = this._parent?.disabled;\n return parentDisabled ? parentDisabled() : this.disabled();\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfAppearance(),\n this._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n private get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (allowCustomContent()) {\n <ng-content />\n} @else if (_icons().length) {\n <ng-content select=\"ids-icon\" />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -52,12 +52,12 @@ class IdsIconComponent extends ComponentBaseWithDefaults {
|
|
|
52
52
|
this._document = inject(DOCUMENT);
|
|
53
53
|
this._httpClient = inject(HttpClient);
|
|
54
54
|
this._sanitizer = inject(DomSanitizer);
|
|
55
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
56
|
-
this.sizeCollection = input(this._defaultConfig.sizeCollection, ...(ngDevMode ? [{ debugName: "sizeCollection" }] : []));
|
|
57
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
58
|
-
this.fontIcon = input(null, ...(ngDevMode ?
|
|
59
|
-
this.svgIconName = input(null, ...(ngDevMode ?
|
|
60
|
-
this.ariaHidden = input(true, ...(ngDevMode ?
|
|
55
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
56
|
+
this.sizeCollection = input(this._defaultConfig.sizeCollection, ...(ngDevMode ? [{ debugName: "sizeCollection" }] : /* istanbul ignore next */ []));
|
|
57
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
58
|
+
this.fontIcon = input(null, { ...(ngDevMode ? { debugName: "fontIcon" } : /* istanbul ignore next */ {}), transform: coerceStringAttribute });
|
|
59
|
+
this.svgIconName = input(null, { ...(ngDevMode ? { debugName: "svgIconName" } : /* istanbul ignore next */ {}), alias: 'svgIcon', transform: coerceStringAttribute });
|
|
60
|
+
this.ariaHidden = input(true, { ...(ngDevMode ? { debugName: "ariaHidden" } : /* istanbul ignore next */ {}), alias: 'aria-hidden', transform: coerceBooleanAttribute });
|
|
61
61
|
this._svgIcon = null;
|
|
62
62
|
this._safeFontIcon = computed(() => {
|
|
63
63
|
const iconName = this.fontIcon();
|
|
@@ -67,9 +67,9 @@ class IdsIconComponent extends ComponentBaseWithDefaults {
|
|
|
67
67
|
const fontNameMappings = this._defaultConfig.fontNameMappings;
|
|
68
68
|
const mappedIconName = fontNameMappings?.[iconName];
|
|
69
69
|
return mappedIconName ?? iconName;
|
|
70
|
-
}, ...(ngDevMode ? [{ debugName: "_safeFontIcon" }] : []));
|
|
71
|
-
this._iconSourceType = computed(() => (this.fontIcon() ? IdsIconSource.FONT : IdsIconSource.SVG), ...(ngDevMode ? [{ debugName: "_iconSourceType" }] : []));
|
|
72
|
-
this._parentOrSelfVariant = computed(() => this._parent?.embeddedIconVariant() ?? this.variant(), ...(ngDevMode ? [{ debugName: "_parentOrSelfVariant" }] : []));
|
|
70
|
+
}, ...(ngDevMode ? [{ debugName: "_safeFontIcon" }] : /* istanbul ignore next */ []));
|
|
71
|
+
this._iconSourceType = computed(() => (this.fontIcon() ? IdsIconSource.FONT : IdsIconSource.SVG), ...(ngDevMode ? [{ debugName: "_iconSourceType" }] : /* istanbul ignore next */ []));
|
|
72
|
+
this._parentOrSelfVariant = computed(() => this._parent?.embeddedIconVariant() ?? this.variant(), ...(ngDevMode ? [{ debugName: "_parentOrSelfVariant" }] : /* istanbul ignore next */ []));
|
|
73
73
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
74
74
|
[
|
|
75
75
|
`${this.sizeCollection()}collection`,
|
|
@@ -77,7 +77,7 @@ class IdsIconComponent extends ComponentBaseWithDefaults {
|
|
|
77
77
|
],
|
|
78
78
|
this._parentOrSelfVariant(),
|
|
79
79
|
this._iconSourceType(),
|
|
80
|
-
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
80
|
+
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
81
81
|
this._sanitizeSvgIconEffect = effect(() => {
|
|
82
82
|
const svgIconName = this.svgIconName();
|
|
83
83
|
if (!svgIconName) {
|
|
@@ -90,7 +90,7 @@ class IdsIconComponent extends ComponentBaseWithDefaults {
|
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
this._getSvgElementSource(svgIconSafeUrl);
|
|
93
|
-
}, ...(ngDevMode ? [{ debugName: "_sanitizeSvgIconEffect" }] : []));
|
|
93
|
+
}, ...(ngDevMode ? [{ debugName: "_sanitizeSvgIconEffect" }] : /* istanbul ignore next */ []));
|
|
94
94
|
}
|
|
95
95
|
get _hostName() {
|
|
96
96
|
return 'icon';
|
|
@@ -132,10 +132,10 @@ class IdsIconComponent extends ComponentBaseWithDefaults {
|
|
|
132
132
|
}
|
|
133
133
|
return svg;
|
|
134
134
|
}
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: IdsIconComponent, isStandalone: true, selector: "ids-icon", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, sizeCollection: { classPropertyName: "sizeCollection", publicName: "sizeCollection", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fontIcon: { classPropertyName: "fontIcon", publicName: "fontIcon", isSignal: true, isRequired: false, transformFunction: null }, svgIconName: { classPropertyName: "svgIconName", publicName: "svgIcon", isSignal: true, isRequired: false, transformFunction: null }, ariaHidden: { classPropertyName: "ariaHidden", publicName: "aria-hidden", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.aria-hidden": "ariaHidden().toString()", "attr.fontIcon": "this._safeFontIcon()" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
137
137
|
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsIconComponent, decorators: [{
|
|
139
139
|
type: Component,
|
|
140
140
|
args: [{
|
|
141
141
|
selector: 'ids-icon',
|
|
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
149
149
|
'role': 'img',
|
|
150
150
|
},
|
|
151
151
|
}]
|
|
152
|
-
}] });
|
|
152
|
+
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], sizeCollection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sizeCollection", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], fontIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontIcon", required: false }] }], svgIconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "svgIcon", required: false }] }], ariaHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-hidden", required: false }] }] } });
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-icon.mjs","sources":["../../../projects/widgets/icon/tokens/icon-parent.ts","../../../projects/widgets/icon/types/icon-source.type.ts","../../../projects/widgets/icon/types/icon-variant.type.ts","../../../projects/widgets/icon/icon-defaults.ts","../../../projects/widgets/icon/icon.component.ts","../../../projects/widgets/icon/i-cell-ids-angular-icon.ts"],"sourcesContent":["import { IdsIconVariantType } from '../types/icon-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsIconParent {\n public readonly embeddedIconVariant!: Signal<IdsIconVariantType>;\n};\n\nexport const IDS_ICON_PARENT = new InjectionToken<IdsIconParent>(\n 'IDS_ICON_PARENT',\n);\n","export const IdsIconSource = {\n SVG: 'svg',\n FONT: 'font',\n} as const;\n\nexport type IdsIconSourceType = (typeof IdsIconSource)[keyof typeof IdsIconSource];\n","export const IdsIconVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n BRAND: 'brand',\n LIGHT: 'light',\n DARK: 'dark',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsIconVariantType = (typeof IdsIconVariant)[keyof typeof IdsIconVariant];\n","import { IdsIconVariant, IdsIconVariantType } from './types/icon-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeCollection, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsIconDefaultConfig {\n size?: IdsSizeType\n sizeCollection?: IdsSizeCollectionType\n variant?: IdsIconVariantType\n iconAssetsPath: string\n fontNameMappings?: Record<string, string>\n}\n\nexport const IDS_ICON_DEFAULT_CONFIG = new InjectionToken<IdsIconDefaultConfig>(\n 'IDS_ICON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ICON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ICON_DEFAULT_CONFIG_FACTORY(): Required<IdsIconDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n sizeCollection: IdsSizeCollection.SMALL,\n variant: IdsIconVariant.SURFACE,\n iconAssetsPath: '',\n fontNameMappings: {},\n };\n}\n","import { IDS_ICON_DEFAULT_CONFIG, IDS_ICON_DEFAULT_CONFIG_FACTORY, IdsIconDefaultConfig } from './icon-defaults';\nimport { IDS_ICON_PARENT } from './tokens/icon-parent';\nimport { IdsIconSource } from './types/icon-source.type';\nimport { IdsIconVariantType } from './types/icon-variant.type';\n\nimport { DOCUMENT } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, OnInit, SecurityContext, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_ICON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-icon',\n standalone: true,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-hidden]': 'ariaHidden().toString()',\n '[attr.fontIcon]': 'this._safeFontIcon()',\n 'role': 'img',\n },\n})\nexport class IdsIconComponent extends ComponentBaseWithDefaults<IdsIconDefaultConfig> implements OnInit {\n protected override get _hostName(): string {\n return 'icon';\n }\n\n private readonly _parent = inject(IDS_ICON_PARENT, { optional: true });\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ICON_DEFAULT_CONFIG);\n\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _document = inject(DOCUMENT) as Document;\n private readonly _httpClient = inject(HttpClient);\n private readonly _sanitizer = inject(DomSanitizer);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public sizeCollection = input<IdsSizeCollectionType>(this._defaultConfig.sizeCollection);\n public variant = input<IdsIconVariantType>(this._defaultConfig.variant);\n public fontIcon = input<string | null, string>(null, { transform: coerceStringAttribute });\n public svgIconName = input<string | null, string>(null, { alias: 'svgIcon', transform: coerceStringAttribute });\n public ariaHidden = input<boolean, unknown>(true, { alias: 'aria-hidden', transform: coerceBooleanAttribute });\n\n protected _svgIcon: SVGElement | null = null;\n\n protected _safeFontIcon = computed(() => {\n const iconName = this.fontIcon();\n if (!iconName) {\n return iconName;\n }\n const fontNameMappings = this._defaultConfig.fontNameMappings;\n const mappedIconName = fontNameMappings?.[iconName];\n return mappedIconName ?? iconName;\n });\n\n protected _iconSourceType = computed(() => (this.fontIcon() ? IdsIconSource.FONT : IdsIconSource.SVG));\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedIconVariant() ?? this.variant());\n protected _hostClasses = computed(() => this._getHostClasses([\n [\n `${this.sizeCollection()}collection`,\n this.size(),\n ],\n this._parentOrSelfVariant(),\n this._iconSourceType(),\n ]));\n\n private _sanitizeSvgIconEffect = effect(() => {\n const svgIconName = this.svgIconName();\n if (!svgIconName) {\n this._svgIcon = null;\n return;\n }\n\n const svgIconSafeUrl = this._sanitizer.sanitize(\n SecurityContext.RESOURCE_URL,\n this._sanitizer.bypassSecurityTrustResourceUrl(`${this._defaultConfig.iconAssetsPath}/${svgIconName}.svg`),\n );\n\n if (!svgIconSafeUrl) {\n this._svgIcon = null;\n return;\n }\n\n this._getSvgElementSource(svgIconSafeUrl);\n });\n\n public ngOnInit(): void {\n if (this.fontIcon() && this.svgIconName()) {\n throw this._createHostError('Font icon and svg icon can not be used together!');\n }\n }\n\n private _getSvgElementSource(url: string): void {\n this._httpClient\n .get(url, { responseType: 'text' })\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n )\n .subscribe((svg) => {\n this._svgIcon = this._getSvgElement(this._sanitizer.bypassSecurityTrustHtml(svg));\n this._setSvgElement(this._svgIcon);\n });\n }\n\n private _setSvgElement(svg: SVGElement): void {\n this._clearSvgElement();\n\n this._elementRef.nativeElement.appendChild(svg);\n }\n\n private _clearSvgElement(): void {\n const layoutElement: HTMLElement = this._elementRef.nativeElement;\n let childCount = layoutElement.childNodes.length;\n\n while (childCount--) {\n const child = layoutElement.childNodes[childCount];\n\n if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {\n child.remove();\n }\n }\n }\n\n private _getSvgElement(safeHtml: SafeHtml): SVGElement {\n const div = this._document.createElement('div');\n div.innerHTML = safeHtml as unknown as string;\n const svg = div.querySelector('svg');\n\n if (!svg) {\n throw this._createHostError('Svg element creation failed!');\n }\n\n return svg;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAIsB,aAAa,CAAA;AAElC;AAAA;MAEY,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB;;ACTZ,MAAM,aAAa,GAAG;AAC3B,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,IAAI,EAAE,MAAM;;;ACFP,MAAM,cAAc,GAAG;AAC5B,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;MCIH,uBAAuB,GAAG,IAAI,cAAc,CACvD,yBAAyB,EACzB;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,+BAA+B;AACzC,CAAA;SAGa,+BAA+B,GAAA;IAC7C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,cAAc,EAAE,iBAAiB,CAAC,KAAK;QACvC,OAAO,EAAE,cAAc,CAAC,OAAO;AAC/B,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,gBAAgB,EAAE,EAAE;KACrB;AACH;;ACjBA,MAAM,aAAa,GAAG,+BAA+B,EAAE;AAcjD,MAAO,gBAAiB,SAAQ,yBAA+C,CAAA;AAZrF,IAAA,WAAA,GAAA;;QAiBmB,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,CAAC;AAEjF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,EAAC,UAAuB,EAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAa;AACxC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;QAE3C,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,cAAc,GAAG,KAAK,CAAwB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACjF,IAAA,CAAA,OAAO,GAAG,KAAK,CAAqB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAChE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,IAAI,4CAAI,SAAS,EAAE,qBAAqB,EAAA,CAAA,GAAA,CAAlC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAC;QACnF,IAAA,CAAA,WAAW,GAAG,KAAK,CAAwB,IAAI,+CAAI,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAA,CAAA,GAAA,CAApD,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA,CAAA,CAAC;QACxG,IAAA,CAAA,UAAU,GAAG,KAAK,CAAmB,IAAI,8CAAI,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAA,CAAA,GAAA,CAAzD,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAA,CAAA,CAAC;QAEpG,IAAA,CAAA,QAAQ,GAAsB,IAAI;AAElC,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AACtC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,OAAO,QAAQ;YACjB;AACA,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;AAC7D,YAAA,MAAM,cAAc,GAAG,gBAAgB,GAAG,QAAQ,CAAC;YACnD,OAAO,cAAc,IAAI,QAAQ;AACnC,QAAA,CAAC,yDAAC;QAEQ,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE9F,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,gEAAC;QAC1F,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;AAC3D,YAAA;AACE,gBAAA,CAAA,EAAG,IAAI,CAAC,cAAc,EAAE,CAAA,UAAA,CAAY;gBACpC,IAAI,CAAC,IAAI,EAAE;AACZ,aAAA;YACD,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,eAAe,EAAE;AACvB,SAAA,CAAC,wDAAC;AAEK,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,MAAK;AAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE;AAChB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;gBACpB;YACF;AAEA,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC7C,eAAe,CAAC,YAAY,EAC5B,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA,EAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAA,CAAA,EAAI,WAAW,CAAA,IAAA,CAAM,CAAC,CAC3G;YAED,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;gBACpB;YACF;AAEA,YAAA,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;AAC3C,QAAA,CAAC,kEAAC;AAkDH,IAAA;AA/GC,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,MAAM;IACf;IA6DO,QAAQ,GAAA;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACzC,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,kDAAkD,CAAC;QACjF;IACF;AAEQ,IAAA,oBAAoB,CAAC,GAAW,EAAA;AACtC,QAAA,IAAI,CAAC;aACF,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;AACjC,aAAA,IAAI,CACH,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AAErC,aAAA,SAAS,CAAC,CAAC,GAAG,KAAI;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACjF,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,cAAc,CAAC,GAAe,EAAA;QACpC,IAAI,CAAC,gBAAgB,EAAE;QAEvB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;IACjD;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,aAAa,GAAgB,IAAI,CAAC,WAAW,CAAC,aAAa;AACjE,QAAA,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM;QAEhD,OAAO,UAAU,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;AAElD,YAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;gBAClE,KAAK,CAAC,MAAM,EAAE;YAChB;QACF;IACF;AAEQ,IAAA,cAAc,CAAC,QAAkB,EAAA;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;AAC/C,QAAA,GAAG,CAAC,SAAS,GAAG,QAA6B;QAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC;QAC7D;AAEA,QAAA,OAAO,GAAG;IACZ;8GA/GW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,6gCATjB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FASD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,oBAAoB,EAAE,yBAAyB;AAC/C,wBAAA,iBAAiB,EAAE,sBAAsB;AACzC,wBAAA,MAAM,EAAE,KAAK;AACd,qBAAA;AACF,iBAAA;;;ACzBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-icon.mjs","sources":["../../../projects/widgets/icon/tokens/icon-parent.ts","../../../projects/widgets/icon/types/icon-source.type.ts","../../../projects/widgets/icon/types/icon-variant.type.ts","../../../projects/widgets/icon/icon-defaults.ts","../../../projects/widgets/icon/icon.component.ts","../../../projects/widgets/icon/i-cell-ids-angular-icon.ts"],"sourcesContent":["import { IdsIconVariantType } from '../types/icon-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsIconParent {\n public readonly embeddedIconVariant!: Signal<IdsIconVariantType>;\n};\n\nexport const IDS_ICON_PARENT = new InjectionToken<IdsIconParent>(\n 'IDS_ICON_PARENT',\n);\n","export const IdsIconSource = {\n SVG: 'svg',\n FONT: 'font',\n} as const;\n\nexport type IdsIconSourceType = (typeof IdsIconSource)[keyof typeof IdsIconSource];\n","export const IdsIconVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n BRAND: 'brand',\n LIGHT: 'light',\n DARK: 'dark',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsIconVariantType = (typeof IdsIconVariant)[keyof typeof IdsIconVariant];\n","import { IdsIconVariant, IdsIconVariantType } from './types/icon-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeCollection, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsIconDefaultConfig {\n size?: IdsSizeType\n sizeCollection?: IdsSizeCollectionType\n variant?: IdsIconVariantType\n iconAssetsPath: string\n fontNameMappings?: Record<string, string>\n}\n\nexport const IDS_ICON_DEFAULT_CONFIG = new InjectionToken<IdsIconDefaultConfig>(\n 'IDS_ICON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_ICON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_ICON_DEFAULT_CONFIG_FACTORY(): Required<IdsIconDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n sizeCollection: IdsSizeCollection.SMALL,\n variant: IdsIconVariant.SURFACE,\n iconAssetsPath: '',\n fontNameMappings: {},\n };\n}\n","import { IDS_ICON_DEFAULT_CONFIG, IDS_ICON_DEFAULT_CONFIG_FACTORY, IdsIconDefaultConfig } from './icon-defaults';\nimport { IDS_ICON_PARENT } from './tokens/icon-parent';\nimport { IdsIconSource } from './types/icon-source.type';\nimport { IdsIconVariantType } from './types/icon-variant.type';\n\nimport { DOCUMENT } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, OnInit, SecurityContext, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_ICON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-icon',\n standalone: true,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-hidden]': 'ariaHidden().toString()',\n '[attr.fontIcon]': 'this._safeFontIcon()',\n 'role': 'img',\n },\n})\nexport class IdsIconComponent extends ComponentBaseWithDefaults<IdsIconDefaultConfig> implements OnInit {\n protected override get _hostName(): string {\n return 'icon';\n }\n\n private readonly _parent = inject(IDS_ICON_PARENT, { optional: true });\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_ICON_DEFAULT_CONFIG);\n\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _document = inject(DOCUMENT) as Document;\n private readonly _httpClient = inject(HttpClient);\n private readonly _sanitizer = inject(DomSanitizer);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public sizeCollection = input<IdsSizeCollectionType>(this._defaultConfig.sizeCollection);\n public variant = input<IdsIconVariantType>(this._defaultConfig.variant);\n public fontIcon = input<string | null, string>(null, { transform: coerceStringAttribute });\n public svgIconName = input<string | null, string>(null, { alias: 'svgIcon', transform: coerceStringAttribute });\n public ariaHidden = input<boolean, unknown>(true, { alias: 'aria-hidden', transform: coerceBooleanAttribute });\n\n protected _svgIcon: SVGElement | null = null;\n\n protected _safeFontIcon = computed(() => {\n const iconName = this.fontIcon();\n if (!iconName) {\n return iconName;\n }\n const fontNameMappings = this._defaultConfig.fontNameMappings;\n const mappedIconName = fontNameMappings?.[iconName];\n return mappedIconName ?? iconName;\n });\n\n protected _iconSourceType = computed(() => (this.fontIcon() ? IdsIconSource.FONT : IdsIconSource.SVG));\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedIconVariant() ?? this.variant());\n protected _hostClasses = computed(() => this._getHostClasses([\n [\n `${this.sizeCollection()}collection`,\n this.size(),\n ],\n this._parentOrSelfVariant(),\n this._iconSourceType(),\n ]));\n\n private _sanitizeSvgIconEffect = effect(() => {\n const svgIconName = this.svgIconName();\n if (!svgIconName) {\n this._svgIcon = null;\n return;\n }\n\n const svgIconSafeUrl = this._sanitizer.sanitize(\n SecurityContext.RESOURCE_URL,\n this._sanitizer.bypassSecurityTrustResourceUrl(`${this._defaultConfig.iconAssetsPath}/${svgIconName}.svg`),\n );\n\n if (!svgIconSafeUrl) {\n this._svgIcon = null;\n return;\n }\n\n this._getSvgElementSource(svgIconSafeUrl);\n });\n\n public ngOnInit(): void {\n if (this.fontIcon() && this.svgIconName()) {\n throw this._createHostError('Font icon and svg icon can not be used together!');\n }\n }\n\n private _getSvgElementSource(url: string): void {\n this._httpClient\n .get(url, { responseType: 'text' })\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n )\n .subscribe((svg) => {\n this._svgIcon = this._getSvgElement(this._sanitizer.bypassSecurityTrustHtml(svg));\n this._setSvgElement(this._svgIcon);\n });\n }\n\n private _setSvgElement(svg: SVGElement): void {\n this._clearSvgElement();\n\n this._elementRef.nativeElement.appendChild(svg);\n }\n\n private _clearSvgElement(): void {\n const layoutElement: HTMLElement = this._elementRef.nativeElement;\n let childCount = layoutElement.childNodes.length;\n\n while (childCount--) {\n const child = layoutElement.childNodes[childCount];\n\n if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {\n child.remove();\n }\n }\n }\n\n private _getSvgElement(safeHtml: SafeHtml): SVGElement {\n const div = this._document.createElement('div');\n div.innerHTML = safeHtml as unknown as string;\n const svg = div.querySelector('svg');\n\n if (!svg) {\n throw this._createHostError('Svg element creation failed!');\n }\n\n return svg;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -41,20 +41,20 @@ class IdsMenuItemComponent extends ComponentBaseWithDefaults {
|
|
|
41
41
|
this._hostElement = inject((ElementRef)).nativeElement;
|
|
42
42
|
this._routerLink = inject(RouterLink, { optional: true, self: true });
|
|
43
43
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_MENU_ITEM_DEFAULT_CONFIG);
|
|
44
|
-
this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
45
|
-
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
46
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
47
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
48
|
-
this.disabled = input(false, ...(ngDevMode ?
|
|
49
|
-
this._iconLeading = contentChildren('[icon-leading]', ...(ngDevMode ? [{ debugName: "_iconLeading" }] : []));
|
|
50
|
-
this._iconTrailing = contentChildren('[icon-trailing]', ...(ngDevMode ? [{ debugName: "_iconTrailing" }] : []));
|
|
44
|
+
this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
|
|
45
|
+
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
46
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
47
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
48
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanAttribute });
|
|
49
|
+
this._iconLeading = contentChildren('[icon-leading]', ...(ngDevMode ? [{ debugName: "_iconLeading" }] : /* istanbul ignore next */ []));
|
|
50
|
+
this._iconTrailing = contentChildren('[icon-trailing]', ...(ngDevMode ? [{ debugName: "_iconTrailing" }] : /* istanbul ignore next */ []));
|
|
51
51
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
52
52
|
this.appearance(),
|
|
53
53
|
this.size(),
|
|
54
54
|
this.variant(),
|
|
55
55
|
this.disabled() ? 'disabled' : null,
|
|
56
56
|
!this.label() ? 'no-label' : null,
|
|
57
|
-
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
57
|
+
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
58
58
|
effect(() => {
|
|
59
59
|
if (this._buttonType) {
|
|
60
60
|
return;
|
|
@@ -81,27 +81,27 @@ class IdsMenuItemComponent extends ComponentBaseWithDefaults {
|
|
|
81
81
|
link.removeAttribute('data-href');
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsMenuItemComponent, isStandalone: true, selector: "button[idsMenuItem],a[idsMenuItem]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "type": "_buttonType", "attr.disabled": "disabled() ? \"\" : null", "attr.aria-disabled": "disabled() || null" } }, queries: [{ propertyName: "_iconLeading", predicate: ["[icon-leading]"], isSignal: true }, { propertyName: "_iconTrailing", predicate: ["[icon-trailing]"], isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.CdkMenuItem }], ngImport: i0, template: "@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsMenuItemComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{ selector: 'button[idsMenuItem],a[idsMenuItem]', imports: [], hostDirectives: [CdkMenuItem], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
90
|
-
'[type]': '
|
|
90
|
+
'[type]': '_buttonType',
|
|
91
91
|
'[attr.disabled]': 'disabled() ? "" : null',
|
|
92
92
|
'[attr.aria-disabled]': 'disabled() || null',
|
|
93
93
|
}, template: "@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n" }]
|
|
94
|
-
}], ctorParameters: () => [] });
|
|
94
|
+
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _iconLeading: [{ type: i0.ContentChildren, args: ['[icon-leading]', { isSignal: true }] }], _iconTrailing: [{ type: i0.ContentChildren, args: ['[icon-trailing]', { isSignal: true }] }] } });
|
|
95
95
|
|
|
96
96
|
class IdsActiveIndicatorDirective {
|
|
97
97
|
constructor() {
|
|
98
98
|
this._menuItem = contentChild.required(IdsMenuItemComponent);
|
|
99
|
-
this.active = input.required(...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
99
|
+
this.active = input.required(...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
100
100
|
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
102
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsActiveIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
102
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: IdsActiveIndicatorDirective, isStandalone: true, selector: "[idsActiveIndicator]", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.ids-active-indicator": "true", "class.ids-active-indicator--active": "active()" } }, queries: [{ propertyName: "_menuItem", first: true, predicate: IdsMenuItemComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsActiveIndicatorDirective, decorators: [{
|
|
105
105
|
type: Directive,
|
|
106
106
|
args: [{
|
|
107
107
|
selector: '[idsActiveIndicator]',
|
|
@@ -110,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
110
110
|
'[class.ids-active-indicator--active]': 'active()',
|
|
111
111
|
},
|
|
112
112
|
}]
|
|
113
|
-
}] });
|
|
113
|
+
}], propDecorators: { _menuItem: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IdsMenuItemComponent), { isSignal: true }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: true }] }] } });
|
|
114
114
|
|
|
115
115
|
/**
|
|
116
116
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-menu.mjs","sources":["../../../projects/widgets/menu/menu-item/types/menu-item-appearance.type.ts","../../../projects/widgets/menu/menu-item/types/menu-item-variant.type.ts","../../../projects/widgets/menu/menu-item/menu-item-defaults.ts","../../../projects/widgets/menu/menu-item/menu-item.component.ts","../../../projects/widgets/menu/menu-item/menu-item.component.html","../../../projects/widgets/menu/active-indicator/active-indicator.directive.ts","../../../projects/widgets/menu/i-cell-ids-angular-menu.ts"],"sourcesContent":["export const IdsMenuItemAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsMenuItemAppearanceType = (typeof IdsMenuItemAppearance)[keyof typeof IdsMenuItemAppearance];\n","export const IdsMenuItemVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsMenuItemVariantType = (typeof IdsMenuItemVariant)[keyof typeof IdsMenuItemVariant];\n","import { IdsMenuItemAppearance, IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariant, IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsMenuItemDefaultConfig {\n appearance?: IdsMenuItemAppearanceType,\n size?: IdsSizeType,\n variant?: IdsMenuItemVariantType,\n showLabel?: boolean,\n}\n\nexport const IDS_MENU_ITEM_DEFAULT_CONFIG = new InjectionToken<IdsMenuItemDefaultConfig>(\n 'IDS_MENU_ITEM_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY(): Required<IdsMenuItemDefaultConfig> {\n return {\n appearance: IdsMenuItemAppearance.TEXT,\n size: IdsSize.COMPACT,\n variant: IdsMenuItemVariant.SURFACE,\n showLabel: true,\n };\n}\n\n","import { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsMenuItemDefaultConfig } from './menu-item-defaults';\nimport { IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, contentChildren, effect, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsMenuItem],a[idsMenuItem]',\n imports: [],\n hostDirectives: [CdkMenuItem],\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': 'buttonType',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class IdsMenuItemComponent extends ComponentBaseWithDefaults<IdsMenuItemDefaultConfig> {\n protected override get _hostName(): string {\n return 'menu-item';\n }\n\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_MENU_ITEM_DEFAULT_CONFIG);\n\n public label = input<string>();\n public appearance = input<IdsMenuItemAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsMenuItemVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this.disabled() ? 'disabled' : null,\n !this.label() ? 'no-label' : null,\n ]));\n\n private get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n","import { IdsMenuItemComponent } from '../menu-item/menu-item.component';\n\nimport { contentChild, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[idsActiveIndicator]',\n host: {\n '[class.ids-active-indicator]': 'true',\n '[class.ids-active-indicator--active]': 'active()',\n },\n})\nexport class IdsActiveIndicatorDirective {\n private _menuItem = contentChild.required(IdsMenuItemComponent);\n\n public active = input.required<boolean>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAAO,MAAM,qBAAqB,GAAG;AACnC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;;;ACFP,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;MCWH,4BAA4B,GAAG,IAAI,cAAc,CAC5D,8BAA8B,EAC9B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,oCAAoC;AAC9C,CAAA;SAGa,oCAAoC,GAAA;IAClD,OAAO;QACL,UAAU,EAAE,qBAAqB,CAAC,IAAI;QACtC,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,OAAO,EAAE,kBAAkB,CAAC,OAAO;AACnC,QAAA,SAAS,EAAE,IAAI;KAChB;AACH;;AClBA,MAAM,aAAa,GAAG,oCAAoC,EAAE;AAetD,MAAO,oBAAqB,SAAQ,yBAAmD,CAAA;AAC3F,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,WAAW;IACpB;AAwBA,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAG,IAAI;IACjE;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QA3BD,IAAA,CAAA,YAAY,GAAG,MAAM,EAA0B,UAAuB,EAAC,CAAC,aAAa;AACrF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAErD,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAEhG,IAAA,CAAA,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QACvB,IAAA,CAAA,UAAU,GAAG,KAAK,CAA4B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7E,IAAA,CAAA,IAAI,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACnD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAyB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACpE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,sBAAsB,EAAA,CAAA,GAAA,CAAnC,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAAC;AAE3D,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAmB,gBAAgB,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAmB,iBAAiB,yDAAC;QAEpE,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;YACnC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,GAAG,IAAI;AAClC,SAAA,CAAC,wDAAC;QASD,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB;YACF;AAEA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAiC;AAEnD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,IAAuB,EAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;QAC3C;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9B;AAEQ,IAAA,WAAW,CAAC,IAAuB,EAAA;AACzC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAE/E,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACnC;IACF;8GA/DW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6lCCzBjC,sSAUA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDea,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,EAAA,OAAA,EACrC,EAAE,EAAA,cAAA,EACK,CAAC,WAAW,CAAC,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,iBAAiB,EAAE,wBAAwB;AAC3C,wBAAA,sBAAsB,EAAE,oBAAoB;AAC7C,qBAAA,EAAA,QAAA,EAAA,sSAAA,EAAA;;;MEZU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;AAQU,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAExD,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAW;AAC1C,IAAA;8GAJY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,+WACI,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FADnD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACJ,wBAAA,8BAA8B,EAAE,MAAM;AACtC,wBAAA,sCAAsC,EAAE,UAAU;AACnD,qBAAA;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-menu.mjs","sources":["../../../projects/widgets/menu/menu-item/types/menu-item-appearance.type.ts","../../../projects/widgets/menu/menu-item/types/menu-item-variant.type.ts","../../../projects/widgets/menu/menu-item/menu-item-defaults.ts","../../../projects/widgets/menu/menu-item/menu-item.component.ts","../../../projects/widgets/menu/menu-item/menu-item.component.html","../../../projects/widgets/menu/active-indicator/active-indicator.directive.ts","../../../projects/widgets/menu/i-cell-ids-angular-menu.ts"],"sourcesContent":["export const IdsMenuItemAppearance = {\n FILLED: 'filled',\n TEXT: 'text',\n} as const;\n\nexport type IdsMenuItemAppearanceType = (typeof IdsMenuItemAppearance)[keyof typeof IdsMenuItemAppearance];\n","export const IdsMenuItemVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsMenuItemVariantType = (typeof IdsMenuItemVariant)[keyof typeof IdsMenuItemVariant];\n","import { IdsMenuItemAppearance, IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariant, IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsMenuItemDefaultConfig {\n appearance?: IdsMenuItemAppearanceType,\n size?: IdsSizeType,\n variant?: IdsMenuItemVariantType,\n showLabel?: boolean,\n}\n\nexport const IDS_MENU_ITEM_DEFAULT_CONFIG = new InjectionToken<IdsMenuItemDefaultConfig>(\n 'IDS_MENU_ITEM_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY(): Required<IdsMenuItemDefaultConfig> {\n return {\n appearance: IdsMenuItemAppearance.TEXT,\n size: IdsSize.COMPACT,\n variant: IdsMenuItemVariant.SURFACE,\n showLabel: true,\n };\n}\n\n","import { IDS_MENU_ITEM_DEFAULT_CONFIG, IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY, IdsMenuItemDefaultConfig } from './menu-item-defaults';\nimport { IdsMenuItemAppearanceType } from './types/menu-item-appearance.type';\nimport { IdsMenuItemVariantType } from './types/menu-item-variant.type';\n\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, contentChildren, effect, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_MENU_ITEM_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsMenuItem],a[idsMenuItem]',\n imports: [],\n hostDirectives: [CdkMenuItem],\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': '_buttonType',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class IdsMenuItemComponent extends ComponentBaseWithDefaults<IdsMenuItemDefaultConfig> {\n protected override get _hostName(): string {\n return 'menu-item';\n }\n\n private _hostElement = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>).nativeElement;\n private _routerLink = inject(RouterLink, { optional: true, self: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_MENU_ITEM_DEFAULT_CONFIG);\n\n public label = input<string>();\n public appearance = input<IdsMenuItemAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsMenuItemVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: coerceBooleanAttribute });\n\n protected _iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n protected _iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this.disabled() ? 'disabled' : null,\n !this.label() ? 'no-label' : null,\n ]));\n\n protected get _buttonType(): string | null {\n return this._hostElement.tagName === 'BUTTON' ? 'button' : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n if (this._buttonType) {\n return;\n }\n\n const link = this._hostElement as HTMLAnchorElement;\n\n if (this.disabled()) {\n this._disableLink(link);\n } else {\n this._enableLink(link);\n }\n });\n }\n\n private _disableLink(link: HTMLAnchorElement): void {\n if (!this._routerLink) {\n link.setAttribute('data-href', link.href);\n }\n link.removeAttribute('href');\n }\n\n private _enableLink(link: HTMLAnchorElement): void {\n const prevHref = this._routerLink?.href ?? link.getAttribute('data-href') ?? '';\n\n if (prevHref) {\n link.href = prevHref;\n link.removeAttribute('data-href');\n }\n }\n}\n","@if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\" />\n}\n@if (label()) {\n <div class=\"ids-menu-item-label--wrapper\"><span class=\"ids-menu-item-label\">{{ label() }}</span></div>\n}\n\n@if (_iconTrailing()) {\n <ng-content select=\"ids-icon[icon-trailing]\" />\n}\n","import { IdsMenuItemComponent } from '../menu-item/menu-item.component';\n\nimport { contentChild, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[idsActiveIndicator]',\n host: {\n '[class.ids-active-indicator]': 'true',\n '[class.ids-active-indicator--active]': 'active()',\n },\n})\nexport class IdsActiveIndicatorDirective {\n private _menuItem = contentChild.required(IdsMenuItemComponent);\n\n public active = input.required<boolean>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,10 @@ const IdsNotificationVariant = {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
class IdsNotificationActionButtonDirective {
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsNotificationActionButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IdsNotificationActionButtonDirective, isStandalone: true, selector: "[idsNotificationActionButton]", ngImport: i0 }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsNotificationActionButtonDirective, decorators: [{
|
|
28
28
|
type: Directive,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: '[idsNotificationActionButton]',
|
|
@@ -52,28 +52,28 @@ class IdsNotificationComponent extends ComponentBaseWithDefaults {
|
|
|
52
52
|
constructor() {
|
|
53
53
|
super(...arguments);
|
|
54
54
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_NOTIFICATION_DEFAULT_CONFIG);
|
|
55
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
56
|
-
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
57
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
58
|
-
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
59
|
-
this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
60
|
-
this.urgent = input(false, ...(ngDevMode ?
|
|
61
|
-
this.displayActionsAtBottom = input(false, ...(ngDevMode ?
|
|
62
|
-
this.closeButtonSize = input(this._defaultConfig.closeButtonSize, ...(ngDevMode ? [{ debugName: "closeButtonSize" }] : []));
|
|
63
|
-
this.closeLabelButtonAppearance = input(this._defaultConfig.closeLabelButtonAppearance, ...(ngDevMode ? [{ debugName: "closeLabelButtonAppearance" }] : []));
|
|
64
|
-
this.closeButtonLabel = input('', ...(ngDevMode ?
|
|
65
|
-
this.embeddedIconButtonAppearance = signal(IdsIconButtonAppearance.STANDARD, ...(ngDevMode ? [{ debugName: "embeddedIconButtonAppearance" }] : []));
|
|
66
|
-
this.disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
67
|
-
this._actionButtons = contentChildren(IdsNotificationActionButtonDirective, ...(ngDevMode ? [{ debugName: "_actionButtons" }] : []));
|
|
55
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
56
|
+
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
57
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
58
|
+
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
59
|
+
this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
60
|
+
this.urgent = input(false, { ...(ngDevMode ? { debugName: "urgent" } : /* istanbul ignore next */ {}), transform: coerceBooleanAttribute });
|
|
61
|
+
this.displayActionsAtBottom = input(false, { ...(ngDevMode ? { debugName: "displayActionsAtBottom" } : /* istanbul ignore next */ {}), transform: coerceBooleanAttribute });
|
|
62
|
+
this.closeButtonSize = input(this._defaultConfig.closeButtonSize, ...(ngDevMode ? [{ debugName: "closeButtonSize" }] : /* istanbul ignore next */ []));
|
|
63
|
+
this.closeLabelButtonAppearance = input(this._defaultConfig.closeLabelButtonAppearance, ...(ngDevMode ? [{ debugName: "closeLabelButtonAppearance" }] : /* istanbul ignore next */ []));
|
|
64
|
+
this.closeButtonLabel = input('', { ...(ngDevMode ? { debugName: "closeButtonLabel" } : /* istanbul ignore next */ {}), transform: coerceStringAttribute });
|
|
65
|
+
this.embeddedIconButtonAppearance = signal(IdsIconButtonAppearance.STANDARD, ...(ngDevMode ? [{ debugName: "embeddedIconButtonAppearance" }] : /* istanbul ignore next */ []));
|
|
66
|
+
this.disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
67
|
+
this._actionButtons = contentChildren(IdsNotificationActionButtonDirective, ...(ngDevMode ? [{ debugName: "_actionButtons" }] : /* istanbul ignore next */ []));
|
|
68
68
|
this.closed = output();
|
|
69
|
-
this._role = computed(() => (this.urgent() ? 'alert' : 'status'), ...(ngDevMode ? [{ debugName: "_role" }] : []));
|
|
69
|
+
this._role = computed(() => (this.urgent() ? 'alert' : 'status'), ...(ngDevMode ? [{ debugName: "_role" }] : /* istanbul ignore next */ []));
|
|
70
70
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
71
71
|
this.size(),
|
|
72
72
|
this.appearance(),
|
|
73
73
|
this.variant(),
|
|
74
74
|
this.displayActionsAtBottom() ? 'actions-bottom-mode' : null,
|
|
75
|
-
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
76
|
-
this._closeLabelButtonClass = computed(() => (this.closeButtonLabel() ? 'ids-notification__label-button' : ''), ...(ngDevMode ? [{ debugName: "_closeLabelButtonClass" }] : []));
|
|
75
|
+
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
76
|
+
this._closeLabelButtonClass = computed(() => (this.closeButtonLabel() ? 'ids-notification__label-button' : ''), ...(ngDevMode ? [{ debugName: "_closeLabelButtonClass" }] : /* istanbul ignore next */ []));
|
|
77
77
|
this.embeddedButtonVariant = computed(() => {
|
|
78
78
|
const notificationVariant = this.variant();
|
|
79
79
|
const notificationAppearance = this.appearance();
|
|
@@ -96,7 +96,7 @@ class IdsNotificationComponent extends ComponentBaseWithDefaults {
|
|
|
96
96
|
return IdsButtonVariant.LIGHT;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
}, ...(ngDevMode ? [{ debugName: "embeddedButtonVariant" }] : []));
|
|
99
|
+
}, ...(ngDevMode ? [{ debugName: "embeddedButtonVariant" }] : /* istanbul ignore next */ []));
|
|
100
100
|
this.embeddedIconButtonVariant = computed(() => {
|
|
101
101
|
const notificationVariant = this.variant();
|
|
102
102
|
const notificationAppearance = this.appearance();
|
|
@@ -119,7 +119,7 @@ class IdsNotificationComponent extends ComponentBaseWithDefaults {
|
|
|
119
119
|
return IdsIconButtonVariant.LIGHT;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
}, ...(ngDevMode ? [{ debugName: "embeddedIconButtonVariant" }] : []));
|
|
122
|
+
}, ...(ngDevMode ? [{ debugName: "embeddedIconButtonVariant" }] : /* istanbul ignore next */ []));
|
|
123
123
|
}
|
|
124
124
|
get _hostName() {
|
|
125
125
|
return 'notification';
|
|
@@ -127,8 +127,8 @@ class IdsNotificationComponent extends ComponentBaseWithDefaults {
|
|
|
127
127
|
_close() {
|
|
128
128
|
this.closed.emit();
|
|
129
129
|
}
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsNotificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
131
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsNotificationComponent, isStandalone: true, selector: "ids-notification", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, urgent: { classPropertyName: "urgent", publicName: "urgent", isSignal: true, isRequired: false, transformFunction: null }, displayActionsAtBottom: { classPropertyName: "displayActionsAtBottom", publicName: "displayActionsAtBottom", isSignal: true, isRequired: false, transformFunction: null }, closeButtonSize: { classPropertyName: "closeButtonSize", publicName: "closeButtonSize", isSignal: true, isRequired: false, transformFunction: null }, closeLabelButtonAppearance: { classPropertyName: "closeLabelButtonAppearance", publicName: "closeLabelButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { properties: { "attr.role": "_role()" } }, providers: [
|
|
132
132
|
{
|
|
133
133
|
provide: IDS_BUTTON_PARENT,
|
|
134
134
|
useExisting: IdsNotificationComponent,
|
|
@@ -139,14 +139,14 @@ class IdsNotificationComponent extends ComponentBaseWithDefaults {
|
|
|
139
139
|
},
|
|
140
140
|
], queries: [{ propertyName: "_actionButtons", predicate: IdsNotificationActionButtonDirective, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-notification__content-wrapper\">\n @let fontIcon = icon();\n @if (fontIcon) {\n <div class=\"ids-notification__leading-element\">\n <ids-icon [fontIcon]=\"fontIcon\" />\n </div>\n }\n\n <div class=\"ids-notification__container\">\n <div class=\"ids-notification__title-msg-container\">\n <div class=\"ids-notification__title\">\n {{ title() }}\n </div>\n <div class=\"ids-notification__message\">\n <ng-content />\n </div>\n </div>\n @if (_actionButtons()) {\n <div class=\"ids-notification__action\">\n <ng-content select=\"button[idsNotificationActionButton]\" />\n </div>\n }\n </div>\n\n <div class=\"ids-notification__close-button-container\" [class]=\"_closeLabelButtonClass()\">\n @let buttonLabel = closeButtonLabel();\n @if (buttonLabel) {\n <button\n type=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"closeButtonSize()\"\n [appearance]=\"closeLabelButtonAppearance()\"\n (click)=\"_close()\"\n >\n {{ buttonLabel }}\n </button>\n } @else {\n <button type=\"button\" aria-label=\"Close notification\" idsIconButton [size]=\"closeButtonSize()\" (click)=\"_close()\">\n <ids-icon alt=\"close icon\" fontIcon=\"close\" />\n </button>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsButtonComponent, selector: "button[idsButton], a[idsButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled", "allowCustomContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsNotificationComponent, decorators: [{
|
|
143
143
|
type: Component,
|
|
144
144
|
args: [{ selector: 'ids-notification', imports: [
|
|
145
145
|
IdsIconComponent,
|
|
146
146
|
IdsButtonComponent,
|
|
147
147
|
IdsIconButtonComponent,
|
|
148
148
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
149
|
-
'[role]': '_role()',
|
|
149
|
+
'[attr.role]': '_role()',
|
|
150
150
|
}, providers: [
|
|
151
151
|
{
|
|
152
152
|
provide: IDS_BUTTON_PARENT,
|
|
@@ -157,7 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
157
157
|
useExisting: IdsNotificationComponent,
|
|
158
158
|
},
|
|
159
159
|
], template: "<div class=\"ids-notification__content-wrapper\">\n @let fontIcon = icon();\n @if (fontIcon) {\n <div class=\"ids-notification__leading-element\">\n <ids-icon [fontIcon]=\"fontIcon\" />\n </div>\n }\n\n <div class=\"ids-notification__container\">\n <div class=\"ids-notification__title-msg-container\">\n <div class=\"ids-notification__title\">\n {{ title() }}\n </div>\n <div class=\"ids-notification__message\">\n <ng-content />\n </div>\n </div>\n @if (_actionButtons()) {\n <div class=\"ids-notification__action\">\n <ng-content select=\"button[idsNotificationActionButton]\" />\n </div>\n }\n </div>\n\n <div class=\"ids-notification__close-button-container\" [class]=\"_closeLabelButtonClass()\">\n @let buttonLabel = closeButtonLabel();\n @if (buttonLabel) {\n <button\n type=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"closeButtonSize()\"\n [appearance]=\"closeLabelButtonAppearance()\"\n (click)=\"_close()\"\n >\n {{ buttonLabel }}\n </button>\n } @else {\n <button type=\"button\" aria-label=\"Close notification\" idsIconButton [size]=\"closeButtonSize()\" (click)=\"_close()\">\n <ids-icon alt=\"close icon\" fontIcon=\"close\" />\n </button>\n }\n </div>\n</div>\n" }]
|
|
160
|
-
}] });
|
|
160
|
+
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], urgent: [{ type: i0.Input, args: [{ isSignal: true, alias: "urgent", required: false }] }], displayActionsAtBottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayActionsAtBottom", required: false }] }], closeButtonSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonSize", required: false }] }], closeLabelButtonAppearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeLabelButtonAppearance", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], _actionButtons: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IdsNotificationActionButtonDirective), { isSignal: true }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
|
|
161
161
|
|
|
162
162
|
/**
|
|
163
163
|
* Generated bundle index. Do not edit.
|