@ardium-ui/ui 5.0.0-alpha.4 → 5.0.0-alpha.40

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 (216) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +4120 -2316
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/disablable-component.d.ts +2 -1
  4. package/lib/_internal/focusable-component.d.ts +2 -1
  5. package/lib/_internal/form-field-component.d.ts +2 -1
  6. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +16 -18
  7. package/lib/_internal/item-storages/simple-item-storage.d.ts +15 -12
  8. package/lib/_internal/item-storages/simplest-item-storage.d.ts +1 -1
  9. package/lib/_internal/ngmodel-component.d.ts +1 -0
  10. package/lib/_internal/selectable-list-component.d.ts +6 -6
  11. package/lib/_internal/utils/date.utils.d.ts +16 -0
  12. package/lib/badge/badge.directive.d.ts +3 -2
  13. package/lib/buttons/_button-base.d.ts +12 -8
  14. package/lib/buttons/_button-base.defaults.d.ts +3 -2
  15. package/lib/buttons/button/button.component.d.ts +5 -5
  16. package/lib/buttons/button/button.defaults.d.ts +0 -2
  17. package/lib/buttons/button/button.directive.d.ts +17 -0
  18. package/lib/buttons/button/button.module.d.ts +3 -2
  19. package/lib/buttons/button/index.d.ts +1 -0
  20. package/lib/buttons/fab/fab.component.d.ts +3 -1
  21. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -4
  22. package/lib/buttons/icon-button/icon-button.defaults.d.ts +2 -1
  23. package/lib/calendar/abstract-calendar.d.ts +127 -0
  24. package/lib/calendar/calendar.component.d.ts +8 -96
  25. package/lib/calendar/calendar.defaults.d.ts +12 -1
  26. package/lib/calendar/calendar.internal-directives.d.ts +24 -8
  27. package/lib/calendar/calendar.internal-types.d.ts +1 -0
  28. package/lib/calendar/calendar.module.d.ts +4 -9
  29. package/lib/calendar/calendar.types.d.ts +19 -5
  30. package/lib/calendar/index.d.ts +3 -0
  31. package/lib/calendar/range-calendar.component.d.ts +16 -0
  32. package/lib/calendar/range-calendar.directives.d.ts +51 -0
  33. package/lib/calendar/range-calendar.module.d.ts +10 -0
  34. package/lib/calendar/views/calendar-views.module.d.ts +13 -0
  35. package/lib/calendar/views/days-view/days-view.component.d.ts +20 -2
  36. package/lib/calendar/views/days-view/days-view.helpers.d.ts +2 -2
  37. package/lib/calendar/views/months-view/months-view.component.d.ts +15 -3
  38. package/lib/calendar/views/years-view/years-view.component.d.ts +15 -3
  39. package/lib/checkbox-list/checkbox-list.component.d.ts +9 -7
  40. package/lib/checkbox-list/checkbox-list.directives.d.ts +7 -0
  41. package/lib/checkbox-list/checkbox-list.module.d.ts +1 -1
  42. package/lib/chip/chip.component.d.ts +2 -1
  43. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +2 -1
  44. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +3 -2
  45. package/lib/dialog/dialog.component.d.ts +8 -7
  46. package/lib/divider/divider.component.d.ts +2 -1
  47. package/lib/dropdown-panel/dropdown-panel.component.d.ts +2 -1
  48. package/lib/file-inputs/file-input/file-input.component.d.ts +2 -1
  49. package/lib/file-inputs/file-input-base.d.ts +4 -5
  50. package/lib/form-field/error/error.directive.d.ts +3 -2
  51. package/lib/form-field/form-field-base.d.ts +6 -2
  52. package/lib/form-field/form-field-native-inputs.d.ts +3 -2
  53. package/lib/form-field/form-field.component.d.ts +1 -1
  54. package/lib/form-field/form-field.module.d.ts +5 -4
  55. package/lib/form-field/hint/hint.directive.d.ts +3 -2
  56. package/lib/form-field/hint-error/hint-error.component.d.ts +6 -0
  57. package/lib/form-field/hint-error/hint-error.directive.d.ts +9 -0
  58. package/lib/form-field/horizontal-form-field.component.d.ts +1 -1
  59. package/lib/form-field/index.d.ts +4 -0
  60. package/lib/form-field/label/label.component.d.ts +3 -2
  61. package/lib/form-field-frame/form-field-frame.component.d.ts +4 -3
  62. package/lib/icon/icon.component.d.ts +2 -1
  63. package/lib/inputs/_simple-input-base.d.ts +4 -2
  64. package/lib/inputs/autocomplete-input/autocomplete-input.component.d.ts +5 -4
  65. package/lib/inputs/date-input/abstract-date-input.d.ts +112 -0
  66. package/lib/inputs/date-input/date-input.component.d.ts +19 -81
  67. package/lib/inputs/date-input/date-input.defaults.d.ts +21 -3
  68. package/lib/inputs/date-input/{date-input.directive.d.ts → date-input.directives.d.ts} +2 -2
  69. package/lib/inputs/date-input/date-input.module.d.ts +5 -4
  70. package/lib/inputs/date-input/date-input.serializers.d.ts +4 -2
  71. package/lib/inputs/date-input/date-input.types.d.ts +5 -4
  72. package/lib/inputs/date-input/date-range-input.component.d.ts +29 -0
  73. package/lib/inputs/date-input/date-range-input.directives.d.ts +82 -0
  74. package/lib/inputs/date-input/date-range-input.module.d.ts +17 -0
  75. package/lib/inputs/date-input/index.d.ts +7 -1
  76. package/lib/inputs/date-input/multipage-date-range-input.component.d.ts +44 -0
  77. package/lib/inputs/date-input/multipage-date-range-input.directives.d.ts +82 -0
  78. package/lib/inputs/date-input/multipage-date-range-input.module.d.ts +17 -0
  79. package/lib/inputs/digit-input/digit-input.component.d.ts +4 -3
  80. package/lib/inputs/hex-input/hex-input.component.d.ts +5 -3
  81. package/lib/inputs/number-input/number-input.component.d.ts +11 -10
  82. package/lib/inputs/number-input/number-input.defaults.d.ts +1 -0
  83. package/lib/inputs/password-input/password-input.component.d.ts +4 -3
  84. package/lib/kbd/kbd.component.d.ts +2 -1
  85. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -1
  86. package/lib/modal/modal.component.d.ts +6 -5
  87. package/lib/option/option.component.d.ts +2 -1
  88. package/lib/progress-bar/progress-bar.component.d.ts +4 -3
  89. package/lib/progress-circle/progress-circle.component.d.ts +5 -4
  90. package/lib/segment/segment.component.d.ts +6 -5
  91. package/lib/select/select.component.d.ts +33 -26
  92. package/lib/select/select.defaults.d.ts +7 -0
  93. package/lib/select/select.directive.d.ts +6 -0
  94. package/lib/select/select.module.d.ts +1 -1
  95. package/lib/select/select.types.d.ts +4 -2
  96. package/lib/select/select.utils.d.ts +2 -0
  97. package/lib/slider/abstract-slider.d.ts +35 -29
  98. package/lib/slider/index.d.ts +1 -0
  99. package/lib/slider/range-slider/range-slider.component.d.ts +12 -9
  100. package/lib/slider/range-slider/range-slider.types.d.ts +6 -0
  101. package/lib/slider/slider.component.d.ts +5 -4
  102. package/lib/slider/slider.types.d.ts +3 -3
  103. package/lib/star/rating-display/rating-display.component.d.ts +2 -1
  104. package/lib/star/rating-input/rating-input.component.d.ts +2 -1
  105. package/lib/tabber/index.d.ts +2 -1
  106. package/lib/tabber/tab/tab.component.d.ts +14 -8
  107. package/lib/tabber/tabber.component.d.ts +25 -9
  108. package/lib/tabber/tabber.defaults.d.ts +1 -0
  109. package/lib/tabber/tabber.directives.d.ts +9 -0
  110. package/lib/tabber/tabber.module.d.ts +3 -2
  111. package/lib/tabber/tabber.types.d.ts +5 -0
  112. package/lib/table/table.component.d.ts +16 -15
  113. package/lib/table-pagination/table-pagination.component.d.ts +4 -3
  114. package/lib/text-list/text-list.component.d.ts +2 -1
  115. package/lib/types/item-storage.types.d.ts +15 -17
  116. package/package.json +1 -1
  117. package/prebuilt-themes/default/buttons/button.css +72 -57
  118. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  119. package/prebuilt-themes/default/buttons/fab.css +65 -51
  120. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  121. package/prebuilt-themes/default/buttons/icon-button.css +56 -44
  122. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  123. package/prebuilt-themes/default/calendar.css +134 -54
  124. package/prebuilt-themes/default/calendar.css.map +1 -1
  125. package/prebuilt-themes/default/card.css.map +1 -1
  126. package/prebuilt-themes/default/checkbox-list.css +48 -22
  127. package/prebuilt-themes/default/checkbox-list.css.map +1 -1
  128. package/prebuilt-themes/default/checkbox.css +4 -4
  129. package/prebuilt-themes/default/chips.css +18 -13
  130. package/prebuilt-themes/default/chips.css.map +1 -1
  131. package/prebuilt-themes/default/color-display.css +1 -1
  132. package/prebuilt-themes/default/core.css +9 -1
  133. package/prebuilt-themes/default/core.css.map +1 -1
  134. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  135. package/prebuilt-themes/default/form-field-frame.css +6 -2
  136. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  137. package/prebuilt-themes/default/form-field.css +31 -11
  138. package/prebuilt-themes/default/form-field.css.map +1 -1
  139. package/prebuilt-themes/default/inputs/autocomplete-input.css +72 -25
  140. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  141. package/prebuilt-themes/default/inputs/color-input.css +5 -44
  142. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  143. package/prebuilt-themes/default/inputs/date-input.css +79 -21
  144. package/prebuilt-themes/default/inputs/date-input.css.map +1 -1
  145. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  146. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  147. package/prebuilt-themes/default/inputs/file-input.css +112 -62
  148. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  149. package/prebuilt-themes/default/inputs/hex-input.css +47 -20
  150. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  151. package/prebuilt-themes/default/inputs/input.css +39 -15
  152. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  153. package/prebuilt-themes/default/inputs/number-input.css +52 -22
  154. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  155. package/prebuilt-themes/default/inputs/password-input.css +67 -22
  156. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  157. package/prebuilt-themes/default/inputs/search-bar.css +41 -16
  158. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  159. package/prebuilt-themes/default/kbd-shortcut.css +1 -1
  160. package/prebuilt-themes/default/kbd.css +1 -1
  161. package/prebuilt-themes/default/modal.css +2 -1
  162. package/prebuilt-themes/default/modal.css.map +1 -1
  163. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  164. package/prebuilt-themes/default/radio.css +9 -7
  165. package/prebuilt-themes/default/radio.css.map +1 -1
  166. package/prebuilt-themes/default/segment.css +74 -61
  167. package/prebuilt-themes/default/segment.css.map +1 -1
  168. package/prebuilt-themes/default/select.css +91 -44
  169. package/prebuilt-themes/default/select.css.map +1 -1
  170. package/prebuilt-themes/default/slide-toggle.css +4 -4
  171. package/prebuilt-themes/default/slide-toggle.css.map +1 -1
  172. package/prebuilt-themes/default/slider.css +100 -52
  173. package/prebuilt-themes/default/slider.css.map +1 -1
  174. package/prebuilt-themes/default/stars.css +4 -4
  175. package/prebuilt-themes/default/stars.css.map +1 -1
  176. package/prebuilt-themes/default/statebox.css +5 -5
  177. package/prebuilt-themes/default/tabber.css +40 -16
  178. package/prebuilt-themes/default/tabber.css.map +1 -1
  179. package/prebuilt-themes/default/table.css.map +1 -1
  180. package/themes/_variables.scss +2 -1
  181. package/themes/default/_mixins.scss +4 -4
  182. package/themes/default/buttons/_button-mixins.scss +43 -33
  183. package/themes/default/buttons/button.scss +49 -28
  184. package/themes/default/buttons/fab.scss +48 -26
  185. package/themes/default/buttons/icon-button.scss +38 -17
  186. package/themes/default/calendar.scss +146 -55
  187. package/themes/default/checkbox-list.scss +47 -21
  188. package/themes/default/chips.scss +12 -12
  189. package/themes/default/color-display.scss +1 -1
  190. package/themes/default/core.scss +11 -1
  191. package/themes/default/form-field-frame.scss +9 -4
  192. package/themes/default/form-field.scss +23 -9
  193. package/themes/default/inputs/_shared.scss +30 -9
  194. package/themes/default/inputs/autocomplete-input.scss +68 -14
  195. package/themes/default/inputs/color-input.scss +2 -2
  196. package/themes/default/inputs/date-input.scss +54 -5
  197. package/themes/default/inputs/digit-input.scss +1 -1
  198. package/themes/default/inputs/file-input.scss +83 -23
  199. package/themes/default/inputs/hex-input.scss +44 -9
  200. package/themes/default/inputs/input.scss +37 -4
  201. package/themes/default/inputs/number-input.scss +54 -15
  202. package/themes/default/inputs/password-input.scss +70 -15
  203. package/themes/default/inputs/search-bar.scss +39 -5
  204. package/themes/default/kbd-shortcut.scss +1 -1
  205. package/themes/default/kbd.scss +1 -1
  206. package/themes/default/modal.scss +2 -1
  207. package/themes/default/radio.scss +5 -3
  208. package/themes/default/segment.scss +75 -67
  209. package/themes/default/select.scss +96 -42
  210. package/themes/default/slider.scss +100 -65
  211. package/themes/default/statebox.scss +1 -1
  212. package/themes/default/tabber.scss +36 -13
  213. package/lib/tabber/tab/tab.defaults.d.ts +0 -6
  214. package/prebuilt-themes/default/calendar-OLD.css +0 -294
  215. package/prebuilt-themes/default/calendar-OLD.css.map +0 -1
  216. package/themes/default/calendar-OLD.scss +0 -183
@@ -1,3 +1,4 @@
1
+ import { BooleanLike } from '@ardium-ui/devkit';
1
2
  import * as i0 from "@angular/core";
2
3
  export interface _DisablableComponentDefaults {
3
4
  readonly: boolean;
@@ -10,7 +11,7 @@ export declare abstract class _DisablableComponentBase {
10
11
  /**
11
12
  * Whether the component is read-only. Defines the `readonly` host attribute and `ard-readonly` host class. Coercible into a boolean.
12
13
  */
13
- readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, any>;
14
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
14
15
  /**
15
16
  * Whether the component is disabled. Defines the `disabled` host attribute and `ard-disabled` host class. Coercible into a boolean.
16
17
  */
@@ -1,3 +1,4 @@
1
+ import { NumberLike } from '@ardium-ui/devkit';
1
2
  import { _DisablableComponentBase, _DisablableComponentDefaults } from './disablable-component';
2
3
  import * as i0 from "@angular/core";
3
4
  export interface _FocusableComponentDefaults extends _DisablableComponentDefaults {
@@ -27,7 +28,7 @@ export declare abstract class _FocusableComponentBase extends _DisablableCompone
27
28
  * The component's overall tab index. If the component is disabled, it is always `-1`. Coercible into a number, defaults to `0`.
28
29
  */
29
30
  readonly tabIndex: import("@angular/core").Signal<number>;
30
- readonly _tabIndex: import("@angular/core").InputSignalWithTransform<number, any>;
31
+ readonly _tabIndex: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
31
32
  /**
32
33
  * The event emitter responsible for firing `focus` events.
33
34
  */
@@ -1,4 +1,5 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
+ import { BooleanLike } from '@ardium-ui/devkit';
2
3
  import { ArdFormFieldControl } from '../form-field/form-field-child.token';
3
4
  import { _NgModelComponentBase, _NgModelComponentDefaults } from './ngmodel-component';
4
5
  import * as i0 from "@angular/core";
@@ -15,7 +16,7 @@ export declare abstract class _FormFieldComponentBase extends _NgModelComponentB
15
16
  protected readonly _DEFAULTS: _FormFieldComponentDefaults;
16
17
  readonly _required: import("@angular/core").InputSignalWithTransform<boolean | undefined, any>;
17
18
  get required(): boolean;
18
- readonly isSuccess: import("@angular/core").InputSignalWithTransform<boolean, any>;
19
+ readonly isSuccess: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<_FormFieldComponentBase, never>;
20
21
  static ɵdir: i0.ɵɵDirectiveDeclaration<_FormFieldComponentBase, never, never, { "_required": { "alias": "required"; "required": false; "isSignal": true; }; "isSuccess": { "alias": "isSuccess"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
22
  }
@@ -16,26 +16,24 @@ export interface ItemStorageHost {
16
16
  readonly searchFn: Signal<SearchFn>;
17
17
  readonly compareWith: Signal<Nullable<CompareWithFn>>;
18
18
  readonly multiselectable: Signal<boolean>;
19
- readonly sortMultipleValues: Signal<boolean>;
20
19
  readonly maxSelectedItems: Signal<Nullable<number>>;
21
20
  readonly addCustom: Signal<boolean | AddCustomFn<any> | AddCustomFn<Promise<any>>>;
22
21
  readonly _componentId: string;
23
22
  }
24
23
  export declare class ItemStorage {
25
24
  private readonly _ardParentComp;
26
- private readonly _groups;
27
25
  private readonly _items;
28
- private readonly _filteredItems;
29
- private readonly _highlightedItems;
30
- private readonly _highlightedGroups;
26
+ readonly filteredItems: Signal<ArdOption[]>;
27
+ readonly selectedItems: Signal<ArdOption[]>;
28
+ readonly highlightedItems: Signal<ArdOption[]>;
29
+ private readonly _lastHighlightedItem;
31
30
  private readonly _recentlyHighlightedItem;
32
- private readonly _selectedItems;
31
+ private readonly _groups;
32
+ private _updateItems;
33
+ private _updateItemsFromArray;
33
34
  constructor(_ardParentComp: ItemStorageHost);
34
35
  readonly groups: Signal<ArdOptionGroup[]>;
35
36
  readonly items: Signal<ArdOption[]>;
36
- readonly filteredItems: Signal<ArdOption[]>;
37
- readonly highlightedItems: Signal<ArdOption[]>;
38
- readonly selectedItems: Signal<ArdOption[]>;
39
37
  readonly lastSelectedItem: Signal<ArdOption>;
40
38
  readonly value: Signal<any[]>;
41
39
  private _itemsToValue;
@@ -43,25 +41,27 @@ export declare class ItemStorage {
43
41
  readonly isNoItemsFound: Signal<boolean>;
44
42
  readonly isAnyItemSelected: Signal<boolean>;
45
43
  readonly isAnyItemHighlighted: Signal<boolean>;
44
+ readonly itemsLeftUntilLimit: Signal<number>;
46
45
  readonly isItemLimitReached: Signal<boolean>;
46
+ private readonly _highlightableItems;
47
47
  setItems(items: any[]): void;
48
+ updateItemFromOptionComponent(itemValue: any, updatedItem: Partial<ArdOption>): void;
48
49
  private _addSingleItem;
49
50
  private _primitiveItemsMapFn;
50
51
  private _ungroupAlreadyGroupedItems;
51
52
  private _setItemsMapFn;
52
- private _populateGroups;
53
- private _addToGroup;
54
53
  private _createEmptyGroupMap;
55
54
  private _isWriteValueValid;
56
- private readonly _valueToWriteAfterItemsLoad;
57
- private readonly _wasValueWriteDeferred;
58
- handleWriteValue(ngModel: any[]): void;
55
+ private _valueToWriteAfterItemsLoad;
56
+ private _wasValueWriteDeferred;
57
+ handleWriteValue(ngModel: any): void;
59
58
  findItemByValue(valueToFind: any): ArdOption | undefined;
60
59
  addCustomOption(value: string, fn: AddCustomFn<any> | AddCustomFn<Promise<any>>): Promise<ArdOption | null>;
61
- clearAllSelected(repopulateGroups?: boolean): any[];
60
+ clearAllSelected(): any[];
62
61
  clearLastSelected(): ArdOption;
63
62
  selectItem(...items: ArdOption[]): [any[], any[], any[]];
64
63
  unselectItem(...items: ArdOption[]): any[];
64
+ toggleItem(item: ArdOption): void;
65
65
  clearAllHighlights(): void;
66
66
  highlightGroup(group: ArdOptionGroup): ArdOption;
67
67
  highlightSingleItem(item: ArdOption): ArdOption | null;
@@ -69,10 +69,8 @@ export declare class ItemStorage {
69
69
  unhighlightItem(...items: ArdOption[]): void;
70
70
  highlightFirstItem(): ArdOption | null;
71
71
  highlightLastItem(): ArdOption | null;
72
- private _getHiglightableItems;
73
72
  highlightAllItems(): void;
74
- private _clearRecentlyHighlighted;
75
- setRecentlyHighlighted(item: ArdOption): void;
73
+ setRecentlyHighlighted(itemToSet: ArdOption): void;
76
74
  highlightNextItem(offset: number, hasShift?: boolean): ArdOption | null;
77
75
  filter(filterTerm: string): any[];
78
76
  resetFiltered(): ArdOption[];
@@ -22,21 +22,19 @@ export interface SimpleItemStorageHost {
22
22
  export declare class SimpleItemStorage {
23
23
  private readonly _ardParentComp;
24
24
  private readonly _items;
25
- private readonly _highlightedItems;
26
- private readonly _selectedItems;
27
25
  constructor(_ardParentComp: SimpleItemStorageHost);
28
26
  /**
29
27
  * Gets all items.
30
28
  */
31
29
  readonly items: Signal<ArdOptionSimple[]>;
32
- /**
33
- * Gets all currently highlighted items.
34
- */
35
- readonly highlightedItems: Signal<ArdOptionSimple[]>;
36
30
  /**
37
31
  * Gets all currently selected items.
38
32
  */
39
33
  readonly selectedItems: Signal<ArdOptionSimple[]>;
34
+ /**
35
+ * Gets all currently highlighted items.
36
+ */
37
+ readonly highlightedItems: Signal<ArdOptionSimple[]>;
40
38
  /**
41
39
  * Gets the values of the currently selected items.
42
40
  */
@@ -47,16 +45,25 @@ export declare class SimpleItemStorage {
47
45
  * @returns An array of item values.
48
46
  */
49
47
  private _itemsToValue;
48
+ private _updateItems;
49
+ private _updateItemsFromArray;
50
50
  /**
51
51
  * Returns true if at least one item is highlighted, otherwise false.
52
52
  */
53
53
  readonly isAnyItemHighlighted: Signal<boolean>;
54
+ /**
55
+ * Finds all highlightable items. An item is considered highlightable if it is **not** disabled.
56
+ * @returns An array of all highlightable items.
57
+ */
58
+ private readonly _highlightableItems;
59
+ readonly itemsLeftUntilLimit: Signal<number>;
54
60
  /**
55
61
  * Returns true if the parent component defines the limit of concurrently selectable items and the amount of currently selected items matches that limit. Otherwise returns false.
56
62
  *
57
63
  * **TLDR**: true if `maxSelectedItems` is defined and the number of selected items matches that value.
58
64
  */
59
65
  readonly isItemLimitReached: Signal<boolean>;
66
+ private _areItemsInitialized;
60
67
  /**
61
68
  * Sets the component's items. Takes into account the values defined by the parent component for `valueFrom`, `labelFrom`, and `disabledFrom`.
62
69
  * @param items An array of items to be set as the component's items.
@@ -65,11 +72,12 @@ export declare class SimpleItemStorage {
65
72
  setItems(items: unknown[]): void;
66
73
  private _primitiveItemsMapFn;
67
74
  private _setItemsMapFn;
75
+ private _valueBeforeItemsSet;
68
76
  /**
69
77
  * Writes a new value to the item storage. Selects the correct items based on the provided values, warning the user if the value is not found.
70
78
  * @param ngModel The value of the ngModel to set.
71
79
  */
72
- writeValue(ngModel: any[]): void;
80
+ writeValue(ngModel: any): void;
73
81
  private _validateSingleElementType;
74
82
  /**
75
83
  * Validates that all values of the value to be written are able to be accurately compared against the storage items.
@@ -156,9 +164,4 @@ export declare class SimpleItemStorage {
156
164
  * @returns The item highlighted.
157
165
  */
158
166
  highlightNextItem(offset: number, hasShift?: boolean): ArdOptionSimple | null;
159
- /**
160
- * Finds all highlightable items. An item is considered highlightable if it is **not** disabled.
161
- * @returns An array of all highlightable items.
162
- */
163
- private readonly highlightableItems;
164
167
  }
@@ -18,7 +18,7 @@ export declare class SimplestItemStorage {
18
18
  /**
19
19
  * Gets all items.
20
20
  */
21
- readonly items: Signal<ArdSimplestStorageItem[]>;
21
+ readonly items: import("@ardium-ui/devkit").ArraySignal<ArdSimplestStorageItem>;
22
22
  /**
23
23
  * The currently highlighted item.
24
24
  */
@@ -45,6 +45,7 @@ export declare abstract class _NgModelComponentBase extends _FocusableComponentB
45
45
  onFocus(event: FocusEvent): void;
46
46
  protected _shouldEmitTouched: boolean;
47
47
  onBlur(event: FocusEvent): void;
48
+ protected _emitTouched(): void;
48
49
  protected readonly _injector: Injector;
49
50
  private _statusChangesSub?;
50
51
  ngOnInit(): void;
@@ -1,4 +1,5 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
+ import { BooleanLike } from '@ardium-ui/devkit';
2
3
  import { ArdFormFieldControl } from '../form-field/form-field-child.token';
3
4
  import { ArdOptionSimple, CompareWithFn, OptionContext } from '../types/item-storage.types';
4
5
  import { Nullable } from '../types/utility.types';
@@ -30,13 +31,13 @@ export declare abstract class _SelectableListComponentBase extends _FormFieldCom
30
31
  readonly compareWith: import("@angular/core").InputSignal<Nullable<CompareWithFn>>;
31
32
  get items(): any[];
32
33
  set items(value: any);
33
- readonly multiselectable: import("@angular/core").InputSignalWithTransform<boolean, any>;
34
+ readonly multiselectable: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
34
35
  get _multiselectableHostAttribute(): boolean;
35
36
  readonly singleselectable: import("@angular/core").Signal<boolean>;
36
- readonly requireValue: import("@angular/core").InputSignalWithTransform<boolean, any>;
37
+ readonly requireValue: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
37
38
  readonly isValueRequired: import("@angular/core").Signal<boolean>;
38
39
  get _requireValueHostAttribute(): boolean;
39
- readonly invertDisabled: import("@angular/core").InputSignalWithTransform<boolean, any>;
40
+ readonly invertDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
40
41
  readonly maxSelectedItems: import("@angular/core").InputSignalWithTransform<Nullable<number>, any>;
41
42
  setDisabledState(state: boolean): void;
42
43
  writeValue(ngModel: any[]): void;
@@ -50,10 +51,9 @@ export declare abstract class _SelectableListComponentBase extends _FormFieldCom
50
51
  readonly highlightedItems: import("@angular/core").Signal<ArdOptionSimple[]>;
51
52
  readonly firstHighlightedItem: import("@angular/core").Signal<Nullable<ArdOptionSimple>>;
52
53
  readonly isItemLimitReached: import("@angular/core").Signal<boolean>;
53
- getOptionContext(item: ArdOptionSimple): OptionContext<ArdOptionSimple>;
54
+ readonly optionContextGenerator: import("@angular/core").Signal<(item: ArdOptionSimple) => OptionContext<ArdOptionSimple>>;
54
55
  set value(newValue: any);
55
56
  readonly valueChange: import("@angular/core").OutputEmitterRef<any>;
56
- readonly changeEvent: import("@angular/core").OutputEmitterRef<any>;
57
57
  readonly addEvent: import("@angular/core").OutputEmitterRef<any[]>;
58
58
  readonly removeEvent: import("@angular/core").OutputEmitterRef<any[]>;
59
59
  toggleItem(item: ArdOptionSimple): void;
@@ -72,5 +72,5 @@ export declare abstract class _SelectableListComponentBase extends _FormFieldCom
72
72
  private _highlightLast;
73
73
  private _highlightAll;
74
74
  static ɵfac: i0.ɵɵFactoryDeclaration<_SelectableListComponentBase, never>;
75
- static ɵdir: i0.ɵɵDirectiveDeclaration<_SelectableListComponentBase, never, never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "requireValue": { "alias": "requireValue"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "removeEvent": "remove"; }, never, never, true, never>;
75
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_SelectableListComponentBase, never, never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "requireValue": { "alias": "requireValue"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "addEvent": "add"; "removeEvent": "remove"; }, never, never, true, never>;
76
76
  }
@@ -1,3 +1,19 @@
1
1
  export declare function getUTCDate(): Date;
2
2
  export declare function getUTCDate(year: number, monthIndex: number, day: number): Date;
3
3
  export declare function getUTCDate(year: number, monthIndex: number, day: number, hour: number, minute: number, second: number, millisecond: number): Date;
4
+ export declare function createDate(year: number, month: number, date: number, UTC: boolean): Date;
5
+ export declare function getDateComponents(date: null, UTC: boolean): {
6
+ year: null;
7
+ month: null;
8
+ date: null;
9
+ };
10
+ export declare function getDateComponents(date: Date, UTC: boolean): {
11
+ year: number;
12
+ month: number;
13
+ date: number;
14
+ };
15
+ export declare function getDateComponents(date: Date | null, UTC: boolean): {
16
+ year: number | null;
17
+ month: number | null;
18
+ date: number | null;
19
+ };
@@ -1,4 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
+ import { BooleanLike } from '@ardium-ui/devkit';
2
3
  import { ComponentColor } from '../types/colors.types';
3
4
  import { FormElementVariant } from '../types/theming.types';
4
5
  import { BadgePosition, BadgeSize } from './badge.types';
@@ -13,8 +14,8 @@ export declare class ArdiumBadgeDirective implements OnChanges, AfterViewInit, O
13
14
  readonly size: import("@angular/core").InputSignal<BadgeSize>;
14
15
  readonly position: import("@angular/core").InputSignalWithTransform<BadgePosition, BadgePosition>;
15
16
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
16
- readonly hidden: import("@angular/core").InputSignalWithTransform<boolean, any>;
17
- readonly overlap: import("@angular/core").InputSignalWithTransform<boolean, any>;
17
+ readonly hidden: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
18
+ readonly overlap: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
18
19
  private readonly _elementClasses;
19
20
  private _createBadgeElement;
20
21
  private readonly _badgeElement;
@@ -1,21 +1,25 @@
1
1
  import { Signal } from '@angular/core';
2
- import { _FocusableComponentBase } from '../_internal/focusable-component';
2
+ import { BooleanLike, NumberLike } from '@ardium-ui/devkit';
3
3
  import { ButtonType } from '../types/button.types';
4
4
  import { ComponentColor } from '../types/colors.types';
5
5
  import { _ButtonBaseDefaults } from './_button-base.defaults';
6
6
  import { ButtonAppearance } from './general-button.types';
7
7
  import * as i0 from "@angular/core";
8
- export declare abstract class _ButtonBase extends _FocusableComponentBase {
9
- readonly wrapperClasses: import("@angular/core").InputSignal<string>;
8
+ export declare abstract class _ButtonBase {
10
9
  protected readonly _DEFAULTS: _ButtonBaseDefaults;
11
- constructor(defaults: _ButtonBaseDefaults);
10
+ readonly wrapperClasses: import("@angular/core").InputSignal<string>;
11
+ constructor(_DEFAULTS: _ButtonBaseDefaults);
12
12
  readonly type: import("@angular/core").InputSignal<ButtonType>;
13
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
13
14
  readonly appearance: import("@angular/core").InputSignal<ButtonAppearance>;
14
15
  readonly color: import("@angular/core").InputSignal<ComponentColor>;
15
- readonly lightColoring: import("@angular/core").InputSignalWithTransform<boolean, any>;
16
- readonly compact: import("@angular/core").InputSignalWithTransform<boolean, any>;
17
- readonly pointerEventsWhenDisabled: import("@angular/core").InputSignalWithTransform<boolean, any>;
16
+ readonly lightColoring: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
17
+ readonly compact: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
18
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
19
+ readonly tabIndex: Signal<number>;
20
+ readonly _tabIndex: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
21
+ readonly pointerEventsWhenDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
18
22
  abstract readonly ngClasses: Signal<string>;
19
23
  static ɵfac: i0.ɵɵFactoryDeclaration<_ButtonBase, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<_ButtonBase, never, never, { "wrapperClasses": { "alias": "wrapperClasses"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "lightColoring": { "alias": "lightColoring"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "pointerEventsWhenDisabled": { "alias": "pointerEventsWhenDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_ButtonBase, never, never, { "wrapperClasses": { "alias": "wrapperClasses"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "lightColoring": { "alias": "lightColoring"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "_tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "pointerEventsWhenDisabled": { "alias": "pointerEventsWhenDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
25
  }
@@ -1,8 +1,9 @@
1
- import { _FocusableComponentDefaults } from '../_internal/focusable-component';
2
1
  import { ButtonType } from '../types/button.types';
3
2
  import { ComponentColor } from './../types/colors.types';
4
3
  import { ButtonAppearance } from './general-button.types';
5
- export interface _SimpleButtonDefaults extends _FocusableComponentDefaults {
4
+ export interface _SimpleButtonDefaults {
5
+ disabled: boolean;
6
+ tabIndex: number;
6
7
  color: ComponentColor;
7
8
  lightColoring: boolean;
8
9
  compact: boolean;
@@ -1,16 +1,16 @@
1
- import { SimpleOneAxisAlignment } from '../../types/alignment.types';
1
+ import { BooleanLike } from '@ardium-ui/devkit';
2
2
  import { _ButtonBase } from '../_button-base';
3
3
  import { ButtonVariant } from '../general-button.types';
4
4
  import { ArdButtonDefaults } from './button.defaults';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ArdiumButtonComponent extends _ButtonBase {
7
7
  protected readonly _DEFAULTS: ArdButtonDefaults;
8
- readonly icon: import("@angular/core").InputSignal<string>;
9
8
  constructor(defaults: ArdButtonDefaults);
9
+ readonly focusEvent: import("@angular/core").OutputEmitterRef<FocusEvent>;
10
+ readonly blurEvent: import("@angular/core").OutputEmitterRef<FocusEvent>;
10
11
  readonly variant: import("@angular/core").InputSignal<ButtonVariant>;
11
- readonly alignIcon: import("@angular/core").InputSignal<SimpleOneAxisAlignment>;
12
- readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, any>;
12
+ readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
13
13
  readonly ngClasses: import("@angular/core").Signal<string>;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumButtonComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumButtonComponent, "ard-button", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "alignIcon": { "alias": "alignIcon"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumButtonComponent, "ard-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; }, { "focusEvent": "focus"; "blurEvent": "blur"; }, never, ["*"], false, never>;
16
16
  }
@@ -1,10 +1,8 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
2
  import { _ButtonBaseDefaults } from '../_button-base.defaults';
3
3
  import { ButtonVariant } from '../general-button.types';
4
- import { SimpleOneAxisAlignment } from './../../types/alignment.types';
5
4
  export interface ArdButtonDefaults extends _ButtonBaseDefaults {
6
5
  variant: ButtonVariant;
7
- alignIcon: SimpleOneAxisAlignment;
8
6
  vertical: boolean;
9
7
  }
10
8
  export declare const ARD_BUTTON_DEFAULTS: InjectionToken<ArdButtonDefaults>;
@@ -0,0 +1,17 @@
1
+ import { BooleanLike } from '@ardium-ui/devkit';
2
+ import { _ButtonBase } from '../_button-base';
3
+ import { ButtonVariant } from '../general-button.types';
4
+ import { ArdButtonDefaults } from './button.defaults';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ArdiumButtonDirective extends _ButtonBase {
7
+ protected readonly _DEFAULTS: ArdButtonDefaults;
8
+ constructor(defaults: ArdButtonDefaults);
9
+ private readonly _hostEl;
10
+ private readonly _renderer;
11
+ handleClick(event: Event): void;
12
+ readonly variant: import("@angular/core").InputSignal<ButtonVariant>;
13
+ readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
14
+ readonly ngClasses: import("@angular/core").Signal<string>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumButtonDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ArdiumButtonDirective, "button[ard-button], a[ard-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
17
+ }
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./button.component";
3
- import * as i2 from "@angular/common";
3
+ import * as i2 from "./button.directive";
4
+ import * as i3 from "@angular/common";
4
5
  export declare class ArdiumButtonModule {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumButtonModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumButtonModule, [typeof i1.ArdiumButtonComponent], [typeof i2.CommonModule], [typeof i1.ArdiumButtonComponent]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumButtonModule, [typeof i1.ArdiumButtonComponent, typeof i2.ArdiumButtonDirective], [typeof i3.CommonModule], [typeof i1.ArdiumButtonComponent, typeof i2.ArdiumButtonDirective]>;
7
8
  static ɵinj: i0.ɵɵInjectorDeclaration<ArdiumButtonModule>;
8
9
  }
@@ -1,3 +1,4 @@
1
1
  export * from './button.component';
2
2
  export * from './button.defaults';
3
+ export * from './button.directive';
3
4
  export * from './button.module';
@@ -4,8 +4,10 @@ import { ArdFabDefaults } from './fab.defaults';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ArdiumFabComponent extends _ButtonBase {
6
6
  constructor(defaults: ArdFabDefaults);
7
+ readonly focusEvent: import("@angular/core").OutputEmitterRef<FocusEvent>;
8
+ readonly blurEvent: import("@angular/core").OutputEmitterRef<FocusEvent>;
7
9
  readonly size: import("@angular/core").InputSignal<FabSize>;
8
10
  readonly ngClasses: import("@angular/core").Signal<string>;
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumFabComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumFabComponent, "ard-fab", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumFabComponent, "ard-fab", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "focusEvent": "focus"; "blurEvent": "blur"; }, never, ["*"], false, never>;
11
13
  }
@@ -1,3 +1,4 @@
1
+ import { BooleanLike } from '@ardium-ui/devkit';
1
2
  import { _FocusableComponentBase } from '../../_internal/focusable-component';
2
3
  import { ButtonType } from '../../types/button.types';
3
4
  import { ComponentColor } from '../../types/colors.types';
@@ -8,11 +9,12 @@ export declare class ArdiumIconButtonComponent extends _FocusableComponentBase {
8
9
  constructor(defaults: ArdIconButtonDefaults);
9
10
  readonly wrapperClasses: import("@angular/core").InputSignal<string>;
10
11
  readonly type: import("@angular/core").InputSignal<ButtonType>;
12
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
11
13
  readonly color: import("@angular/core").InputSignal<ComponentColor>;
12
- readonly lightColoring: import("@angular/core").InputSignalWithTransform<boolean, any>;
13
- readonly compact: import("@angular/core").InputSignalWithTransform<boolean, any>;
14
- readonly pointerEventsWhenDisabled: import("@angular/core").InputSignalWithTransform<boolean, any>;
14
+ readonly lightColoring: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
15
+ readonly compact: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
16
+ readonly pointerEventsWhenDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
15
17
  readonly ngClasses: import("@angular/core").Signal<string>;
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumIconButtonComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumIconButtonComponent, "ard-icon-button", never, { "wrapperClasses": { "alias": "wrapperClasses"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "lightColoring": { "alias": "lightColoring"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "pointerEventsWhenDisabled": { "alias": "pointerEventsWhenDisabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumIconButtonComponent, "ard-icon-button", never, { "wrapperClasses": { "alias": "wrapperClasses"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "lightColoring": { "alias": "lightColoring"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "pointerEventsWhenDisabled": { "alias": "pointerEventsWhenDisabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
18
20
  }
@@ -1,6 +1,7 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
+ import { _FocusableComponentDefaults } from '../../_internal/focusable-component';
2
3
  import { _SimpleButtonDefaults } from '../_button-base.defaults';
3
- export interface ArdIconButtonDefaults extends _SimpleButtonDefaults {
4
+ export interface ArdIconButtonDefaults extends _SimpleButtonDefaults, _FocusableComponentDefaults {
4
5
  }
5
6
  export declare const ARD_ICON_BUTTON_DEFAULTS: InjectionToken<ArdIconButtonDefaults>;
6
7
  export declare function provideIconButtonDefaults(config: Partial<ArdIconButtonDefaults>): Provider;
@@ -0,0 +1,127 @@
1
+ import { ModelSignal, OnChanges, Signal, SimpleChanges } from '@angular/core';
2
+ import { BooleanLike, NumberLike } from '@ardium-ui/devkit';
3
+ import { _FormFieldComponentBase } from '../_internal/form-field-component';
4
+ import { ComponentColor } from '../types/colors.types';
5
+ import { ArdCalendarDefaults } from './calendar.defaults';
6
+ import { ArdCalendarDaysViewHeaderTemplateDirective, ArdCalendarDayTemplateDirective, ArdCalendarFloatingMonthTemplateDirective, ArdCalendarMonthsViewHeaderTemplateDirective, ArdCalendarMonthTemplateDirective, ArdCalendarWeekdayTemplateDirective, ArdCalendarYearsViewHeaderTemplateDirective, ArdCalendarYearTemplateDirective } from './calendar.directives';
7
+ import { _CalendarTemplateRepositoryDirective } from './calendar.internal-directives';
8
+ import { ArdCalendarFilterFn, ArdCalendarView, ArdMultiCalendarLocation } from './calendar.types';
9
+ import * as i0 from "@angular/core";
10
+ export declare abstract class _AbstractCalendar<T> extends _FormFieldComponentBase implements OnChanges {
11
+ abstract readonly componentId: string;
12
+ abstract readonly componentName: string;
13
+ abstract readonly isRangeSelector: boolean;
14
+ protected readonly _DEFAULTS: ArdCalendarDefaults;
15
+ constructor(defaults: ArdCalendarDefaults);
16
+ readonly TODAY: Signal<Date>;
17
+ readonly color: import("@angular/core").InputSignal<ComponentColor>;
18
+ readonly ngClasses: Signal<string>;
19
+ readonly activeView: ModelSignal<ArdCalendarView>;
20
+ readonly activeYear: ModelSignal<number>;
21
+ readonly activeMonth: ModelSignal<number>;
22
+ readonly activePageChange: import("@angular/core").OutputEmitterRef<{
23
+ year: number;
24
+ month: number;
25
+ }>;
26
+ readonly firstWeekday: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
27
+ readonly multipleYearPageChangeModifier: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
28
+ readonly multiCalendarLocation: import("@angular/core").InputSignal<ArdMultiCalendarLocation>;
29
+ readonly autoFocus: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
30
+ readonly staticHeight: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
31
+ readonly hideFloatingMonth: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
32
+ onTriggerOpenDaysView(): void;
33
+ onTriggerOpenMonthsView(): void;
34
+ onTriggerOpenYearsView(): void;
35
+ readonly selectionStart: import("@angular/core").WritableSignal<Date | null>;
36
+ readonly selectionEnd: import("@angular/core").WritableSignal<Date | null>;
37
+ abstract readonly endDate: Signal<Date | null>;
38
+ abstract readonly value: ModelSignal<T | null>;
39
+ readonly yearSelect: import("@angular/core").OutputEmitterRef<number>;
40
+ readonly monthSelect: import("@angular/core").OutputEmitterRef<number>;
41
+ readonly min: import("@angular/core").InputSignalWithTransform<Date | null, any>;
42
+ readonly max: import("@angular/core").InputSignalWithTransform<Date | null, any>;
43
+ readonly UTC: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
44
+ private readonly _UTCAfterInit;
45
+ readonly filter: import("@angular/core").InputSignal<ArdCalendarFilterFn | null>;
46
+ abstract writeValue(v: any): void;
47
+ protected _emitChange(): void;
48
+ private _isHoursSetInDate;
49
+ ngOnChanges(changes: SimpleChanges): void;
50
+ private _emitActivePageChange;
51
+ private _emitHighlightedDate;
52
+ isDayOutOfRange(day: number, month?: number, year?: number): number;
53
+ readonly isDayFilteredOut: Signal<(day: number, month?: number, year?: number) => boolean>;
54
+ selectDay(day: number | Date | null): void;
55
+ selectCurrentlyHighlightedDay(): void;
56
+ readonly highlightedDay: ModelSignal<number | null>;
57
+ readonly highlightDayEvent: import("@angular/core").OutputEmitterRef<Date>;
58
+ setHighlightedDay(day: number | null, month?: number, year?: number): void;
59
+ private _highlightMinDay;
60
+ private _highlightMaxDay;
61
+ highlightNextDay(offset?: number): void;
62
+ highlightPreviousDay(offset?: number): void;
63
+ highlightFirstDay(): void;
64
+ highlightLastDay(): void;
65
+ highlightSameDayNextMonth(): void;
66
+ highlightSameDayPreviousMonth(): void;
67
+ highlightSameDayNextYear(): void;
68
+ highlightSameDayPreviousYear(): void;
69
+ isMonthSelected(month: number | Date): boolean;
70
+ isMonthOutOfRange(month: number, year?: number): number;
71
+ changeMonth(newMonth: number | null): boolean;
72
+ selectMonth(newMonth: number | null): void;
73
+ selectCurrentlyHighlightedMonth(): void;
74
+ private readonly _highlightedMonth;
75
+ readonly highlightedMonth: Signal<number | null>;
76
+ setHighlightedMonth(month: number | null, year?: number): void;
77
+ private _highlightMinMonth;
78
+ private _highlightMaxMonth;
79
+ highlightNextMonth(offset?: number): void;
80
+ highlightPreviousMonth(offset?: number): void;
81
+ highlightFirstMonth(): void;
82
+ highlightLastMonth(): void;
83
+ highlightSameMonthNextYear(multiple: boolean): void;
84
+ highlightSameMonthPreviousYear(multiple: boolean): void;
85
+ isYearSelected(year: number | Date): boolean;
86
+ isYearOutOfRange(year: number): number;
87
+ changeYear(year: number | null): boolean;
88
+ selectYear(year: number | Date | null): void;
89
+ selectCurrentlyHighlightedYear(): void;
90
+ private readonly __highlightedYear;
91
+ readonly highlightedYear: Signal<number | null>;
92
+ readonly currentYearRangeStart: import("@angular/core").WritableSignal<number>;
93
+ setHighlightedYear(year: number | null): void;
94
+ changeYearsViewPage(offset: number): void;
95
+ private _highlightMinYear;
96
+ private _highlightMaxYear;
97
+ highlightNextYear(offset?: number): void;
98
+ highlightPreviousYear(offset?: number): void;
99
+ highlightFirstYear(): void;
100
+ highlightLastYear(): void;
101
+ highlightSameYearNextPage(multiple: boolean): void;
102
+ highlightSameYearPreviousPage(multiple: boolean): void;
103
+ readonly _isUsingKeyboard: import("@angular/core").WritableSignal<boolean>;
104
+ onDocumentMousemove(): void;
105
+ onDocumentKeydown(): void;
106
+ readonly templateRepository: Signal<_CalendarTemplateRepositoryDirective | undefined>;
107
+ readonly yearsViewHeaderTemplate: Signal<ArdCalendarYearsViewHeaderTemplateDirective | undefined>;
108
+ readonly monthsViewHeaderTemplate: Signal<ArdCalendarMonthsViewHeaderTemplateDirective | undefined>;
109
+ readonly daysViewHeaderTemplate: Signal<ArdCalendarDaysViewHeaderTemplateDirective | undefined>;
110
+ readonly floatingMonthTemplate: Signal<ArdCalendarFloatingMonthTemplateDirective | undefined>;
111
+ readonly yearTemplate: Signal<ArdCalendarYearTemplateDirective | undefined>;
112
+ readonly monthTemplate: Signal<ArdCalendarMonthTemplateDirective | undefined>;
113
+ readonly dayTemplate: Signal<ArdCalendarDayTemplateDirective | undefined>;
114
+ readonly weekdayTemplate: Signal<ArdCalendarWeekdayTemplateDirective | undefined>;
115
+ readonly daysViewHeaderDateFormat: import("@angular/core").InputSignal<string>;
116
+ readonly yearsViewHeaderDateFormat: import("@angular/core").InputSignal<string>;
117
+ readonly monthsViewHeaderDateFormat: import("@angular/core").InputSignal<string>;
118
+ readonly weekdayDateFormat: import("@angular/core").InputSignal<string>;
119
+ readonly weekdayTitleDateFormat: import("@angular/core").InputSignal<string>;
120
+ readonly floatingMonthDateFormat: import("@angular/core").InputSignal<string>;
121
+ readonly floatingMonthTitleDateFormat: import("@angular/core").InputSignal<string>;
122
+ readonly yearDateFormat: import("@angular/core").InputSignal<string>;
123
+ readonly monthDateFormat: import("@angular/core").InputSignal<string>;
124
+ readonly dayDateFormat: import("@angular/core").InputSignal<string>;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<_AbstractCalendar<any>, never>;
126
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_AbstractCalendar<any>, never, never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "activeView": { "alias": "activeView"; "required": false; "isSignal": true; }; "activeYear": { "alias": "activeYear"; "required": false; "isSignal": true; }; "activeMonth": { "alias": "activeMonth"; "required": false; "isSignal": true; }; "firstWeekday": { "alias": "firstWeekday"; "required": false; "isSignal": true; }; "multipleYearPageChangeModifier": { "alias": "multipleYearPageChangeModifier"; "required": false; "isSignal": true; }; "multiCalendarLocation": { "alias": "multiCalendarLocation"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "staticHeight": { "alias": "staticHeight"; "required": false; "isSignal": true; }; "hideFloatingMonth": { "alias": "hideFloatingMonth"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "UTC": { "alias": "UTC"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "highlightedDay": { "alias": "highlightedDay"; "required": false; "isSignal": true; }; "daysViewHeaderDateFormat": { "alias": "daysViewHeaderDateFormat"; "required": false; "isSignal": true; }; "yearsViewHeaderDateFormat": { "alias": "yearsViewHeaderDateFormat"; "required": false; "isSignal": true; }; "monthsViewHeaderDateFormat": { "alias": "monthsViewHeaderDateFormat"; "required": false; "isSignal": true; }; "weekdayDateFormat": { "alias": "weekdayDateFormat"; "required": false; "isSignal": true; }; "weekdayTitleDateFormat": { "alias": "weekdayTitleDateFormat"; "required": false; "isSignal": true; }; "floatingMonthDateFormat": { "alias": "floatingMonthDateFormat"; "required": false; "isSignal": true; }; "floatingMonthTitleDateFormat": { "alias": "floatingMonthTitleDateFormat"; "required": false; "isSignal": true; }; "yearDateFormat": { "alias": "yearDateFormat"; "required": false; "isSignal": true; }; "monthDateFormat": { "alias": "monthDateFormat"; "required": false; "isSignal": true; }; "dayDateFormat": { "alias": "dayDateFormat"; "required": false; "isSignal": true; }; }, { "activeView": "activeViewChange"; "activeYear": "activeYearChange"; "activeMonth": "activeMonthChange"; "activePageChange": "activePageChange"; "yearSelect": "yearSelect"; "monthSelect": "monthSelect"; "highlightedDay": "highlightedDayChange"; "highlightDayEvent": "highlightDay"; }, ["templateRepository", "yearsViewHeaderTemplate", "monthsViewHeaderTemplate", "daysViewHeaderTemplate", "floatingMonthTemplate", "yearTemplate", "monthTemplate", "dayTemplate", "weekdayTemplate"], never, true, never>;
127
+ }