@i-cell/ids-angular 0.2.3 → 0.2.4

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/dialog/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, TemplateRef, AfterViewInit, OnDestroy, Type, Provider, StaticProvider, Signal } from '@angular/core';
2
+ import { InjectionToken, TemplateRef, OnDestroy, AfterViewInit, Type, Provider, StaticProvider, Signal } from '@angular/core';
3
3
  import { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';
4
4
  import { Subject, Observable } from 'rxjs';
5
5
 
@@ -17,10 +17,13 @@ declare class IdsDialogHeaderDirective {
17
17
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IdsDialogHeaderDirective, "[idsDialogHeader]", never, {}, {}, never, never, true, never>;
18
18
  }
19
19
 
20
- declare class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDialogDefaultConfig> {
20
+ declare class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDialogDefaultConfig> implements OnDestroy {
21
21
  protected get _hostName(): string;
22
22
  protected readonly _defaultConfig: Required<IdsDialogDefaultConfig>;
23
23
  dialog: HTMLDialogElement;
24
+ private readonly _overlay;
25
+ private _overlayRoot?;
26
+ private _overlayPrevParent?;
24
27
  protected _titleId: _angular_core.Signal<string>;
25
28
  size: _angular_core.InputSignal<IdsSizeType>;
26
29
  mainTitle: _angular_core.InputSignal<string>;
@@ -29,9 +32,12 @@ declare class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDialogDefa
29
32
  showBackdrop: _angular_core.InputSignal<boolean>;
30
33
  protected _customHeader: _angular_core.Signal<IdsDialogHeaderDirective | undefined>;
31
34
  protected _hostClasses: _angular_core.Signal<string>;
32
- private _onCancel;
35
+ protected _onCancel(event: Event): void;
33
36
  open(): void;
34
37
  close(): void;
38
+ protected _onNativeClose(): void;
39
+ ngOnDestroy(): void;
40
+ private _restoreOverlay;
35
41
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IdsDialogComponent, never>;
36
42
  static ɵcmp: _angular_core.ɵɵ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>;
37
43
  }
@@ -90,6 +90,7 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
90
90
  this._onChange = () => { };
91
91
  this._onTouched = () => { };
92
92
  this.controlDir = null;
93
+ // eslint-disable-next-line @angular-eslint/no-output-native
93
94
  this.change = output();
94
95
  this.indeterminateChange = output();
95
96
  this._inputElement = viewChild.required('inputEl');
@@ -222,10 +223,12 @@ class IdsCheckboxComponent extends ComponentBaseWithDefaults {
222
223
  }
223
224
  get _hasRequiredValidator() {
224
225
  const control = this.controlDir?.control;
226
+ const attrRequired = this.required();
225
227
  if (!control) {
226
- return this.required();
228
+ return attrRequired;
227
229
  }
228
- return control.hasValidator(Validators.required)
230
+ return attrRequired
231
+ || control.hasValidator(Validators.required)
229
232
  || control.hasValidator(Validators.requiredTrue)
230
233
  || control.hasValidator(IdsValidators.required)
231
234
  || control.hasValidator(IdsValidators.requiredTrue)
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-checkbox.mjs","sources":["../../../projects/widgets/checkbox/types/checkbox-events.class.ts","../../../projects/widgets/checkbox/types/checkbox-state.type.ts","../../../projects/widgets/checkbox/types/checkbox-variant.type.ts","../../../projects/widgets/checkbox/checkbox-defaults.ts","../../../projects/widgets/checkbox/checkbox-group-defaults.ts","../../../projects/widgets/checkbox/types/checkbox-group-child.ts","../../../projects/widgets/checkbox/types/checkbox-parent.ts","../../../projects/widgets/checkbox/checkbox.component.ts","../../../projects/widgets/checkbox/checkbox.component.html","../../../projects/widgets/checkbox/checkbox-group.component.ts","../../../projects/widgets/checkbox/checkbox-group.component.html","../../../projects/widgets/checkbox/i-cell-ids-angular-checkbox.ts"],"sourcesContent":["import { IdsCheckboxComponent } from '../checkbox.component';\n\nexport class IdsCheckBoxChangeEvent {\n public source!: IdsCheckboxComponent;\n public checked!: boolean;\n public value?: unknown;\n}\n","export const IdsCheckboxState = {\n UNCHECKED: 'unchecked',\n CHECKED: 'checked',\n INDETERMINATE: 'indeterminate',\n} as const;\n\nexport type IdsCheckboxStateType = (typeof IdsCheckboxState)[keyof typeof IdsCheckboxState];\n","export const IdsCheckboxVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsCheckboxVariantType = (typeof IdsCheckboxVariant)[keyof typeof IdsCheckboxVariant];\n","import { IdsCheckboxVariant, IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxDefaultConfig {\n size?: IdsSizeType\n variant?: IdsCheckboxVariantType\n}\n\nexport const IDS_CHECKBOX_DEFAULT_CONFIG = new InjectionToken<IdsCheckboxDefaultConfig>(\n 'IDS_CHECKBOX_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY(): Required<IdsCheckboxDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsCheckboxVariant.SURFACE,\n };\n}\n","import { IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY, IdsCheckboxDefaultConfig } from './checkbox-defaults';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsOrientation, IdsOrientationType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxGroupDefaultConfig extends IdsCheckboxDefaultConfig {\n orientation: IdsOrientationType,\n allowParent: boolean,\n}\n\nexport const IDS_CHECKBOX_GROUP_DEFAULT_CONFIG = new InjectionToken<IdsCheckboxGroupDefaultConfig>(\n 'IDS_CHECKBOX_GROUP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY(): Required<IdsCheckboxGroupDefaultConfig> {\n return {\n ...IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY(),\n orientation: IdsOrientation.VERTICAL,\n allowParent: true,\n };\n}\n","import { IdsCheckboxStateType } from './checkbox-state.type';\n\nimport { InjectionToken } from '@angular/core';\n\nexport interface IdsCheckboxGroupChild {\n checkboxState(): IdsCheckboxStateType;\n deselect(): void;\n select(): void;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const IDS_CHECKBOX_GROUP_CHILD = new InjectionToken<IdsCheckboxGroupChild>('IDS_CHECKBOX_GROUP_CHILD');\n","import { IdsCheckboxVariantType } from './checkbox-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxParent {\n size: Signal<IdsSizeType | null>;\n variant: Signal<IdsCheckboxVariantType | null>;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const IDS_CHECKBOX_PARENT = new InjectionToken<IdsCheckboxParent>('IDS_CHECKBOX_PARENT');\n","import { IDS_CHECKBOX_DEFAULT_CONFIG, IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY, IdsCheckboxDefaultConfig } from './checkbox-defaults';\nimport { IdsCheckBoxChangeEvent } from './types/checkbox-events.class';\nimport { IDS_CHECKBOX_GROUP_CHILD, IdsCheckboxGroupChild } from './types/checkbox-group-child';\nimport { IDS_CHECKBOX_PARENT } from './types/checkbox-parent';\nimport { IdsCheckboxState, IdsCheckboxStateType } from './types/checkbox-state.type';\nimport { IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnChanges, OnInit, SimpleChange, SimpleChanges, ViewEncapsulation, computed, contentChildren, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute, coerceNumberAttribute, isString } from '@i-cell/ids-angular/core';\nimport { IDS_FORM_FIELD_CONTROL, IdsErrorMessageComponent, IdsHintMessageComponent, IdsValidators } from '@i-cell/ids-angular/forms';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-checkbox',\n imports: [IdsIconComponent],\n templateUrl: './checkbox.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IdsCheckboxComponent,\n multi: true,\n },\n {\n provide: IDS_FORM_FIELD_CONTROL,\n useExisting: IdsCheckboxComponent,\n },\n {\n provide: IDS_CHECKBOX_GROUP_CHILD,\n useExisting: IdsCheckboxComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n },\n})\nexport class IdsCheckboxComponent\n extends ComponentBaseWithDefaults<IdsCheckboxDefaultConfig>\n implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor, IdsCheckboxGroupChild {\n protected override get _hostName(): string {\n return 'checkbox';\n }\n\n private readonly _injector = inject(Injector);\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_CHECKBOX_DEFAULT_CONFIG);\n\n private _checkboxGroup = inject(IDS_CHECKBOX_PARENT, { optional: true });\n\n private _checkboxState = signal<IdsCheckboxStateType>(IdsCheckboxState.UNCHECKED);\n public checkboxState = this._checkboxState.asReadonly();\n\n protected _inputId = computed(() => `${this.id()}-input`);\n public name = input<string | null>();\n public required = input(false, { transform: coerceBooleanAttribute });\n public readonly = input(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public tabIndex = input(0, { transform: coerceNumberAttribute });\n public value = input<unknown>();\n public variant = input<IdsCheckboxVariantType>(this._defaultConfig.variant);\n public checked = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public indeterminate = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n public ariaDescribedby = input<string>('', { alias: 'aria-describedby' });\n\n public disabled = model(false);\n\n protected _isChecked = computed(() => this._checkboxState() === IdsCheckboxState.CHECKED);\n protected _isIndeterminate = computed(() => this._checkboxState() === IdsCheckboxState.INDETERMINATE);\n protected _isFocusable = computed(() => !this.disabled() && !this.readonly());\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n this.disabled() ? 'disabled' : null,\n ]),\n );\n\n protected _nativeValue = computed(() => {\n const value = this.value();\n return isString(value) ? value : undefined;\n });\n\n private _parentOrSelfSize = computed(() => this._checkboxGroup?.size() ?? this.size());\n private _parentOrSelfVariant = computed(() => this._checkboxGroup?.variant() ?? this.variant());\n\n private _onChange: (value: unknown) => void = () => { };\n private _onTouched: () => unknown = () => { };\n\n public controlDir: NgControl | null = null;\n\n public readonly change = output<IdsCheckBoxChangeEvent>();\n public readonly indeterminateChange = output<boolean>();\n\n private _inputElement = viewChild.required<ElementRef<HTMLInputElement>>('inputEl');\n\n private _hintMessages = contentChildren(IdsHintMessageComponent, { descendants: true });\n private _errorMessages = contentChildren(IdsErrorMessageComponent, { descendants: true });\n\n public ngOnChanges(changes: SimpleChanges): void {\n const checkedChange = changes['checked'] as SimpleChange | undefined;\n const indeterminateChange = changes['indeterminate'] as SimpleChange | undefined;\n if (indeterminateChange || checkedChange) {\n const currentChecked = checkedChange?.currentValue;\n const currentIndeterminate = indeterminateChange?.currentValue;\n if (currentIndeterminate === true) {\n this._checkboxState.set(IdsCheckboxState.INDETERMINATE);\n } else if (currentChecked === true) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n } else {\n this._checkboxState.set(IdsCheckboxState.UNCHECKED);\n }\n }\n }\n\n public ngOnInit(): void {\n this.controlDir = this._injector.get(NgControl, null, { self: true, optional: true });\n }\n\n public ngAfterViewInit(): void {\n if (this.indeterminate !== undefined) {\n this._syncIndeterminate(this.indeterminate());\n }\n }\n\n public focus(): void {\n this._inputElement().nativeElement.focus();\n }\n\n public writeValue(value: boolean): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.INDETERMINATE);\n } else {\n this._checkboxState.set(value ? IdsCheckboxState.CHECKED : IdsCheckboxState.UNCHECKED);\n }\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n protected _createChangeEvent(isChecked: boolean, value: unknown): IdsCheckBoxChangeEvent {\n const event = new IdsCheckBoxChangeEvent();\n event.source = this;\n event.checked = isChecked;\n event.value = value;\n return event;\n }\n\n private _emitChangeEvent(): void {\n this._onChange(this._isChecked());\n this.change.emit(this._createChangeEvent(this._isChecked(), this.value()));\n this._syncChecked(this._isChecked());\n }\n\n public toggle(): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n } else {\n this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);\n }\n this._onChange(this._isChecked());\n }\n\n public select(): void {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n this._onChange(this._isChecked());\n }\n\n public deselect(): void {\n this._checkboxState.set(IdsCheckboxState.UNCHECKED);\n this._onChange(this._isChecked());\n }\n\n private _handleInputClick(): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n this.indeterminateChange.emit(this._isIndeterminate());\n } else {\n this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);\n }\n\n this._emitChangeEvent();\n this._syncIndeterminate(this._isIndeterminate());\n }\n\n public onBlur(): void {\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _syncChecked(value: boolean): void {\n const nativeCheckbox = this._inputElement();\n nativeCheckbox.nativeElement.checked = value;\n }\n\n private _syncIndeterminate(value: boolean): void {\n const nativeCheckbox = this._inputElement();\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n\n public onInputClick(): void {\n if (!this.readonly() && !this.disabled()) {\n this._handleInputClick();\n }\n }\n\n public onTouchTargetClick(): void {\n if (!this.readonly() && !this.disabled()) {\n this._handleInputClick();\n }\n\n if (!this.disabled()) {\n this._inputElement().nativeElement.focus();\n }\n }\n\n public get displayedMessages(): 'error' | 'hint' | undefined {\n if (this._errorMessages().length > 0 && this.controlDir?.errors) {\n return 'error';\n }\n if (this._hintMessages().length > 0) {\n return 'hint';\n }\n return undefined;\n }\n\n protected get _hasRequiredValidator(): boolean {\n const control = this.controlDir?.control;\n if (!control) {\n return this.required();\n }\n return control.hasValidator(Validators.required)\n || control.hasValidator(Validators.requiredTrue)\n || control.hasValidator(IdsValidators.required)\n || control.hasValidator(IdsValidators.requiredTrue)\n || control.hasValidator(IdsValidators.requiredFalse);\n }\n}\n","<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","import { IDS_CHECKBOX_GROUP_DEFAULT_CONFIG, IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY, IdsCheckboxGroupDefaultConfig } from './checkbox-group-defaults';\nimport { IdsCheckboxComponent } from './checkbox.component';\nimport { IdsCheckBoxChangeEvent } from './types/checkbox-events.class';\nimport { IDS_CHECKBOX_GROUP_CHILD } from './types/checkbox-group-child';\nimport { IDS_CHECKBOX_PARENT, IdsCheckboxParent } from './types/checkbox-parent';\nimport { IdsCheckboxState } from './types/checkbox-state.type';\nimport { IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, effect, input, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsOrientation, IdsOrientationType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-checkbox-group',\n imports: [IdsCheckboxComponent],\n templateUrl: './checkbox-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'group',\n '[attr.aria-labelledby]': '_groupLabelId()',\n },\n providers: [\n {\n provide: IDS_CHECKBOX_PARENT,\n useExisting: IdsCheckboxGroupComponent,\n },\n ],\n})\nexport class IdsCheckboxGroupComponent extends ComponentBaseWithDefaults<IdsCheckboxGroupDefaultConfig> implements IdsCheckboxParent {\n protected override get _hostName(): string {\n return 'checkbox-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_CHECKBOX_GROUP_DEFAULT_CONFIG);\n\n private _childCheckboxes = contentChildren(IDS_CHECKBOX_GROUP_CHILD);\n\n public groupLabel = input<string>('', { alias: 'label' });\n public allowParent = input<boolean>(this._defaultConfig.allowParent);\n public parentCheckboxLabel = input<string>('', { alias: 'parentLabel' });\n public name = input<string>();\n public size = input<IdsSizeType | null>(this._defaultConfig.size);\n public variant = input<IdsCheckboxVariantType | null>(this._defaultConfig.variant);\n public orientation = input<IdsOrientationType | null>(this._defaultConfig.orientation);\n\n protected _groupLabelId = computed(() => `${this.id()}-label`);\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.orientation(),\n ]));\n\n protected _parentCheckboxChecked = computed(() =>\n this._childCheckboxes().every((child) =>\n child.checkboxState() === IdsCheckboxState.CHECKED));\n\n protected _parentCheckboxIndeterminate = computed(() =>\n !this._parentCheckboxChecked() && this._childCheckboxes().some((child) =>\n child.checkboxState() === IdsCheckboxState.CHECKED),\n );\n\n private _invalidParentOrientation = effect(() => {\n if (this.allowParent() && this.orientation() === IdsOrientation.HORIZONTAL) {\n throw this._createHostError('Parent checkbox can be used only in vertical orientation');\n }\n });\n\n public selectAllChild(): void {\n this._childCheckboxes().forEach((child) => {\n child.select();\n });\n }\n\n public deselectAllChild(): void {\n this._childCheckboxes().forEach((child) => {\n child.deselect();\n });\n }\n\n protected _handleParentChange(event: IdsCheckBoxChangeEvent): void {\n if (event.checked) {\n this.selectAllChild();\n } else {\n this.deselectAllChild();\n }\n }\n}\n","<label class=\"ids-checkbox-group__label\" [for]=\"id()\" [id]=\"_groupLabelId()\">{{ groupLabel() }}</label>\n\n@if (allowParent()) {\n <ids-checkbox\n [checked]=\"_parentCheckboxChecked()\"\n [indeterminate]=\"_parentCheckboxIndeterminate()\"\n (change)=\"_handleParentChange($event)\"\n >{{ parentCheckboxLabel() }}</ids-checkbox\n >\n}\n\n<div class=\"ids-checkbox-group__list\">\n <ng-content select=\"ids-checkbox\" />\n</div>\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-checkbox.mjs","sources":["../../../projects/widgets/checkbox/types/checkbox-events.class.ts","../../../projects/widgets/checkbox/types/checkbox-state.type.ts","../../../projects/widgets/checkbox/types/checkbox-variant.type.ts","../../../projects/widgets/checkbox/checkbox-defaults.ts","../../../projects/widgets/checkbox/checkbox-group-defaults.ts","../../../projects/widgets/checkbox/types/checkbox-group-child.ts","../../../projects/widgets/checkbox/types/checkbox-parent.ts","../../../projects/widgets/checkbox/checkbox.component.ts","../../../projects/widgets/checkbox/checkbox.component.html","../../../projects/widgets/checkbox/checkbox-group.component.ts","../../../projects/widgets/checkbox/checkbox-group.component.html","../../../projects/widgets/checkbox/i-cell-ids-angular-checkbox.ts"],"sourcesContent":["import { IdsCheckboxComponent } from '../checkbox.component';\n\nexport class IdsCheckBoxChangeEvent {\n public source!: IdsCheckboxComponent;\n public checked!: boolean;\n public value?: unknown;\n}\n","export const IdsCheckboxState = {\n UNCHECKED: 'unchecked',\n CHECKED: 'checked',\n INDETERMINATE: 'indeterminate',\n} as const;\n\nexport type IdsCheckboxStateType = (typeof IdsCheckboxState)[keyof typeof IdsCheckboxState];\n","export const IdsCheckboxVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsCheckboxVariantType = (typeof IdsCheckboxVariant)[keyof typeof IdsCheckboxVariant];\n","import { IdsCheckboxVariant, IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxDefaultConfig {\n size?: IdsSizeType\n variant?: IdsCheckboxVariantType\n}\n\nexport const IDS_CHECKBOX_DEFAULT_CONFIG = new InjectionToken<IdsCheckboxDefaultConfig>(\n 'IDS_CHECKBOX_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY(): Required<IdsCheckboxDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n variant: IdsCheckboxVariant.SURFACE,\n };\n}\n","import { IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY, IdsCheckboxDefaultConfig } from './checkbox-defaults';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsOrientation, IdsOrientationType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxGroupDefaultConfig extends IdsCheckboxDefaultConfig {\n orientation: IdsOrientationType,\n allowParent: boolean,\n}\n\nexport const IDS_CHECKBOX_GROUP_DEFAULT_CONFIG = new InjectionToken<IdsCheckboxGroupDefaultConfig>(\n 'IDS_CHECKBOX_GROUP_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY(): Required<IdsCheckboxGroupDefaultConfig> {\n return {\n ...IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY(),\n orientation: IdsOrientation.VERTICAL,\n allowParent: true,\n };\n}\n","import { IdsCheckboxStateType } from './checkbox-state.type';\n\nimport { InjectionToken } from '@angular/core';\n\nexport interface IdsCheckboxGroupChild {\n checkboxState(): IdsCheckboxStateType;\n deselect(): void;\n select(): void;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const IDS_CHECKBOX_GROUP_CHILD = new InjectionToken<IdsCheckboxGroupChild>('IDS_CHECKBOX_GROUP_CHILD');\n","import { IdsCheckboxVariantType } from './checkbox-variant.type';\n\nimport { InjectionToken, Signal } from '@angular/core';\nimport { IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsCheckboxParent {\n size: Signal<IdsSizeType | null>;\n variant: Signal<IdsCheckboxVariantType | null>;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const IDS_CHECKBOX_PARENT = new InjectionToken<IdsCheckboxParent>('IDS_CHECKBOX_PARENT');\n","import { IDS_CHECKBOX_DEFAULT_CONFIG, IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY, IdsCheckboxDefaultConfig } from './checkbox-defaults';\nimport { IdsCheckBoxChangeEvent } from './types/checkbox-events.class';\nimport { IDS_CHECKBOX_GROUP_CHILD, IdsCheckboxGroupChild } from './types/checkbox-group-child';\nimport { IDS_CHECKBOX_PARENT } from './types/checkbox-parent';\nimport { IdsCheckboxState, IdsCheckboxStateType } from './types/checkbox-state.type';\nimport { IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnChanges, OnInit, SimpleChange, SimpleChanges, ViewEncapsulation, computed, contentChildren, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\nimport { ComponentBaseWithDefaults, IdsSizeType, coerceBooleanAttribute, coerceNumberAttribute, isString } from '@i-cell/ids-angular/core';\nimport { IDS_FORM_FIELD_CONTROL, IdsErrorMessageComponent, IdsHintMessageComponent, IdsValidators } from '@i-cell/ids-angular/forms';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\nconst defaultConfig = IDS_CHECKBOX_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-checkbox',\n imports: [IdsIconComponent],\n templateUrl: './checkbox.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IdsCheckboxComponent,\n multi: true,\n },\n {\n provide: IDS_FORM_FIELD_CONTROL,\n useExisting: IdsCheckboxComponent,\n },\n {\n provide: IDS_CHECKBOX_GROUP_CHILD,\n useExisting: IdsCheckboxComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n },\n})\nexport class IdsCheckboxComponent\n extends ComponentBaseWithDefaults<IdsCheckboxDefaultConfig>\n implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor, IdsCheckboxGroupChild {\n protected override get _hostName(): string {\n return 'checkbox';\n }\n\n private readonly _injector = inject(Injector);\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_CHECKBOX_DEFAULT_CONFIG);\n\n private _checkboxGroup = inject(IDS_CHECKBOX_PARENT, { optional: true });\n\n private _checkboxState = signal<IdsCheckboxStateType>(IdsCheckboxState.UNCHECKED);\n public checkboxState = this._checkboxState.asReadonly();\n\n protected _inputId = computed(() => `${this.id()}-input`);\n public name = input<string | null>();\n public required = input(false, { transform: coerceBooleanAttribute });\n public readonly = input(false, { transform: coerceBooleanAttribute });\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public tabIndex = input(0, { transform: coerceNumberAttribute });\n public value = input<unknown>();\n public variant = input<IdsCheckboxVariantType>(this._defaultConfig.variant);\n public checked = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public indeterminate = input<boolean, unknown>(false, { transform: coerceBooleanAttribute });\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n public ariaDescribedby = input<string>('', { alias: 'aria-describedby' });\n\n public disabled = model(false);\n\n protected _isChecked = computed(() => this._checkboxState() === IdsCheckboxState.CHECKED);\n protected _isIndeterminate = computed(() => this._checkboxState() === IdsCheckboxState.INDETERMINATE);\n protected _isFocusable = computed(() => !this.disabled() && !this.readonly());\n protected _hostClasses = computed(() => this._getHostClasses([\n this._parentOrSelfSize(),\n this._parentOrSelfVariant(),\n this.disabled() ? 'disabled' : null,\n ]),\n );\n\n protected _nativeValue = computed(() => {\n const value = this.value();\n return isString(value) ? value : undefined;\n });\n\n private _parentOrSelfSize = computed(() => this._checkboxGroup?.size() ?? this.size());\n private _parentOrSelfVariant = computed(() => this._checkboxGroup?.variant() ?? this.variant());\n\n private _onChange: (value: unknown) => void = () => { };\n private _onTouched: () => unknown = () => { };\n\n public controlDir: NgControl | null = null;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n public readonly change = output<IdsCheckBoxChangeEvent>();\n public readonly indeterminateChange = output<boolean>();\n\n private _inputElement = viewChild.required<ElementRef<HTMLInputElement>>('inputEl');\n\n private _hintMessages = contentChildren(IdsHintMessageComponent, { descendants: true });\n private _errorMessages = contentChildren(IdsErrorMessageComponent, { descendants: true });\n\n public ngOnChanges(changes: SimpleChanges): void {\n const checkedChange = changes['checked'] as SimpleChange | undefined;\n const indeterminateChange = changes['indeterminate'] as SimpleChange | undefined;\n if (indeterminateChange || checkedChange) {\n const currentChecked = checkedChange?.currentValue;\n const currentIndeterminate = indeterminateChange?.currentValue;\n if (currentIndeterminate === true) {\n this._checkboxState.set(IdsCheckboxState.INDETERMINATE);\n } else if (currentChecked === true) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n } else {\n this._checkboxState.set(IdsCheckboxState.UNCHECKED);\n }\n }\n }\n\n public ngOnInit(): void {\n this.controlDir = this._injector.get(NgControl, null, { self: true, optional: true });\n }\n\n public ngAfterViewInit(): void {\n if (this.indeterminate !== undefined) {\n this._syncIndeterminate(this.indeterminate());\n }\n }\n\n public focus(): void {\n this._inputElement().nativeElement.focus();\n }\n\n public writeValue(value: boolean): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.INDETERMINATE);\n } else {\n this._checkboxState.set(value ? IdsCheckboxState.CHECKED : IdsCheckboxState.UNCHECKED);\n }\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n protected _createChangeEvent(isChecked: boolean, value: unknown): IdsCheckBoxChangeEvent {\n const event = new IdsCheckBoxChangeEvent();\n event.source = this;\n event.checked = isChecked;\n event.value = value;\n return event;\n }\n\n private _emitChangeEvent(): void {\n this._onChange(this._isChecked());\n this.change.emit(this._createChangeEvent(this._isChecked(), this.value()));\n this._syncChecked(this._isChecked());\n }\n\n public toggle(): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n } else {\n this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);\n }\n this._onChange(this._isChecked());\n }\n\n public select(): void {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n this._onChange(this._isChecked());\n }\n\n public deselect(): void {\n this._checkboxState.set(IdsCheckboxState.UNCHECKED);\n this._onChange(this._isChecked());\n }\n\n private _handleInputClick(): void {\n if (this._isIndeterminate()) {\n this._checkboxState.set(IdsCheckboxState.CHECKED);\n this.indeterminateChange.emit(this._isIndeterminate());\n } else {\n this._checkboxState.set(this._checkboxState() === IdsCheckboxState.CHECKED ? IdsCheckboxState.UNCHECKED : IdsCheckboxState.CHECKED);\n }\n\n this._emitChangeEvent();\n this._syncIndeterminate(this._isIndeterminate());\n }\n\n public onBlur(): void {\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _syncChecked(value: boolean): void {\n const nativeCheckbox = this._inputElement();\n nativeCheckbox.nativeElement.checked = value;\n }\n\n private _syncIndeterminate(value: boolean): void {\n const nativeCheckbox = this._inputElement();\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n\n public onInputClick(): void {\n if (!this.readonly() && !this.disabled()) {\n this._handleInputClick();\n }\n }\n\n public onTouchTargetClick(): void {\n if (!this.readonly() && !this.disabled()) {\n this._handleInputClick();\n }\n\n if (!this.disabled()) {\n this._inputElement().nativeElement.focus();\n }\n }\n\n public get displayedMessages(): 'error' | 'hint' | undefined {\n if (this._errorMessages().length > 0 && this.controlDir?.errors) {\n return 'error';\n }\n if (this._hintMessages().length > 0) {\n return 'hint';\n }\n return undefined;\n }\n\n protected get _hasRequiredValidator(): boolean {\n const control = this.controlDir?.control;\n const attrRequired = this.required();\n\n if (!control) {\n return attrRequired;\n }\n\n return attrRequired\n || control.hasValidator(Validators.required)\n || control.hasValidator(Validators.requiredTrue)\n || control.hasValidator(IdsValidators.required)\n || control.hasValidator(IdsValidators.requiredTrue)\n || control.hasValidator(IdsValidators.requiredFalse);\n }\n}\n","<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","import { IDS_CHECKBOX_GROUP_DEFAULT_CONFIG, IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY, IdsCheckboxGroupDefaultConfig } from './checkbox-group-defaults';\nimport { IdsCheckboxComponent } from './checkbox.component';\nimport { IdsCheckBoxChangeEvent } from './types/checkbox-events.class';\nimport { IDS_CHECKBOX_GROUP_CHILD } from './types/checkbox-group-child';\nimport { IDS_CHECKBOX_PARENT, IdsCheckboxParent } from './types/checkbox-parent';\nimport { IdsCheckboxState } from './types/checkbox-state.type';\nimport { IdsCheckboxVariantType } from './types/checkbox-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, effect, input, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsOrientation, IdsOrientationType, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_CHECKBOX_GROUP_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-checkbox-group',\n imports: [IdsCheckboxComponent],\n templateUrl: './checkbox-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'group',\n '[attr.aria-labelledby]': '_groupLabelId()',\n },\n providers: [\n {\n provide: IDS_CHECKBOX_PARENT,\n useExisting: IdsCheckboxGroupComponent,\n },\n ],\n})\nexport class IdsCheckboxGroupComponent extends ComponentBaseWithDefaults<IdsCheckboxGroupDefaultConfig> implements IdsCheckboxParent {\n protected override get _hostName(): string {\n return 'checkbox-group';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_CHECKBOX_GROUP_DEFAULT_CONFIG);\n\n private _childCheckboxes = contentChildren(IDS_CHECKBOX_GROUP_CHILD);\n\n public groupLabel = input<string>('', { alias: 'label' });\n public allowParent = input<boolean>(this._defaultConfig.allowParent);\n public parentCheckboxLabel = input<string>('', { alias: 'parentLabel' });\n public name = input<string>();\n public size = input<IdsSizeType | null>(this._defaultConfig.size);\n public variant = input<IdsCheckboxVariantType | null>(this._defaultConfig.variant);\n public orientation = input<IdsOrientationType | null>(this._defaultConfig.orientation);\n\n protected _groupLabelId = computed(() => `${this.id()}-label`);\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.orientation(),\n ]));\n\n protected _parentCheckboxChecked = computed(() =>\n this._childCheckboxes().every((child) =>\n child.checkboxState() === IdsCheckboxState.CHECKED));\n\n protected _parentCheckboxIndeterminate = computed(() =>\n !this._parentCheckboxChecked() && this._childCheckboxes().some((child) =>\n child.checkboxState() === IdsCheckboxState.CHECKED),\n );\n\n private _invalidParentOrientation = effect(() => {\n if (this.allowParent() && this.orientation() === IdsOrientation.HORIZONTAL) {\n throw this._createHostError('Parent checkbox can be used only in vertical orientation');\n }\n });\n\n public selectAllChild(): void {\n this._childCheckboxes().forEach((child) => {\n child.select();\n });\n }\n\n public deselectAllChild(): void {\n this._childCheckboxes().forEach((child) => {\n child.deselect();\n });\n }\n\n protected _handleParentChange(event: IdsCheckBoxChangeEvent): void {\n if (event.checked) {\n this.selectAllChild();\n } else {\n this.deselectAllChild();\n }\n }\n}\n","<label class=\"ids-checkbox-group__label\" [for]=\"id()\" [id]=\"_groupLabelId()\">{{ groupLabel() }}</label>\n\n@if (allowParent()) {\n <ids-checkbox\n [checked]=\"_parentCheckboxChecked()\"\n [indeterminate]=\"_parentCheckboxIndeterminate()\"\n (change)=\"_handleParentChange($event)\"\n >{{ parentCheckboxLabel() }}</ids-checkbox\n >\n}\n\n<div class=\"ids-checkbox-group__list\">\n <ng-content select=\"ids-checkbox\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, TemplateRef, Directive, ElementRef, computed, input, contentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, ApplicationRef, DOCUMENT, EnvironmentInjector, Injector, createComponent, Injectable } from '@angular/core';
3
3
  import { IdsSize, ComponentBaseWithDefaults, IdsDetectScrollableDirective } from '@i-cell/ids-angular/core';
4
+ import { OverlayContainer } from '@angular/cdk/overlay';
4
5
  import { NgTemplateOutlet } from '@angular/common';
5
6
  import { IdsIconComponent } from '@i-cell/ids-angular/icon';
6
7
  import { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';
@@ -39,6 +40,7 @@ class IdsDialogComponent extends ComponentBaseWithDefaults {
39
40
  super(...arguments);
40
41
  this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_DIALOG_DEFAULT_CONFIG);
41
42
  this.dialog = inject(ElementRef).nativeElement;
43
+ this._overlay = inject(OverlayContainer);
42
44
  this._titleId = computed(() => `${this.id()}-title`, ...(ngDevMode ? [{ debugName: "_titleId" }] : []));
43
45
  this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
44
46
  this.mainTitle = input.required(...(ngDevMode ? [{ debugName: "mainTitle" }] : []));
@@ -59,12 +61,35 @@ class IdsDialogComponent extends ComponentBaseWithDefaults {
59
61
  }
60
62
  open() {
61
63
  this.dialog.showModal();
64
+ const root = this._overlay.getContainerElement();
65
+ if (root && root.parentNode !== this.dialog) {
66
+ this._overlayRoot = root;
67
+ this._overlayPrevParent = root.parentNode;
68
+ this.dialog.appendChild(root);
69
+ }
62
70
  }
63
71
  close() {
64
72
  this.dialog.close();
73
+ this._restoreOverlay();
74
+ }
75
+ _onNativeClose() {
76
+ this._restoreOverlay();
77
+ }
78
+ ngOnDestroy() {
79
+ this._restoreOverlay();
80
+ }
81
+ _restoreOverlay() {
82
+ if (this._overlayRoot && this._overlayPrevParent) {
83
+ try {
84
+ this._overlayPrevParent.appendChild(this._overlayRoot);
85
+ }
86
+ catch { /* empty */ }
87
+ }
88
+ this._overlayRoot = null;
89
+ this._overlayPrevParent = null;
65
90
  }
66
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsDialogComponent, isStandalone: true, selector: "dialog[idsDialog]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mainTitle: { classPropertyName: "mainTitle", publicName: "mainTitle", isSignal: true, isRequired: true, transformFunction: null }, subTitle: { classPropertyName: "subTitle", publicName: "subTitle", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "cancel": "_onCancel($event)" }, properties: { "attr.aria-labelledby": "_titleId()" } }, queries: [{ propertyName: "_customHeader", first: true, predicate: IdsDialogHeaderDirective, descendants: true, isSignal: true }], exportAs: ["idsDialog"], usesInheritance: true, ngImport: i0, template: "<section class=\"ids-dialog-container\">\n <header class=\"ids-dialog-header\">\n @if (_customHeader()) {\n <ng-container [ngTemplateOutlet]=\"_customHeader()!.template\" />\n } @else {\n <div class=\"ids-dialog-header-default-content\">\n <h2 class=\"ids-dialog-title\" [id]=\"_titleId()\">{{ mainTitle() }}</h2>\n @if (subTitle()) {\n <h3 class=\"ids-dialog-subtitle\">{{ subTitle() }}</h3>\n }\n </div>\n }\n\n @if (showCloseButton()) {\n <button\n type=\"button\"\n class=\"ids-dialog-close-button\"\n idsIconButton\n appearance=\"standard\"\n size=\"compact\"\n variant=\"surface\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n </header>\n <div class=\"ids-dialog-content\" [class.ids-dialog-content-scrollable]=\"scrollDetector.isScrollable()\">\n <div #scrollDetector=\"idsDetectScrollable\" idsDetectScrollable class=\"ids-dialog-content-overflow\">\n <ng-content select=\"[idsDialogContent]\" />\n </div>\n </div>\n <footer class=\"ids-dialog-actions\">\n <ng-content select=\"[idsDialogActions]\" />\n </footer>\n</section>\n", dependencies: [{ kind: "directive", type: IdsDetectScrollableDirective, selector: "[idsDetectScrollable]", exportAs: ["idsDetectScrollable"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsDialogComponent, isStandalone: true, selector: "dialog[idsDialog]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mainTitle: { classPropertyName: "mainTitle", publicName: "mainTitle", isSignal: true, isRequired: true, transformFunction: null }, subTitle: { classPropertyName: "subTitle", publicName: "subTitle", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "cancel": "_onCancel($event)", "close": "_onNativeClose()" }, properties: { "attr.aria-labelledby": "_titleId()" } }, queries: [{ propertyName: "_customHeader", first: true, predicate: IdsDialogHeaderDirective, descendants: true, isSignal: true }], exportAs: ["idsDialog"], usesInheritance: true, ngImport: i0, template: "<section class=\"ids-dialog-container\">\n <header class=\"ids-dialog-header\">\n @if (_customHeader()) {\n <ng-container [ngTemplateOutlet]=\"_customHeader()!.template\" />\n } @else {\n <div class=\"ids-dialog-header-default-content\">\n <h2 class=\"ids-dialog-title\" [id]=\"_titleId()\">{{ mainTitle() }}</h2>\n @if (subTitle()) {\n <h3 class=\"ids-dialog-subtitle\">{{ subTitle() }}</h3>\n }\n </div>\n }\n\n @if (showCloseButton()) {\n <button\n type=\"button\"\n class=\"ids-dialog-close-button\"\n idsIconButton\n appearance=\"standard\"\n size=\"compact\"\n variant=\"surface\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n </header>\n <div class=\"ids-dialog-content\" [class.ids-dialog-content-scrollable]=\"scrollDetector.isScrollable()\">\n <div #scrollDetector=\"idsDetectScrollable\" idsDetectScrollable class=\"ids-dialog-content-overflow\">\n <ng-content select=\"[idsDialogContent]\" />\n </div>\n </div>\n <footer class=\"ids-dialog-actions\">\n <ng-content select=\"[idsDialogActions]\" />\n </footer>\n</section>\n", dependencies: [{ kind: "directive", type: IdsDetectScrollableDirective, selector: "[idsDetectScrollable]", exportAs: ["idsDetectScrollable"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
68
93
  }
69
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsDialogComponent, decorators: [{
70
95
  type: Component,
@@ -76,6 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
76
101
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'idsDialog', host: {
77
102
  '[attr.aria-labelledby]': '_titleId()',
78
103
  '(cancel)': '_onCancel($event)',
104
+ '(close)': '_onNativeClose()',
79
105
  }, template: "<section class=\"ids-dialog-container\">\n <header class=\"ids-dialog-header\">\n @if (_customHeader()) {\n <ng-container [ngTemplateOutlet]=\"_customHeader()!.template\" />\n } @else {\n <div class=\"ids-dialog-header-default-content\">\n <h2 class=\"ids-dialog-title\" [id]=\"_titleId()\">{{ mainTitle() }}</h2>\n @if (subTitle()) {\n <h3 class=\"ids-dialog-subtitle\">{{ subTitle() }}</h3>\n }\n </div>\n }\n\n @if (showCloseButton()) {\n <button\n type=\"button\"\n class=\"ids-dialog-close-button\"\n idsIconButton\n appearance=\"standard\"\n size=\"compact\"\n variant=\"surface\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n </header>\n <div class=\"ids-dialog-content\" [class.ids-dialog-content-scrollable]=\"scrollDetector.isScrollable()\">\n <div #scrollDetector=\"idsDetectScrollable\" idsDetectScrollable class=\"ids-dialog-content-overflow\">\n <ng-content select=\"[idsDialogContent]\" />\n </div>\n </div>\n <footer class=\"ids-dialog-actions\">\n <ng-content select=\"[idsDialogActions]\" />\n </footer>\n</section>\n" }]
80
106
  }] });
81
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-dialog.mjs","sources":["../../../projects/widgets/dialog/dialog-defaults.ts","../../../projects/widgets/dialog/dialog-header.directive.ts","../../../projects/widgets/dialog/dialog.component.ts","../../../projects/widgets/dialog/dialog.component.html","../../../projects/widgets/dialog/custom-dialog-base.ts","../../../projects/widgets/dialog/dialog.service.ts","../../../projects/widgets/dialog/i-cell-ids-angular-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsDialogDefaultConfig {\n size?: IdsSizeType,\n showCloseButton?: boolean,\n showBackdrop?: boolean,\n}\n\nexport const IDS_DIALOG_DEFAULT_CONFIG = new InjectionToken<IdsDialogDefaultConfig>(\n 'IDS_DIALOG_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_DIALOG_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_DIALOG_DEFAULT_CONFIG_FACTORY(): Required<IdsDialogDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n showCloseButton: false,\n showBackdrop: true,\n };\n}\n\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[idsDialogHeader]',\n standalone: true,\n})\nexport class IdsDialogHeaderDirective {\n public template = inject(TemplateRef);\n}\n","import { IDS_DIALOG_DEFAULT_CONFIG, IDS_DIALOG_DEFAULT_CONFIG_FACTORY, IdsDialogDefaultConfig } from './dialog-defaults';\nimport { IdsDialogHeaderDirective } from './dialog-header.directive';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, contentChild, inject, input } from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsDetectScrollableDirective, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_DIALOG_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'dialog[idsDialog]',\n imports: [\n IdsDetectScrollableDirective,\n IdsIconComponent,\n IdsIconButtonComponent,\n NgTemplateOutlet,\n ],\n templateUrl: './dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'idsDialog',\n host: {\n '[attr.aria-labelledby]': '_titleId()',\n '(cancel)': '_onCancel($event)',\n },\n})\nexport class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDialogDefaultConfig> {\n protected override get _hostName(): string {\n return 'dialog';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_DIALOG_DEFAULT_CONFIG);\n\n public dialog = inject<ElementRef<HTMLDialogElement>>(ElementRef).nativeElement;\n\n protected _titleId = computed(() => `${this.id()}-title`);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public mainTitle = input.required<string>();\n public subTitle = input<string>();\n public showCloseButton = input<boolean>(this._defaultConfig.showCloseButton);\n public showBackdrop = input<boolean>(this._defaultConfig.showBackdrop);\n\n protected _customHeader = contentChild(IdsDialogHeaderDirective);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.showBackdrop() ? 'with-backdrop' : null,\n ]));\n\n private _onCancel(event: Event): void {\n event.preventDefault();\n }\n\n public open(): void {\n this.dialog.showModal();\n }\n\n public close(): void {\n this.dialog.close();\n }\n}\n","<section class=\"ids-dialog-container\">\n <header class=\"ids-dialog-header\">\n @if (_customHeader()) {\n <ng-container [ngTemplateOutlet]=\"_customHeader()!.template\" />\n } @else {\n <div class=\"ids-dialog-header-default-content\">\n <h2 class=\"ids-dialog-title\" [id]=\"_titleId()\">{{ mainTitle() }}</h2>\n @if (subTitle()) {\n <h3 class=\"ids-dialog-subtitle\">{{ subTitle() }}</h3>\n }\n </div>\n }\n\n @if (showCloseButton()) {\n <button\n type=\"button\"\n class=\"ids-dialog-close-button\"\n idsIconButton\n appearance=\"standard\"\n size=\"compact\"\n variant=\"surface\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n </header>\n <div class=\"ids-dialog-content\" [class.ids-dialog-content-scrollable]=\"scrollDetector.isScrollable()\">\n <div #scrollDetector=\"idsDetectScrollable\" idsDetectScrollable class=\"ids-dialog-content-overflow\">\n <ng-content select=\"[idsDialogContent]\" />\n </div>\n </div>\n <footer class=\"ids-dialog-actions\">\n <ng-content select=\"[idsDialogActions]\" />\n </footer>\n</section>\n","import { IdsDialogComponent } from './dialog.component';\n\nimport { AfterViewInit, Directive, OnDestroy, viewChild } from '@angular/core';\nimport { Subject, Subscription, fromEvent } from 'rxjs';\n\n@Directive({ standalone: true })\nexport abstract class IdsCustomDialogBase<ResultType = unknown> implements AfterViewInit, OnDestroy {\n public dialogResult = new Subject<ResultType | undefined>();\n\n protected _dialog = viewChild.required(IdsDialogComponent);\n\n private _closeSub?: Subscription;\n\n public ngAfterViewInit(): void {\n this._dialog().open();\n this._closeSub = fromEvent(this._dialog().dialog, 'close').subscribe(() => {\n this._setDialogResult();\n });\n }\n\n public ngOnDestroy(): void {\n this._closeSub?.unsubscribe();\n }\n\n public close(payload?: ResultType): void {\n this._closeSub?.unsubscribe();\n this._dialog().close();\n this._setDialogResult(payload);\n }\n\n private _setDialogResult(payload?: ResultType): void {\n this.dialogResult.next(payload);\n this.dialogResult.complete();\n }\n}\n","import { IdsCustomDialogBase } from './custom-dialog-base';\n\nimport { ApplicationRef, EnvironmentInjector, Injectable, Injector, Provider, Signal, StaticProvider, Type, createComponent, inject, DOCUMENT } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class IdsDialogService {\n private _appRef = inject(ApplicationRef);\n private _document = inject(DOCUMENT);\n private _injector = inject(EnvironmentInjector);\n\n public open<C extends IdsCustomDialogBase<R>, R = unknown>(\n component: Type<C>,\n options?: { providers?: (Provider | StaticProvider)[], inputs?: { [P in keyof C]?: C[P] extends Signal<infer T> ? T : C[P] } },\n ): Observable<R | undefined> {\n let elementInjector = undefined;\n\n if (options?.providers) {\n elementInjector = Injector.create({\n parent: this._injector,\n providers: options.providers,\n });\n }\n\n const createOptions = {\n environmentInjector: this._injector,\n ...(elementInjector && { elementInjector }),\n };\n const dialogRef = createComponent(component, createOptions);\n\n if (options?.inputs) {\n Object.keys(options.inputs).forEach((key) => dialogRef.setInput(key, options.inputs![key as keyof C]));\n }\n\n this._document.body.appendChild(dialogRef.location.nativeElement);\n\n this._appRef.attachView(dialogRef.hostView);\n\n const onClose = dialogRef.instance.dialogResult.asObservable();\n\n onClose.subscribe(() => {\n this._document.body.removeChild(dialogRef.location.nativeElement);\n dialogRef.destroy();\n },\n );\n\n return onClose;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MASa,yBAAyB,GAAG,IAAI,cAAc,CACzD,2BAA2B,EAC3B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,iCAAiC;AAC3C,CAAA;SAGa,iCAAiC,GAAA;IAC/C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,OAAO;AACrB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,YAAY,EAAE,IAAI;KACnB;AACH;;MCjBa,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAKS,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACtC,IAAA;8GAFY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACID,MAAM,aAAa,GAAG,iCAAiC,EAAE;AAmBnD,MAAO,kBAAmB,SAAQ,yBAAiD,CAAA;AAjBzF,IAAA,WAAA,GAAA;;QAsBqB,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,yBAAyB,CAAC;AAE7F,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAgC,UAAU,CAAC,CAAC,aAAa;AAErE,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,CAAA,MAAA,CAAQ,oDAAC;QAClD,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;AACnD,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAU;QACpC,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QAC1B,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,eAAe,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACrE,IAAA,CAAA,YAAY,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE5D,QAAA,IAAA,CAAA,aAAa,GAAG,YAAY,CAAC,wBAAwB,yDAAC;QAEtD,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,YAAY,EAAE,GAAG,eAAe,GAAG,IAAI;AAC7C,SAAA,CAAC,wDAAC;AAaJ,IAAA;AAjCC,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,QAAQ;IACjB;AAoBQ,IAAA,SAAS,CAAC,KAAY,EAAA;QAC5B,KAAK,CAAC,cAAc,EAAE;IACxB;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;IACzB;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;IACrB;8GAjCW,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgBU,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5CjE,kuCAoCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDtBI,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,sBAAsB,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAWP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjB9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,OAAA,EACpB;wBACP,4BAA4B;wBAC5B,gBAAgB;wBAChB,sBAAsB;wBACtB,gBAAgB;qBACjB,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,WAAW,EAAA,IAAA,EACf;AACJ,wBAAA,wBAAwB,EAAE,YAAY;AACtC,wBAAA,UAAU,EAAE,mBAAmB;AAChC,qBAAA,EAAA,QAAA,EAAA,kuCAAA,EAAA;;;MEpBmB,mBAAmB,CAAA;AADzC,IAAA,WAAA,GAAA;AAES,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAA0B;AAEjD,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AAyB3D,IAAA;IArBQ,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAK;YACxE,IAAI,CAAC,gBAAgB,EAAE;AACzB,QAAA,CAAC,CAAC;IACJ;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE;IAC/B;AAEO,IAAA,KAAK,CAAC,OAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE;AAC7B,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;IAChC;AAEQ,IAAA,gBAAgB,CAAC,OAAoB,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC9B;8GA3BoB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,uFAGA,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAHrC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC,SAAS;mBAAC,EAAE,UAAU,EAAE,IAAI,EAAE;;;MCClB,gBAAgB,CAAA;AAD7B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAChC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAuChD,IAAA;IArCQ,IAAI,CACT,SAAkB,EAClB,OAA8H,EAAA;QAE9H,IAAI,eAAe,GAAG,SAAS;AAE/B,QAAA,IAAI,OAAO,EAAE,SAAS,EAAE;AACtB,YAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,SAAS;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,aAAa,GAAG;YACpB,mBAAmB,EAAE,IAAI,CAAC,SAAS;AACnC,YAAA,IAAI,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;SAC5C;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC;AAE3D,QAAA,IAAI,OAAO,EAAE,MAAM,EAAE;AACnB,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,MAAO,CAAC,GAAc,CAAC,CAAC,CAAC;QACxG;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC;QAE3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE;AAE9D,QAAA,OAAO,CAAC,SAAS,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjE,SAAS,CAAC,OAAO,EAAE;AACrB,QAAA,CAAC,CACA;AAED,QAAA,OAAO,OAAO;IAChB;8GAzCW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;;2FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
1
+ {"version":3,"file":"i-cell-ids-angular-dialog.mjs","sources":["../../../projects/widgets/dialog/dialog-defaults.ts","../../../projects/widgets/dialog/dialog-header.directive.ts","../../../projects/widgets/dialog/dialog.component.ts","../../../projects/widgets/dialog/dialog.component.html","../../../projects/widgets/dialog/custom-dialog-base.ts","../../../projects/widgets/dialog/dialog.service.ts","../../../projects/widgets/dialog/i-cell-ids-angular-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsDialogDefaultConfig {\n size?: IdsSizeType,\n showCloseButton?: boolean,\n showBackdrop?: boolean,\n}\n\nexport const IDS_DIALOG_DEFAULT_CONFIG = new InjectionToken<IdsDialogDefaultConfig>(\n 'IDS_DIALOG_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_DIALOG_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_DIALOG_DEFAULT_CONFIG_FACTORY(): Required<IdsDialogDefaultConfig> {\n return {\n size: IdsSize.COMPACT,\n showCloseButton: false,\n showBackdrop: true,\n };\n}\n\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[idsDialogHeader]',\n standalone: true,\n})\nexport class IdsDialogHeaderDirective {\n public template = inject(TemplateRef);\n}\n","import { IDS_DIALOG_DEFAULT_CONFIG, IDS_DIALOG_DEFAULT_CONFIG_FACTORY, IdsDialogDefaultConfig } from './dialog-defaults';\nimport { IdsDialogHeaderDirective } from './dialog-header.directive';\n\nimport { OverlayContainer } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n input,\n OnDestroy,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsDetectScrollableDirective, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_DIALOG_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'dialog[idsDialog]',\n imports: [\n IdsDetectScrollableDirective,\n IdsIconComponent,\n IdsIconButtonComponent,\n NgTemplateOutlet,\n ],\n templateUrl: './dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'idsDialog',\n host: {\n '[attr.aria-labelledby]': '_titleId()',\n '(cancel)': '_onCancel($event)',\n '(close)': '_onNativeClose()',\n },\n})\nexport class IdsDialogComponent extends ComponentBaseWithDefaults<IdsDialogDefaultConfig> implements OnDestroy {\n protected override get _hostName(): string {\n return 'dialog';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_DIALOG_DEFAULT_CONFIG);\n\n public dialog = inject<ElementRef<HTMLDialogElement>>(ElementRef).nativeElement;\n\n private readonly _overlay = inject(OverlayContainer);\n private _overlayRoot?: HTMLElement | null;\n private _overlayPrevParent?: Node | null;\n\n protected _titleId = computed(() => `${this.id()}-title`);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public mainTitle = input.required<string>();\n public subTitle = input<string>();\n public showCloseButton = input<boolean>(this._defaultConfig.showCloseButton);\n public showBackdrop = input<boolean>(this._defaultConfig.showBackdrop);\n\n protected _customHeader = contentChild(IdsDialogHeaderDirective);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.showBackdrop() ? 'with-backdrop' : null,\n ]));\n\n protected _onCancel(event: Event): void {\n event.preventDefault();\n }\n\n public open(): void {\n this.dialog.showModal();\n\n const root = this._overlay.getContainerElement();\n if (root && root.parentNode !== this.dialog) {\n this._overlayRoot = root;\n this._overlayPrevParent = root.parentNode;\n this.dialog.appendChild(root);\n }\n }\n\n public close(): void {\n this.dialog.close();\n this._restoreOverlay();\n }\n\n protected _onNativeClose(): void {\n this._restoreOverlay();\n }\n\n public ngOnDestroy(): void {\n this._restoreOverlay();\n }\n\n private _restoreOverlay(): void {\n if (this._overlayRoot && this._overlayPrevParent) {\n try {\n this._overlayPrevParent.appendChild(this._overlayRoot);\n } catch { /* empty */ }\n }\n this._overlayRoot = null;\n this._overlayPrevParent = null;\n }\n}\n","<section class=\"ids-dialog-container\">\n <header class=\"ids-dialog-header\">\n @if (_customHeader()) {\n <ng-container [ngTemplateOutlet]=\"_customHeader()!.template\" />\n } @else {\n <div class=\"ids-dialog-header-default-content\">\n <h2 class=\"ids-dialog-title\" [id]=\"_titleId()\">{{ mainTitle() }}</h2>\n @if (subTitle()) {\n <h3 class=\"ids-dialog-subtitle\">{{ subTitle() }}</h3>\n }\n </div>\n }\n\n @if (showCloseButton()) {\n <button\n type=\"button\"\n class=\"ids-dialog-close-button\"\n idsIconButton\n appearance=\"standard\"\n size=\"compact\"\n variant=\"surface\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n </header>\n <div class=\"ids-dialog-content\" [class.ids-dialog-content-scrollable]=\"scrollDetector.isScrollable()\">\n <div #scrollDetector=\"idsDetectScrollable\" idsDetectScrollable class=\"ids-dialog-content-overflow\">\n <ng-content select=\"[idsDialogContent]\" />\n </div>\n </div>\n <footer class=\"ids-dialog-actions\">\n <ng-content select=\"[idsDialogActions]\" />\n </footer>\n</section>\n","import { IdsDialogComponent } from './dialog.component';\n\nimport { AfterViewInit, Directive, OnDestroy, viewChild } from '@angular/core';\nimport { Subject, Subscription, fromEvent } from 'rxjs';\n\n@Directive({ standalone: true })\nexport abstract class IdsCustomDialogBase<ResultType = unknown> implements AfterViewInit, OnDestroy {\n public dialogResult = new Subject<ResultType | undefined>();\n\n protected _dialog = viewChild.required(IdsDialogComponent);\n\n private _closeSub?: Subscription;\n\n public ngAfterViewInit(): void {\n this._dialog().open();\n this._closeSub = fromEvent(this._dialog().dialog, 'close').subscribe(() => {\n this._setDialogResult();\n });\n }\n\n public ngOnDestroy(): void {\n this._closeSub?.unsubscribe();\n }\n\n public close(payload?: ResultType): void {\n this._closeSub?.unsubscribe();\n this._dialog().close();\n this._setDialogResult(payload);\n }\n\n private _setDialogResult(payload?: ResultType): void {\n this.dialogResult.next(payload);\n this.dialogResult.complete();\n }\n}\n","import { IdsCustomDialogBase } from './custom-dialog-base';\n\nimport { ApplicationRef, EnvironmentInjector, Injectable, Injector, Provider, Signal, StaticProvider, Type, createComponent, inject, DOCUMENT } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class IdsDialogService {\n private _appRef = inject(ApplicationRef);\n private _document = inject(DOCUMENT);\n private _injector = inject(EnvironmentInjector);\n\n public open<C extends IdsCustomDialogBase<R>, R = unknown>(\n component: Type<C>,\n options?: { providers?: (Provider | StaticProvider)[], inputs?: { [P in keyof C]?: C[P] extends Signal<infer T> ? T : C[P] } },\n ): Observable<R | undefined> {\n let elementInjector = undefined;\n\n if (options?.providers) {\n elementInjector = Injector.create({\n parent: this._injector,\n providers: options.providers,\n });\n }\n\n const createOptions = {\n environmentInjector: this._injector,\n ...(elementInjector && { elementInjector }),\n };\n const dialogRef = createComponent(component, createOptions);\n\n if (options?.inputs) {\n Object.keys(options.inputs).forEach((key) => dialogRef.setInput(key, options.inputs![key as keyof C]));\n }\n\n this._document.body.appendChild(dialogRef.location.nativeElement);\n\n this._appRef.attachView(dialogRef.hostView);\n\n const onClose = dialogRef.instance.dialogResult.asObservable();\n\n onClose.subscribe(() => {\n this._document.body.removeChild(dialogRef.location.nativeElement);\n dialogRef.destroy();\n },\n );\n\n return onClose;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@i-cell/ids-angular",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "private": false,
5
5
  "description": "i-Cell Design System UI Kit components for Angular",
6
6
  "publishConfig": {
@@ -32,7 +32,7 @@
32
32
  "@angular/forms": "^20.1.7",
33
33
  "@angular/platform-browser": "^20.1.7",
34
34
  "@angular/router": "^20.1.7",
35
- "@i-cell/ids-styles": "^0.0.48"
35
+ "@i-cell/ids-styles": "^0.0.49"
36
36
  },
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.0"
@@ -88,6 +88,10 @@
88
88
  "types": "./datepicker/index.d.ts",
89
89
  "default": "./fesm2022/i-cell-ids-angular-datepicker.mjs"
90
90
  },
91
+ "./dialog": {
92
+ "types": "./dialog/index.d.ts",
93
+ "default": "./fesm2022/i-cell-ids-angular-dialog.mjs"
94
+ },
91
95
  "./divider": {
92
96
  "types": "./divider/index.d.ts",
93
97
  "default": "./fesm2022/i-cell-ids-angular-divider.mjs"
@@ -152,18 +156,14 @@
152
156
  "types": "./spinner/index.d.ts",
153
157
  "default": "./fesm2022/i-cell-ids-angular-spinner.mjs"
154
158
  },
155
- "./dialog": {
156
- "types": "./dialog/index.d.ts",
157
- "default": "./fesm2022/i-cell-ids-angular-dialog.mjs"
159
+ "./switch": {
160
+ "types": "./switch/index.d.ts",
161
+ "default": "./fesm2022/i-cell-ids-angular-switch.mjs"
158
162
  },
159
163
  "./tab": {
160
164
  "types": "./tab/index.d.ts",
161
165
  "default": "./fesm2022/i-cell-ids-angular-tab.mjs"
162
166
  },
163
- "./switch": {
164
- "types": "./switch/index.d.ts",
165
- "default": "./fesm2022/i-cell-ids-angular-switch.mjs"
166
- },
167
167
  "./table": {
168
168
  "types": "./table/index.d.ts",
169
169
  "default": "./fesm2022/i-cell-ids-angular-table.mjs"
package/table/index.d.ts CHANGED
@@ -12,6 +12,7 @@ interface IdsTablePaginationParams {
12
12
  /** The total number of items in the result list */
13
13
  totalRows: number;
14
14
  /** The highest page index number */
15
+ maxPage?: number;
15
16
  /** The number of items per page */
16
17
  rows: number;
17
18
  /** The index number of the current page */