@ardium-ui/ui 2.3.1 → 2.4.0

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 (86) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +3 -2
  2. package/esm2022/lib/_internal/disablable-component.mjs +9 -5
  3. package/esm2022/lib/_internal/focusable-component.mjs +8 -4
  4. package/esm2022/lib/_internal/models/queue.mjs +59 -0
  5. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -3
  6. package/esm2022/lib/_internal/selectable-list-component.mjs +30 -21
  7. package/esm2022/lib/badge/badge.defaults.mjs +14 -0
  8. package/esm2022/lib/badge/badge.directive.mjs +18 -15
  9. package/esm2022/lib/badge/index.mjs +3 -2
  10. package/esm2022/lib/buttons/_button-base.defaults.mjs +16 -0
  11. package/esm2022/lib/buttons/_button-base.mjs +7 -8
  12. package/esm2022/lib/buttons/button/button.component.mjs +8 -10
  13. package/esm2022/lib/buttons/button/button.defaults.mjs +13 -0
  14. package/esm2022/lib/buttons/button/index.mjs +3 -2
  15. package/esm2022/lib/buttons/fab/fab.component.mjs +5 -5
  16. package/esm2022/lib/buttons/fab/fab.defaults.mjs +11 -0
  17. package/esm2022/lib/buttons/fab/index.mjs +3 -2
  18. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +8 -7
  19. package/esm2022/lib/buttons/icon-button/icon-button.defaults.mjs +6 -0
  20. package/esm2022/lib/buttons/icon-button/index.mjs +3 -2
  21. package/esm2022/lib/card/card.children.mjs +13 -13
  22. package/esm2022/lib/card/card.component.mjs +6 -5
  23. package/esm2022/lib/card/card.defaults.mjs +11 -0
  24. package/esm2022/lib/card/index.mjs +4 -3
  25. package/esm2022/lib/checkbox/checkbox.component.mjs +6 -5
  26. package/esm2022/lib/checkbox/checkbox.defaults.mjs +11 -0
  27. package/esm2022/lib/checkbox/index.mjs +3 -2
  28. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +11 -15
  29. package/esm2022/lib/checkbox-list/checkbox-list.defaults.mjs +19 -0
  30. package/esm2022/lib/chip/chip.component.mjs +9 -10
  31. package/esm2022/lib/chip/chip.defaults.mjs +17 -0
  32. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +10 -14
  33. package/esm2022/lib/chip/deletable-chip/deletable-chip.defaults.mjs +11 -0
  34. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +13 -15
  35. package/esm2022/lib/chip/selectable-chip/selectable-chip.defaults.mjs +12 -0
  36. package/esm2022/lib/dialog/dialog.component.mjs +1 -1
  37. package/esm2022/lib/divider/divider.component.mjs +10 -12
  38. package/esm2022/lib/divider/divider.defaults.mjs +7 -0
  39. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +1 -1
  40. package/esm2022/lib/inputs/number-input/number-input.component.mjs +1 -1
  41. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +3 -3
  42. package/esm2022/lib/snackbar/snackbar.component.mjs +2 -2
  43. package/esm2022/lib/snackbar/snackbar.service.mjs +3 -3
  44. package/esm2022/lib/tabber/tabber.component.mjs +6 -4
  45. package/fesm2022/ardium-ui-ui.mjs +309 -177
  46. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  47. package/lib/_internal/boolean-component.d.ts +5 -1
  48. package/lib/_internal/disablable-component.d.ts +8 -2
  49. package/lib/_internal/focusable-component.d.ts +6 -1
  50. package/lib/_internal/ngmodel-component.d.ts +6 -2
  51. package/lib/_internal/selectable-list-component.d.ts +18 -12
  52. package/lib/badge/badge.defaults.d.ts +12 -0
  53. package/lib/badge/badge.directive.d.ts +4 -4
  54. package/lib/badge/index.d.ts +2 -1
  55. package/lib/buttons/_button-base.d.ts +5 -1
  56. package/lib/buttons/_button-base.defaults.d.ts +15 -0
  57. package/lib/buttons/button/button.component.d.ts +2 -3
  58. package/lib/buttons/button/button.defaults.d.ts +10 -0
  59. package/lib/buttons/button/index.d.ts +2 -1
  60. package/lib/buttons/fab/fab.component.d.ts +2 -3
  61. package/lib/buttons/fab/fab.defaults.d.ts +8 -0
  62. package/lib/buttons/fab/index.d.ts +2 -1
  63. package/lib/buttons/icon-button/icon-button.component.d.ts +1 -0
  64. package/lib/buttons/icon-button/icon-button.defaults.d.ts +5 -0
  65. package/lib/buttons/icon-button/index.d.ts +2 -1
  66. package/lib/card/card.children.d.ts +1 -1
  67. package/lib/card/card.component.d.ts +1 -0
  68. package/lib/card/card.defaults.d.ts +9 -0
  69. package/lib/card/index.d.ts +3 -2
  70. package/lib/checkbox/checkbox.component.d.ts +1 -0
  71. package/lib/checkbox/checkbox.defaults.d.ts +8 -0
  72. package/lib/checkbox/index.d.ts +2 -1
  73. package/lib/checkbox-list/checkbox-list.component.d.ts +2 -5
  74. package/lib/checkbox-list/checkbox-list.defaults.d.ts +18 -0
  75. package/lib/chip/chip.component.d.ts +1 -0
  76. package/lib/chip/chip.defaults.d.ts +22 -0
  77. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +1 -3
  78. package/lib/chip/deletable-chip/deletable-chip.defaults.d.ts +7 -0
  79. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +1 -3
  80. package/lib/chip/selectable-chip/selectable-chip.defaults.d.ts +8 -0
  81. package/lib/divider/divider.component.d.ts +1 -1
  82. package/lib/divider/divider.defaults.d.ts +5 -0
  83. package/lib/tabber/tabber.component.d.ts +2 -1
  84. package/package.json +1 -1
  85. package/esm2022/lib/_internal/queue.mjs +0 -59
  86. /package/lib/_internal/{queue.d.ts → models/queue.d.ts} +0 -0
@@ -2,7 +2,7 @@ import 'first-last';
2
2
  import * as i1 from '@angular/common';
3
3
  import { CommonModule, DOCUMENT, AsyncPipe } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { input, signal, Directive, Input, HostBinding, computed, Component, ViewEncapsulation, ChangeDetectionStrategy, output, ViewChildren, forwardRef, NgModule, viewChild, inject, ElementRef, contentChild, model, ChangeDetectorRef, ViewContainerRef, TemplateRef, ContentChildren, ViewChild, HostListener, effect, viewChildren, Pipe, ContentChild, contentChildren, Renderer2, InjectionToken, Injector, Injectable } from '@angular/core';
5
+ import { input, signal, Directive, Input, HostBinding, InjectionToken, inject, computed, Component, ViewEncapsulation, ChangeDetectionStrategy, output, ViewChildren, forwardRef, NgModule, viewChild, ElementRef, contentChild, model, ChangeDetectorRef, ViewContainerRef, TemplateRef, ContentChildren, ViewChild, HostListener, effect, viewChildren, Pipe, ContentChild, contentChildren, Renderer2, Injector, Injectable } from '@angular/core';
6
6
  import * as i4 from '@ardium-ui/devkit';
7
7
  import { coerceBooleanProperty, coerceNumberProperty, coerceArrayProperty, ArdiumClickOutsideEventModule, ArdiumInnerHTMLModule, ArdiumHoldEventModule, ArdiumFilesizePipeModule, ArdiumFilenamePipeModule, ArdiumFileextPipeModule } from '@ardium-ui/devkit';
8
8
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -18,6 +18,53 @@ import { keyToString } from 'key-display-names';
18
18
  import * as i4$1 from '@angular/cdk/a11y';
19
19
  import { A11yModule } from '@angular/cdk/a11y';
20
20
 
21
+ const _disablableComponentDefaults = {
22
+ readonly: false,
23
+ disabled: false,
24
+ };
25
+ class _DisablableComponentBase {
26
+ constructor() {
27
+ //! no value arguments
28
+ /**
29
+ * Whether the component is read-only. Defines the `readonly` host attribute and `ard-readonly` host class. Coercible into a boolean.
30
+ */
31
+ this.readonly = input(this._DEFAULTS.readonly, { transform: v => coerceBooleanProperty(v) });
32
+ /**
33
+ * Whether the component is disabled. Defines the `disabled` host attribute and `ard-disabled` host class. Coercible into a boolean.
34
+ */
35
+ this.disabled = signal(this._DEFAULTS.disabled);
36
+ }
37
+ set _disabled(v) {
38
+ this.disabled.set(coerceBooleanProperty(v));
39
+ }
40
+ get _readonlyHostAttribute() {
41
+ return this.readonly();
42
+ }
43
+ get _disabledHostAttribute() {
44
+ return this.disabled();
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _DisablableComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: _DisablableComponentBase, inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "attr.readonly": "this._readonlyHostAttribute", "class.ard-readonly": "this._readonlyHostAttribute", "attr.disabled": "this._disabledHostAttribute", "class.ard-disabled": "this._disabledHostAttribute" } }, ngImport: i0 }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _DisablableComponentBase, decorators: [{
50
+ type: Directive
51
+ }], propDecorators: { _disabled: [{
52
+ type: Input,
53
+ args: ['disabled']
54
+ }], _readonlyHostAttribute: [{
55
+ type: HostBinding,
56
+ args: ['attr.readonly']
57
+ }, {
58
+ type: HostBinding,
59
+ args: ['class.ard-readonly']
60
+ }], _disabledHostAttribute: [{
61
+ type: HostBinding,
62
+ args: ['attr.disabled']
63
+ }, {
64
+ type: HostBinding,
65
+ args: ['class.ard-disabled']
66
+ }] } });
67
+
21
68
  const SimpleOneAxisAlignment = {
22
69
  Left: 'left',
23
70
  Right: 'right',
@@ -119,58 +166,28 @@ const FormElementVariant = {
119
166
  Pill: 'pill',
120
167
  };
121
168
 
122
- class _DisablableComponentBase {
123
- constructor() {
124
- //! no value arguments
125
- /**
126
- * Whether the component is read-only. Defines the `readonly` host attribute and `ard-readonly` host class. Coearcible into a boolean.
127
- */
128
- this.readonly = input(false, { transform: v => coerceBooleanProperty(v) });
129
- /**
130
- * Whether the component is disabled. Defines the `disabled` host attribute and `ard-disabled` host class. Coearcible into a boolean.
131
- */
132
- this.disabled = signal(false);
133
- }
134
- set _disabled(v) {
135
- this.disabled.set(coerceBooleanProperty(v));
136
- }
137
- get _readonlyHostAttribute() {
138
- return this.readonly();
139
- }
140
- get _disabledHostAttribute() {
141
- return this.disabled();
142
- }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _DisablableComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
144
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: _DisablableComponentBase, inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "attr.readonly": "this._readonlyHostAttribute", "class.ard-readonly": "this._readonlyHostAttribute", "attr.disabled": "this._disabledHostAttribute", "class.ard-disabled": "this._disabledHostAttribute" } }, ngImport: i0 }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _DisablableComponentBase, decorators: [{
147
- type: Directive
148
- }], propDecorators: { _disabled: [{
149
- type: Input,
150
- args: ['disabled']
151
- }], _readonlyHostAttribute: [{
152
- type: HostBinding,
153
- args: ['attr.readonly']
154
- }, {
155
- type: HostBinding,
156
- args: ['class.ard-readonly']
157
- }], _disabledHostAttribute: [{
158
- type: HostBinding,
159
- args: ['attr.disabled']
160
- }, {
161
- type: HostBinding,
162
- args: ['class.ard-disabled']
163
- }] } });
169
+ const _chipDefaults = {
170
+ ..._disablableComponentDefaults,
171
+ contentAlignment: SimpleOneAxisAlignment.Left,
172
+ appearance: DecorationElementAppearance.Outlined,
173
+ variant: FormElementVariant.Rounded,
174
+ color: ComponentColor.Primary,
175
+ compact: false,
176
+ };
177
+ const ARD_CHIP_DEFAULTS = new InjectionToken('ard-chip-defaults', {
178
+ factory: () => _chipDefaults,
179
+ });
164
180
 
165
181
  class ArdiumChipComponent extends _DisablableComponentBase {
166
182
  constructor() {
167
183
  super(...arguments);
184
+ this._DEFAULTS = inject(ARD_CHIP_DEFAULTS);
168
185
  //! appearance
169
- this.contentAlignment = input(SimpleOneAxisAlignment.Left);
170
- this.appearance = input(DecorationElementAppearance.Outlined);
171
- this.variant = input(FormElementVariant.Rounded);
172
- this.color = input(ComponentColor.Primary);
173
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
186
+ this.contentAlignment = input(this._DEFAULTS.contentAlignment);
187
+ this.appearance = input(this._DEFAULTS.appearance);
188
+ this.variant = input(this._DEFAULTS.variant);
189
+ this.color = input(this._DEFAULTS.color);
190
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
174
191
  this.wrapperClasses = input('');
175
192
  this.ngClasses = computed(() => [
176
193
  this.wrapperClasses(),
@@ -189,6 +206,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
189
206
  args: [{ selector: 'ard-chip', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-chip-wrapper ard-chip\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-chip-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".ard-chip-wrapper{display:flex;width:max-content}.ard-chip-left{flex-direction:row}.ard-chip-right{flex-direction:row-reverse}.ard-chip-selectable .ard-chip-selection-icon{display:none}.ard-chip-selectable.ard-chip-selected .ard-chip-selection-icon{display:block}\n"] }]
190
207
  }] });
191
208
 
209
+ const _focusableComponentDefaults = {
210
+ ..._disablableComponentDefaults,
211
+ tabIndex: 0,
212
+ };
192
213
  class _FocusableComponentBase extends _DisablableComponentBase {
193
214
  constructor() {
194
215
  super(...arguments);
@@ -197,7 +218,7 @@ class _FocusableComponentBase extends _DisablableComponentBase {
197
218
  * The component's overall tab index. If the component is disabled, it is always `-1`. Coercible into a number, defaults to `0`.
198
219
  */
199
220
  this.tabIndex = computed(() => (this.disabled() ? -1 : this._tabIndex()));
200
- this._tabIndex = input(0, { alias: 'tabIndex', transform: v => coerceNumberProperty(v) });
221
+ this._tabIndex = input(this._DEFAULTS.tabIndex, { alias: 'tabIndex', transform: v => coerceNumberProperty(v) });
201
222
  //! events
202
223
  /**
203
224
  * The event emitter responsible for firing `focus` events.
@@ -263,8 +284,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
263
284
  args: ['focusableElement']
264
285
  }] } });
265
286
 
287
+ ;
288
+ const _ngModelComponentDefaults = _focusableComponentDefaults;
266
289
  /**
267
- * Common code for components, which implement the ControlValueAccessor.
290
+ * Common code for components which implement the ControlValueAccessor.
268
291
  *
269
292
  * **Warning**: `writeValue` function should be implemented on the child component!
270
293
  */
@@ -302,6 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
302
325
  type: Directive
303
326
  }] });
304
327
 
328
+ const _booleanComponentDefaults = _ngModelComponentDefaults;
305
329
  /**
306
330
  * Common code for components, which only operate on the "selected" state.
307
331
  */
@@ -392,20 +416,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
392
416
  args: ['class.ard-selected']
393
417
  }] } });
394
418
 
419
+ const ARD_SELECTABLE_CHIP_DEFAULTS = new InjectionToken('ard-selectable-chip-defaults', {
420
+ factory: () => ({
421
+ ..._booleanComponentDefaults,
422
+ ..._chipDefaults,
423
+ chipTitle: 'Select',
424
+ hideSelectionIcon: false,
425
+ }),
426
+ });
427
+
395
428
  class ArdiumSelectableChipComponent extends _BooleanComponentBase {
396
429
  constructor() {
397
430
  super(...arguments);
398
- this.DEFAULTS = {
399
- chipTitle: 'Select',
400
- };
401
- this.chipTitle = input(this.DEFAULTS.chipTitle);
402
- this.hideSelectionIcon = input(false, { transform: v => coerceBooleanProperty(v) });
431
+ this._DEFAULTS = inject(ARD_SELECTABLE_CHIP_DEFAULTS);
432
+ this.chipTitle = input(this._DEFAULTS.chipTitle);
433
+ this.hideSelectionIcon = input(this._DEFAULTS.hideSelectionIcon, {
434
+ transform: v => coerceBooleanProperty(v),
435
+ });
403
436
  //! appearance
404
- this.contentAlignment = input(SimpleOneAxisAlignment.Left);
405
- this.appearance = input(DecorationElementAppearance.Outlined);
406
- this.variant = input(FormElementVariant.Rounded);
407
- this.color = input(ComponentColor.Primary);
408
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
437
+ this.contentAlignment = input(this._DEFAULTS.contentAlignment);
438
+ this.appearance = input(this._DEFAULTS.appearance);
439
+ this.variant = input(this._DEFAULTS.variant);
440
+ this.color = input(this._DEFAULTS.color);
441
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
409
442
  this.wrapperClasses = input('');
410
443
  this.ngClasses = computed(() => [
411
444
  this.wrapperClasses(),
@@ -436,6 +469,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
436
469
  ], template: "<button\r\n type=\"button\"\r\n class=\"ard-chip-wrapper ard-chip-selectable\"\r\n [class.ard-chip-selected]=\"selected()\"\r\n [ngClass]=\"ngClasses()\"\r\n [title]=\"chipTitle()\"\r\n [tabindex]=\"tabIndex()\"\r\n (click)=\"toggleSelected()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div\r\n class=\"ard-chip-selection-icon\"\r\n role=\"img\"\r\n ></div>\r\n <div class=\"ard-chip-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n</button>\r\n", styles: [".ard-chip-wrapper{display:flex;width:max-content}.ard-chip-left{flex-direction:row}.ard-chip-right{flex-direction:row-reverse}.ard-chip-selectable .ard-chip-selection-icon{display:none}.ard-chip-selectable.ard-chip-selected .ard-chip-selection-icon{display:block}\n"] }]
437
470
  }] });
438
471
 
472
+ const ARD_DELETABLE_CHIP_DEFAULTS = new InjectionToken('ard-deletable-chip-defaults', {
473
+ factory: () => ({
474
+ ..._focusableComponentDefaults,
475
+ ..._chipDefaults,
476
+ deleteButtonTitle: 'Delete',
477
+ }),
478
+ });
479
+
439
480
  class _ClearButtonComponent extends _FocusableComponentBase {
440
481
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ClearButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
441
482
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: _ClearButtonComponent, selector: "ard-clear-button", usesInheritance: true, ngImport: i0, template: "<button\r\n #focusableElement\r\n class=\"ard-clear-btn-wrapper\"\r\n type=\"button\"\r\n [tabindex]=\"tabIndex()\"\r\n>\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div\r\n class=\"ard-clear-btn\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n</button>\r\n", styles: [""] }); }
@@ -448,16 +489,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
448
489
  class ArdiumDeletableChipComponent extends _FocusableComponentBase {
449
490
  constructor() {
450
491
  super(...arguments);
451
- this.DEFAULTS = {
452
- deleteButtonTitle: 'Delete',
453
- };
454
- this.deleteButtonTitle = input(this.DEFAULTS.deleteButtonTitle);
492
+ this._DEFAULTS = inject(ARD_DELETABLE_CHIP_DEFAULTS);
493
+ this.deleteButtonTitle = input(this._DEFAULTS.deleteButtonTitle);
455
494
  //! appearance
456
- this.contentAlignment = input(SimpleOneAxisAlignment.Left);
457
- this.appearance = input(DecorationElementAppearance.Outlined);
458
- this.variant = input(FormElementVariant.Rounded);
459
- this.color = input(ComponentColor.Primary);
460
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
495
+ this.contentAlignment = input(this._DEFAULTS.contentAlignment);
496
+ this.appearance = input(this._DEFAULTS.appearance);
497
+ this.variant = input(this._DEFAULTS.variant);
498
+ this.color = input(this._DEFAULTS.color);
499
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
461
500
  this.wrapperClasses = input('');
462
501
  this.ngClasses = computed(() => [
463
502
  this.wrapperClasses(),
@@ -4084,6 +4123,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
4084
4123
  }]
4085
4124
  }] });
4086
4125
 
4126
+ class _ButtonBase extends _FocusableComponentBase {
4127
+ constructor() {
4128
+ super(...arguments);
4129
+ this.wrapperClasses = input('');
4130
+ this.type = input(this._DEFAULTS.type);
4131
+ //! button settings
4132
+ this.appearance = input(this._DEFAULTS.appearance);
4133
+ this.color = input(this._DEFAULTS.color);
4134
+ this.lightColoring = input(this._DEFAULTS.lightColoring, { transform: v => coerceBooleanProperty(v) });
4135
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
4136
+ }
4137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ButtonBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
4138
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: _ButtonBase, inputs: { wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, lightColoring: { classPropertyName: "lightColoring", publicName: "lightColoring", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
4139
+ }
4140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ButtonBase, decorators: [{
4141
+ type: Directive
4142
+ }] });
4143
+
4087
4144
  const ButtonType = {
4088
4145
  Button: 'button',
4089
4146
  Submit: 'submit',
@@ -4145,32 +4202,36 @@ const FABSize = {
4145
4202
  Small: 'small',
4146
4203
  };
4147
4204
 
4148
- class _ButtonBase extends _FocusableComponentBase {
4149
- constructor() {
4150
- super(...arguments);
4151
- this.wrapperClasses = input('');
4152
- //! button settings
4153
- this.appearance = input(ButtonAppearance.Raised);
4154
- this.color = input(ComponentColor.Primary);
4155
- this.lightColoring = input(false, { transform: v => coerceBooleanProperty(v) });
4156
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
4157
- }
4158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ButtonBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
4159
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: _ButtonBase, inputs: { wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, lightColoring: { classPropertyName: "lightColoring", publicName: "lightColoring", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
4160
- }
4161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ButtonBase, decorators: [{
4162
- type: Directive
4163
- }] });
4205
+ const _simpleButtonDefaults = {
4206
+ ..._focusableComponentDefaults,
4207
+ color: ComponentColor.Primary,
4208
+ lightColoring: false,
4209
+ compact: false,
4210
+ type: ButtonType.Button,
4211
+ };
4212
+ const _buttonBaseDefaults = {
4213
+ ..._simpleButtonDefaults,
4214
+ appearance: ButtonAppearance.Raised,
4215
+ };
4216
+
4217
+ const ARD_BUTTON_DEFAULTS = new InjectionToken('ard-button-defaults', {
4218
+ factory: () => ({
4219
+ ..._buttonBaseDefaults,
4220
+ variant: ButtonVariant.Rounded,
4221
+ alignIcon: SimpleOneAxisAlignment.Left,
4222
+ vertical: false,
4223
+ }),
4224
+ });
4164
4225
 
4165
4226
  class ArdiumButtonComponent extends _ButtonBase {
4166
4227
  constructor() {
4167
4228
  super(...arguments);
4229
+ this._DEFAULTS = inject(ARD_BUTTON_DEFAULTS);
4168
4230
  this.icon = input('');
4169
- this.type = input(ButtonType.Button);
4170
4231
  //! button settings
4171
- this.variant = input(ButtonVariant.Rounded);
4172
- this.alignIcon = input(SimpleOneAxisAlignment.Left);
4173
- this.vertical = input(false, { transform: v => coerceBooleanProperty(v) });
4232
+ this.variant = input(this._DEFAULTS.variant);
4233
+ this.alignIcon = input(this._DEFAULTS.alignIcon);
4234
+ this.vertical = input(this._DEFAULTS.vertical, { transform: v => coerceBooleanProperty(v) });
4174
4235
  this.ngClasses = computed(() => [
4175
4236
  this.wrapperClasses(),
4176
4237
  `ard-appearance-${this.appearance()}`,
@@ -4183,7 +4244,7 @@ class ArdiumButtonComponent extends _ButtonBase {
4183
4244
  ].join(' '));
4184
4245
  }
4185
4246
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumButtonComponent, selector: "ard-button", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alignIcon: { classPropertyName: "alignIcon", publicName: "alignIcon", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\r\n #buttonElement\r\n class=\"ard-button\"\r\n [type]=\"type()\"\r\n [ngClass]=\"ngClasses()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [tabindex]=\"tabIndex()\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n @if (icon()) {\r\n <div class=\"ard-button-icon\">\r\n {{ icon() }}\r\n </div>\r\n }\r\n <div class=\"ard-button-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</button>\r\n", styles: [".ard-button{display:flex;align-items:center;position:relative;cursor:pointer}.ard-button.ard-button-align-left{flex-direction:row}.ard-button.ard-button-align-right{flex-direction:row-reverse}.ard-button.ard-button-vertical{flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4247
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumButtonComponent, selector: "ard-button", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alignIcon: { classPropertyName: "alignIcon", publicName: "alignIcon", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\r\n #buttonElement\r\n class=\"ard-button\"\r\n [type]=\"type()\"\r\n [ngClass]=\"ngClasses()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [tabindex]=\"tabIndex()\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n @if (icon()) {\r\n <div class=\"ard-button-icon\">\r\n {{ icon() }}\r\n </div>\r\n }\r\n <div class=\"ard-button-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</button>\r\n", styles: [".ard-button{display:flex;align-items:center;position:relative;cursor:pointer}.ard-button.ard-button-align-left{flex-direction:row}.ard-button.ard-button-align-right{flex-direction:row-reverse}.ard-button.ard-button-vertical{flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4187
4248
  }
4188
4249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumButtonComponent, decorators: [{
4189
4250
  type: Component,
@@ -4410,7 +4471,7 @@ class ArdiumNumberInputComponent extends _NgModelComponentBase {
4410
4471
  useExisting: forwardRef(() => ArdiumNumberInputComponent),
4411
4472
  multi: true,
4412
4473
  },
4413
- ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdNumberInputPlaceholderTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-number-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (mouseup)=\"onMouseup()\"\r\n>\r\n @if (!noButtons()) {\r\n <ard-button\r\n class=\"ard-quick-change-button decrement\"\r\n [variant]=\"buttonVariant()\"\r\n [appearance]=\"buttonAppearance()\"\r\n color=\"none\"\r\n [disabled]=\"!canDecrement()\"\r\n [tabIndex]=\"!canDecrement() ? -1 : tabIndex()\"\r\n (click)=\"onQuickChangeButtonClick(-1, $event)\"\r\n (ardHold)=\"onQuickChangeButtonClick(-1)\"\r\n ardHoldSpaceKey\r\n >\r\n -\r\n </ard-button>\r\n }\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template\r\n #defaultPlaceholderTemplate\r\n let-plchldr\r\n >\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocusMaster($event)\"\r\n (blur)=\"onBlurMaster($event)\"\r\n (change)=\"onChange($event)\"\r\n (mousedown)=\"$event.stopPropagation()\"\r\n (mouseup)=\"$event.stopPropagation()\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n @if (!noButtons()) {\r\n <ard-button\r\n class=\"ard-quick-change-button increment\"\r\n [variant]=\"buttonVariant()\"\r\n [appearance]=\"buttonAppearance()\"\r\n color=\"none\"\r\n [disabled]=\"!canIncrement()\"\r\n [tabIndex]=\"!canIncrement() ? -1 : tabIndex()\"\r\n (click)=\"onQuickChangeButtonClick(1, $event)\"\r\n (ardHold)=\"onQuickChangeButtonClick(1)\"\r\n ardHoldSpaceKey\r\n >\r\n +\r\n </ard-button>\r\n }\r\n</div>\r\n", styles: [".ard-number-input{display:flex;max-width:100%}.ard-number-input .ard-input-container{position:relative}.ard-number-input .ard-placeholder{position:absolute;left:0;right:0;pointer-events:none}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-middle input,.ard-text-align-middle .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}.ard-quick-change-button{-webkit-user-select:none;user-select:none;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.HoldDirective, selector: "[ardHold]", inputs: ["disabled", "readonly", "ardHoldDelay", "ardHoldRepeat", "ardHoldSpaceKey", "ardHoldEnterKey"], outputs: ["ardHold"] }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "type", "variant", "alignIcon", "vertical"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4474
+ ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdNumberInputPlaceholderTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-number-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (mouseup)=\"onMouseup()\"\r\n>\r\n @if (!noButtons()) {\r\n <ard-button\r\n class=\"ard-quick-change-button decrement\"\r\n [variant]=\"buttonVariant()\"\r\n [appearance]=\"buttonAppearance()\"\r\n color=\"none\"\r\n [disabled]=\"!canDecrement()\"\r\n [tabIndex]=\"!canDecrement() ? -1 : tabIndex()\"\r\n (click)=\"onQuickChangeButtonClick(-1, $event)\"\r\n (ardHold)=\"onQuickChangeButtonClick(-1)\"\r\n ardHoldSpaceKey\r\n >\r\n -\r\n </ard-button>\r\n }\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template\r\n #defaultPlaceholderTemplate\r\n let-plchldr\r\n >\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocusMaster($event)\"\r\n (blur)=\"onBlurMaster($event)\"\r\n (change)=\"onChange($event)\"\r\n (mousedown)=\"$event.stopPropagation()\"\r\n (mouseup)=\"$event.stopPropagation()\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n @if (!noButtons()) {\r\n <ard-button\r\n class=\"ard-quick-change-button increment\"\r\n [variant]=\"buttonVariant()\"\r\n [appearance]=\"buttonAppearance()\"\r\n color=\"none\"\r\n [disabled]=\"!canIncrement()\"\r\n [tabIndex]=\"!canIncrement() ? -1 : tabIndex()\"\r\n (click)=\"onQuickChangeButtonClick(1, $event)\"\r\n (ardHold)=\"onQuickChangeButtonClick(1)\"\r\n ardHoldSpaceKey\r\n >\r\n +\r\n </ard-button>\r\n }\r\n</div>\r\n", styles: [".ard-number-input{display:flex;max-width:100%}.ard-number-input .ard-input-container{position:relative}.ard-number-input .ard-placeholder{position:absolute;left:0;right:0;pointer-events:none}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-middle input,.ard-text-align-middle .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}.ard-quick-change-button{-webkit-user-select:none;user-select:none;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.HoldDirective, selector: "[ardHold]", inputs: ["disabled", "readonly", "ardHoldDelay", "ardHoldRepeat", "ardHoldSpaceKey", "ardHoldEnterKey"], outputs: ["ardHold"] }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "variant", "alignIcon", "vertical"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4414
4475
  }
4415
4476
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumNumberInputComponent, decorators: [{
4416
4477
  type: Component,
@@ -4672,7 +4733,7 @@ class ArdiumFileDropAreaComponent extends _FileInputComponentBase {
4672
4733
  };
4673
4734
  }
4674
4735
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileDropAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4675
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileDropAreaComponent, selector: "ard-file-drop-area", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "idleTemplate", first: true, predicate: ArdiumFileDropAreaIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileDropAreaDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileDropAreaUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-file-drop-area\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n (dragleave)=\"onDragleave()\"\r\n (dragover)=\"onDragover($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-file-drop-area-outline\">\r\n <div class=\"ard-file-drop-area-content\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n }\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'dragover'\"\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n ></ng-template>\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'uploaded'\"\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<input\r\n #fileInput\r\n class=\"ard-file-drop-area-input-element\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\r\n <strong class=\"ard-file-drop-area-drop-text\">\r\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\r\n <span *ngIf=\"multiple\">Drag & Drop files</span>\r\n here\r\n </strong>\r\n <span class=\"ard-file-drop-area-or-text\">or</span>\r\n <ard-button\r\n class=\"ard-file-drop-area-browse-button\"\r\n appearance=\"transparent\"\r\n [compact]=\"compact()\"\r\n [variant]=\"variant()\"\r\n [color]=\"color()\"\r\n (click)=\"browse()\"\r\n >Browse files</ard-button\r\n >\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\r\n <span class=\"ard-file-drop-area-dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\r\n @if (amount > 1 && !multiple()) {\r\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-drop-area-uploaded-container\">\r\n <div class=\"ard-file-drop-area-uploaded-message\">\r\n <span class=\"ard-file-drop-area-uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\r\n </div>\r\n <div class=\"ard-file-drop-area-uploaded-files\">\r\n @for (file of files; track $index) {\r\n <div class=\"ard-file-drop-area-file\">\r\n <ard-icon>draft</ard-icon>\r\n <div class=\"ard-file-drop-area-file-info\">\r\n <span class=\"ard-file-drop-area-filename\">\r\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\r\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\r\n </span>\r\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "type", "variant", "alignIcon", "vertical"] }, { kind: "component", type: ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }, { kind: "pipe", type: i4.ArdiumFilesizePipe, name: "filesize" }, { kind: "pipe", type: i4.ArdiumFilenamePipe, name: "filename" }, { kind: "pipe", type: i4.ArdiumFileextPipe, name: "fileext" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4736
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileDropAreaComponent, selector: "ard-file-drop-area", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "idleTemplate", first: true, predicate: ArdiumFileDropAreaIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileDropAreaDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileDropAreaUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-file-drop-area\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n (dragleave)=\"onDragleave()\"\r\n (dragover)=\"onDragover($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-file-drop-area-outline\">\r\n <div class=\"ard-file-drop-area-content\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n }\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'dragover'\"\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n ></ng-template>\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'uploaded'\"\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<input\r\n #fileInput\r\n class=\"ard-file-drop-area-input-element\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\r\n <strong class=\"ard-file-drop-area-drop-text\">\r\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\r\n <span *ngIf=\"multiple\">Drag & Drop files</span>\r\n here\r\n </strong>\r\n <span class=\"ard-file-drop-area-or-text\">or</span>\r\n <ard-button\r\n class=\"ard-file-drop-area-browse-button\"\r\n appearance=\"transparent\"\r\n [compact]=\"compact()\"\r\n [variant]=\"variant()\"\r\n [color]=\"color()\"\r\n (click)=\"browse()\"\r\n >Browse files</ard-button\r\n >\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\r\n <span class=\"ard-file-drop-area-dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\r\n @if (amount > 1 && !multiple()) {\r\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-drop-area-uploaded-container\">\r\n <div class=\"ard-file-drop-area-uploaded-message\">\r\n <span class=\"ard-file-drop-area-uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\r\n </div>\r\n <div class=\"ard-file-drop-area-uploaded-files\">\r\n @for (file of files; track $index) {\r\n <div class=\"ard-file-drop-area-file\">\r\n <ard-icon>draft</ard-icon>\r\n <div class=\"ard-file-drop-area-file-info\">\r\n <span class=\"ard-file-drop-area-filename\">\r\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\r\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\r\n </span>\r\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "variant", "alignIcon", "vertical"] }, { kind: "component", type: ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }, { kind: "pipe", type: i4.ArdiumFilesizePipe, name: "filesize" }, { kind: "pipe", type: i4.ArdiumFilenamePipe, name: "filename" }, { kind: "pipe", type: i4.ArdiumFileextPipe, name: "fileext" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4676
4737
  }
4677
4738
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileDropAreaComponent, decorators: [{
4678
4739
  type: Component,
@@ -5945,32 +6006,41 @@ class SimpleItemStorage {
5945
6006
  }
5946
6007
  }
5947
6008
 
6009
+ const _selectableListComponentDefaults = {
6010
+ ..._ngModelComponentDefaults,
6011
+ valueFrom: 'value',
6012
+ labelFrom: 'label',
6013
+ disabledFrom: 'disabled',
6014
+ compareWith: undefined,
6015
+ multiselectable: false,
6016
+ requireValue: false,
6017
+ invertDisabled: false,
6018
+ maxSelectedItems: undefined,
6019
+ };
5948
6020
  class _SelectableListComponentBase extends _NgModelComponentBase {
5949
- constructor(_cd) {
5950
- super();
5951
- this._cd = _cd;
6021
+ constructor() {
6022
+ super(...arguments);
5952
6023
  //! public constants
5953
6024
  this.itemStorage = new SimpleItemStorage(this);
5954
6025
  this.htmlId = crypto.randomUUID();
5955
- this.DEFAULTS = {
5956
- valueFrom: 'value',
5957
- labelFrom: 'label',
5958
- disabledFrom: 'disabled',
5959
- };
6026
+ this.DEFAULTS = this._DEFAULTS;
6027
+ this._cd = inject(ChangeDetectorRef);
5960
6028
  //! binding-related inputs
5961
- this.valueFrom = input(undefined);
5962
- this.labelFrom = input(undefined);
5963
- this.disabledFrom = input(undefined);
5964
- this.compareWith = input(undefined);
6029
+ this.valueFrom = input(this._DEFAULTS.valueFrom);
6030
+ this.labelFrom = input(this._DEFAULTS.labelFrom);
6031
+ this.disabledFrom = input(this._DEFAULTS.disabledFrom);
6032
+ this.compareWith = input(this._DEFAULTS.compareWith);
5965
6033
  //! multiselectable
5966
- this.multiselectable = input(false, { transform: v => coerceBooleanProperty(v) });
6034
+ this.multiselectable = input(this._DEFAULTS.multiselectable, { transform: v => coerceBooleanProperty(v) });
5967
6035
  this.singleselectable = computed(() => !this.multiselectable());
5968
6036
  //! require value
5969
- this.requireValue = input(false, { transform: v => coerceBooleanProperty(v) });
6037
+ this.requireValue = input(this._DEFAULTS.requireValue, { transform: v => coerceBooleanProperty(v) });
5970
6038
  this.isValueRequired = computed(() => this.requireValue() || !this.multiselectable());
5971
6039
  //! coerced properties
5972
- this.invertDisabled = input(false, { transform: v => coerceBooleanProperty(v) });
5973
- this.maxSelectedItems = input(undefined, { transform: v => coerceNumberProperty(v, undefined) });
6040
+ this.invertDisabled = input(this._DEFAULTS.invertDisabled, { transform: v => coerceBooleanProperty(v) });
6041
+ this.maxSelectedItems = input(this._DEFAULTS.maxSelectedItems, {
6042
+ transform: v => coerceNumberProperty(v, undefined),
6043
+ });
5974
6044
  //! change & touch event emitters
5975
6045
  this.touched = signal(false);
5976
6046
  //! focus & blur handlers
@@ -6194,12 +6264,12 @@ class _SelectableListComponentBase extends _NgModelComponentBase {
6194
6264
  _highlightAll() {
6195
6265
  this.itemStorage.highlightAllItems();
6196
6266
  }
6197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _SelectableListComponentBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _SelectableListComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
6198
6268
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: _SelectableListComponentBase, inputs: { valueFrom: { classPropertyName: "valueFrom", publicName: "valueFrom", isSignal: true, isRequired: false, transformFunction: null }, labelFrom: { classPropertyName: "labelFrom", publicName: "labelFrom", isSignal: true, isRequired: false, transformFunction: null }, disabledFrom: { classPropertyName: "disabledFrom", publicName: "disabledFrom", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, multiselectable: { classPropertyName: "multiselectable", publicName: "multiselectable", isSignal: true, isRequired: false, transformFunction: null }, requireValue: { classPropertyName: "requireValue", publicName: "requireValue", isSignal: true, isRequired: false, transformFunction: null }, invertDisabled: { classPropertyName: "invertDisabled", publicName: "invertDisabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", addEvent: "add", removeEvent: "remove" }, host: { listeners: { "mousemove": "onMouseMove()", "keydown": "onKeyPress($event)" }, properties: { "attr.multiple": "this._multiselectableHostAttribute", "class.ard-multiselect": "this._multiselectableHostAttribute", "class.ard-require-value": "this._requireValueHostAttribute", "class.ard-touched": "this._touchedHostAttribute" } }, usesInheritance: true, ngImport: i0 }); }
6199
6269
  }
6200
6270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _SelectableListComponentBase, decorators: [{
6201
6271
  type: Directive
6202
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { items: [{
6272
+ }], propDecorators: { items: [{
6203
6273
  type: Input
6204
6274
  }], _multiselectableHostAttribute: [{
6205
6275
  type: HostBinding,
@@ -7343,6 +7413,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
7343
7413
  }]
7344
7414
  }] });
7345
7415
 
7416
+ const ARD_CHECKBOX_DEFAULTS = new InjectionToken('ard-checkbox-defaults', {
7417
+ factory: () => ({
7418
+ ..._booleanComponentDefaults,
7419
+ color: SimpleComponentColor.Primary,
7420
+ unselectedColor: SimpleComponentColor.None,
7421
+ }),
7422
+ });
7423
+
7346
7424
  const CheckboxState = {
7347
7425
  Unselected: 'unselected',
7348
7426
  Indeterminate: 'indeterminate',
@@ -7354,9 +7432,10 @@ class ArdiumCheckboxComponent extends _BooleanComponentBase {
7354
7432
  super(...arguments);
7355
7433
  this.wrapperClasses = input('');
7356
7434
  this.htmlId = input('');
7435
+ this._DEFAULTS = inject(ARD_CHECKBOX_DEFAULTS);
7357
7436
  //! appearance
7358
- this.color = input(SimpleComponentColor.Primary);
7359
- this.unselectedColor = input(SimpleComponentColor.None);
7437
+ this.color = input(this._DEFAULTS.color);
7438
+ this.unselectedColor = input(this._DEFAULTS.unselectedColor);
7360
7439
  this.ngClasses = computed(() => [
7361
7440
  this.wrapperClasses(),
7362
7441
  `ard-color-${this.color()}`,
@@ -7415,10 +7494,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
7415
7494
  }]
7416
7495
  }] });
7417
7496
 
7497
+ const ARD_FAB_DEFAULTS = new InjectionToken('ard-fab-defaults', {
7498
+ factory: () => ({
7499
+ ..._buttonBaseDefaults,
7500
+ size: FABSize.Standard,
7501
+ extended: false,
7502
+ }),
7503
+ });
7504
+
7418
7505
  class ArdiumFabComponent extends _ButtonBase {
7419
7506
  constructor() {
7420
7507
  super(...arguments);
7421
- this.type = input(ButtonType.Button);
7508
+ this._DEFAULTS = inject(ARD_FAB_DEFAULTS);
7422
7509
  //! appearance
7423
7510
  this.size = input(FABSize.Standard);
7424
7511
  this.extended = input(false, { transform: v => coerceBooleanProperty(v) });
@@ -7431,7 +7518,7 @@ class ArdiumFabComponent extends _ButtonBase {
7431
7518
  ].join(' '));
7432
7519
  }
7433
7520
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7434
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumFabComponent, selector: "ard-fab", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, extended: { classPropertyName: "extended", publicName: "extended", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\r\n class=\"ard-fab\"\r\n [type]=\"type()\"\r\n [ngClass]=\"ngClasses()\"\r\n [tabindex]=\"tabIndex()\"\r\n (focus)=\"focusEvent.emit($event)\"\r\n (blur)=\"blurEvent.emit($event)\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div\r\n class=\"ard-button-content\"\r\n #content\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</button>\r\n", styles: [".ard-fab{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative;border-radius:9999px}.ard-fab .ard-button-content{max-height:100%;display:flex;align-items:center;justify-content:center}.ard-fab:not(.ard-fab-extended){aspect-ratio:1}.ard-fab:not(.ard-fab-extended) .ard-button-content{aspect-ratio:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7521
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumFabComponent, selector: "ard-fab", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, extended: { classPropertyName: "extended", publicName: "extended", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\r\n class=\"ard-fab\"\r\n [type]=\"type()\"\r\n [ngClass]=\"ngClasses()\"\r\n [tabindex]=\"tabIndex()\"\r\n (focus)=\"focusEvent.emit($event)\"\r\n (blur)=\"blurEvent.emit($event)\"\r\n>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div\r\n class=\"ard-button-content\"\r\n #content\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</button>\r\n", styles: [".ard-fab{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative;border-radius:9999px}.ard-fab .ard-button-content{max-height:100%;display:flex;align-items:center;justify-content:center}.ard-fab:not(.ard-fab-extended){aspect-ratio:1}.ard-fab:not(.ard-fab-extended) .ard-button-content{aspect-ratio:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7435
7522
  }
7436
7523
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFabComponent, decorators: [{
7437
7524
  type: Component,
@@ -7452,15 +7539,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
7452
7539
  }]
7453
7540
  }] });
7454
7541
 
7542
+ const ARD_ICON_BUTTON_DEFAULTS = new InjectionToken('ard-icon-button-defaults', {
7543
+ factory: () => _simpleButtonDefaults,
7544
+ });
7545
+
7455
7546
  class ArdiumIconButtonComponent extends _FocusableComponentBase {
7456
7547
  constructor() {
7457
7548
  super(...arguments);
7458
7549
  this.wrapperClasses = input('');
7459
- this.type = input(ButtonType.Button);
7550
+ this._DEFAULTS = inject(ARD_ICON_BUTTON_DEFAULTS);
7551
+ this.type = input(this._DEFAULTS.type);
7460
7552
  //! button settings
7461
- this.color = input(ComponentColor.Primary);
7462
- this.lightColoring = input(false, { transform: v => coerceBooleanProperty(v) });
7463
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
7553
+ this.color = input(this._DEFAULTS.color);
7554
+ this.lightColoring = input(this._DEFAULTS.lightColoring, { transform: v => coerceBooleanProperty(v) });
7555
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
7464
7556
  this.ngClasses = computed(() => [
7465
7557
  'ard-appearance-transparent',
7466
7558
  `ard-color-${this.disabled() ? ComponentColor.None : this.color()}`,
@@ -7497,15 +7589,27 @@ const CheckboxListAlignType = {
7497
7589
  RightClumped: 'right-clumped',
7498
7590
  };
7499
7591
 
7592
+ const ARD_CHECKBOX_LIST_DEFAULTS = new InjectionToken('ard-checkbox-list-defaults', {
7593
+ factory: () => ({
7594
+ ..._ngModelComponentDefaults,
7595
+ valueFrom: 'value',
7596
+ labelFrom: 'label',
7597
+ disabledFrom: 'disabled',
7598
+ compareWith: null,
7599
+ invertDisabled: false,
7600
+ maxSelectedItems: Infinity,
7601
+ color: ComponentColor.Primary,
7602
+ align: CheckboxListAlignType.LeftClumped,
7603
+ compact: false,
7604
+ }),
7605
+ });
7606
+
7500
7607
  class ArdiumCheckboxListComponent extends _NgModelComponentBase {
7501
7608
  constructor() {
7502
7609
  super(...arguments);
7503
7610
  this.htmlId = input(crypto.randomUUID());
7504
- this.DEFAULTS = {
7505
- valueFrom: 'value',
7506
- labelFrom: 'label',
7507
- disabledFrom: 'disabled',
7508
- };
7611
+ this._DEFAULTS = inject(ARD_CHECKBOX_LIST_DEFAULTS);
7612
+ this.DEFAULTS = this._DEFAULTS;
7509
7613
  // static values. Not meant to be changed.
7510
7614
  this.multiselectable = signal(true);
7511
7615
  this.isValueRequired = signal(false);
@@ -7515,13 +7619,13 @@ class ArdiumCheckboxListComponent extends _NgModelComponentBase {
7515
7619
  this.valueFrom = input(this.DEFAULTS.valueFrom);
7516
7620
  this.labelFrom = input(this.DEFAULTS.labelFrom);
7517
7621
  this.disabledFrom = input(this.DEFAULTS.disabledFrom);
7518
- this.compareWith = input(undefined);
7519
- this.invertDisabled = input(false, { transform: v => coerceBooleanProperty(v) });
7520
- this.maxSelectedItems = input(Infinity, { transform: v => coerceNumberProperty(v) });
7622
+ this.compareWith = input(this._DEFAULTS.compareWith);
7623
+ this.invertDisabled = input(this._DEFAULTS.invertDisabled, { transform: v => coerceBooleanProperty(v) });
7624
+ this.maxSelectedItems = input(this._DEFAULTS.maxSelectedItems, { transform: v => coerceNumberProperty(v) });
7521
7625
  //! appearance
7522
- this.color = input(ComponentColor.Primary);
7523
- this.align = input(CheckboxListAlignType.LeftClumped);
7524
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
7626
+ this.color = input(this._DEFAULTS.color);
7627
+ this.align = input(this._DEFAULTS.align);
7628
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
7525
7629
  this.ngClasses = computed(() => [`ard-color-${this.color()}`, `ard-align-${this.align()}`, this.compact() ? 'ard-compact' : ''].join(' '));
7526
7630
  this.valueChange = output();
7527
7631
  this.changeEvent = output({ alias: 'change' });
@@ -7832,15 +7936,26 @@ const BadgePosition = {
7832
7936
  Below: 'below',
7833
7937
  };
7834
7938
 
7939
+ const ARD_BADGE_DEFAULTS = new InjectionToken('ard-badge-defaults', {
7940
+ factory: () => ({
7941
+ color: ComponentColor.Primary,
7942
+ variant: FormElementVariant.Rounded,
7943
+ size: BadgeSize.Medium,
7944
+ position: BadgePosition.AboveAfter,
7945
+ overlap: false,
7946
+ }),
7947
+ });
7948
+
7835
7949
  class ArdiumBadgeDirective {
7836
- constructor(_elRef, _renderer) {
7837
- this._elRef = _elRef;
7838
- this._renderer = _renderer;
7950
+ constructor() {
7951
+ this._elRef = inject(ElementRef);
7952
+ this._renderer = inject(Renderer2);
7953
+ this._DEFAULTS = inject(ARD_BADGE_DEFAULTS);
7839
7954
  this.text = input('', { alias: 'ardBadge' });
7840
- this.color = input(ComponentColor.Primary, { alias: 'ardBadgeColor' });
7841
- this.variant = input(FormElementVariant.Pill, { alias: 'ardBadgeVariant' });
7842
- this.size = input(BadgeSize.Medium, { alias: 'ardBadgeSize' });
7843
- this.position = input(BadgePosition.AboveAfter, {
7955
+ this.color = input(this._DEFAULTS.color, { alias: 'ardBadgeColor' });
7956
+ this.variant = input(this._DEFAULTS.variant, { alias: 'ardBadgeVariant' });
7957
+ this.size = input(this._DEFAULTS.size, { alias: 'ardBadgeSize' });
7958
+ this.position = input(this._DEFAULTS.position, {
7844
7959
  alias: 'ardBadgePosition',
7845
7960
  transform: v => {
7846
7961
  switch (v) {
@@ -7858,7 +7973,10 @@ class ArdiumBadgeDirective {
7858
7973
  });
7859
7974
  this.ariaLabel = input('', { alias: 'ardBadgeAriaLabel' });
7860
7975
  this.hidden = input(false, { alias: 'ardBadgeHidden', transform: v => coerceBooleanProperty(v) });
7861
- this.overlap = input(false, { alias: 'ardBadgeOverlap', transform: v => coerceBooleanProperty(v) });
7976
+ this.overlap = input(this._DEFAULTS.overlap, {
7977
+ alias: 'ardBadgeOverlap',
7978
+ transform: v => coerceBooleanProperty(v),
7979
+ });
7862
7980
  this._elementClasses = computed(() => [
7863
7981
  'ard-badge',
7864
7982
  `ard-color-${this.color()}`,
@@ -7910,7 +8028,7 @@ class ArdiumBadgeDirective {
7910
8028
  }
7911
8029
  this._renderer.removeClass(this._elRef.nativeElement, 'ard-badge-host');
7912
8030
  }
7913
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumBadgeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
8031
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7914
8032
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumBadgeDirective, selector: "[ardBadge]", inputs: { text: { classPropertyName: "text", publicName: "ardBadge", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "ardBadgeColor", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "ardBadgeVariant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "ardBadgeSize", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "ardBadgePosition", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ardBadgeAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "ardBadgeHidden", isSignal: true, isRequired: false, transformFunction: null }, overlap: { classPropertyName: "overlap", publicName: "ardBadgeOverlap", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }
7915
8033
  }
7916
8034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumBadgeDirective, decorators: [{
@@ -7918,7 +8036,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
7918
8036
  args: [{
7919
8037
  selector: '[ardBadge]',
7920
8038
  }]
7921
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
8039
+ }] });
7922
8040
 
7923
8041
  class ArdiumBadgeModule {
7924
8042
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -8080,11 +8198,11 @@ class ArdiumKbdShortcutComponent {
8080
8198
  }
8081
8199
  }
8082
8200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumKbdShortcutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8083
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumKbdShortcutComponent, selector: "ard-kbd-shortcut", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, full: { classPropertyName: "full", publicName: "full", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapperEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-kbd-shortcut\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n @for (key of keys() ?? contentWrapper()?.nativeElement?.innerText?.split(splitRegex); track $index) {\r\n @if ($index !== 0) {\r\n <span>+</span>\r\n }\r\n <ard-kbd\r\n [appearance]=\"appearance()\"\r\n [full]=\"full()\"\r\n [key]=\"key\"\r\n />\r\n }\r\n</div>\r\n\r\n<div\r\n #contentWrapperEl\r\n class=\"ard-kbd-shortcut-content-wrapper\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".ard-kbd-shortcut{display:inline}.ard-kbd-shortcut-content-wrapper{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ArdiumKbdComponent, selector: "ard-kbd", inputs: ["key", "full", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumKbdShortcutComponent, selector: "ard-kbd-shortcut", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, full: { classPropertyName: "full", publicName: "full", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapperEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-kbd-shortcut\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (key of keys() ?? contentWrapper()?.nativeElement?.innerText?.split(splitRegex); track $index) {\r\n @if ($index !== 0) {\r\n <span>+</span>\r\n }\r\n <ard-kbd\r\n [appearance]=\"appearance()\"\r\n [full]=\"full()\"\r\n [key]=\"key\"\r\n />\r\n }\r\n</div>\r\n\r\n<div\r\n #contentWrapperEl\r\n class=\"ard-kbd-shortcut-content-wrapper\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".ard-kbd-shortcut{display:inline}.ard-kbd-shortcut-content-wrapper{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ArdiumKbdComponent, selector: "ard-kbd", inputs: ["key", "full", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8084
8202
  }
8085
8203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumKbdShortcutComponent, decorators: [{
8086
8204
  type: Component,
8087
- args: [{ selector: 'ard-kbd-shortcut', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-kbd-shortcut\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n @for (key of keys() ?? contentWrapper()?.nativeElement?.innerText?.split(splitRegex); track $index) {\r\n @if ($index !== 0) {\r\n <span>+</span>\r\n }\r\n <ard-kbd\r\n [appearance]=\"appearance()\"\r\n [full]=\"full()\"\r\n [key]=\"key\"\r\n />\r\n }\r\n</div>\r\n\r\n<div\r\n #contentWrapperEl\r\n class=\"ard-kbd-shortcut-content-wrapper\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".ard-kbd-shortcut{display:inline}.ard-kbd-shortcut-content-wrapper{display:none}\n"] }]
8205
+ args: [{ selector: 'ard-kbd-shortcut', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-kbd-shortcut\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (key of keys() ?? contentWrapper()?.nativeElement?.innerText?.split(splitRegex); track $index) {\r\n @if ($index !== 0) {\r\n <span>+</span>\r\n }\r\n <ard-kbd\r\n [appearance]=\"appearance()\"\r\n [full]=\"full()\"\r\n [key]=\"key\"\r\n />\r\n }\r\n</div>\r\n\r\n<div\r\n #contentWrapperEl\r\n class=\"ard-kbd-shortcut-content-wrapper\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".ard-kbd-shortcut{display:inline}.ard-kbd-shortcut-content-wrapper{display:none}\n"] }]
8088
8206
  }] });
8089
8207
 
8090
8208
  class ArdiumKbdShortcutModule {
@@ -9578,6 +9696,7 @@ class ArdiumTabberComponent {
9578
9696
  this.tabs = contentChildren(ArdiumTabComponent, { descendants: true });
9579
9697
  this.currentTab = signal(null);
9580
9698
  this.currentFocusedTab = signal(null);
9699
+ this.initialTab = input(undefined);
9581
9700
  this.focusEvent = output({ alias: 'focus' });
9582
9701
  this.blurEvent = output({ alias: 'blur' });
9583
9702
  this.changeTab = output();
@@ -9619,7 +9738,8 @@ class ArdiumTabberComponent {
9619
9738
  });
9620
9739
  }
9621
9740
  if (!selectedCmp) {
9622
- selectedCmp = this.tabs()[0] ?? null;
9741
+ const initiallySelectedTab = this.tabs().find(tab => tab.tabId() === this.initialTab());
9742
+ selectedCmp = initiallySelectedTab ?? this.tabs()[0] ?? null;
9623
9743
  if (selectedCmp) {
9624
9744
  selectedCmp.selected.set(true);
9625
9745
  }
@@ -9647,7 +9767,7 @@ class ArdiumTabberComponent {
9647
9767
  this.currentFocusedTab.set(null);
9648
9768
  }
9649
9769
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumTabberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9650
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumTabberComponent, selector: "ard-tabber", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stretchTabs: { classPropertyName: "stretchTabs", publicName: "stretchTabs", isSignal: true, isRequired: false, transformFunction: null }, uniformTabWidths: { classPropertyName: "uniformTabWidths", publicName: "uniformTabWidths", isSignal: true, isRequired: false, transformFunction: null }, tabAlignment: { classPropertyName: "tabAlignment", publicName: "tabAlignment", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusEvent: "focus", blurEvent: "blur", changeTab: "changeTab" }, queries: [{ propertyName: "tabs", predicate: ArdiumTabComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-tabber\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n <div\r\n class=\"ard-tabber-tabs\"\r\n [ngClass]=\"tabContainerClasses()\"\r\n [style]=\"{ '--ard-_tabber-tabs': tabs().length }\"\r\n >\r\n @for (tab of tabs(); track tab) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n role=\"tab\"\r\n class=\"ard-tab-button\"\r\n [id]=\"tab.tabId()\"\r\n [class.ard-tab-active]=\"tab === currentTab()\"\r\n [class.ard-tab-focused]=\"tab === currentFocusedTab()\"\r\n (click)=\"!tab.selected() && onTabClick(tab)\"\r\n (focus)=\"onTabFocus(tab)\"\r\n (blur)=\"onTabBlur(tab)\"\r\n [tabindex]=\"tabIndex()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n {{ tab.label() }}\r\n </button>\r\n }\r\n </div>\r\n <div\r\n role=\"tabpanel\"\r\n class=\"ard-tabber-content\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".ard-tabber ard-tab{display:none}.ard-tabber ard-tab.ard-tab-selected{display:block}.ard-tabber .ard-tabber-tabs.ard-uniform-tab-widths{display:grid;grid-template-columns:repeat(var(--ard-_tabber-tabs),1fr);max-width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9770
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumTabberComponent, selector: "ard-tabber", inputs: { initialTab: { classPropertyName: "initialTab", publicName: "initialTab", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stretchTabs: { classPropertyName: "stretchTabs", publicName: "stretchTabs", isSignal: true, isRequired: false, transformFunction: null }, uniformTabWidths: { classPropertyName: "uniformTabWidths", publicName: "uniformTabWidths", isSignal: true, isRequired: false, transformFunction: null }, tabAlignment: { classPropertyName: "tabAlignment", publicName: "tabAlignment", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusEvent: "focus", blurEvent: "blur", changeTab: "changeTab" }, queries: [{ propertyName: "tabs", predicate: ArdiumTabComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"ard-tabber\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n <div\r\n class=\"ard-tabber-tabs\"\r\n [ngClass]=\"tabContainerClasses()\"\r\n [style]=\"{ '--ard-_tabber-tabs': tabs().length }\"\r\n >\r\n @for (tab of tabs(); track tab) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n role=\"tab\"\r\n class=\"ard-tab-button\"\r\n [id]=\"tab.tabId()\"\r\n [class.ard-tab-active]=\"tab === currentTab()\"\r\n [class.ard-tab-focused]=\"tab === currentFocusedTab()\"\r\n (click)=\"!tab.selected() && onTabClick(tab)\"\r\n (focus)=\"onTabFocus(tab)\"\r\n (blur)=\"onTabBlur(tab)\"\r\n [tabindex]=\"tabIndex()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n {{ tab.label() }}\r\n </button>\r\n }\r\n </div>\r\n <div\r\n role=\"tabpanel\"\r\n class=\"ard-tabber-content\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".ard-tabber ard-tab{display:none}.ard-tabber ard-tab.ard-tab-selected{display:block}.ard-tabber .ard-tabber-tabs.ard-uniform-tab-widths{display:grid;grid-template-columns:repeat(var(--ard-_tabber-tabs),1fr);max-width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9651
9771
  }
9652
9772
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumTabberComponent, decorators: [{
9653
9773
  type: Component,
@@ -9668,6 +9788,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
9668
9788
  }]
9669
9789
  }] });
9670
9790
 
9791
+ const CardAppearance = {
9792
+ Outlined: 'outlined',
9793
+ Raised: 'raised',
9794
+ };
9795
+ const CardVariant = {
9796
+ Rounded: 'rounded',
9797
+ Sharp: 'sharp',
9798
+ };
9799
+
9800
+ const ARD_CARD_DEFAULTS = new InjectionToken('ard-card-defaults', {
9801
+ factory: () => ({
9802
+ appearance: CardAppearance.Raised,
9803
+ variant: CardVariant.Rounded,
9804
+ actionButtonsAlign: OneAxisAlignment.Right,
9805
+ }),
9806
+ });
9807
+
9671
9808
  class ArdiumCardHeaderComponent {
9672
9809
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9673
9810
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ArdiumCardHeaderComponent, selector: "ard-card-header", ngImport: i0, template: "<ng-content select=\"[ard-card-avatar]\" />\r\n<div class=\"ard-card-header-title-container\">\r\n <ng-content\r\n select=\"ard-card-title, ard-card-subtitle,\r\n [ard-card-title], [ard-card-subtitle]\"\r\n />\r\n</div>\r\n<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -9733,22 +9870,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
9733
9870
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
9734
9871
  class ArdiumCardActionButtonsDirective {
9735
9872
  constructor() {
9736
- this.align = input(OneAxisAlignment.Right);
9873
+ this._DEFAULTS = inject(ARD_CARD_DEFAULTS);
9874
+ this.align = input(this._DEFAULTS.actionButtonsAlign);
9737
9875
  this.alignClass = computed(() => `ard-card-action-buttons ard-align-${this.align()}`);
9738
9876
  }
9739
- get _alignClassHostAttribute() {
9740
- return this.alignClass();
9741
- }
9742
9877
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumCardActionButtonsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9743
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumCardActionButtonsDirective, selector: "ard-card-action-buttons, [ard-card-action-buttons]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this._alignClassHostAttribute" } }, ngImport: i0 }); }
9878
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumCardActionButtonsDirective, selector: "ard-card-action-buttons, [ard-card-action-buttons]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "alignClass()" } }, ngImport: i0 }); }
9744
9879
  }
9745
9880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumCardActionButtonsDirective, decorators: [{
9746
9881
  type: Directive,
9747
- args: [{ selector: 'ard-card-action-buttons, [ard-card-action-buttons]' }]
9748
- }], propDecorators: { _alignClassHostAttribute: [{
9749
- type: HostBinding,
9750
- args: ['class']
9751
- }] } });
9882
+ args: [{
9883
+ selector: 'ard-card-action-buttons, [ard-card-action-buttons]',
9884
+ host: {
9885
+ '[class]': 'alignClass()',
9886
+ },
9887
+ }]
9888
+ }] });
9752
9889
  class ArdiumCardFooterDirective {
9753
9890
  constructor(renderer, hostElement) {
9754
9891
  renderer.addClass(hostElement.nativeElement, 'ard-card-footer');
@@ -9761,20 +9898,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
9761
9898
  args: [{ selector: 'ard-card-footer, [ard-card-footer]' }]
9762
9899
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
9763
9900
 
9764
- const CardAppearance = {
9765
- Outlined: 'outlined',
9766
- Raised: 'raised',
9767
- };
9768
- const CardVariant = {
9769
- Rounded: 'rounded',
9770
- Sharp: 'sharp',
9771
- };
9772
-
9773
9901
  class ArdiumCardDirective {
9774
9902
  constructor() {
9903
+ this._DEFAULTS = inject(ARD_CARD_DEFAULTS);
9775
9904
  //! appearance
9776
- this.appearance = input(CardAppearance.Raised);
9777
- this.variant = input(CardVariant.Rounded);
9905
+ this.appearance = input(this._DEFAULTS.appearance);
9906
+ this.variant = input(this._DEFAULTS.variant);
9778
9907
  this.ngClasses = computed(() => ['ard-card', `ard-appearance-${this.appearance()}`, `ard-variant-${this.variant()}`].join(' '));
9779
9908
  }
9780
9909
  get _ngClassesHostAttribute() {
@@ -9858,23 +9987,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
9858
9987
  }]
9859
9988
  }] });
9860
9989
 
9990
+ const ARD_DIVIDER_DEFAULTS = new InjectionToken('ard-divider-defaults', {
9991
+ factory: () => ({
9992
+ vertical: false,
9993
+ }),
9994
+ });
9995
+
9861
9996
  class ArdiumDividerComponent {
9862
9997
  constructor() {
9863
- this.vertical = input(false, { transform: v => coerceBooleanProperty(v) });
9864
- }
9865
- get _verticalHostAttribute() {
9866
- return this.vertical();
9998
+ this._DEFAULTS = inject(ARD_DIVIDER_DEFAULTS);
9999
+ this.vertical = input(this._DEFAULTS.vertical, { transform: v => coerceBooleanProperty(v) });
9867
10000
  }
9868
10001
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumDividerComponent, selector: "ard-divider", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ard-divider-vertical": "this._verticalHostAttribute" } }, ngImport: i0, template: '', isInline: true, styles: ["ard-divider{display:block}ard-divider:not(.ard-divider-vertical){width:100%;height:0}ard-divider.ard-divider-vertical{width:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10002
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: ArdiumDividerComponent, selector: "ard-divider", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ard-divider-vertical": "vertical()" } }, ngImport: i0, template: '', isInline: true, styles: ["ard-divider{display:block}ard-divider:not(.ard-divider-vertical){width:100%;height:0}ard-divider.ard-divider-vertical{width:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9870
10003
  }
9871
10004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumDividerComponent, decorators: [{
9872
10005
  type: Component,
9873
- args: [{ selector: 'ard-divider', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["ard-divider{display:block}ard-divider:not(.ard-divider-vertical){width:100%;height:0}ard-divider.ard-divider-vertical{width:0}\n"] }]
9874
- }], propDecorators: { _verticalHostAttribute: [{
9875
- type: HostBinding,
9876
- args: ['class.ard-divider-vertical']
9877
- }] } });
10006
+ args: [{ selector: 'ard-divider', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
10007
+ '[class.ard-divider-vertical]': 'vertical()',
10008
+ }, styles: ["ard-divider{display:block}ard-divider:not(.ard-divider-vertical){width:100%;height:0}ard-divider.ard-divider-vertical{width:0}\n"] }]
10009
+ }] });
9878
10010
 
9879
10011
  class ArdiumDividerModule {
9880
10012
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumDividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -10059,7 +10191,7 @@ class ArdiumDialogComponent {
10059
10191
  this.closeEvent.emit('close');
10060
10192
  }
10061
10193
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10062
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumDialogComponent, selector: "ard-dialog", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, noCloseButton: { classPropertyName: "noCloseButton", publicName: "noCloseButton", isSignal: true, isRequired: false, transformFunction: null }, noBackdrop: { classPropertyName: "noBackdrop", publicName: "noBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableBackdropClose: { classPropertyName: "disableBackdropClose", publicName: "disableBackdropClose", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonText: { classPropertyName: "confirmButtonText", publicName: "confirmButtonText", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonColor: { classPropertyName: "confirmButtonColor", publicName: "confirmButtonColor", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonAppearance: { classPropertyName: "confirmButtonAppearance", publicName: "confirmButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonText: { classPropertyName: "rejectButtonText", publicName: "rejectButtonText", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonColor: { classPropertyName: "rejectButtonColor", publicName: "rejectButtonColor", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonAppearance: { classPropertyName: "rejectButtonAppearance", publicName: "rejectButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, noRejectButton: { classPropertyName: "noRejectButton", publicName: "noRejectButton", isSignal: true, isRequired: false, transformFunction: null }, canConfirm: { classPropertyName: "canConfirm", publicName: "canConfirm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closeEvent: "close", confirmEvent: "confirm", rejectEvent: "reject" }, queries: [{ propertyName: "buttonsTemplate", first: true, predicate: ArdDialogButtonsTemplateDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<ard-modal\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [heading]=\"heading()\"\r\n [noCloseButton]=\"noCloseButton()\"\r\n [noBackdrop]=\"noBackdrop()\"\r\n [disableBackdropClose]=\"disableBackdropClose()\"\r\n [(open)]=\"open\"\r\n (close)=\"onModalClose()\"\r\n>\r\n <div class=\"ard-dialog-container\">\r\n <div class=\"ard-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"ard-dialog-buttons\">\r\n <ng-template\r\n #defaultButtonsTemplate\r\n let-confirmButton=\"confirmButton\"\r\n let-rejectButton=\"rejectButton\"\r\n let-canConfirm=\"canConfirm\"\r\n let-onConfirm=\"onConfirm\"\r\n let-onReject=\"onReject\"\r\n let-dialogVariant=\"dialogVariant\"\r\n let-dialogCompact=\"dialogCompact\"\r\n >\r\n <div class=\"ard-dialog-buttons-container\">\r\n @if (rejectButton.enabled) {\r\n <ard-button\r\n [color]=\"rejectButton.color\"\r\n [appearance]=\"rejectButton.appearance\"\r\n [variant]=\"dialogVariant\"\r\n [compact]=\"dialogCompact\"\r\n (click)=\"onReject()\"\r\n >\r\n {{ rejectButton.text }}\r\n </ard-button>\r\n }\r\n <ard-button\r\n [color]=\"confirmButton.color\"\r\n [appearance]=\"confirmButton.appearance\"\r\n [variant]=\"dialogVariant\"\r\n [compact]=\"dialogCompact\"\r\n (click)=\"onConfirm()\"\r\n [disabled]=\"!canConfirm\"\r\n >\r\n {{ confirmButton.text }}\r\n </ard-button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"buttonsTemplate()?.template ?? defaultButtonsTemplate\"\r\n [ngTemplateOutletContext]=\"getButtonsContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</ard-modal>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "type", "variant", "alignIcon", "vertical"] }, { kind: "component", type: ArdiumModalComponent, selector: "ard-modal", inputs: ["appearance", "variant", "compact", "heading", "noCloseButton", "noBackdrop", "disableBackdropClose", "open"], outputs: ["openChange", "close"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumDialogComponent, selector: "ard-dialog", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, noCloseButton: { classPropertyName: "noCloseButton", publicName: "noCloseButton", isSignal: true, isRequired: false, transformFunction: null }, noBackdrop: { classPropertyName: "noBackdrop", publicName: "noBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableBackdropClose: { classPropertyName: "disableBackdropClose", publicName: "disableBackdropClose", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonText: { classPropertyName: "confirmButtonText", publicName: "confirmButtonText", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonColor: { classPropertyName: "confirmButtonColor", publicName: "confirmButtonColor", isSignal: true, isRequired: false, transformFunction: null }, confirmButtonAppearance: { classPropertyName: "confirmButtonAppearance", publicName: "confirmButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonText: { classPropertyName: "rejectButtonText", publicName: "rejectButtonText", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonColor: { classPropertyName: "rejectButtonColor", publicName: "rejectButtonColor", isSignal: true, isRequired: false, transformFunction: null }, rejectButtonAppearance: { classPropertyName: "rejectButtonAppearance", publicName: "rejectButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, noRejectButton: { classPropertyName: "noRejectButton", publicName: "noRejectButton", isSignal: true, isRequired: false, transformFunction: null }, canConfirm: { classPropertyName: "canConfirm", publicName: "canConfirm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closeEvent: "close", confirmEvent: "confirm", rejectEvent: "reject" }, queries: [{ propertyName: "buttonsTemplate", first: true, predicate: ArdDialogButtonsTemplateDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<ard-modal\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [heading]=\"heading()\"\r\n [noCloseButton]=\"noCloseButton()\"\r\n [noBackdrop]=\"noBackdrop()\"\r\n [disableBackdropClose]=\"disableBackdropClose()\"\r\n [(open)]=\"open\"\r\n (close)=\"onModalClose()\"\r\n>\r\n <div class=\"ard-dialog-container\">\r\n <div class=\"ard-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"ard-dialog-buttons\">\r\n <ng-template\r\n #defaultButtonsTemplate\r\n let-confirmButton=\"confirmButton\"\r\n let-rejectButton=\"rejectButton\"\r\n let-canConfirm=\"canConfirm\"\r\n let-onConfirm=\"onConfirm\"\r\n let-onReject=\"onReject\"\r\n let-dialogVariant=\"dialogVariant\"\r\n let-dialogCompact=\"dialogCompact\"\r\n >\r\n <div class=\"ard-dialog-buttons-container\">\r\n @if (rejectButton.enabled) {\r\n <ard-button\r\n [color]=\"rejectButton.color\"\r\n [appearance]=\"rejectButton.appearance\"\r\n [variant]=\"dialogVariant\"\r\n [compact]=\"dialogCompact\"\r\n (click)=\"onReject()\"\r\n >\r\n {{ rejectButton.text }}\r\n </ard-button>\r\n }\r\n <ard-button\r\n [color]=\"confirmButton.color\"\r\n [appearance]=\"confirmButton.appearance\"\r\n [variant]=\"dialogVariant\"\r\n [compact]=\"dialogCompact\"\r\n (click)=\"onConfirm()\"\r\n [disabled]=\"!canConfirm\"\r\n >\r\n {{ confirmButton.text }}\r\n </ard-button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"buttonsTemplate()?.template ?? defaultButtonsTemplate\"\r\n [ngTemplateOutletContext]=\"getButtonsContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</ard-modal>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "variant", "alignIcon", "vertical"] }, { kind: "component", type: ArdiumModalComponent, selector: "ard-modal", inputs: ["appearance", "variant", "compact", "heading", "noCloseButton", "noBackdrop", "disableBackdropClose", "open"], outputs: ["openChange", "close"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10063
10195
  }
10064
10196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumDialogComponent, decorators: [{
10065
10197
  type: Component,
@@ -10250,7 +10382,7 @@ class _ArdSimpleSnackbarComponent {
10250
10382
  return `ard-color-${this.color}`;
10251
10383
  }
10252
10384
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ArdSimpleSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: _ArdSimpleSnackbarComponent, isStandalone: true, selector: "ard-simple-snackbar", ngImport: i0, template: "<div\r\n class=\"ard-snackbar\"\r\n [class.ard-snackbar-closing]=\"snackbarRef.onCloseStart | async\"\r\n [class]=\"colorClass\"\r\n>\r\n <div class=\"ard-snackbar-content\">\r\n @if (typeIcon) {\r\n <ard-icon filled>{{ typeIcon }}</ard-icon>\r\n }\r\n <div class=\"ard-snackbar-message\">{{ data.message }}</div>\r\n </div>\r\n @if (data.action) {\r\n <ard-button\r\n class=\"ard-snackbar-action\"\r\n appearance=\"transparent\"\r\n lightColoring\r\n [color]=\"color\"\r\n (click)=\"closeWithAction()\"\r\n >{{ data.action }}</ard-button\r\n >\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ArdiumButtonModule }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "type", "variant", "alignIcon", "vertical"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ArdiumIconModule }, { kind: "component", type: ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10385
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: _ArdSimpleSnackbarComponent, isStandalone: true, selector: "ard-simple-snackbar", ngImport: i0, template: "<div\r\n class=\"ard-snackbar\"\r\n [class.ard-snackbar-closing]=\"snackbarRef.onCloseStart | async\"\r\n [class]=\"colorClass\"\r\n>\r\n <div class=\"ard-snackbar-content\">\r\n @if (typeIcon) {\r\n <ard-icon filled>{{ typeIcon }}</ard-icon>\r\n }\r\n <div class=\"ard-snackbar-message\">{{ data.message }}</div>\r\n </div>\r\n @if (data.action) {\r\n <ard-button\r\n class=\"ard-snackbar-action\"\r\n appearance=\"transparent\"\r\n lightColoring\r\n [color]=\"color\"\r\n (click)=\"closeWithAction()\"\r\n >{{ data.action }}</ard-button\r\n >\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ArdiumButtonModule }, { kind: "component", type: ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "variant", "alignIcon", "vertical"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ArdiumIconModule }, { kind: "component", type: ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10254
10386
  }
10255
10387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _ArdSimpleSnackbarComponent, decorators: [{
10256
10388
  type: Component,
@@ -10500,5 +10632,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
10500
10632
  * Generated bundle index. Do not edit.
10501
10633
  */
10502
10634
 
10503
- export { ARD_SNACKBAR_ANIMATION_LENGTH, ARD_SNACKBAR_DATA, ARD_SNACKBAR_DEFAULT_OPTIONS, ArdAddCustomTemplateDirective, ArdDialogButtonsTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdFileInputPlaceholderTemplateDirective, ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective, ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective, ArdInputLoadingTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdNumberInputPlaceholderTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdPanelPosition, ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective, ArdProgressBarValueTemplateDirective, ArdProgressCircleValueTemplateDirective, searchFunctions as ArdSearchFunction, ArdSegmentOptionTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdSimpleInputPlaceholderTemplateDirective, ArdSimpleInputPrefixTemplateDirective, ArdSimpleInputSuffixTemplateDirective, ArdSlideToggleAppearance, ArdSliderTooltipDirective, ArdSnackbarAlignment, ArdSnackbarOriginRelation, ArdSnackbarQueueHandling, ArdSnackbarRef, ArdSnackbarType, ArdSuggestionTemplateDirective, ArdValueChipTemplateDirective, ArdValueTemplateDirective, ArdiumBadgeDirective, ArdiumBadgeModule, ArdiumButtonComponent, ArdiumButtonModule, ArdiumCardActionButtonsDirective, ArdiumCardAvatarDirective, ArdiumCardComponent, ArdiumCardContentDirective, ArdiumCardDirective, ArdiumCardFooterDirective, ArdiumCardHeaderComponent, ArdiumCardImageDirective, ArdiumCardModule, ArdiumCardSubtitleDirective, ArdiumCardTitleDirective, ArdiumCheckboxComponent, ArdiumCheckboxListComponent, ArdiumCheckboxListModule, ArdiumCheckboxModule, ArdiumChipComponent, ArdiumChipModule, ArdiumColorDisplayComponent, ArdiumColorDisplayModule, ArdiumDeletableChipComponent, ArdiumDialogComponent, ArdiumDialogModule, ArdiumDigitInputComponent, ArdiumDigitInputModule, ArdiumDividerComponent, ArdiumDividerModule, ArdiumDropdownPanelComponent, ArdiumDropdownPanelModule, ArdiumFabComponent, ArdiumFabModule, ArdiumFileDropAreaComponent, ArdiumFileDropAreaDragoverContentTemplateDirective, ArdiumFileDropAreaIdleContentTemplateDirective, ArdiumFileDropAreaModule, ArdiumFileDropAreaUploadedContentTemplateDirective, ArdiumFileInputComponent, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputModule, ArdiumFileInputUploadedContentTemplateDirective, ArdiumFormFieldFrameComponent, ArdiumFormFieldFrameModule, ArdiumHexInputComponent, ArdiumHexInputModule, ArdiumIconButtonComponent, ArdiumIconButtonModule, ArdiumIconComponent, ArdiumIconModule, ArdiumIconPipe, ArdiumInputComponent, ArdiumInputModule, ArdiumKbdComponent, ArdiumKbdDirective, ArdiumKbdModule, ArdiumKbdPipe, ArdiumKbdShortcutComponent, ArdiumKbdShortcutModule, ArdiumModalComponent, ArdiumModalModule, ArdiumNumberInputComponent, ArdiumNumberInputModule, ArdiumOptionComponent, ArdiumOptionModule, ArdiumPasswordInputComponent, ArdiumPasswordInputModule, ArdiumProgressBarComponent, ArdiumProgressBarModule, ArdiumProgressCircleComponent, ArdiumProgressCircleModule, ArdiumRadioComponent, ArdiumRadioGroupComponent, ArdiumRadioModule, ArdiumRangeSliderComponent, ArdiumRangeSliderModule, ArdiumSegmentComponent, ArdiumSegmentModule, ArdiumSelectComponent, ArdiumSelectModule, ArdiumSelectableChipComponent, ArdiumSimpleInputComponent, ArdiumSimpleInputModule, ArdiumSlideToggleComponent, ArdiumSlideToggleModule, ArdiumSliderComponent, ArdiumSliderModule, ArdiumSnackbarService, ArdiumSpinnerComponent, ArdiumSpinnerModule, ArdiumStarButtonComponent, ArdiumStarButtonModule, ArdiumStarComponent, ArdiumStarDisplayComponent, ArdiumStarDisplayModule, ArdiumStarInputComponent, ArdiumStarInputModule, ArdiumStarModule, ArdiumStateboxComponent, ArdiumStateboxModule, ArdiumTabComponent, ArdiumTabberComponent, ArdiumTabberModule, ArdiumTableCaptionTemplateDirective, ArdiumTableCheckboxTemplateDirective, ArdiumTableComponent, ArdiumTableFromCsvComponent, ArdiumTableFromCsvModule, ArdiumTableHeaderCheckboxTemplateDirective, ArdiumTableModule, ArdiumTablePaginationComponent, ArdiumTablePaginationModule, ArdiumTablePaginationTemplateDirective, ArdiumTableTemplateDirective, BadgePosition, BadgeSize, ButtonAppearance, ButtonVariant, CardAppearance, CardVariant, CheckboxListAlignType, CheckboxState, ClickStrategy, ColorDisplayAppearance, ComponentColor, DecorationElementAppearance, DialogResult, DigitInputPrimitiveOption, DigitInputShape, DropdownPanelAppearance, DropdownPanelVariant, FABSize, FormElementAppearance, FormElementVariant, OneAxisAlignment, OutlinedAppearance, PaginationAlign, PanelAppearance, PanelVariant, ProgressBarAppearance, ProgressBarMode, ProgressBarSize, ProgressBarVariant, ProgressCircleAppearance, ProgressCircleVariant, SegmentAppearance, SegmentVariant, SimpleComponentColor, SimpleOneAxisAlignment, SliderDecorationPosition, SliderTooltipBehavior, SortType, StarColor, StarFillMode, TableAlignType, TableAppearance, TablePaginationStrategy, TableVariant, TransformType, _DEFAULT_OPTIONS_STATIC, searchInString };
10635
+ export { ARD_BADGE_DEFAULTS, ARD_BUTTON_DEFAULTS, ARD_CARD_DEFAULTS, ARD_CHECKBOX_DEFAULTS, ARD_FAB_DEFAULTS, ARD_ICON_BUTTON_DEFAULTS, ARD_SNACKBAR_ANIMATION_LENGTH, ARD_SNACKBAR_DATA, ARD_SNACKBAR_DEFAULT_OPTIONS, ArdAddCustomTemplateDirective, ArdDialogButtonsTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdFileInputPlaceholderTemplateDirective, ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective, ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective, ArdInputLoadingTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdNumberInputPlaceholderTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdPanelPosition, ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective, ArdProgressBarValueTemplateDirective, ArdProgressCircleValueTemplateDirective, searchFunctions as ArdSearchFunction, ArdSegmentOptionTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdSimpleInputPlaceholderTemplateDirective, ArdSimpleInputPrefixTemplateDirective, ArdSimpleInputSuffixTemplateDirective, ArdSlideToggleAppearance, ArdSliderTooltipDirective, ArdSnackbarAlignment, ArdSnackbarOriginRelation, ArdSnackbarQueueHandling, ArdSnackbarRef, ArdSnackbarType, ArdSuggestionTemplateDirective, ArdValueChipTemplateDirective, ArdValueTemplateDirective, ArdiumBadgeDirective, ArdiumBadgeModule, ArdiumButtonComponent, ArdiumButtonModule, ArdiumCardActionButtonsDirective, ArdiumCardAvatarDirective, ArdiumCardComponent, ArdiumCardContentDirective, ArdiumCardDirective, ArdiumCardFooterDirective, ArdiumCardHeaderComponent, ArdiumCardImageDirective, ArdiumCardModule, ArdiumCardSubtitleDirective, ArdiumCardTitleDirective, ArdiumCheckboxComponent, ArdiumCheckboxListComponent, ArdiumCheckboxListModule, ArdiumCheckboxModule, ArdiumChipComponent, ArdiumChipModule, ArdiumColorDisplayComponent, ArdiumColorDisplayModule, ArdiumDeletableChipComponent, ArdiumDialogComponent, ArdiumDialogModule, ArdiumDigitInputComponent, ArdiumDigitInputModule, ArdiumDividerComponent, ArdiumDividerModule, ArdiumDropdownPanelComponent, ArdiumDropdownPanelModule, ArdiumFabComponent, ArdiumFabModule, ArdiumFileDropAreaComponent, ArdiumFileDropAreaDragoverContentTemplateDirective, ArdiumFileDropAreaIdleContentTemplateDirective, ArdiumFileDropAreaModule, ArdiumFileDropAreaUploadedContentTemplateDirective, ArdiumFileInputComponent, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputModule, ArdiumFileInputUploadedContentTemplateDirective, ArdiumFormFieldFrameComponent, ArdiumFormFieldFrameModule, ArdiumHexInputComponent, ArdiumHexInputModule, ArdiumIconButtonComponent, ArdiumIconButtonModule, ArdiumIconComponent, ArdiumIconModule, ArdiumIconPipe, ArdiumInputComponent, ArdiumInputModule, ArdiumKbdComponent, ArdiumKbdDirective, ArdiumKbdModule, ArdiumKbdPipe, ArdiumKbdShortcutComponent, ArdiumKbdShortcutModule, ArdiumModalComponent, ArdiumModalModule, ArdiumNumberInputComponent, ArdiumNumberInputModule, ArdiumOptionComponent, ArdiumOptionModule, ArdiumPasswordInputComponent, ArdiumPasswordInputModule, ArdiumProgressBarComponent, ArdiumProgressBarModule, ArdiumProgressCircleComponent, ArdiumProgressCircleModule, ArdiumRadioComponent, ArdiumRadioGroupComponent, ArdiumRadioModule, ArdiumRangeSliderComponent, ArdiumRangeSliderModule, ArdiumSegmentComponent, ArdiumSegmentModule, ArdiumSelectComponent, ArdiumSelectModule, ArdiumSelectableChipComponent, ArdiumSimpleInputComponent, ArdiumSimpleInputModule, ArdiumSlideToggleComponent, ArdiumSlideToggleModule, ArdiumSliderComponent, ArdiumSliderModule, ArdiumSnackbarService, ArdiumSpinnerComponent, ArdiumSpinnerModule, ArdiumStarButtonComponent, ArdiumStarButtonModule, ArdiumStarComponent, ArdiumStarDisplayComponent, ArdiumStarDisplayModule, ArdiumStarInputComponent, ArdiumStarInputModule, ArdiumStarModule, ArdiumStateboxComponent, ArdiumStateboxModule, ArdiumTabComponent, ArdiumTabberComponent, ArdiumTabberModule, ArdiumTableCaptionTemplateDirective, ArdiumTableCheckboxTemplateDirective, ArdiumTableComponent, ArdiumTableFromCsvComponent, ArdiumTableFromCsvModule, ArdiumTableHeaderCheckboxTemplateDirective, ArdiumTableModule, ArdiumTablePaginationComponent, ArdiumTablePaginationModule, ArdiumTablePaginationTemplateDirective, ArdiumTableTemplateDirective, BadgePosition, BadgeSize, ButtonAppearance, ButtonVariant, CardAppearance, CardVariant, CheckboxListAlignType, CheckboxState, ClickStrategy, ColorDisplayAppearance, ComponentColor, DecorationElementAppearance, DialogResult, DigitInputPrimitiveOption, DigitInputShape, DropdownPanelAppearance, DropdownPanelVariant, FABSize, FormElementAppearance, FormElementVariant, OneAxisAlignment, OutlinedAppearance, PaginationAlign, PanelAppearance, PanelVariant, ProgressBarAppearance, ProgressBarMode, ProgressBarSize, ProgressBarVariant, ProgressCircleAppearance, ProgressCircleVariant, SegmentAppearance, SegmentVariant, SimpleComponentColor, SimpleOneAxisAlignment, SliderDecorationPosition, SliderTooltipBehavior, SortType, StarColor, StarFillMode, TableAlignType, TableAppearance, TablePaginationStrategy, TableVariant, TransformType, _DEFAULT_OPTIONS_STATIC, searchInString };
10504
10636
  //# sourceMappingURL=ardium-ui-ui.mjs.map