@i-cell/ids-angular 0.1.3 → 0.1.5
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/avatar/avatar.component.d.ts +1 -1
- package/button/button.component.d.ts +3 -3
- package/checkbox/checkbox.component.d.ts +7 -5
- package/checkbox/types/checkbox-group-child.d.ts +2 -1
- package/dialog/dialog.component.d.ts +3 -3
- package/fesm2022/i-cell-ids-angular-avatar.mjs +4 -4
- package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-button.mjs +4 -4
- package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-checkbox.mjs +21 -20
- package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-dialog.mjs +5 -5
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-forms.mjs +62 -56
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon-button.mjs +3 -3
- package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon.mjs +12 -2
- package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-menu.mjs +6 -6
- package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-notification.mjs +3 -3
- package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-paginator.mjs +11 -11
- package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +11 -11
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-select.mjs +59 -19
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-snackbar.mjs +8 -8
- package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-switch.mjs +15 -15
- package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tab.mjs +7 -6
- package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tag.mjs +4 -4
- package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -1
- package/forms/components/form-field/form-field-control.d.ts +1 -1
- package/forms/components/form-field/form-field.component.d.ts +12 -13
- package/forms/components/input/input.directive.d.ts +15 -10
- package/icon/icon-defaults.d.ts +1 -0
- package/icon/icon.component.d.ts +1 -0
- package/icon-button/icon-button.component.d.ts +2 -2
- package/menu/menu-item/menu-item.component.d.ts +4 -4
- package/notification/notification.component.d.ts +1 -1
- package/package.json +42 -42
- package/paginator/paginator.component.d.ts +7 -7
- package/radio/radio.component.d.ts +6 -6
- package/select/select.component.d.ts +19 -7
- package/snackbar/snackbar.component.d.ts +5 -5
- package/switch/switch.component.d.ts +3 -3
- package/tab/tab-group.component.d.ts +3 -2
- package/tag/tag.component.d.ts +3 -3
|
@@ -19,7 +19,7 @@ export declare class IdsAvatarComponent extends ComponentBaseWithDefaults<IdsAva
|
|
|
19
19
|
sizeCollection: import("@angular/core").InputSignal<IdsSizeCollectionType>;
|
|
20
20
|
variant: import("@angular/core").InputSignal<IdsAvatarVariantType>;
|
|
21
21
|
private _implicitAvatarType;
|
|
22
|
-
|
|
22
|
+
protected _currentAvatarType: import("@angular/core").Signal<"initials" | "icon" | "image">;
|
|
23
23
|
private _parentOrSelfVariant;
|
|
24
24
|
protected _hostClasses: import("@angular/core").Signal<string>;
|
|
25
25
|
embeddedIconVariant: import("@angular/core").Signal<IdsIconVariantType>;
|
|
@@ -15,9 +15,9 @@ export declare class IdsButtonComponent extends ComponentBaseWithDefaults<IdsBut
|
|
|
15
15
|
disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
16
16
|
private _parentOrSelfSize;
|
|
17
17
|
private _parentOrSelfVariant;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
protected _iconLeading: import("@angular/core").Signal<readonly IdsIconComponent[]>;
|
|
19
|
+
protected _iconTrailing: import("@angular/core").Signal<readonly IdsIconComponent[]>;
|
|
20
20
|
protected _hostClasses: import("@angular/core").Signal<string>;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<IdsButtonComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IdsButtonComponent, "button[idsButton]", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IdsButtonComponent, "button[idsButton]", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["_iconLeading", "_iconTrailing"], ["[icon-leading]", "*", "[icon-trailing]"], true, never>;
|
|
23
23
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IdsCheckboxDefaultConfig } from './checkbox-defaults';
|
|
2
2
|
import { IdsCheckBoxChangeEvent } from './types/checkbox-events.class';
|
|
3
3
|
import { IdsCheckboxGroupChild } from './types/checkbox-group-child';
|
|
4
|
+
import { IdsCheckboxStateType } from './types/checkbox-state.type';
|
|
4
5
|
import { IdsCheckboxVariantType } from './types/checkbox-variant.type';
|
|
5
6
|
import { AfterViewInit, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
6
7
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
@@ -13,7 +14,8 @@ export declare class IdsCheckboxComponent extends ComponentBaseWithDefaults<IdsC
|
|
|
13
14
|
protected readonly _defaultConfig: Required<IdsCheckboxDefaultConfig>;
|
|
14
15
|
private _checkboxGroup;
|
|
15
16
|
private _checkboxState;
|
|
16
|
-
|
|
17
|
+
checkboxState: import("@angular/core").Signal<IdsCheckboxStateType>;
|
|
18
|
+
protected _inputId: import("@angular/core").Signal<string>;
|
|
17
19
|
name: import("@angular/core").InputSignal<string | null | undefined>;
|
|
18
20
|
required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
21
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
@@ -27,9 +29,9 @@ export declare class IdsCheckboxComponent extends ComponentBaseWithDefaults<IdsC
|
|
|
27
29
|
ariaLabelledby: import("@angular/core").InputSignal<string | null>;
|
|
28
30
|
ariaDescribedby: import("@angular/core").InputSignal<string>;
|
|
29
31
|
disabled: import("@angular/core").ModelSignal<boolean>;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
protected _isChecked: import("@angular/core").Signal<boolean>;
|
|
33
|
+
protected _isIndeterminate: import("@angular/core").Signal<boolean>;
|
|
34
|
+
protected _isFocusable: import("@angular/core").Signal<boolean>;
|
|
33
35
|
protected _hostClasses: import("@angular/core").Signal<string>;
|
|
34
36
|
protected _nativeValue: import("@angular/core").Signal<string | undefined>;
|
|
35
37
|
private _parentOrSelfSize;
|
|
@@ -62,7 +64,7 @@ export declare class IdsCheckboxComponent extends ComponentBaseWithDefaults<IdsC
|
|
|
62
64
|
onInputClick(): void;
|
|
63
65
|
onTouchTargetClick(): void;
|
|
64
66
|
get displayedMessages(): 'error' | 'hint' | undefined;
|
|
65
|
-
get
|
|
67
|
+
protected get _hasRequiredValidator(): boolean;
|
|
66
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<IdsCheckboxComponent, never>;
|
|
67
69
|
static ɵcmp: i0.ɵɵComponentDeclaration<IdsCheckboxComponent, "ids-checkbox", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "change": "change"; "indeterminateChange": "indeterminateChange"; }, ["_hintMessages", "_errorMessages"], ["*", "ids-error-message", "ids-hint-message"], true, never>;
|
|
68
70
|
}
|
|
@@ -6,17 +6,17 @@ export declare class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDia
|
|
|
6
6
|
protected get _hostName(): string;
|
|
7
7
|
protected readonly _defaultConfig: Required<IdsDialogDefaultConfig>;
|
|
8
8
|
dialog: HTMLDialogElement;
|
|
9
|
-
|
|
9
|
+
protected _titleId: import("@angular/core").Signal<string>;
|
|
10
10
|
size: import("@angular/core").InputSignal<IdsSizeType>;
|
|
11
11
|
mainTitle: import("@angular/core").InputSignal<string>;
|
|
12
12
|
subTitle: import("@angular/core").InputSignal<string | undefined>;
|
|
13
13
|
showCloseButton: import("@angular/core").InputSignal<boolean>;
|
|
14
14
|
showBackdrop: import("@angular/core").InputSignal<boolean>;
|
|
15
|
-
|
|
15
|
+
protected _customHeader: import("@angular/core").Signal<IdsDialogHeaderDirective | undefined>;
|
|
16
16
|
protected _hostClasses: import("@angular/core").Signal<string>;
|
|
17
17
|
private _onCancel;
|
|
18
18
|
open(): void;
|
|
19
19
|
close(): void;
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<IdsDialogComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IdsDialogComponent, "dialog[idsDialog]", ["idsDialog"], { "size": { "alias": "size"; "required": false; "isSignal": true; }; "mainTitle": { "alias": "mainTitle"; "required": true; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; }, {}, ["
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IdsDialogComponent, "dialog[idsDialog]", ["idsDialog"], { "size": { "alias": "size"; "required": false; "isSignal": true; }; "mainTitle": { "alias": "mainTitle"; "required": true; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; }, {}, ["_customHeader"], ["[idsDialogContent]", "[idsDialogActions]"], true, never>;
|
|
22
22
|
}
|
|
@@ -69,12 +69,12 @@ class IdsAvatarComponent extends ComponentBaseWithDefaults {
|
|
|
69
69
|
}
|
|
70
70
|
return IdsAvatarType.INITIALS;
|
|
71
71
|
});
|
|
72
|
-
this.
|
|
72
|
+
this._currentAvatarType = computed(() => this._implicitAvatarType() ?? this._defaultConfig.type);
|
|
73
73
|
this._parentOrSelfVariant = computed(() => this._parent?.embeddedAvatarVariant() ?? this.variant());
|
|
74
74
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
75
75
|
[
|
|
76
76
|
'type',
|
|
77
|
-
this.
|
|
77
|
+
this._currentAvatarType(),
|
|
78
78
|
],
|
|
79
79
|
[
|
|
80
80
|
`${this.sizeCollection()}collection`,
|
|
@@ -105,7 +105,7 @@ class IdsAvatarComponent extends ComponentBaseWithDefaults {
|
|
|
105
105
|
provide: IDS_ICON_PARENT,
|
|
106
106
|
useExisting: IdsAvatarComponent,
|
|
107
107
|
},
|
|
108
|
-
], queries: [{ propertyName: "_iconChild", first: true, predicate: IdsIconComponent, descendants: true, isSignal: true }, { propertyName: "_imageChild", first: true, predicate: IdsAvatarImageDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let type =
|
|
108
|
+
], queries: [{ propertyName: "_iconChild", first: true, predicate: IdsIconComponent, descendants: true, isSignal: true }, { propertyName: "_imageChild", first: true, predicate: IdsAvatarImageDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let type = _currentAvatarType();\n@switch (type) {\n @case (_avatarType.INITIALS) {\n <span>{{ initials() }}</span>\n }\n @case (_avatarType.ICON) {\n <ng-content select=\"ids-icon\">\n <ids-icon fontIcon=\"user\" />\n </ng-content>\n }\n @case (_avatarType.IMAGE) {\n <ng-content select=\"img[src]\" />\n }\n}\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
109
109
|
}
|
|
110
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsAvatarComponent, decorators: [{
|
|
111
111
|
type: Component,
|
|
@@ -114,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
|
|
|
114
114
|
provide: IDS_ICON_PARENT,
|
|
115
115
|
useExisting: IdsAvatarComponent,
|
|
116
116
|
},
|
|
117
|
-
], template: "@let type =
|
|
117
|
+
], template: "@let type = _currentAvatarType();\n@switch (type) {\n @case (_avatarType.INITIALS) {\n <span>{{ initials() }}</span>\n }\n @case (_avatarType.ICON) {\n <ng-content select=\"ids-icon\">\n <ids-icon fontIcon=\"user\" />\n </ng-content>\n }\n @case (_avatarType.IMAGE) {\n <ng-content select=\"img[src]\" />\n }\n}\n" }]
|
|
118
118
|
}] });
|
|
119
119
|
|
|
120
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-avatar.mjs","sources":["../../../projects/widgets/avatar/tokens/avatar-parent.ts","../../../projects/widgets/avatar/types/avatar-type.type.ts","../../../projects/widgets/avatar/types/avatar-variant.type.ts","../../../projects/widgets/avatar/avatar-defaults.ts","../../../projects/widgets/avatar/avatar-image.directive.ts","../../../projects/widgets/avatar/avatar.component.ts","../../../projects/widgets/avatar/avatar.component.html","../../../projects/widgets/avatar/i-cell-ids-angular-avatar.ts"],"sourcesContent":["import { IdsAvatarVariantType } from '../types/avatar-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsAvatarParent {\n public readonly embeddedAvatarVariant!: Signal<IdsAvatarVariantType>;\n};\n\nexport const IDS_AVATAR_PARENT = new InjectionToken<IdsAvatarParent>(\n 'IDS_AVATAR_PARENT',\n);\n","export const IdsAvatarType = {\n INITIALS: 'initials',\n ICON: 'icon',\n IMAGE: 'image',\n} as const;\n\nexport type IdsAvatarTypeType = (typeof IdsAvatarType)[keyof typeof IdsAvatarType];\n","export const IdsAvatarVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsAvatarVariantType = (typeof IdsAvatarVariant)[keyof typeof IdsAvatarVariant];\n","import { IdsAvatarType, IdsAvatarTypeType } from './types/avatar-type.type';\nimport { IdsAvatarVariant, IdsAvatarVariantType } from './types/avatar-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeCollection, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsAvatarDefaultConfig {\n type: IdsAvatarTypeType\n size?: IdsSizeType\n sizeCollection?: IdsSizeCollectionType\n variant?: IdsAvatarVariantType,\n}\n\nexport const IDS_AVATAR_DEFAULT_CONFIG = new InjectionToken<IdsAvatarDefaultConfig>(\n 'IDS_AVATAR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_AVATAR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_AVATAR_DEFAULT_CONFIG_FACTORY(): Required<IdsAvatarDefaultConfig> {\n return {\n type: IdsAvatarType.INITIALS,\n size: IdsSize.COMPACT,\n sizeCollection: IdsSizeCollection.SMALL,\n variant: IdsAvatarVariant.PRIMARY,\n };\n}\n\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'img[idsAvatarImage]',\n standalone: true,\n})\nexport class IdsAvatarImageDirective {}\n","import { IDS_AVATAR_DEFAULT_CONFIG, IDS_AVATAR_DEFAULT_CONFIG_FACTORY, IdsAvatarDefaultConfig } from './avatar-defaults';\nimport { IdsAvatarImageDirective } from './avatar-image.directive';\nimport { IDS_AVATAR_PARENT } from './tokens/avatar-parent';\nimport { IdsAvatarType } from './types/avatar-type.type';\nimport { IdsAvatarVariant, IdsAvatarVariantType } from './types/avatar-variant.type';\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChild, inject, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IDS_ICON_PARENT, IdsIconComponent, IdsIconParent, IdsIconVariant, IdsIconVariantType } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_AVATAR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-avatar',\n imports: [IdsIconComponent],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: IDS_ICON_PARENT,\n useExisting: IdsAvatarComponent,\n },\n ],\n})\nexport class IdsAvatarComponent extends ComponentBaseWithDefaults<IdsAvatarDefaultConfig> implements IdsIconParent {\n protected override get _hostName(): string {\n return 'avatar';\n }\n\n private readonly _parent = inject(IDS_AVATAR_PARENT, { optional: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_AVATAR_DEFAULT_CONFIG);\n\n protected readonly _avatarType = IdsAvatarType;\n\n private _iconChild = contentChild(IdsIconComponent);\n private _imageChild = contentChild(IdsAvatarImageDirective);\n\n public initials = input<string | null>(null);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public sizeCollection = input<IdsSizeCollectionType>(this._defaultConfig.sizeCollection);\n public variant = input<IdsAvatarVariantType>(this._defaultConfig.variant);\n\n private _implicitAvatarType = computed(() => {\n if (this._iconChild() && !this._imageChild()) {\n return IdsAvatarType.ICON;\n }\n if (this._imageChild() && !this._iconChild()) {\n return IdsAvatarType.IMAGE;\n }\n return IdsAvatarType.INITIALS;\n });\n\n public avatarType = computed(() => this._implicitAvatarType() ?? this._defaultConfig.type);\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedAvatarVariant() ?? this.variant());\n\n protected _hostClasses = computed(() => this._getHostClasses([\n [\n 'type',\n this.avatarType(),\n ],\n [\n `${this.sizeCollection()}collection`,\n this.size(),\n ],\n this._parentOrSelfVariant(),\n ]));\n\n public embeddedIconVariant = computed<IdsIconVariantType>(() => {\n const avatarVariant = this._parentOrSelfVariant();\n switch (avatarVariant) {\n case IdsAvatarVariant.PRIMARY:\n case IdsAvatarVariant.SECONDARY:\n case IdsAvatarVariant.DARK:\n return IdsIconVariant.LIGHT;\n\n case IdsAvatarVariant.SURFACE:\n return IdsIconVariant.SURFACE;\n\n case IdsAvatarVariant.LIGHT:\n return IdsIconVariant.SURFACE;\n }\n });\n}\n","@let type = avatarType();\n@switch (type) {\n @case (_avatarType.INITIALS) {\n <span>{{ initials() }}</span>\n }\n @case (_avatarType.ICON) {\n <ng-content select=\"ids-icon\">\n <ids-icon fontIcon=\"user\" />\n </ng-content>\n }\n @case (_avatarType.IMAGE) {\n <ng-content select=\"img[src]\" />\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-avatar.mjs","sources":["../../../projects/widgets/avatar/tokens/avatar-parent.ts","../../../projects/widgets/avatar/types/avatar-type.type.ts","../../../projects/widgets/avatar/types/avatar-variant.type.ts","../../../projects/widgets/avatar/avatar-defaults.ts","../../../projects/widgets/avatar/avatar-image.directive.ts","../../../projects/widgets/avatar/avatar.component.ts","../../../projects/widgets/avatar/avatar.component.html","../../../projects/widgets/avatar/i-cell-ids-angular-avatar.ts"],"sourcesContent":["import { IdsAvatarVariantType } from '../types/avatar-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsAvatarParent {\n public readonly embeddedAvatarVariant!: Signal<IdsAvatarVariantType>;\n};\n\nexport const IDS_AVATAR_PARENT = new InjectionToken<IdsAvatarParent>(\n 'IDS_AVATAR_PARENT',\n);\n","export const IdsAvatarType = {\n INITIALS: 'initials',\n ICON: 'icon',\n IMAGE: 'image',\n} as const;\n\nexport type IdsAvatarTypeType = (typeof IdsAvatarType)[keyof typeof IdsAvatarType];\n","export const IdsAvatarVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsAvatarVariantType = (typeof IdsAvatarVariant)[keyof typeof IdsAvatarVariant];\n","import { IdsAvatarType, IdsAvatarTypeType } from './types/avatar-type.type';\nimport { IdsAvatarVariant, IdsAvatarVariantType } from './types/avatar-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeCollection, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsAvatarDefaultConfig {\n type: IdsAvatarTypeType\n size?: IdsSizeType\n sizeCollection?: IdsSizeCollectionType\n variant?: IdsAvatarVariantType,\n}\n\nexport const IDS_AVATAR_DEFAULT_CONFIG = new InjectionToken<IdsAvatarDefaultConfig>(\n 'IDS_AVATAR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_AVATAR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_AVATAR_DEFAULT_CONFIG_FACTORY(): Required<IdsAvatarDefaultConfig> {\n return {\n type: IdsAvatarType.INITIALS,\n size: IdsSize.COMPACT,\n sizeCollection: IdsSizeCollection.SMALL,\n variant: IdsAvatarVariant.PRIMARY,\n };\n}\n\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'img[idsAvatarImage]',\n standalone: true,\n})\nexport class IdsAvatarImageDirective {}\n","import { IDS_AVATAR_DEFAULT_CONFIG, IDS_AVATAR_DEFAULT_CONFIG_FACTORY, IdsAvatarDefaultConfig } from './avatar-defaults';\nimport { IdsAvatarImageDirective } from './avatar-image.directive';\nimport { IDS_AVATAR_PARENT } from './tokens/avatar-parent';\nimport { IdsAvatarType } from './types/avatar-type.type';\nimport { IdsAvatarVariant, IdsAvatarVariantType } from './types/avatar-variant.type';\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChild, inject, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeCollectionType, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IDS_ICON_PARENT, IdsIconComponent, IdsIconParent, IdsIconVariant, IdsIconVariantType } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_AVATAR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-avatar',\n imports: [IdsIconComponent],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: IDS_ICON_PARENT,\n useExisting: IdsAvatarComponent,\n },\n ],\n})\nexport class IdsAvatarComponent extends ComponentBaseWithDefaults<IdsAvatarDefaultConfig> implements IdsIconParent {\n protected override get _hostName(): string {\n return 'avatar';\n }\n\n private readonly _parent = inject(IDS_AVATAR_PARENT, { optional: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_AVATAR_DEFAULT_CONFIG);\n\n protected readonly _avatarType = IdsAvatarType;\n\n private _iconChild = contentChild(IdsIconComponent);\n private _imageChild = contentChild(IdsAvatarImageDirective);\n\n public initials = input<string | null>(null);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public sizeCollection = input<IdsSizeCollectionType>(this._defaultConfig.sizeCollection);\n public variant = input<IdsAvatarVariantType>(this._defaultConfig.variant);\n\n private _implicitAvatarType = computed(() => {\n if (this._iconChild() && !this._imageChild()) {\n return IdsAvatarType.ICON;\n }\n if (this._imageChild() && !this._iconChild()) {\n return IdsAvatarType.IMAGE;\n }\n return IdsAvatarType.INITIALS;\n });\n\n protected _currentAvatarType = computed(() => this._implicitAvatarType() ?? this._defaultConfig.type);\n\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedAvatarVariant() ?? this.variant());\n\n protected _hostClasses = computed(() => this._getHostClasses([\n [\n 'type',\n this._currentAvatarType(),\n ],\n [\n `${this.sizeCollection()}collection`,\n this.size(),\n ],\n this._parentOrSelfVariant(),\n ]));\n\n public embeddedIconVariant = computed<IdsIconVariantType>(() => {\n const avatarVariant = this._parentOrSelfVariant();\n switch (avatarVariant) {\n case IdsAvatarVariant.PRIMARY:\n case IdsAvatarVariant.SECONDARY:\n case IdsAvatarVariant.DARK:\n return IdsIconVariant.LIGHT;\n\n case IdsAvatarVariant.SURFACE:\n return IdsIconVariant.SURFACE;\n\n case IdsAvatarVariant.LIGHT:\n return IdsIconVariant.SURFACE;\n }\n });\n}\n","@let type = _currentAvatarType();\n@switch (type) {\n @case (_avatarType.INITIALS) {\n <span>{{ initials() }}</span>\n }\n @case (_avatarType.ICON) {\n <ng-content select=\"ids-icon\">\n <ids-icon fontIcon=\"user\" />\n </ng-content>\n }\n @case (_avatarType.IMAGE) {\n <ng-content select=\"img[src]\" />\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -87,8 +87,8 @@ class IdsButtonComponent extends ComponentBaseWithDefaults {
|
|
|
87
87
|
this.disabled = input(false, { transform: (value) => coerceBooleanAttribute(value) });
|
|
88
88
|
this._parentOrSelfSize = computed(() => this._group?.size() ?? this.size());
|
|
89
89
|
this._parentOrSelfVariant = computed(() => this._parent?.embeddedButtonVariant() ?? this.variant());
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
90
|
+
this._iconLeading = contentChildren('[icon-leading]');
|
|
91
|
+
this._iconTrailing = contentChildren('[icon-trailing]');
|
|
92
92
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
93
93
|
this.appearance(),
|
|
94
94
|
this._parentOrSelfSize(),
|
|
@@ -99,14 +99,14 @@ class IdsButtonComponent extends ComponentBaseWithDefaults {
|
|
|
99
99
|
return 'button';
|
|
100
100
|
}
|
|
101
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.2", type: IdsButtonComponent, isStandalone: true, selector: "button[idsButton]", 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 } }, host: { properties: { "attr.aria-disabled": "this.disabled()? \"\" : null", "attr.disabled": "this.disabled() ? \"\" : null" } }, queries: [{ propertyName: "
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.2", type: IdsButtonComponent, isStandalone: true, selector: "button[idsButton]", 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 } }, host: { properties: { "attr.aria-disabled": "this.disabled()? \"\" : null", "attr.disabled": "this.disabled() ? \"\" : null" } }, queries: [{ propertyName: "_iconLeading", predicate: ["[icon-leading]"], isSignal: true }, { propertyName: "_iconTrailing", predicate: ["[icon-trailing]"], isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n}\n<span class=\"ids-button-label\"><ng-content /></span>\n@if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
103
103
|
}
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsButtonComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ selector: 'button[idsButton]', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
107
107
|
'[attr.aria-disabled]': 'this.disabled()? "" : null',
|
|
108
108
|
'[attr.disabled]': 'this.disabled() ? "" : null',
|
|
109
|
-
}, template: "@if (
|
|
109
|
+
}, template: "@if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n}\n<span class=\"ids-button-label\"><ng-content /></span>\n@if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n}\n" }]
|
|
110
110
|
}] });
|
|
111
111
|
|
|
112
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-button.mjs","sources":["../../../projects/widgets/button/tokens/button-parent.ts","../../../projects/widgets/button/types/button-appearance.type.ts","../../../projects/widgets/button/types/button-variant.type.ts","../../../projects/widgets/button/button-defaults.ts","../../../projects/widgets/button/button-group-defaults.ts","../../../projects/widgets/button/button-group.component.ts","../../../projects/widgets/button/button.component.ts","../../../projects/widgets/button/button.component.html","../../../projects/widgets/button/i-cell-ids-angular-button.ts"],"sourcesContent":["import { IdsButtonVariantType } from '../types/button-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsButtonParent {\n public readonly embeddedButtonVariant!: Signal<IdsButtonVariantType>;\n};\n\nexport const IDS_BUTTON_PARENT = new InjectionToken<IdsButtonParent>(\n 'IDS_BUTTON_PARENT',\n);\n","export const IdsButtonAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n TEXT: 'text',\n} as const;\n\nexport type IdsButtonAppearanceType = (typeof IdsButtonAppearance)[keyof typeof IdsButtonAppearance];\n","export const IdsButtonVariant = {\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 LIGHT_FIXED: 'light-fixed',\n} as const;\n\nexport type IdsButtonVariantType = (typeof IdsButtonVariant)[keyof typeof IdsButtonVariant];\n\n","import { IdsButtonAppearance, IdsButtonAppearanceType } from './types/button-appearance.type';\nimport { IdsButtonVariant, IdsButtonVariantType } from './types/button-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsButtonDefaultConfig {\n appearance?: IdsButtonAppearanceType,\n size?: IdsSizeType,\n variant?: IdsButtonVariantType,\n}\n\nexport const IDS_BUTTON_DEFAULT_CONFIG = new InjectionToken<IdsButtonDefaultConfig>(\n 'IDS_BUTTON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_BUTTON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_BUTTON_DEFAULT_CONFIG_FACTORY(): Required<IdsButtonDefaultConfig> {\n return {\n appearance: IdsButtonAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsButtonVariant.PRIMARY,\n };\n}\n\n","import { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsButtonGroupDefaultConfig {\n size?: IdsSizeType,\n}\n\nexport const IDS_BUTTON_GROUP_DEFAULT_CONFIG = new InjectionToken<IdsButtonGroupDefaultConfig>(\n 'IDS_BUTTON_GROUP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY(): Required<IdsButtonGroupDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n };\n}\n\n","import { IDS_BUTTON_GROUP_DEFAULT_CONFIG, IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY, IdsButtonGroupDefaultConfig } from './button-group-defaults';\n\nimport { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-button-group',\n imports: [],\n template: '<ng-content select=\"button[idsButton], button[idsIconButton]\">',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsButtonGroupComponent extends ComponentBaseWithDefaults<IdsButtonGroupDefaultConfig> {\n protected override get _hostName(): string {\n return 'button-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BUTTON_GROUP_DEFAULT_CONFIG);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n\n protected _hostClasses =signal(this._getHostClasses([this.size()]));\n}\n","import { IDS_BUTTON_DEFAULT_CONFIG, IDS_BUTTON_DEFAULT_CONFIG_FACTORY, IdsButtonDefaultConfig } from './button-defaults';\nimport { IdsButtonGroupComponent } from './button-group.component';\nimport { IDS_BUTTON_PARENT } from './tokens/button-parent';\nimport { IdsButtonAppearanceType } from './types/button-appearance.type';\nimport { IdsButtonVariantType } from './types/button-variant.type';\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChildren, inject, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_BUTTON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsButton]',\n imports: [],\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-disabled]': 'this.disabled()? \"\" : null',\n '[attr.disabled]': 'this.disabled() ? \"\" : null',\n },\n})\nexport class IdsButtonComponent extends ComponentBaseWithDefaults<IdsButtonDefaultConfig> {\n protected override get _hostName(): string {\n return 'button';\n }\n\n private readonly _parent = inject(IDS_BUTTON_PARENT, { optional: true });\n private readonly _group = inject(IdsButtonGroupComponent, { optional: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BUTTON_DEFAULT_CONFIG);\n\n public appearance = input<IdsButtonAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsButtonVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n\n private _parentOrSelfSize = computed(() => this._group?.size() ?? this.size());\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedButtonVariant() ?? this.variant());\n\n public iconLeading = contentChildren<IdsIconComponent>('[icon-leading]');\n public iconTrailing = contentChildren<IdsIconComponent>('[icon-trailing]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n ]));\n}\n","@if (iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n}\n<span class=\"ids-button-label\"><ng-content /></span>\n@if (iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-button.mjs","sources":["../../../projects/widgets/button/tokens/button-parent.ts","../../../projects/widgets/button/types/button-appearance.type.ts","../../../projects/widgets/button/types/button-variant.type.ts","../../../projects/widgets/button/button-defaults.ts","../../../projects/widgets/button/button-group-defaults.ts","../../../projects/widgets/button/button-group.component.ts","../../../projects/widgets/button/button.component.ts","../../../projects/widgets/button/button.component.html","../../../projects/widgets/button/i-cell-ids-angular-button.ts"],"sourcesContent":["import { IdsButtonVariantType } from '../types/button-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\n\nexport abstract class IdsButtonParent {\n public readonly embeddedButtonVariant!: Signal<IdsButtonVariantType>;\n};\n\nexport const IDS_BUTTON_PARENT = new InjectionToken<IdsButtonParent>(\n 'IDS_BUTTON_PARENT',\n);\n","export const IdsButtonAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n TEXT: 'text',\n} as const;\n\nexport type IdsButtonAppearanceType = (typeof IdsButtonAppearance)[keyof typeof IdsButtonAppearance];\n","export const IdsButtonVariant = {\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 LIGHT_FIXED: 'light-fixed',\n} as const;\n\nexport type IdsButtonVariantType = (typeof IdsButtonVariant)[keyof typeof IdsButtonVariant];\n\n","import { IdsButtonAppearance, IdsButtonAppearanceType } from './types/button-appearance.type';\nimport { IdsButtonVariant, IdsButtonVariantType } from './types/button-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsButtonDefaultConfig {\n appearance?: IdsButtonAppearanceType,\n size?: IdsSizeType,\n variant?: IdsButtonVariantType,\n}\n\nexport const IDS_BUTTON_DEFAULT_CONFIG = new InjectionToken<IdsButtonDefaultConfig>(\n 'IDS_BUTTON_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_BUTTON_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_BUTTON_DEFAULT_CONFIG_FACTORY(): Required<IdsButtonDefaultConfig> {\n return {\n appearance: IdsButtonAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsButtonVariant.PRIMARY,\n };\n}\n\n","import { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsButtonGroupDefaultConfig {\n size?: IdsSizeType,\n}\n\nexport const IDS_BUTTON_GROUP_DEFAULT_CONFIG = new InjectionToken<IdsButtonGroupDefaultConfig>(\n 'IDS_BUTTON_GROUP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY(): Required<IdsButtonGroupDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n };\n}\n\n","import { IDS_BUTTON_GROUP_DEFAULT_CONFIG, IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY, IdsButtonGroupDefaultConfig } from './button-group-defaults';\n\nimport { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_BUTTON_GROUP_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-button-group',\n imports: [],\n template: '<ng-content select=\"button[idsButton], button[idsIconButton]\">',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsButtonGroupComponent extends ComponentBaseWithDefaults<IdsButtonGroupDefaultConfig> {\n protected override get _hostName(): string {\n return 'button-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BUTTON_GROUP_DEFAULT_CONFIG);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n\n protected _hostClasses =signal(this._getHostClasses([this.size()]));\n}\n","import { IDS_BUTTON_DEFAULT_CONFIG, IDS_BUTTON_DEFAULT_CONFIG_FACTORY, IdsButtonDefaultConfig } from './button-defaults';\nimport { IdsButtonGroupComponent } from './button-group.component';\nimport { IDS_BUTTON_PARENT } from './tokens/button-parent';\nimport { IdsButtonAppearanceType } from './types/button-appearance.type';\nimport { IdsButtonVariantType } from './types/button-variant.type';\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, contentChildren, inject, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_BUTTON_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'button[idsButton]',\n imports: [],\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-disabled]': 'this.disabled()? \"\" : null',\n '[attr.disabled]': 'this.disabled() ? \"\" : null',\n },\n})\nexport class IdsButtonComponent extends ComponentBaseWithDefaults<IdsButtonDefaultConfig> {\n protected override get _hostName(): string {\n return 'button';\n }\n\n private readonly _parent = inject(IDS_BUTTON_PARENT, { optional: true });\n private readonly _group = inject(IdsButtonGroupComponent, { optional: true });\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BUTTON_DEFAULT_CONFIG);\n\n public appearance = input<IdsButtonAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsButtonVariantType>(this._defaultConfig.variant);\n public disabled = input(false, { transform: (value: boolean | string) => coerceBooleanAttribute(value) });\n\n private _parentOrSelfSize = computed(() => this._group?.size() ?? this.size());\n private _parentOrSelfVariant = computed(() => this._parent?.embeddedButtonVariant() ?? this.variant());\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._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n ]));\n}\n","@if (_iconLeading()) {\n <ng-content select=\"[icon-leading]\" />\n}\n<span class=\"ids-button-label\"><ng-content /></span>\n@if (_iconTrailing()) {\n <ng-content select=\"[icon-trailing]\" />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|
|
@@ -58,7 +58,8 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
58
58
|
this._defaultConfig = this._getDefaultConfig(defaultConfig$1, IDS_CHECKBOX_DEFAULT_CONFIG);
|
|
59
59
|
this._checkboxGroup = inject(IDS_CHECKBOX_PARENT, { optional: true });
|
|
60
60
|
this._checkboxState = signal(IdsCheckboxState.UNCHECKED);
|
|
61
|
-
this.
|
|
61
|
+
this.checkboxState = this._checkboxState.asReadonly();
|
|
62
|
+
this._inputId = computed(() => `${this.id()}-input`);
|
|
62
63
|
this.name = input();
|
|
63
64
|
this.required = input(false, { transform: coerceBooleanAttribute });
|
|
64
65
|
this.readonly = input(false, { transform: coerceBooleanAttribute });
|
|
@@ -72,9 +73,9 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
72
73
|
this.ariaLabelledby = input(null, { alias: 'aria-labelledby' });
|
|
73
74
|
this.ariaDescribedby = input('', { alias: 'aria-describedby' });
|
|
74
75
|
this.disabled = model(false);
|
|
75
|
-
this.
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
76
|
+
this._isChecked = computed(() => this._checkboxState() === IdsCheckboxState.CHECKED);
|
|
77
|
+
this._isIndeterminate = computed(() => this._checkboxState() === IdsCheckboxState.INDETERMINATE);
|
|
78
|
+
this._isFocusable = computed(() => !this.disabled() && !this.readonly());
|
|
78
79
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
79
80
|
this._parentOrSelfSize(),
|
|
80
81
|
this._parentOrSelfVariant(),
|
|
@@ -127,7 +128,7 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
127
128
|
this._inputElement().nativeElement.focus();
|
|
128
129
|
}
|
|
129
130
|
writeValue(value) {
|
|
130
|
-
if (this.
|
|
131
|
+
if (this._isIndeterminate()) {
|
|
131
132
|
this._checkboxState.set(IdsCheckboxState.INDETERMINATE);
|
|
132
133
|
}
|
|
133
134
|
else {
|
|
@@ -151,37 +152,37 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
151
152
|
return event;
|
|
152
153
|
}
|
|
153
154
|
_emitChangeEvent() {
|
|
154
|
-
this._onChange(this.
|
|
155
|
-
this.change.emit(this._createChangeEvent(this.
|
|
156
|
-
this._syncChecked(this.
|
|
155
|
+
this._onChange(this._isChecked());
|
|
156
|
+
this.change.emit(this._createChangeEvent(this._isChecked(), this.value()));
|
|
157
|
+
this._syncChecked(this._isChecked());
|
|
157
158
|
}
|
|
158
159
|
toggle() {
|
|
159
|
-
if (this.
|
|
160
|
+
if (this._isIndeterminate()) {
|
|
160
161
|
this._checkboxState.set(IdsCheckboxState.CHECKED);
|
|
161
162
|
}
|
|
162
163
|
else {
|
|
163
164
|
this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);
|
|
164
165
|
}
|
|
165
|
-
this._onChange(this.
|
|
166
|
+
this._onChange(this._isChecked());
|
|
166
167
|
}
|
|
167
168
|
select() {
|
|
168
169
|
this._checkboxState.set(IdsCheckboxState.CHECKED);
|
|
169
|
-
this._onChange(this.
|
|
170
|
+
this._onChange(this._isChecked());
|
|
170
171
|
}
|
|
171
172
|
deselect() {
|
|
172
173
|
this._checkboxState.set(IdsCheckboxState.UNCHECKED);
|
|
173
|
-
this._onChange(this.
|
|
174
|
+
this._onChange(this._isChecked());
|
|
174
175
|
}
|
|
175
176
|
_handleInputClick() {
|
|
176
|
-
if (this.
|
|
177
|
+
if (this._isIndeterminate()) {
|
|
177
178
|
this._checkboxState.set(IdsCheckboxState.CHECKED);
|
|
178
|
-
this.indeterminateChange.emit(this.
|
|
179
|
+
this.indeterminateChange.emit(this._isIndeterminate());
|
|
179
180
|
}
|
|
180
181
|
else {
|
|
181
182
|
this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);
|
|
182
183
|
}
|
|
183
184
|
this._emitChangeEvent();
|
|
184
|
-
this._syncIndeterminate(this.
|
|
185
|
+
this._syncIndeterminate(this._isIndeterminate());
|
|
185
186
|
}
|
|
186
187
|
onBlur() {
|
|
187
188
|
Promise.resolve().then(() => {
|
|
@@ -219,7 +220,7 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
219
220
|
}
|
|
220
221
|
return undefined;
|
|
221
222
|
}
|
|
222
|
-
get
|
|
223
|
+
get _hasRequiredValidator() {
|
|
223
224
|
const control = this.controlDir?.control;
|
|
224
225
|
if (!control) {
|
|
225
226
|
return this.required();
|
|
@@ -245,7 +246,7 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
|
|
|
245
246
|
provide: IDS_CHECKBOX_GROUP_CHILD,
|
|
246
247
|
useExisting: IdsCheckboxComponent,
|
|
247
248
|
},
|
|
248
|
-
], queries: [{ propertyName: "_hintMessages", predicate: IdsHintMessageComponent, descendants: true, isSignal: true }, { propertyName: "_errorMessages", predicate: IdsErrorMessageComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ids-checkbox__input-wrapper\">\n <div class=\"ids-checkbox__touch-target\" (click)=\"onTouchTargetClick()\"></div>\n <input\n #inputEl\n type=\"checkbox\"\n [class.ids-checkbox--selected]=\"
|
|
249
|
+
], queries: [{ propertyName: "_hintMessages", predicate: IdsHintMessageComponent, descendants: true, isSignal: true }, { propertyName: "_errorMessages", predicate: IdsErrorMessageComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ids-checkbox__input-wrapper\">\n <div class=\"ids-checkbox__touch-target\" (click)=\"onTouchTargetClick()\"></div>\n <input\n #inputEl\n type=\"checkbox\"\n [class.ids-checkbox--selected]=\"_isChecked()\"\n [id]=\"_inputId()\"\n [disabled]=\"disabled()\"\n [attr.aria-checked]=\"_isIndeterminate() ? 'mixed' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [checked]=\"_isChecked()\"\n [indeterminate]=\"_isIndeterminate()\"\n [name]=\"name()\"\n [required]=\"required()\"\n [tabIndex]=\"!_isFocusable() ? -1 : tabIndex()\"\n [value]=\"_nativeValue()\"\n (blur)=\"onBlur()\"\n (click)=\"onInputClick()\"\n (change)=\"$event.stopPropagation()\"\n />\n <div class=\"ids-checkbox__icon\" aria-hidden=\"true\">\n @if (_isIndeterminate()) {\n <ids-icon fontIcon=\"minus\" aria-hidden=\"true\" />\n }\n @if (_isChecked()) {\n <ids-icon fontIcon=\"check\" aria-hidden=\"true\" />\n }\n </div>\n</div>\n\n<div class=\"ids-checkbox__label-wrapper\">\n <div class=\"ids-checkbox__label-container\">\n <label class=\"ids-checkbox__label\" [for]=\"_inputId()\">\n <ng-content />\n @if (_hasRequiredValidator) {\n <span class=\"ids-form-field__required-marker\"></span>\n }\n </label>\n </div>\n @let messages = displayedMessages;\n @if (messages) {\n <div class=\"ids-checkbox__message-container\">\n @switch (messages) {\n @case (\"error\") {\n <ng-content select=\"ids-error-message\" />\n }\n @case (\"hint\") {\n <ng-content select=\"ids-hint-message\" />\n }\n }\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
249
250
|
}
|
|
250
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: IdsCheckboxComponent, decorators: [{
|
|
251
252
|
type: Component,
|
|
@@ -266,7 +267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
|
|
|
266
267
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
267
268
|
'[attr.aria-label]': 'null',
|
|
268
269
|
'[attr.aria-labelledby]': 'null',
|
|
269
|
-
}, template: "<div class=\"ids-checkbox__input-wrapper\">\n <div class=\"ids-checkbox__touch-target\" (click)=\"onTouchTargetClick()\"></div>\n <input\n #inputEl\n type=\"checkbox\"\n [class.ids-checkbox--selected]=\"
|
|
270
|
+
}, template: "<div class=\"ids-checkbox__input-wrapper\">\n <div class=\"ids-checkbox__touch-target\" (click)=\"onTouchTargetClick()\"></div>\n <input\n #inputEl\n type=\"checkbox\"\n [class.ids-checkbox--selected]=\"_isChecked()\"\n [id]=\"_inputId()\"\n [disabled]=\"disabled()\"\n [attr.aria-checked]=\"_isIndeterminate() ? 'mixed' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [checked]=\"_isChecked()\"\n [indeterminate]=\"_isIndeterminate()\"\n [name]=\"name()\"\n [required]=\"required()\"\n [tabIndex]=\"!_isFocusable() ? -1 : tabIndex()\"\n [value]=\"_nativeValue()\"\n (blur)=\"onBlur()\"\n (click)=\"onInputClick()\"\n (change)=\"$event.stopPropagation()\"\n />\n <div class=\"ids-checkbox__icon\" aria-hidden=\"true\">\n @if (_isIndeterminate()) {\n <ids-icon fontIcon=\"minus\" aria-hidden=\"true\" />\n }\n @if (_isChecked()) {\n <ids-icon fontIcon=\"check\" aria-hidden=\"true\" />\n }\n </div>\n</div>\n\n<div class=\"ids-checkbox__label-wrapper\">\n <div class=\"ids-checkbox__label-container\">\n <label class=\"ids-checkbox__label\" [for]=\"_inputId()\">\n <ng-content />\n @if (_hasRequiredValidator) {\n <span class=\"ids-form-field__required-marker\"></span>\n }\n </label>\n </div>\n @let messages = displayedMessages;\n @if (messages) {\n <div class=\"ids-checkbox__message-container\">\n @switch (messages) {\n @case (\"error\") {\n <ng-content select=\"ids-error-message\" />\n }\n @case (\"hint\") {\n <ng-content select=\"ids-hint-message\" />\n }\n }\n </div>\n }\n</div>\n" }]
|
|
270
271
|
}] });
|
|
271
272
|
|
|
272
273
|
const defaultConfig = IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY();
|
|
@@ -288,8 +289,8 @@ class IdsCheckboxGroupComponent extends ComponentBaseWithDefaults {
|
|
|
288
289
|
this.variant(),
|
|
289
290
|
this.orientation(),
|
|
290
291
|
]));
|
|
291
|
-
this._parentCheckboxChecked = computed(() => this._childCheckboxes().every((child) => child.
|
|
292
|
-
this._parentCheckboxIndeterminate = computed(() => !this._parentCheckboxChecked() && this._childCheckboxes().some((child) => child.
|
|
292
|
+
this._parentCheckboxChecked = computed(() => this._childCheckboxes().every((child) => child.checkboxState() === IdsCheckboxState.CHECKED));
|
|
293
|
+
this._parentCheckboxIndeterminate = computed(() => !this._parentCheckboxChecked() && this._childCheckboxes().some((child) => child.checkboxState() === IdsCheckboxState.CHECKED));
|
|
293
294
|
this._invalidParentOrientation = effect(() => {
|
|
294
295
|
if (this.allowParent() && this.orientation() === IdsOrientation.HORIZONTAL) {
|
|
295
296
|
throw this._createHostError('Parent checkbox can be used only in vertical orientation');
|