@i-cell/ids-angular 0.2.23 → 0.2.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/fesm2022/i-cell-ids-angular-accordion.mjs +32 -32
  2. package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/i-cell-ids-angular-avatar.mjs +18 -18
  4. package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
  5. package/fesm2022/i-cell-ids-angular-badge.mjs +27 -27
  6. package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -1
  7. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +45 -45
  8. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/i-cell-ids-angular-button.mjs +19 -19
  10. package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
  11. package/fesm2022/i-cell-ids-angular-card.mjs +38 -41
  12. package/fesm2022/i-cell-ids-angular-card.mjs.map +1 -1
  13. package/fesm2022/i-cell-ids-angular-checkbox.mjs +45 -45
  14. package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
  15. package/fesm2022/i-cell-ids-angular-chip.mjs +28 -28
  16. package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
  17. package/fesm2022/i-cell-ids-angular-core.mjs +18 -20
  18. package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -1
  19. package/fesm2022/i-cell-ids-angular-datepicker.mjs +74 -74
  20. package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
  21. package/fesm2022/i-cell-ids-angular-dialog.mjs +23 -23
  22. package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
  23. package/fesm2022/i-cell-ids-angular-divider.mjs +12 -12
  24. package/fesm2022/i-cell-ids-angular-divider.mjs.map +1 -1
  25. package/fesm2022/i-cell-ids-angular-forms.mjs +1054 -830
  26. package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
  27. package/fesm2022/i-cell-ids-angular-icon-button.mjs +15 -15
  28. package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
  29. package/fesm2022/i-cell-ids-angular-icon.mjs +15 -15
  30. package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -1
  31. package/fesm2022/i-cell-ids-angular-menu.mjs +18 -18
  32. package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -1
  33. package/fesm2022/i-cell-ids-angular-notification.mjs +26 -26
  34. package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
  35. package/fesm2022/i-cell-ids-angular-overlay-panel.mjs +18 -18
  36. package/fesm2022/i-cell-ids-angular-overlay-panel.mjs.map +1 -1
  37. package/fesm2022/i-cell-ids-angular-paginator.mjs +34 -34
  38. package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -1
  39. package/fesm2022/i-cell-ids-angular-radio.mjs +32 -32
  40. package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
  41. package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +34 -34
  42. package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
  43. package/fesm2022/i-cell-ids-angular-segmented-control.mjs +34 -34
  44. package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
  45. package/fesm2022/i-cell-ids-angular-select.mjs +29 -29
  46. package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
  47. package/fesm2022/i-cell-ids-angular-side-nav.mjs +41 -41
  48. package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
  49. package/fesm2022/i-cell-ids-angular-side-sheet.mjs +29 -29
  50. package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
  51. package/fesm2022/i-cell-ids-angular-snackbar.mjs +30 -30
  52. package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
  53. package/fesm2022/i-cell-ids-angular-spinner.mjs +10 -10
  54. package/fesm2022/i-cell-ids-angular-spinner.mjs.map +1 -1
  55. package/fesm2022/i-cell-ids-angular-switch.mjs +36 -36
  56. package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
  57. package/fesm2022/i-cell-ids-angular-tab.mjs +140 -30
  58. package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
  59. package/fesm2022/i-cell-ids-angular-table.mjs +94 -94
  60. package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
  61. package/fesm2022/i-cell-ids-angular-tag.mjs +20 -20
  62. package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -1
  63. package/fesm2022/i-cell-ids-angular-tooltip.mjs +32 -32
  64. package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
  65. package/package.json +60 -60
  66. package/{accordion/index.d.ts → types/i-cell-ids-angular-accordion.d.ts} +1 -1
  67. package/{avatar/index.d.ts → types/i-cell-ids-angular-avatar.d.ts} +1 -1
  68. package/{button/index.d.ts → types/i-cell-ids-angular-button.d.ts} +1 -1
  69. package/{card/index.d.ts → types/i-cell-ids-angular-card.d.ts} +2 -2
  70. package/{chip/index.d.ts → types/i-cell-ids-angular-chip.d.ts} +5 -5
  71. package/{core/index.d.ts → types/i-cell-ids-angular-core.d.ts} +2 -2
  72. package/{datepicker/index.d.ts → types/i-cell-ids-angular-datepicker.d.ts} +1 -1
  73. package/{divider/index.d.ts → types/i-cell-ids-angular-divider.d.ts} +2 -2
  74. package/{forms/index.d.ts → types/i-cell-ids-angular-forms.d.ts} +116 -96
  75. package/{icon-button/index.d.ts → types/i-cell-ids-angular-icon-button.d.ts} +2 -2
  76. package/{icon/index.d.ts → types/i-cell-ids-angular-icon.d.ts} +1 -1
  77. package/{menu/index.d.ts → types/i-cell-ids-angular-menu.d.ts} +1 -1
  78. package/{notification/index.d.ts → types/i-cell-ids-angular-notification.d.ts} +1 -1
  79. package/{paginator/index.d.ts → types/i-cell-ids-angular-paginator.d.ts} +1 -1
  80. package/{radio/index.d.ts → types/i-cell-ids-angular-radio.d.ts} +1 -1
  81. package/{segmented-control-toggle/index.d.ts → types/i-cell-ids-angular-segmented-control-toggle.d.ts} +1 -1
  82. package/{segmented-control/index.d.ts → types/i-cell-ids-angular-segmented-control.d.ts} +1 -1
  83. package/{snackbar/index.d.ts → types/i-cell-ids-angular-snackbar.d.ts} +3 -3
  84. package/{tab/index.d.ts → types/i-cell-ids-angular-tab.d.ts} +16 -3
  85. package/{tag/index.d.ts → types/i-cell-ids-angular-tag.d.ts} +1 -1
  86. /package/{badge/index.d.ts → types/i-cell-ids-angular-badge.d.ts} +0 -0
  87. /package/{breadcrumb/index.d.ts → types/i-cell-ids-angular-breadcrumb.d.ts} +0 -0
  88. /package/{checkbox/index.d.ts → types/i-cell-ids-angular-checkbox.d.ts} +0 -0
  89. /package/{dialog/index.d.ts → types/i-cell-ids-angular-dialog.d.ts} +0 -0
  90. /package/{overlay-panel/index.d.ts → types/i-cell-ids-angular-overlay-panel.d.ts} +0 -0
  91. /package/{select/index.d.ts → types/i-cell-ids-angular-select.d.ts} +0 -0
  92. /package/{side-nav/index.d.ts → types/i-cell-ids-angular-side-nav.d.ts} +0 -0
  93. /package/{side-sheet/index.d.ts → types/i-cell-ids-angular-side-sheet.d.ts} +0 -0
  94. /package/{spinner/index.d.ts → types/i-cell-ids-angular-spinner.d.ts} +0 -0
  95. /package/{switch/index.d.ts → types/i-cell-ids-angular-switch.d.ts} +0 -0
  96. /package/{table/index.d.ts → types/i-cell-ids-angular-table.d.ts} +0 -0
  97. /package/{tooltip/index.d.ts → types/i-cell-ids-angular-tooltip.d.ts} +0 -0
  98. /package/{index.d.ts → types/i-cell-ids-angular.d.ts} +0 -0
@@ -40,19 +40,19 @@ class IdsSegmentedControlDirective extends ComponentBaseWithDefaults {
40
40
  constructor() {
41
41
  super(...arguments);
42
42
  this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG);
43
- this._items = contentChildren(IdsSegmentedControlItemComponent, ...(ngDevMode ? [{ debugName: "_items" }] : []));
44
- this.name = input(...(ngDevMode ? [undefined, { debugName: "name" }] : []));
45
- this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
46
- this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
47
- this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
48
- this.multiSelect = input(false, ...(ngDevMode ? [{ debugName: "multiSelect" }] : []));
49
- this.disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
43
+ this._items = contentChildren(IdsSegmentedControlItemComponent, ...(ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []));
44
+ this.name = input(...(ngDevMode ? [undefined, { debugName: "name" }] : /* istanbul ignore next */ []));
45
+ this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
46
+ this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
47
+ this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
48
+ this.multiSelect = input(false, ...(ngDevMode ? [{ debugName: "multiSelect" }] : /* istanbul ignore next */ []));
49
+ this.disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
50
50
  this._hostClasses = computed(() => this._getHostClasses([
51
51
  this.size(),
52
52
  this.variant(),
53
53
  this.appearance(),
54
54
  this.disabled() ? 'disabled' : null,
55
- ]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
55
+ ]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
56
56
  this._onChange = () => { };
57
57
  this._onTouched = () => { };
58
58
  this.itemChanges = output();
@@ -196,8 +196,8 @@ class IdsSegmentedControlDirective extends ComponentBaseWithDefaults {
196
196
  }
197
197
  return itemValue === this._rawValue;
198
198
  }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSegmentedControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
200
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.1.7", type: IdsSegmentedControlDirective, isStandalone: true, selector: "ids-segmented-control[ngModel]:not([formControl]):not([formControlName]),\n ids-segmented-control[formControl]:not([ngModel]):not([formControlName]),\n ids-segmented-control[formControlName]:not([ngModel]):not([formControl])", inputs: { name: { classPropertyName: "name", publicName: "name", 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 }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, multiSelect: { classPropertyName: "multiSelect", publicName: "multiSelect", isSignal: true, isRequired: false, transformFunction: null }, valueCompareFn: { classPropertyName: "valueCompareFn", publicName: "valueCompareFn", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemChanges: "itemChanges" }, host: { listeners: { "keydown": "_handleKeyDown($event)" }, properties: { "attr.role": "multiSelect() ? \"group\" : \"radiogroup\"" } }, providers: [
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSegmentedControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
200
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: IdsSegmentedControlDirective, isStandalone: true, selector: "ids-segmented-control[ngModel]:not([formControl]):not([formControlName]),\n ids-segmented-control[formControl]:not([ngModel]):not([formControlName]),\n ids-segmented-control[formControlName]:not([ngModel]):not([formControl])", inputs: { name: { classPropertyName: "name", publicName: "name", 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 }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, multiSelect: { classPropertyName: "multiSelect", publicName: "multiSelect", isSignal: true, isRequired: false, transformFunction: null }, valueCompareFn: { classPropertyName: "valueCompareFn", publicName: "valueCompareFn", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemChanges: "itemChanges" }, host: { listeners: { "keydown": "_handleKeyDown($event)" }, properties: { "attr.role": "multiSelect() ? \"group\" : \"radiogroup\"" } }, providers: [
201
201
  {
202
202
  provide: NG_VALUE_ACCESSOR,
203
203
  useExisting: forwardRef(() => IdsSegmentedControlDirective),
@@ -205,7 +205,7 @@ class IdsSegmentedControlDirective extends ComponentBaseWithDefaults {
205
205
  },
206
206
  ], queries: [{ propertyName: "_items", predicate: IdsSegmentedControlItemComponent, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSegmentedControlDirective, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSegmentedControlDirective, decorators: [{
209
209
  type: Directive,
210
210
  args: [{
211
211
  selector: `ids-segmented-control[ngModel]:not([formControl]):not([formControlName]),
@@ -224,32 +224,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
224
224
  '(keydown)': '_handleKeyDown($event)',
225
225
  },
226
226
  }]
227
- }], propDecorators: { valueCompareFn: [{
227
+ }], propDecorators: { _items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IdsSegmentedControlItemComponent), { isSignal: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], multiSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelect", required: false }] }], valueCompareFn: [{
228
228
  type: Input
229
- }] } });
229
+ }], itemChanges: [{ type: i0.Output, args: ["itemChanges"] }] } });
230
230
 
231
231
  class IdsSegmentedControlItemComponent extends ComponentBase {
232
232
  constructor() {
233
233
  super(...arguments);
234
234
  this._group = inject(IdsSegmentedControlDirective, { optional: true, skipSelf: true });
235
235
  this._buttonElement = viewChild.required('button');
236
- this.selected = signal(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
237
- this.name = input(...(ngDevMode ? [undefined, { debugName: "name" }] : []));
238
- this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
239
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
240
- this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel", alias: 'aria-label' }] : [{ alias: 'aria-label' }]));
241
- this.ariaLabelledBy = input('', ...(ngDevMode ? [{ debugName: "ariaLabelledBy", alias: 'aria-labeledby' }] : [{ alias: 'aria-labeledby' }]));
242
- this.tabIndex = input(0, ...(ngDevMode ? [{ debugName: "tabIndex", transform: coerceNumberAttribute }] : [{ transform: coerceNumberAttribute }]));
243
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
244
- this._buttonId = computed(() => `${this.id()}-button`, ...(ngDevMode ? [{ debugName: "_buttonId" }] : []));
245
- this._parentOrSelfDisabled = computed(() => this.disabled() || this._group?.disabled(), ...(ngDevMode ? [{ debugName: "_parentOrSelfDisabled" }] : []));
246
- this._multiSelect = computed(() => this._group?.multiSelect(), ...(ngDevMode ? [{ debugName: "_multiSelect" }] : []));
247
- this._ariaPressed = computed(() => (this._multiSelect() ? this.selected() : null), ...(ngDevMode ? [{ debugName: "_ariaPressed" }] : []));
248
- this._ariaChecked = computed(() => (!this._multiSelect() ? this.selected() : null), ...(ngDevMode ? [{ debugName: "_ariaChecked" }] : []));
249
- this._role = computed(() => (this._multiSelect() ? 'button' : 'radio'), ...(ngDevMode ? [{ debugName: "_role" }] : []));
250
- this._buttonName = computed(() => (this._multiSelect() ? this.name() : this._group?.name()), ...(ngDevMode ? [{ debugName: "_buttonName" }] : []));
251
- this._buttonClasses = computed(() => addClassPrefix(this._hostClassName, this.selected() ? 'selected' : null), ...(ngDevMode ? [{ debugName: "_buttonClasses" }] : []));
252
- this._hostClasses = computed(() => this._getHostClasses([]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
236
+ this.selected = signal(false, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
237
+ this.name = input(...(ngDevMode ? [undefined, { debugName: "name" }] : /* istanbul ignore next */ []));
238
+ this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
239
+ this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
240
+ this.ariaLabel = input('', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
241
+ this.ariaLabelledBy = input('', { ...(ngDevMode ? { debugName: "ariaLabelledBy" } : /* istanbul ignore next */ {}), alias: 'aria-labeledby' });
242
+ this.tabIndex = input(0, { ...(ngDevMode ? { debugName: "tabIndex" } : /* istanbul ignore next */ {}), transform: coerceNumberAttribute });
243
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
244
+ this._buttonId = computed(() => `${this.id()}-button`, ...(ngDevMode ? [{ debugName: "_buttonId" }] : /* istanbul ignore next */ []));
245
+ this._parentOrSelfDisabled = computed(() => this.disabled() || this._group?.disabled(), ...(ngDevMode ? [{ debugName: "_parentOrSelfDisabled" }] : /* istanbul ignore next */ []));
246
+ this._multiSelect = computed(() => this._group?.multiSelect(), ...(ngDevMode ? [{ debugName: "_multiSelect" }] : /* istanbul ignore next */ []));
247
+ this._ariaPressed = computed(() => (this._multiSelect() ? this.selected() : null), ...(ngDevMode ? [{ debugName: "_ariaPressed" }] : /* istanbul ignore next */ []));
248
+ this._ariaChecked = computed(() => (!this._multiSelect() ? this.selected() : null), ...(ngDevMode ? [{ debugName: "_ariaChecked" }] : /* istanbul ignore next */ []));
249
+ this._role = computed(() => (this._multiSelect() ? 'button' : 'radio'), ...(ngDevMode ? [{ debugName: "_role" }] : /* istanbul ignore next */ []));
250
+ this._buttonName = computed(() => (this._multiSelect() ? this.name() : this._group?.name()), ...(ngDevMode ? [{ debugName: "_buttonName" }] : /* istanbul ignore next */ []));
251
+ this._buttonClasses = computed(() => addClassPrefix(this._hostClassName, this.selected() ? 'selected' : null), ...(ngDevMode ? [{ debugName: "_buttonClasses" }] : /* istanbul ignore next */ []));
252
+ this._hostClasses = computed(() => this._getHostClasses([]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
253
253
  this.changes = output();
254
254
  }
255
255
  get _hostName() {
@@ -271,13 +271,13 @@ class IdsSegmentedControlItemComponent extends ComponentBase {
271
271
  focus(options) {
272
272
  this._buttonElement().nativeElement.focus(options);
273
273
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSegmentedControlItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
275
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSegmentedControlItemComponent, isStandalone: true, selector: "ids-segmented-control-item", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labeledby", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, viewQueries: [{ propertyName: "_buttonElement", first: true, predicate: ["button"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n #button\n type=\"button\"\n [id]=\"_buttonId()\"\n [attr.role]=\"_role()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : tabIndex()\"\n [attr.aria-pressed]=\"_ariaPressed()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n [disabled]=\"_parentOrSelfDisabled() || null\"\n [attr.name]=\"_buttonName()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [class]=\"_buttonClasses()\"\n (click)=\"onClick()\"\n>\n @if (selected()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n @if (!selected() || !label()) {\n <ng-content select=\"ids-icon\" />\n }\n\n {{ label() }}\n\n <ng-content select=\"[suffixContent]\" />\n</button>\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 }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSegmentedControlItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
275
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsSegmentedControlItemComponent, isStandalone: true, selector: "ids-segmented-control-item", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labeledby", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, viewQueries: [{ propertyName: "_buttonElement", first: true, predicate: ["button"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n #button\n type=\"button\"\n [id]=\"_buttonId()\"\n [attr.role]=\"_role()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : tabIndex()\"\n [attr.aria-pressed]=\"_ariaPressed()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n [disabled]=\"_parentOrSelfDisabled() || null\"\n [attr.name]=\"_buttonName()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [class]=\"_buttonClasses()\"\n (click)=\"onClick()\"\n>\n @if (selected()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n @if (!selected() || !label()) {\n <ng-content select=\"ids-icon\" />\n }\n\n {{ label() }}\n\n <ng-content select=\"[suffixContent]\" />\n</button>\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 }); }
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSegmentedControlItemComponent, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSegmentedControlItemComponent, decorators: [{
278
278
  type: Component,
279
279
  args: [{ selector: 'ids-segmented-control-item', imports: [IdsIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #button\n type=\"button\"\n [id]=\"_buttonId()\"\n [attr.role]=\"_role()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : tabIndex()\"\n [attr.aria-pressed]=\"_ariaPressed()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n [disabled]=\"_parentOrSelfDisabled() || null\"\n [attr.name]=\"_buttonName()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [class]=\"_buttonClasses()\"\n (click)=\"onClick()\"\n>\n @if (selected()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n @if (!selected() || !label()) {\n <ng-content select=\"ids-icon\" />\n }\n\n {{ label() }}\n\n <ng-content select=\"[suffixContent]\" />\n</button>\n" }]
280
- }] });
280
+ }], propDecorators: { _buttonElement: [{ type: i0.ViewChild, args: ['button', { isSignal: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labeledby", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], changes: [{ type: i0.Output, args: ["changes"] }] } });
281
281
 
282
282
  /**
283
283
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"i-cell-ids-angular-segmented-control.mjs","sources":["../../../projects/widgets/segmented-control/types/segmented-control-appearance.type.ts","../../../projects/widgets/segmented-control/types/segmented-control-item-change.class.ts","../../../projects/widgets/segmented-control/types/segmented-control-variant.type.ts","../../../projects/widgets/segmented-control/segmented-control-defaults.ts","../../../projects/widgets/segmented-control/segmented-control.directive.ts","../../../projects/widgets/segmented-control/segmented-control-item.component.ts","../../../projects/widgets/segmented-control/segmented-control-item.component.html","../../../projects/widgets/segmented-control/i-cell-ids-angular-segmented-control.ts"],"sourcesContent":["export const IdsSegmentedControlAppearance = {\n OUTLINED: 'outlined',\n} as const;\n\nexport type IdsSegmentedControlAppearanceType = (typeof IdsSegmentedControlAppearance)[keyof typeof IdsSegmentedControlAppearance];\n","import { IdsSegmentedControlItemComponent } from '../segmented-control-item.component';\nexport class IdsSegmentedControlItemChange {\n constructor(\n public source: IdsSegmentedControlItemComponent,\n public selected: boolean,\n public value: unknown,\n ) {}\n}\n","export const IdsSegmentedControlVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSegmentedControlVariantType = (typeof IdsSegmentedControlVariant)[keyof typeof IdsSegmentedControlVariant];\n","import { IdsSegmentedControlAppearance, IdsSegmentedControlAppearanceType } from './types/segmented-control-appearance.type';\nimport { IdsSegmentedControlVariant, IdsSegmentedControlVariantType } from './types/segmented-control-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSegmentedControlDefaultConfig {\n appearance?: IdsSegmentedControlAppearanceType\n size?: IdsSizeType\n variant?: IdsSegmentedControlVariantType\n}\n\nexport const IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG = new InjectionToken<IdsSegmentedControlDefaultConfig>(\n 'IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY(): Required<IdsSegmentedControlDefaultConfig> {\n return {\n appearance: IdsSegmentedControlAppearance.OUTLINED,\n size: IdsSize.COMPACT,\n variant: IdsSegmentedControlVariant.SURFACE,\n };\n}\n","import { IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG, IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY, IdsSegmentedControlDefaultConfig } from './segmented-control-defaults';\nimport { IdsSegmentedControlItemComponent } from './segmented-control-item.component';\nimport { IdsSegmentedControlAppearanceType } from './types/segmented-control-appearance.type';\nimport { IdsSegmentedControlItemChange } from './types/segmented-control-item-change.class';\nimport { IdsSegmentedControlVariantType } from './types/segmented-control-variant.type';\n\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { AfterContentInit, computed, contentChildren, Directive, forwardRef, Input, input, isDevMode, OnInit, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY();\n\n@Directive({\n selector: `ids-segmented-control[ngModel]:not([formControl]):not([formControlName]),\n ids-segmented-control[formControl]:not([ngModel]):not([formControlName]),\n ids-segmented-control[formControlName]:not([ngModel]):not([formControl])`,\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IdsSegmentedControlDirective),\n multi: true,\n },\n ],\n host: {\n '[attr.role]': 'multiSelect() ? \"group\" : \"radiogroup\"',\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsSegmentedControlDirective\n extends ComponentBaseWithDefaults<IdsSegmentedControlDefaultConfig>\n implements\n AfterContentInit,\n OnInit,\n ControlValueAccessor {\n protected override get _hostName(): string {\n return 'segmented-control';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG);\n\n private _selectionModel?: SelectionModel<IdsSegmentedControlItemComponent>;\n private _rawValue: unknown | unknown[];\n private _items = contentChildren<IdsSegmentedControlItemComponent>(IdsSegmentedControlItemComponent);\n\n public name = input<string>();\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSegmentedControlVariantType>(this._defaultConfig.variant);\n public appearance = input<IdsSegmentedControlAppearanceType>(this._defaultConfig.appearance);\n public multiSelect = input<boolean>(false);\n public disabled = signal<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.appearance(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n private _onChange: (value: unknown) => void = () => {};\n private _onTouched: () => unknown = () => {};\n\n @Input() public valueCompareFn?: (o1: IdsSegmentedControlItemComponent, o2: IdsSegmentedControlItemComponent) => boolean;\n\n public readonly itemChanges = output<IdsSegmentedControlItemChange>();\n\n private _handleKeyDown(event: KeyboardEvent): void {\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n const navigationKeys = ['ArrowLeft', 'ArrowRight', 'Enter', 'Spacebar', ' '];\n\n if (!navigationKeys.includes(event.key)) {\n return;\n }\n\n event.preventDefault();\n\n const items = this._items();\n const target = event.target as HTMLElement | null;\n const buttonId = target?.closest('button')?.id;\n const index = items.findIndex((item) => `${item.id()}-button` === buttonId);\n\n if (index < 0) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowRight': {\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n items[index].onClick();\n break;\n }\n default:\n return;\n }\n }\n\n public ngOnInit(): void {\n this._selectionModel = new SelectionModel<IdsSegmentedControlItemComponent>(this.multiSelect(), undefined, false, this.valueCompareFn);\n }\n\n public ngAfterContentInit(): void {\n const items = this._items();\n const minItemCount = 2;\n\n if (isDevMode() && (items.length < minItemCount)) {\n throw this._createHostError('invalid count of segmented control items. Minimum item count is 2.');\n }\n\n this._selectionModel?.select(...this._items().filter((item) => item.selected()));\n this._subscribeItemChanges();\n }\n\n public writeValue(value: unknown | unknown[]): void {\n this._setSelectionByValue(value);\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n private _subscribeItemChanges(): void {\n this._items().forEach((item) => {\n item.changes.subscribe(\n (change) => {\n this._handleItemChanges(change);\n },\n );\n });\n }\n\n private _handleItemChanges(change: IdsSegmentedControlItemChange): void {\n const { source, selected } = change;\n if (!this.multiSelect()) {\n this._clearSelection();\n }\n source.selected.set(selected);\n if (selected) {\n this._selectionModel?.select(source);\n } else {\n this._selectionModel?.deselect(source);\n }\n this.itemChanges.emit(change);\n this._handleChange();\n this._onTouched();\n }\n\n private _setSelectionByValue(value: unknown | unknown[]): void {\n this._rawValue = value;\n\n if (this._items().length === 0) {\n return;\n }\n\n if (this.multiSelect() && value) {\n if (!Array.isArray(value)) {\n throw this._createHostError('value must be an array in multiple-selection mode');\n }\n\n this._clearSelection();\n value.forEach((currentValue: unknown) => this._selectValue(currentValue));\n } else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n\n private _selectValue(value: unknown): void {\n const correspondingItem = this._items().find((item) => item.value() != null && item.value() === value);\n if (correspondingItem) {\n correspondingItem.selected.set(true);\n this._selectionModel?.select(correspondingItem);\n }\n }\n\n private _clearSelection(): void {\n this._selectionModel?.clear();\n this._items().forEach((item) => {\n item.selected.set(false);\n });\n }\n\n private _handleChange(): void {\n const selectionModelValues = this._selectionModel?.selected?.map((item) => item.value());\n if (this.multiSelect()) {\n this._onChange(selectionModelValues);\n } else {\n this._onChange(selectionModelValues?.[0]);\n }\n }\n\n public isItemPreSelectedByValue(itemValue: unknown): boolean {\n if (this._rawValue === undefined) {\n return false;\n }\n\n if (this.multiSelect() && Array.isArray(this._rawValue)) {\n return this._rawValue.some((value) => itemValue != null && value === itemValue);\n }\n\n return itemValue === this._rawValue;\n }\n}\n","import { IdsSegmentedControlDirective } from './segmented-control.directive';\nimport { IdsSegmentedControlItemChange } from './types/segmented-control-item-change.class';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, OnInit, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { addClassPrefix, coerceNumberAttribute, ComponentBase } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'ids-segmented-control-item',\n imports: [IdsIconComponent],\n templateUrl: './segmented-control-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsSegmentedControlItemComponent extends ComponentBase implements OnInit {\n protected override get _hostName(): string {\n return 'segmented-control-item';\n }\n\n protected readonly _group = inject(IdsSegmentedControlDirective, { optional: true, skipSelf: true });\n\n private _buttonElement = viewChild.required<ElementRef<HTMLButtonElement>>('button');\n\n public selected = signal<boolean>(false);\n\n public name = input<string>();\n public value = input.required<unknown>();\n public label = input<string>();\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledBy = input<string>('', { alias: 'aria-labeledby' });\n public tabIndex = input<number, unknown>(0, { transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n\n protected _buttonId = computed(() => `${this.id()}-button`);\n protected _parentOrSelfDisabled = computed(() => this.disabled() || this._group?.disabled());\n protected _multiSelect = computed(() => this._group?.multiSelect());\n protected _ariaPressed = computed(() => (this._multiSelect() ? this.selected() : null));\n protected _ariaChecked = computed(() => (!this._multiSelect() ? this.selected() : null));\n protected _role = computed(() => (this._multiSelect() ? 'button' : 'radio'));\n protected _buttonName = computed(() => (this._multiSelect() ? this.name() : this._group?.name()));\n protected _buttonClasses = computed(() => addClassPrefix(this._hostClassName, this.selected() ? 'selected' : null));\n protected _hostClasses = computed(() => this._getHostClasses([]));\n\n public readonly changes = output<IdsSegmentedControlItemChange>();\n\n public ngOnInit(): void {\n if (!this._group) {\n throw this._createHostError('component must be direct child of a segmented control');\n }\n\n if (this._group.isItemPreSelectedByValue(this.value())) {\n this.selected.set(true);\n }\n }\n\n public onClick(): void {\n if (this._multiSelect() || !this.selected()) {\n this.changes.emit(new IdsSegmentedControlItemChange(this, !this.selected(), this.value()));\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._buttonElement().nativeElement.focus(options);\n }\n}\n","<button\n #button\n type=\"button\"\n [id]=\"_buttonId()\"\n [attr.role]=\"_role()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : tabIndex()\"\n [attr.aria-pressed]=\"_ariaPressed()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n [disabled]=\"_parentOrSelfDisabled() || null\"\n [attr.name]=\"_buttonName()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [class]=\"_buttonClasses()\"\n (click)=\"onClick()\"\n>\n @if (selected()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n @if (!selected() || !label()) {\n <ng-content select=\"ids-icon\" />\n }\n\n {{ label() }}\n\n <ng-content select=\"[suffixContent]\" />\n</button>\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-segmented-control.mjs","sources":["../../../projects/widgets/segmented-control/types/segmented-control-appearance.type.ts","../../../projects/widgets/segmented-control/types/segmented-control-item-change.class.ts","../../../projects/widgets/segmented-control/types/segmented-control-variant.type.ts","../../../projects/widgets/segmented-control/segmented-control-defaults.ts","../../../projects/widgets/segmented-control/segmented-control.directive.ts","../../../projects/widgets/segmented-control/segmented-control-item.component.ts","../../../projects/widgets/segmented-control/segmented-control-item.component.html","../../../projects/widgets/segmented-control/i-cell-ids-angular-segmented-control.ts"],"sourcesContent":["export const IdsSegmentedControlAppearance = {\n OUTLINED: 'outlined',\n} as const;\n\nexport type IdsSegmentedControlAppearanceType = (typeof IdsSegmentedControlAppearance)[keyof typeof IdsSegmentedControlAppearance];\n","import { IdsSegmentedControlItemComponent } from '../segmented-control-item.component';\nexport class IdsSegmentedControlItemChange {\n constructor(\n public source: IdsSegmentedControlItemComponent,\n public selected: boolean,\n public value: unknown,\n ) {}\n}\n","export const IdsSegmentedControlVariant = {\n PRIMARY: 'primary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsSegmentedControlVariantType = (typeof IdsSegmentedControlVariant)[keyof typeof IdsSegmentedControlVariant];\n","import { IdsSegmentedControlAppearance, IdsSegmentedControlAppearanceType } from './types/segmented-control-appearance.type';\nimport { IdsSegmentedControlVariant, IdsSegmentedControlVariantType } from './types/segmented-control-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSegmentedControlDefaultConfig {\n appearance?: IdsSegmentedControlAppearanceType\n size?: IdsSizeType\n variant?: IdsSegmentedControlVariantType\n}\n\nexport const IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG = new InjectionToken<IdsSegmentedControlDefaultConfig>(\n 'IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY(): Required<IdsSegmentedControlDefaultConfig> {\n return {\n appearance: IdsSegmentedControlAppearance.OUTLINED,\n size: IdsSize.COMPACT,\n variant: IdsSegmentedControlVariant.SURFACE,\n };\n}\n","import { IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG, IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY, IdsSegmentedControlDefaultConfig } from './segmented-control-defaults';\nimport { IdsSegmentedControlItemComponent } from './segmented-control-item.component';\nimport { IdsSegmentedControlAppearanceType } from './types/segmented-control-appearance.type';\nimport { IdsSegmentedControlItemChange } from './types/segmented-control-item-change.class';\nimport { IdsSegmentedControlVariantType } from './types/segmented-control-variant.type';\n\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { AfterContentInit, computed, contentChildren, Directive, forwardRef, Input, input, isDevMode, OnInit, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG_FACTORY();\n\n@Directive({\n selector: `ids-segmented-control[ngModel]:not([formControl]):not([formControlName]),\n ids-segmented-control[formControl]:not([ngModel]):not([formControlName]),\n ids-segmented-control[formControlName]:not([ngModel]):not([formControl])`,\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IdsSegmentedControlDirective),\n multi: true,\n },\n ],\n host: {\n '[attr.role]': 'multiSelect() ? \"group\" : \"radiogroup\"',\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsSegmentedControlDirective\n extends ComponentBaseWithDefaults<IdsSegmentedControlDefaultConfig>\n implements\n AfterContentInit,\n OnInit,\n ControlValueAccessor {\n protected override get _hostName(): string {\n return 'segmented-control';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SEGMENTED_CONTROL_DEFAULT_CONFIG);\n\n private _selectionModel?: SelectionModel<IdsSegmentedControlItemComponent>;\n private _rawValue: unknown | unknown[];\n private _items = contentChildren<IdsSegmentedControlItemComponent>(IdsSegmentedControlItemComponent);\n\n public name = input<string>();\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsSegmentedControlVariantType>(this._defaultConfig.variant);\n public appearance = input<IdsSegmentedControlAppearanceType>(this._defaultConfig.appearance);\n public multiSelect = input<boolean>(false);\n public disabled = signal<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.appearance(),\n this.disabled() ? 'disabled' : null,\n ]));\n\n private _onChange: (value: unknown) => void = () => {};\n private _onTouched: () => unknown = () => {};\n\n @Input() public valueCompareFn?: (o1: IdsSegmentedControlItemComponent, o2: IdsSegmentedControlItemComponent) => boolean;\n\n public readonly itemChanges = output<IdsSegmentedControlItemChange>();\n\n protected _handleKeyDown(event: KeyboardEvent): void {\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n const navigationKeys = ['ArrowLeft', 'ArrowRight', 'Enter', 'Spacebar', ' '];\n\n if (!navigationKeys.includes(event.key)) {\n return;\n }\n\n event.preventDefault();\n\n const items = this._items();\n const target = event.target as HTMLElement | null;\n const buttonId = target?.closest('button')?.id;\n const index = items.findIndex((item) => `${item.id()}-button` === buttonId);\n\n if (index < 0) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n if (index === 0) {\n return;\n }\n const prevItem = items[index - 1];\n prevItem.focus();\n break;\n }\n case 'ArrowRight': {\n if (index === (items.length - 1)) {\n return;\n }\n const nextItem = items[index + 1];\n nextItem.focus();\n break;\n }\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n items[index].onClick();\n break;\n }\n default:\n return;\n }\n }\n\n public ngOnInit(): void {\n this._selectionModel = new SelectionModel<IdsSegmentedControlItemComponent>(this.multiSelect(), undefined, false, this.valueCompareFn);\n }\n\n public ngAfterContentInit(): void {\n const items = this._items();\n const minItemCount = 2;\n\n if (isDevMode() && (items.length < minItemCount)) {\n throw this._createHostError('invalid count of segmented control items. Minimum item count is 2.');\n }\n\n this._selectionModel?.select(...this._items().filter((item) => item.selected()));\n this._subscribeItemChanges();\n }\n\n public writeValue(value: unknown | unknown[]): void {\n this._setSelectionByValue(value);\n }\n\n public registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: () => unknown): void {\n this._onTouched = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n private _subscribeItemChanges(): void {\n this._items().forEach((item) => {\n item.changes.subscribe(\n (change) => {\n this._handleItemChanges(change);\n },\n );\n });\n }\n\n private _handleItemChanges(change: IdsSegmentedControlItemChange): void {\n const { source, selected } = change;\n if (!this.multiSelect()) {\n this._clearSelection();\n }\n source.selected.set(selected);\n if (selected) {\n this._selectionModel?.select(source);\n } else {\n this._selectionModel?.deselect(source);\n }\n this.itemChanges.emit(change);\n this._handleChange();\n this._onTouched();\n }\n\n private _setSelectionByValue(value: unknown | unknown[]): void {\n this._rawValue = value;\n\n if (this._items().length === 0) {\n return;\n }\n\n if (this.multiSelect() && value) {\n if (!Array.isArray(value)) {\n throw this._createHostError('value must be an array in multiple-selection mode');\n }\n\n this._clearSelection();\n value.forEach((currentValue: unknown) => this._selectValue(currentValue));\n } else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n\n private _selectValue(value: unknown): void {\n const correspondingItem = this._items().find((item) => item.value() != null && item.value() === value);\n if (correspondingItem) {\n correspondingItem.selected.set(true);\n this._selectionModel?.select(correspondingItem);\n }\n }\n\n private _clearSelection(): void {\n this._selectionModel?.clear();\n this._items().forEach((item) => {\n item.selected.set(false);\n });\n }\n\n private _handleChange(): void {\n const selectionModelValues = this._selectionModel?.selected?.map((item) => item.value());\n if (this.multiSelect()) {\n this._onChange(selectionModelValues);\n } else {\n this._onChange(selectionModelValues?.[0]);\n }\n }\n\n public isItemPreSelectedByValue(itemValue: unknown): boolean {\n if (this._rawValue === undefined) {\n return false;\n }\n\n if (this.multiSelect() && Array.isArray(this._rawValue)) {\n return this._rawValue.some((value) => itemValue != null && value === itemValue);\n }\n\n return itemValue === this._rawValue;\n }\n}\n","import { IdsSegmentedControlDirective } from './segmented-control.directive';\nimport { IdsSegmentedControlItemChange } from './types/segmented-control-item-change.class';\n\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, OnInit, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { addClassPrefix, coerceNumberAttribute, ComponentBase } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'ids-segmented-control-item',\n imports: [IdsIconComponent],\n templateUrl: './segmented-control-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IdsSegmentedControlItemComponent extends ComponentBase implements OnInit {\n protected override get _hostName(): string {\n return 'segmented-control-item';\n }\n\n protected readonly _group = inject(IdsSegmentedControlDirective, { optional: true, skipSelf: true });\n\n private _buttonElement = viewChild.required<ElementRef<HTMLButtonElement>>('button');\n\n public selected = signal<boolean>(false);\n\n public name = input<string>();\n public value = input.required<unknown>();\n public label = input<string>();\n public ariaLabel = input<string>('', { alias: 'aria-label' });\n public ariaLabelledBy = input<string>('', { alias: 'aria-labeledby' });\n public tabIndex = input<number, unknown>(0, { transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n\n protected _buttonId = computed(() => `${this.id()}-button`);\n protected _parentOrSelfDisabled = computed(() => this.disabled() || this._group?.disabled());\n protected _multiSelect = computed(() => this._group?.multiSelect());\n protected _ariaPressed = computed(() => (this._multiSelect() ? this.selected() : null));\n protected _ariaChecked = computed(() => (!this._multiSelect() ? this.selected() : null));\n protected _role = computed(() => (this._multiSelect() ? 'button' : 'radio'));\n protected _buttonName = computed(() => (this._multiSelect() ? this.name() : this._group?.name()));\n protected _buttonClasses = computed(() => addClassPrefix(this._hostClassName, this.selected() ? 'selected' : null));\n protected _hostClasses = computed(() => this._getHostClasses([]));\n\n public readonly changes = output<IdsSegmentedControlItemChange>();\n\n public ngOnInit(): void {\n if (!this._group) {\n throw this._createHostError('component must be direct child of a segmented control');\n }\n\n if (this._group.isItemPreSelectedByValue(this.value())) {\n this.selected.set(true);\n }\n }\n\n public onClick(): void {\n if (this._multiSelect() || !this.selected()) {\n this.changes.emit(new IdsSegmentedControlItemChange(this, !this.selected(), this.value()));\n }\n }\n\n public focus(options?: FocusOptions): void {\n this._buttonElement().nativeElement.focus(options);\n }\n}\n","<button\n #button\n type=\"button\"\n [id]=\"_buttonId()\"\n [attr.role]=\"_role()\"\n [attr.tabindex]=\"_parentOrSelfDisabled() ? -1 : tabIndex()\"\n [attr.aria-pressed]=\"_ariaPressed()\"\n [attr.aria-checked]=\"_ariaChecked()\"\n [disabled]=\"_parentOrSelfDisabled() || null\"\n [attr.name]=\"_buttonName()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [class]=\"_buttonClasses()\"\n (click)=\"onClick()\"\n>\n @if (selected()) {\n <ids-icon aria-hidden=\"true\" fontIcon=\"done\" />\n }\n @if (!selected() || !label()) {\n <ng-content select=\"ids-icon\" />\n }\n\n {{ label() }}\n\n <ng-content select=\"[suffixContent]\" />\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -24,10 +24,10 @@ function IDS_SELECT_DEFAULT_CONFIG_FACTORY() {
24
24
  }
25
25
 
26
26
  class IdsSelectTriggerDirective {
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSelectTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: IdsSelectTriggerDirective, isStandalone: true, selector: "ids-select-trigger", ngImport: i0 }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSelectTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IdsSelectTriggerDirective, isStandalone: true, selector: "ids-select-trigger", ngImport: i0 }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSelectTriggerDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSelectTriggerDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: 'ids-select-trigger',
@@ -94,35 +94,35 @@ class IdsSelectComponent extends IdsFormFieldControl {
94
94
  this._parentFormField = inject(IdsFormFieldComponent);
95
95
  this._connectedPositions = selectConnectedPositions;
96
96
  this._overlayWidth = 0;
97
- this.multiSelect = input(false, ...(ngDevMode ? [{ debugName: "multiSelect" }] : []));
98
- this.errorStateMatcher = input(inject(this._defaultConfig.errorStateMatcher), ...(ngDevMode ? [{ debugName: "errorStateMatcher" }] : []));
99
- this.successStateMatcher = input(inject(this._defaultConfig.successStateMatcher), ...(ngDevMode ? [{ debugName: "successStateMatcher" }] : []));
100
- this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel", alias: 'aria-label' }] : [{ alias: 'aria-label' }]));
101
- this.ariaLabelledby = input('', ...(ngDevMode ? [{ debugName: "ariaLabelledby", alias: 'aria-labelledby' }] : [{ alias: 'aria-labelledby' }]));
102
- this.valueCompareFn = input((o1, o2) => o1 === o2, ...(ngDevMode ? [{ debugName: "valueCompareFn" }] : []));
103
- this.sortCompareFn = input(...(ngDevMode ? [undefined, { debugName: "sortCompareFn" }] : []));
104
- this.tabIndex = input(0, ...(ngDevMode ? [{ debugName: "tabIndex", transform: coerceNumberAttribute }] : [{ transform: coerceNumberAttribute }]));
105
- this.typeaheadDebounceInterval = input(this._defaultConfig.typeaheadDebounceInterval, ...(ngDevMode ? [{ debugName: "typeaheadDebounceInterval", transform: coerceNumberAttribute }] : [{ transform: coerceNumberAttribute }]));
106
- this.isPanelOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPanelOpen" }] : []));
107
- this.parentSize = computed(() => this._parentFormField.parentOrSelfSize(), ...(ngDevMode ? [{ debugName: "parentSize" }] : []));
108
- this.parentVariant = computed(() => this._parentFormField.parentOrSelfVariant(), ...(ngDevMode ? [{ debugName: "parentVariant" }] : []));
109
- this._focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : []));
110
- this._canOpen = computed(() => !this.isPanelOpen() && !this.disabled() && !this.readonly() && this.options().length > 0, ...(ngDevMode ? [{ debugName: "_canOpen" }] : []));
97
+ this.multiSelect = input(false, ...(ngDevMode ? [{ debugName: "multiSelect" }] : /* istanbul ignore next */ []));
98
+ this.errorStateMatcher = input(inject(this._defaultConfig.errorStateMatcher), ...(ngDevMode ? [{ debugName: "errorStateMatcher" }] : /* istanbul ignore next */ []));
99
+ this.successStateMatcher = input(inject(this._defaultConfig.successStateMatcher), ...(ngDevMode ? [{ debugName: "successStateMatcher" }] : /* istanbul ignore next */ []));
100
+ this.ariaLabel = input('', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
101
+ this.ariaLabelledby = input('', { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
102
+ this.valueCompareFn = input((o1, o2) => o1 === o2, ...(ngDevMode ? [{ debugName: "valueCompareFn" }] : /* istanbul ignore next */ []));
103
+ this.sortCompareFn = input(...(ngDevMode ? [undefined, { debugName: "sortCompareFn" }] : /* istanbul ignore next */ []));
104
+ this.tabIndex = input(0, { ...(ngDevMode ? { debugName: "tabIndex" } : /* istanbul ignore next */ {}), transform: coerceNumberAttribute });
105
+ this.typeaheadDebounceInterval = input(this._defaultConfig.typeaheadDebounceInterval, { ...(ngDevMode ? { debugName: "typeaheadDebounceInterval" } : /* istanbul ignore next */ {}), transform: coerceNumberAttribute });
106
+ this.isPanelOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPanelOpen" }] : /* istanbul ignore next */ []));
107
+ this.parentSize = computed(() => this._parentFormField.parentOrSelfSize(), ...(ngDevMode ? [{ debugName: "parentSize" }] : /* istanbul ignore next */ []));
108
+ this.parentVariant = computed(() => this._parentFormField.parentOrSelfVariant(), ...(ngDevMode ? [{ debugName: "parentVariant" }] : /* istanbul ignore next */ []));
109
+ this._focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : /* istanbul ignore next */ []));
110
+ this._canOpen = computed(() => !this.isPanelOpen() && !this.disabled() && !this.readonly() && this.options().length > 0, ...(ngDevMode ? [{ debugName: "_canOpen" }] : /* istanbul ignore next */ []));
111
111
  this._hostClasses = computed(() => this._getHostClasses([
112
112
  this.parentSize(),
113
113
  this.parentVariant(),
114
114
  this.disabled() ? 'disabled' : null,
115
115
  this.readonly() ? 'readonly' : null,
116
- ], [formFieldControlClass]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
116
+ ], [formFieldControlClass]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
117
117
  this._panelClasses = computed(() => createClassList(`${this._hostClassName}-panel`, [
118
118
  this.parentSize(),
119
119
  this.parentVariant(),
120
- ]), ...(ngDevMode ? [{ debugName: "_panelClasses" }] : []));
121
- this._panel = viewChild('panel', ...(ngDevMode ? [{ debugName: "_panel" }] : []));
122
- this._overlayDir = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "_overlayDir" }] : []));
123
- this.options = contentChildren(IdsOptionComponent, ...(ngDevMode ? [{ debugName: "options", descendants: true }] : [{ descendants: true }]));
124
- this.optionGroups = contentChildren(IDS_OPTION_GROUP, ...(ngDevMode ? [{ debugName: "optionGroups", descendants: true }] : [{ descendants: true }]));
125
- this._customTrigger = contentChild(IdsSelectTriggerDirective, ...(ngDevMode ? [{ debugName: "_customTrigger" }] : []));
120
+ ]), ...(ngDevMode ? [{ debugName: "_panelClasses" }] : /* istanbul ignore next */ []));
121
+ this._panel = viewChild('panel', ...(ngDevMode ? [{ debugName: "_panel" }] : /* istanbul ignore next */ []));
122
+ this._overlayDir = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "_overlayDir" }] : /* istanbul ignore next */ []));
123
+ this.options = contentChildren(IdsOptionComponent, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), descendants: true });
124
+ this.optionGroups = contentChildren(IDS_OPTION_GROUP, { ...(ngDevMode ? { debugName: "optionGroups" } : /* istanbul ignore next */ {}), descendants: true });
125
+ this._customTrigger = contentChild(IdsSelectTriggerDirective, ...(ngDevMode ? [{ debugName: "_customTrigger" }] : /* istanbul ignore next */ []));
126
126
  this._onChange = () => { };
127
127
  this._onTouched = () => { };
128
128
  this._skipPredicate = (option) => {
@@ -499,8 +499,8 @@ class IdsSelectComponent extends IdsFormFieldControl {
499
499
  focus(options) {
500
500
  this._elementRef.nativeElement.focus(options);
501
501
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSelectComponent, isStandalone: true, selector: "ids-select[ngModel]:not([formControl]):not([formControlName]),\n ids-select[formControl]:not([ngModel]):not([formControlName]),\n ids-select[formControlName]:not([ngModel]):not([formControl])", inputs: { multiSelect: { classPropertyName: "multiSelect", publicName: "multiSelect", isSignal: true, isRequired: false, transformFunction: null }, errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, successStateMatcher: { classPropertyName: "successStateMatcher", publicName: "successStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, valueCompareFn: { classPropertyName: "valueCompareFn", publicName: "valueCompareFn", isSignal: true, isRequired: false, transformFunction: null }, sortCompareFn: { classPropertyName: "sortCompareFn", publicName: "sortCompareFn", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounceInterval: { classPropertyName: "typeaheadDebounceInterval", publicName: "typeaheadDebounceInterval", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "select", "aria-autocomplete": "none", "aria-haspopup": "listbox" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "focus()", "blur": "_onBlur()" }, properties: { "attr.tabindex": "disabled() ? -1 : tabIndex()", "attr.aria-controls": "isPanelOpen() ? id() + \"-panel\" : null", "attr.aria-owns": "isPanelOpen() ? id() + \"-panel\" : null", "attr.aria-expanded": "isPanelOpen()", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledby() || null", "attr.aria-required": "required().toString()", "attr.aria-disabled": "disabled().toString()", "attr.aria-invalid": "hasErrorState()", "attr.aria-activedescendant": "_getAriaActiveDescendant()" } }, providers: [
502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsSelectComponent, isStandalone: true, selector: "ids-select[ngModel]:not([formControl]):not([formControlName]),\n ids-select[formControl]:not([ngModel]):not([formControlName]),\n ids-select[formControlName]:not([ngModel]):not([formControl])", inputs: { multiSelect: { classPropertyName: "multiSelect", publicName: "multiSelect", isSignal: true, isRequired: false, transformFunction: null }, errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, successStateMatcher: { classPropertyName: "successStateMatcher", publicName: "successStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, valueCompareFn: { classPropertyName: "valueCompareFn", publicName: "valueCompareFn", isSignal: true, isRequired: false, transformFunction: null }, sortCompareFn: { classPropertyName: "sortCompareFn", publicName: "sortCompareFn", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounceInterval: { classPropertyName: "typeaheadDebounceInterval", publicName: "typeaheadDebounceInterval", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "select", "aria-autocomplete": "none", "aria-haspopup": "listbox" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "focus()", "blur": "_onBlur()" }, properties: { "attr.tabindex": "disabled() ? -1 : tabIndex()", "attr.aria-controls": "isPanelOpen() ? id() + \"-panel\" : null", "attr.aria-owns": "isPanelOpen() ? id() + \"-panel\" : null", "attr.aria-expanded": "isPanelOpen()", "attr.aria-label": "ariaLabel() || null", "attr.aria-labelledby": "ariaLabelledby() || null", "attr.aria-required": "required().toString()", "attr.aria-disabled": "disabled().toString()", "attr.aria-invalid": "hasErrorState()", "attr.aria-activedescendant": "_getAriaActiveDescendant()" } }, providers: [
504
504
  { provide: IDS_FORM_FIELD_CONTROL, useExisting: IdsSelectComponent },
505
505
  { provide: IDS_OPTION_PARENT_COMPONENT, useExisting: IdsSelectComponent },
506
506
  {
@@ -508,9 +508,9 @@ class IdsSelectComponent extends IdsFormFieldControl {
508
508
  useExisting: forwardRef(() => IdsSelectComponent),
509
509
  multi: true,
510
510
  },
511
- ], queries: [{ propertyName: "options", predicate: IdsOptionComponent, descendants: true, isSignal: true }, { propertyName: "optionGroups", predicate: IDS_OPTION_GROUP, descendants: true, isSignal: true }, { propertyName: "_customTrigger", first: true, predicate: IdsSelectTriggerDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #trigger #fallbackOverlayOrigin=\"cdkOverlayOrigin\" cdk-overlay-origin class=\"ids-select__trigger\" (click)=\"open()\">\n <div class=\"ids-select__value\">\n @if (_empty) {\n <span class=\"ids-select__placeholder\">{{ placeholder() }}</span>\n } @else {\n <span class=\"ids-select__value-text\">\n @if (_customTrigger()) {\n <ng-content select=\"ids-select-trigger\" />\n } @else {\n {{ _triggerValue }}\n }\n </span>\n }\n </div>\n\n <div class=\"ids-select__arrow\">\n <ids-icon fontIcon=\"chevron-down\" />\n </div>\n</div>\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen()\"\n [cdkConnectedOverlayPositions]=\"_connectedPositions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"_panelAttached()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id() + '-panel'\"\n [attr.aria-multiselectable]=\"multiSelect()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [class]=\"_panelClasses()\"\n (keydown)=\"_handleKeydown($event)\"\n >\n <ng-content />\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
511
+ ], queries: [{ propertyName: "options", predicate: IdsOptionComponent, descendants: true, isSignal: true }, { propertyName: "optionGroups", predicate: IDS_OPTION_GROUP, descendants: true, isSignal: true }, { propertyName: "_customTrigger", first: true, predicate: IdsSelectTriggerDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #trigger #fallbackOverlayOrigin=\"cdkOverlayOrigin\" cdk-overlay-origin class=\"ids-select__trigger\" (click)=\"open()\">\n <div class=\"ids-select__value\">\n @if (_empty) {\n <span class=\"ids-select__placeholder\">{{ placeholder() }}</span>\n } @else {\n <span class=\"ids-select__value-text\">\n @if (_customTrigger()) {\n <ng-content select=\"ids-select-trigger\" />\n } @else {\n {{ _triggerValue }}\n }\n </span>\n }\n </div>\n\n <div class=\"ids-select__arrow\">\n <ids-icon fontIcon=\"chevron-down\" />\n </div>\n</div>\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen()\"\n [cdkConnectedOverlayPositions]=\"_connectedPositions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"_panelAttached()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id() + '-panel'\"\n [attr.aria-multiselectable]=\"multiSelect()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [class]=\"_panelClasses()\"\n (keydown)=\"_handleKeydown($event)\"\n >\n <ng-content />\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
512
512
  }
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSelectComponent, decorators: [{
513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsSelectComponent, decorators: [{
514
514
  type: Component,
515
515
  args: [{ selector: `ids-select[ngModel]:not([formControl]):not([formControlName]),
516
516
  ids-select[formControl]:not([ngModel]):not([formControlName]),
@@ -544,7 +544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
544
544
  '(focus)': 'focus()',
545
545
  '(blur)': '_onBlur()',
546
546
  }, template: "<div #trigger #fallbackOverlayOrigin=\"cdkOverlayOrigin\" cdk-overlay-origin class=\"ids-select__trigger\" (click)=\"open()\">\n <div class=\"ids-select__value\">\n @if (_empty) {\n <span class=\"ids-select__placeholder\">{{ placeholder() }}</span>\n } @else {\n <span class=\"ids-select__value-text\">\n @if (_customTrigger()) {\n <ng-content select=\"ids-select-trigger\" />\n } @else {\n {{ _triggerValue }}\n }\n </span>\n }\n </div>\n\n <div class=\"ids-select__arrow\">\n <ids-icon fontIcon=\"chevron-down\" />\n </div>\n</div>\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen()\"\n [cdkConnectedOverlayPositions]=\"_connectedPositions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"_panelAttached()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id() + '-panel'\"\n [attr.aria-multiselectable]=\"multiSelect()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [class]=\"_panelClasses()\"\n (keydown)=\"_handleKeydown($event)\"\n >\n <ng-content />\n </div>\n</ng-template>\n" }]
547
- }], ctorParameters: () => [] });
547
+ }], ctorParameters: () => [], propDecorators: { multiSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelect", required: false }] }], errorStateMatcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorStateMatcher", required: false }] }], successStateMatcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "successStateMatcher", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], valueCompareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueCompareFn", required: false }] }], sortCompareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortCompareFn", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], typeaheadDebounceInterval: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadDebounceInterval", required: false }] }], _panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], _overlayDir: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkConnectedOverlay), { isSignal: true }] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IdsOptionComponent), { ...{ descendants: true }, isSignal: true }] }], optionGroups: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IDS_OPTION_GROUP), { ...{ descendants: true }, isSignal: true }] }], _customTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IdsSelectTriggerDirective), { isSignal: true }] }] } });
548
548
 
549
549
  /**
550
550
  * Generated bundle index. Do not edit.