@ardium-ui/ui 3.2.7 → 3.3.0-alpha.3

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 (111) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +1 -1
  2. package/esm2022/lib/_internal/focusable-component.mjs +8 -6
  3. package/esm2022/lib/_internal/form-field-component.mjs +57 -0
  4. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +4 -1
  5. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -2
  6. package/esm2022/lib/_internal/public-api.mjs +2 -0
  7. package/esm2022/lib/_internal/selectable-list-component.mjs +6 -6
  8. package/esm2022/lib/checkbox/checkbox.component.mjs +1 -1
  9. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
  10. package/esm2022/lib/form-field/error/error.component.mjs +17 -0
  11. package/esm2022/lib/form-field/error/error.directive.mjs +17 -0
  12. package/esm2022/lib/form-field/form-field.component.mjs +34 -0
  13. package/esm2022/lib/form-field/form-field.defaults.mjs +15 -0
  14. package/esm2022/lib/form-field/form-field.module.mjs +44 -0
  15. package/esm2022/lib/form-field/hint/hint.component.mjs +17 -0
  16. package/esm2022/lib/form-field/hint/hint.directive.mjs +30 -0
  17. package/esm2022/lib/form-field/horizontal-form-field.component.mjs +34 -0
  18. package/esm2022/lib/form-field/index.mjs +9 -0
  19. package/esm2022/lib/form-field/label/label.component.mjs +21 -0
  20. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +14 -7
  21. package/esm2022/lib/inputs/_simple-input-base.mjs +4 -4
  22. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +28 -11
  23. package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +3 -3
  24. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +5 -3
  25. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  26. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  27. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +13 -5
  28. package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +3 -3
  29. package/esm2022/lib/inputs/input/input.component.mjs +12 -3
  30. package/esm2022/lib/inputs/number-input/number-input.component.mjs +15 -7
  31. package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +3 -3
  32. package/esm2022/lib/inputs/password-input/password-input.component.mjs +15 -5
  33. package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +3 -3
  34. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +12 -3
  35. package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +3 -3
  36. package/esm2022/lib/segment/segment.component.mjs +3 -3
  37. package/esm2022/lib/select/select.component.mjs +16 -8
  38. package/esm2022/lib/select/select.defaults.mjs +3 -3
  39. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +1 -1
  40. package/esm2022/lib/table-pagination/table-pagination.component.mjs +1 -1
  41. package/esm2022/public-api.mjs +3 -1
  42. package/fesm2022/ardium-ui-ui.mjs +383 -65
  43. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  44. package/lib/_internal/focusable-component.d.ts +4 -3
  45. package/lib/_internal/form-field-component.d.ts +30 -0
  46. package/lib/_internal/ngmodel-component.d.ts +1 -0
  47. package/lib/_internal/public-api.d.ts +3 -0
  48. package/lib/form-field/error/error.component.d.ts +6 -0
  49. package/lib/form-field/error/error.directive.d.ts +5 -0
  50. package/lib/form-field/form-field.component.d.ts +20 -0
  51. package/lib/form-field/form-field.defaults.d.ts +8 -0
  52. package/lib/form-field/form-field.module.d.ts +14 -0
  53. package/lib/form-field/hint/hint.component.d.ts +6 -0
  54. package/lib/form-field/hint/hint.directive.d.ts +8 -0
  55. package/lib/form-field/horizontal-form-field.component.d.ts +20 -0
  56. package/lib/form-field/index.d.ts +8 -0
  57. package/lib/form-field/label/label.component.d.ts +8 -0
  58. package/lib/form-field-frame/form-field-frame.component.d.ts +4 -2
  59. package/lib/inputs/_simple-input-base.d.ts +3 -3
  60. package/lib/inputs/digit-input/digit-input.component.d.ts +6 -4
  61. package/lib/inputs/digit-input/digit-input.defaults.d.ts +2 -2
  62. package/lib/inputs/digit-input/digit-input.model.d.ts +4 -1
  63. package/lib/inputs/digit-input/digit-input.types.d.ts +1 -0
  64. package/lib/inputs/digit-input/digit-input.utils.d.ts +1 -0
  65. package/lib/inputs/hex-input/hex-input.component.d.ts +2 -2
  66. package/lib/inputs/hex-input/hex-input.defaults.d.ts +2 -2
  67. package/lib/inputs/number-input/number-input.component.d.ts +2 -2
  68. package/lib/inputs/number-input/number-input.defaults.d.ts +2 -2
  69. package/lib/inputs/password-input/password-input.component.d.ts +2 -2
  70. package/lib/inputs/password-input/password-input.defaults.d.ts +2 -2
  71. package/lib/select/select.component.d.ts +3 -4
  72. package/lib/select/select.defaults.d.ts +2 -2
  73. package/package.json +1 -1
  74. package/prebuilt-themes/default/chips.css.map +1 -1
  75. package/prebuilt-themes/default/core.css +3 -1
  76. package/prebuilt-themes/default/core.css.map +1 -1
  77. package/prebuilt-themes/default/form-field-frame.css +23 -6
  78. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  79. package/prebuilt-themes/default/form-field.css +90 -0
  80. package/prebuilt-themes/default/form-field.css.map +1 -0
  81. package/prebuilt-themes/default/inputs/color-input.css +0 -1
  82. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  83. package/prebuilt-themes/default/inputs/digit-input.css +67 -5
  84. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  85. package/prebuilt-themes/default/inputs/file-input.css +0 -6
  86. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  87. package/prebuilt-themes/default/inputs/hex-input.css +0 -1
  88. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  89. package/prebuilt-themes/default/inputs/input.css +0 -6
  90. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  91. package/prebuilt-themes/default/inputs/number-input.css +33 -18
  92. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  93. package/prebuilt-themes/default/inputs/password-input.css +0 -1
  94. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  95. package/prebuilt-themes/default/inputs/search-bar.css +0 -1
  96. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  97. package/prebuilt-themes/default/inputs/simple-input.css +0 -6
  98. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  99. package/prebuilt-themes/default/segment.css +18 -1
  100. package/prebuilt-themes/default/segment.css.map +1 -1
  101. package/public-api.d.ts +2 -0
  102. package/themes/default/_mixins.scss +83 -64
  103. package/themes/default/core.scss +102 -99
  104. package/themes/default/form-field-frame.scss +79 -78
  105. package/themes/default/form-field.scss +92 -0
  106. package/themes/default/inputs/_shared.scss +50 -51
  107. package/themes/default/inputs/digit-input.scss +95 -56
  108. package/themes/default/inputs/file-input.scss +0 -6
  109. package/themes/default/inputs/input.scss +1 -7
  110. package/themes/default/inputs/number-input.scss +131 -121
  111. package/themes/default/inputs/simple-input.scss +1 -8
@@ -26,8 +26,8 @@ export declare abstract class _FocusableComponentBase extends _DisablableCompone
26
26
  /**
27
27
  * The component's overall tab index. If the component is disabled, it is always `-1`. Coercible into a number, defaults to `0`.
28
28
  */
29
- readonly tabIndex: import("@angular/core").Signal<any>;
30
- readonly _tabIndex: import("@angular/core").InputSignalWithTransform<any, number>;
29
+ readonly tabIndex: import("@angular/core").Signal<number>;
30
+ readonly _tabIndex: import("@angular/core").InputSignalWithTransform<number, any>;
31
31
  /**
32
32
  * The event emitter responsible for firing `focus` events.
33
33
  */
@@ -39,7 +39,8 @@ export declare abstract class _FocusableComponentBase extends _DisablableCompone
39
39
  /**
40
40
  * Whether the component is currently focused.
41
41
  */
42
- isFocused: boolean;
42
+ readonly isFocused: import("@angular/core").WritableSignal<boolean>;
43
+ readonly wasTouched: import("@angular/core").WritableSignal<boolean>;
43
44
  /**
44
45
  * Function to handle when an element is focused. Sets `isFocused` and fires the `focus` event.
45
46
  * @param event The focus event to emit.
@@ -0,0 +1,30 @@
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { _NgModelComponentBase, _NgModelComponentDefaults } from './ngmodel-component';
4
+ import * as i0 from "@angular/core";
5
+ export interface _FormFieldComponentDefaults extends _NgModelComponentDefaults {
6
+ required: boolean | undefined;
7
+ }
8
+ export declare const _formFieldComponentDefaults: _FormFieldComponentDefaults;
9
+ /**
10
+ * Common code for components which implement the ControlValueAccessor.
11
+ *
12
+ * **Warning**: `writeValue` function should be implemented on the child component!
13
+ */
14
+ export declare abstract class _FormFieldComponentBase extends _NgModelComponentBase implements ControlValueAccessor, OnInit, OnDestroy {
15
+ protected readonly _DEFAULTS: _FormFieldComponentDefaults;
16
+ protected readonly _injector: Injector;
17
+ private _statusChangesSub?;
18
+ ngOnInit(): void;
19
+ protected _ngControl: NgControl | null;
20
+ readonly _required: import("@angular/core").InputSignalWithTransform<boolean | undefined, any>;
21
+ get required(): boolean;
22
+ readonly htmlId: import("@angular/core").InputSignal<string>;
23
+ readonly _hasError: import("@angular/core").InputSignalWithTransform<boolean | undefined, any>;
24
+ private readonly _hasErrorInControl;
25
+ readonly hasError: import("@angular/core").Signal<boolean>;
26
+ readonly isSuccess: import("@angular/core").InputSignalWithTransform<boolean, any>;
27
+ ngOnDestroy(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<_FormFieldComponentBase, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_FormFieldComponentBase, never, never, { "_required": { "alias": "required"; "required": false; "isSignal": true; }; "htmlId": { "alias": "htmlId"; "required": false; "isSignal": true; }; "_hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "isSuccess": { "alias": "isSuccess"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
30
+ }
@@ -2,6 +2,7 @@ import { ControlValueAccessor } from '@angular/forms';
2
2
  import { _FocusableComponentBase, _FocusableComponentDefaults } from './focusable-component';
3
3
  import * as i0 from "@angular/core";
4
4
  export interface _NgModelComponentDefaults extends _FocusableComponentDefaults {
5
+ required: boolean | undefined;
5
6
  }
6
7
  export declare const _ngModelComponentDefaults: _NgModelComponentDefaults;
7
8
  /**
@@ -0,0 +1,3 @@
1
+ import { _FormFieldComponentBase } from './form-field-component';
2
+ export interface ArdFormFieldComponent extends _FormFieldComponentBase {
3
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./error.directive";
3
+ export declare class ArdiumErrorComponent {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumErrorComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumErrorComponent, "ard-error", never, {}, {}, never, ["*"], false, [{ directive: typeof i1.ArdiumErrorDirective; inputs: {}; outputs: {}; }]>;
6
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ArdiumErrorDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumErrorDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ArdiumErrorDirective, "[ard-error]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,20 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { _FormFieldComponentBase } from '../_internal/form-field-component';
3
+ import { ArdiumErrorDirective } from './error/error.directive';
4
+ import { ArdiumHintDirective } from './hint/hint.directive';
5
+ import { ArdiumLabelComponent } from './label/label.component';
6
+ import * as i0 from "@angular/core";
7
+ export declare class ArdiumFormFieldComponent implements OnInit {
8
+ protected readonly _DEFAULTS: import("./form-field.defaults").ArdFormFieldDefaults;
9
+ readonly alignHintToLeftByDefault: boolean;
10
+ readonly control: import("@angular/core").Signal<_FormFieldComponentBase | undefined>;
11
+ readonly controlId: import("@angular/core").Signal<string | undefined>;
12
+ readonly label: import("@angular/core").Signal<ArdiumLabelComponent | undefined>;
13
+ readonly hints: import("@angular/core").Signal<readonly ArdiumHintDirective[]>;
14
+ readonly errors: import("@angular/core").Signal<readonly ArdiumErrorDirective[]>;
15
+ readonly hasAnyError: import("@angular/core").Signal<boolean>;
16
+ readonly reserveHintLine: import("@angular/core").InputSignalWithTransform<boolean, any>;
17
+ ngOnInit(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumFormFieldComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumFormFieldComponent, "ard-form-field", never, { "reserveHintLine": { "alias": "reserveHintLine"; "required": false; "isSignal": true; }; }, {}, ["control", "label", "hints", "errors"], ["ard-label, [ard-label]", "*", "ard-error, [ard-error]", "ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])", "ard-hint[left], [ard-hint][left]", "ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])", "ard-hint[right], [ard-hint][right]"], false, never>;
20
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken, Provider } from '@angular/core';
2
+ import { SimpleOneAxisAlignment } from './../types/alignment.types';
3
+ export interface ArdFormFieldDefaults {
4
+ defaultHintAlign: SimpleOneAxisAlignment;
5
+ reserveHintLine: boolean;
6
+ }
7
+ export declare const ARD_FORM_FIELD_DEFAULTS: InjectionToken<ArdFormFieldDefaults>;
8
+ export declare function provideFormFieldDefaults(config: Partial<ArdFormFieldDefaults>): Provider;
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./form-field.component";
3
+ import * as i2 from "./horizontal-form-field.component";
4
+ import * as i3 from "./label/label.component";
5
+ import * as i4 from "./hint/hint.component";
6
+ import * as i5 from "./error/error.component";
7
+ import * as i6 from "@angular/common";
8
+ import * as i7 from "./hint/hint.directive";
9
+ import * as i8 from "./error/error.directive";
10
+ export declare class ArdiumFormFieldModule {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumFormFieldModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumFormFieldModule, [typeof i1.ArdiumFormFieldComponent, typeof i2.ArdiumHorizontalFormFieldComponent, typeof i3.ArdiumLabelComponent, typeof i4.ArdiumHintComponent, typeof i5.ArdiumErrorComponent], [typeof i6.CommonModule, typeof i7.ArdiumHintDirective, typeof i8.ArdiumErrorDirective], [typeof i1.ArdiumFormFieldComponent, typeof i2.ArdiumHorizontalFormFieldComponent, typeof i3.ArdiumLabelComponent, typeof i4.ArdiumHintComponent, typeof i5.ArdiumErrorComponent]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<ArdiumFormFieldModule>;
14
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./hint.directive";
3
+ export declare class ArdiumHintComponent {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumHintComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumHintComponent, "ard-hint", never, {}, {}, never, ["*"], false, [{ directive: typeof i1.ArdiumHintDirective; inputs: { "left": "left"; "right": "right"; }; outputs: {}; }]>;
6
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ArdiumHintDirective {
3
+ readonly left: import("@angular/core").InputSignalWithTransform<boolean, any>;
4
+ readonly right: import("@angular/core").InputSignalWithTransform<boolean, any>;
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumHintDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ArdiumHintDirective, "[ard-hint]", never, { "left": { "alias": "left"; "required": false; "isSignal": true; }; "right": { "alias": "right"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,20 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { _FormFieldComponentBase } from '../_internal/form-field-component';
3
+ import { ArdiumErrorDirective } from './error/error.directive';
4
+ import { ArdiumHintDirective } from './hint/hint.directive';
5
+ import { ArdiumLabelComponent } from './label/label.component';
6
+ import * as i0 from "@angular/core";
7
+ export declare class ArdiumHorizontalFormFieldComponent implements OnInit {
8
+ protected readonly _DEFAULTS: import("./form-field.defaults").ArdFormFieldDefaults;
9
+ readonly alignHintToLeftByDefault: boolean;
10
+ readonly control: import("@angular/core").Signal<_FormFieldComponentBase | undefined>;
11
+ readonly controlId: import("@angular/core").Signal<string | undefined>;
12
+ readonly label: import("@angular/core").Signal<ArdiumLabelComponent | undefined>;
13
+ readonly hints: import("@angular/core").Signal<readonly ArdiumHintDirective[]>;
14
+ readonly errors: import("@angular/core").Signal<readonly ArdiumErrorDirective[]>;
15
+ readonly hasAnyError: import("@angular/core").Signal<boolean>;
16
+ readonly reserveHintLine: import("@angular/core").InputSignalWithTransform<boolean, any>;
17
+ ngOnInit(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumHorizontalFormFieldComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumHorizontalFormFieldComponent, "ard-horizontal-form-field", never, { "reserveHintLine": { "alias": "reserveHintLine"; "required": false; "isSignal": true; }; }, {}, ["control", "label", "hints", "errors"], ["ard-label, [ard-label]", "*", "ard-error, [ard-error]", "ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])", "ard-hint[left], [ard-hint][left]", "ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])", "ard-hint[right], [ard-hint][right]"], false, never>;
20
+ }
@@ -0,0 +1,8 @@
1
+ export * from './error/error.component';
2
+ export * from './error/error.directive';
3
+ export * from './form-field.component';
4
+ export * from './form-field.module';
5
+ export * from './hint/hint.component';
6
+ export * from './hint/hint.directive';
7
+ export * from './horizontal-form-field.component';
8
+ export * from './label/label.component';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ArdiumLabelComponent {
3
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, any>;
4
+ readonly optional: import("@angular/core").InputSignalWithTransform<boolean, any>;
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumLabelComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumLabelComponent, "ard-label", never, { "required": { "alias": "required"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
8
+ }
@@ -8,7 +8,9 @@ import * as i0 from "@angular/core";
8
8
  export declare class ArdiumFormFieldFrameComponent extends _FocusableComponentBase {
9
9
  protected readonly _DEFAULTS: ArdFormFieldFrameDefaults;
10
10
  constructor(defaults: ArdFormFieldFrameDefaults);
11
- isFocused: boolean;
11
+ readonly hasError: import("@angular/core").InputSignalWithTransform<boolean, any>;
12
+ readonly isSuccess: import("@angular/core").InputSignalWithTransform<boolean, any>;
13
+ set _setIsFocused(v: boolean);
12
14
  /**
13
15
  * The appearance of the component, aka the styling.
14
16
  */
@@ -27,5 +29,5 @@ export declare class ArdiumFormFieldFrameComponent extends _FocusableComponentBa
27
29
  readonly prefixTemplate: import("@angular/core").Signal<ArdFormFieldPrefixTemplateDirective | undefined>;
28
30
  readonly suffixTemplate: import("@angular/core").Signal<ArdFormFieldSuffixTemplateDirective | undefined>;
29
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumFormFieldFrameComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumFormFieldFrameComponent, "ard-form-field-frame", never, { "isFocused": { "alias": "isFocused"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "prefixTemplateInput": { "alias": "prefixTemplate"; "required": false; "isSignal": true; }; "suffixTemplateInput": { "alias": "suffixTemplate"; "required": false; "isSignal": true; }; }, {}, ["prefixTemplate", "suffixTemplate"], ["*"], false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumFormFieldFrameComponent, "ard-form-field-frame", never, { "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "isSuccess": { "alias": "isSuccess"; "required": false; "isSignal": true; }; "_setIsFocused": { "alias": "isFocused"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "prefixTemplateInput": { "alias": "prefixTemplate"; "required": false; "isSignal": true; }; "suffixTemplateInput": { "alias": "suffixTemplate"; "required": false; "isSignal": true; }; }, {}, ["prefixTemplate", "suffixTemplate"], ["*"], false, never>;
31
33
  }
@@ -1,11 +1,11 @@
1
1
  import { AfterViewInit, ElementRef } from '@angular/core';
2
- import { _NgModelComponentBase, _NgModelComponentDefaults } from '../_internal/ngmodel-component';
2
+ import { _FormFieldComponentBase, _FormFieldComponentDefaults } from '../_internal/form-field-component';
3
3
  import { SimpleOneAxisAlignment } from './../types/alignment.types';
4
4
  import { FormElementAppearance, FormElementVariant } from './../types/theming.types';
5
5
  import { Nullable } from './../types/utility.types';
6
6
  import { SimpleInputModel } from './input-utils';
7
7
  import * as i0 from "@angular/core";
8
- export interface _SimpleInputComponentDefaults extends _NgModelComponentDefaults {
8
+ export interface _SimpleInputComponentDefaults extends _FormFieldComponentDefaults {
9
9
  appearance: FormElementAppearance;
10
10
  variant: FormElementVariant;
11
11
  compact: boolean;
@@ -17,7 +17,7 @@ export interface _SimpleInputComponentDefaults extends _NgModelComponentDefaults
17
17
  maxLength: Nullable<number>;
18
18
  }
19
19
  export declare const _simpleInputComponentDefaults: _SimpleInputComponentDefaults;
20
- export declare abstract class _SimpleInputComponentBase extends _NgModelComponentBase implements AfterViewInit {
20
+ export declare abstract class _SimpleInputComponentBase extends _FormFieldComponentBase implements AfterViewInit {
21
21
  protected readonly _DEFAULTS: _SimpleInputComponentDefaults;
22
22
  readonly textInputEl: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
23
23
  protected readonly inputModel: SimpleInputModel;
@@ -1,12 +1,12 @@
1
- import { ElementRef } from '@angular/core';
1
+ import { ElementRef, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
3
+ import { _FormFieldComponentBase } from '../../_internal/form-field-component';
4
4
  import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
5
5
  import { ArdDigitInputDefaults } from './digit-input.defaults';
6
6
  import { DigitInputConfig, DigitInputShape } from './digit-input.types';
7
7
  import { DigitInputModelHost } from './digit-input.utils';
8
8
  import * as i0 from "@angular/core";
9
- export declare class ArdiumDigitInputComponent extends _NgModelComponentBase implements ControlValueAccessor, DigitInputModelHost {
9
+ export declare class ArdiumDigitInputComponent extends _FormFieldComponentBase implements ControlValueAccessor, DigitInputModelHost, OnInit {
10
10
  protected readonly _DEFAULTS: ArdDigitInputDefaults;
11
11
  constructor(defaults: ArdDigitInputDefaults);
12
12
  readonly inputs: import("@angular/core").Signal<readonly ElementRef<HTMLInputElement>[]>;
@@ -20,10 +20,12 @@ export declare class ArdiumDigitInputComponent extends _NgModelComponentBase imp
20
20
  readonly configArrayData: import("@angular/core").Signal<import("./digit-input.utils").DigitInputConfigData[]>;
21
21
  private _oldConfigArrayDataLength;
22
22
  readonly configArrayDataEffect: import("@angular/core").EffectRef;
23
+ ngOnInit(): void;
23
24
  isInputEmpty(index: number): boolean;
24
25
  writeValue(v: any): void;
25
26
  private _writeValue;
26
27
  readonly outputAsString: import("@angular/core").InputSignalWithTransform<boolean, any>;
28
+ readonly outputControlValueAccessorOnFinish: import("@angular/core").InputSignalWithTransform<boolean, any>;
27
29
  set value(v: string | (string | null)[] | null);
28
30
  readonly valueChange: import("@angular/core").OutputEmitterRef<string | (string | null)[] | null>;
29
31
  readonly stringValue: import("@angular/core").Signal<string>;
@@ -41,5 +43,5 @@ export declare class ArdiumDigitInputComponent extends _NgModelComponentBase imp
41
43
  protected _emitChange(): void;
42
44
  onKeydown(event: KeyboardEvent, index: number): void;
43
45
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumDigitInputComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumDigitInputComponent, "ard-digit-input", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "outputAsString": { "alias": "outputAsString"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "finishedValue": "finishedValue"; "focusIndexEvent": "focusIndex"; "blurIndexEvent": "blurIndex"; }, never, never, false, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumDigitInputComponent, "ard-digit-input", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "outputAsString": { "alias": "outputAsString"; "required": false; "isSignal": true; }; "outputControlValueAccessorOnFinish": { "alias": "outputControlValueAccessorOnFinish"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "finishedValue": "finishedValue"; "focusIndexEvent": "focusIndex"; "blurIndexEvent": "blurIndex"; }, never, never, false, never>;
45
47
  }
@@ -1,8 +1,8 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { _NgModelComponentDefaults } from '../../_internal/ngmodel-component';
2
+ import { _FormFieldComponentDefaults } from '../../_internal/form-field-component';
3
3
  import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
4
4
  import { DigitInputShape } from './digit-input.types';
5
- export interface ArdDigitInputDefaults extends _NgModelComponentDefaults {
5
+ export interface ArdDigitInputDefaults extends _FormFieldComponentDefaults {
6
6
  appearance: FormElementAppearance;
7
7
  variant: FormElementVariant;
8
8
  shape: DigitInputShape;
@@ -16,7 +16,10 @@ export declare class DigitInputModel {
16
16
  private _updateInputElements;
17
17
  setConfig(config: DigitInputConfig): void;
18
18
  private _setConfig;
19
- validateInputAndSetValue(input: string, index: number): false | [boolean, string | null];
19
+ validateInputAndSetValue(input: string, index: number): null | {
20
+ wasChanged: boolean;
21
+ resultChar: string | null;
22
+ };
20
23
  validateValueAndUpdate(): void;
21
24
  private _validateSingleChar;
22
25
  }
@@ -19,6 +19,7 @@ export interface DigitInputAcceptObject {
19
19
  accept: string | RegExp | ((char: string, charsBefore: string) => boolean);
20
20
  transform?: TransformType | null;
21
21
  readonly?: boolean;
22
+ placeholder?: string;
22
23
  }
23
24
  export interface DigitInputStaticObject {
24
25
  static: string;
@@ -4,6 +4,7 @@ export interface DigitInputConfigData {
4
4
  char?: string;
5
5
  index?: number;
6
6
  readonly?: boolean;
7
+ placeholder?: string;
7
8
  }
8
9
  export interface DigitInputModelHost {
9
10
  readonly inputs: Signal<readonly ElementRef<HTMLInputElement>[]>;
@@ -1,6 +1,6 @@
1
1
  import { AfterViewInit, ElementRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
3
+ import { _FormFieldComponentBase } from '../../_internal/form-field-component';
4
4
  import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
5
5
  import { Nullable } from '../../types/utility.types';
6
6
  import { CaseTransformerType } from '../input-types';
@@ -8,7 +8,7 @@ import { ArdHexInputDefaults } from './hex-input.defaults';
8
8
  import { ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective } from './hex-input.directives';
9
9
  import { HexInputModel, HexInputModelHost } from './hex-input.model';
10
10
  import * as i0 from "@angular/core";
11
- export declare class ArdiumHexInputComponent extends _NgModelComponentBase implements ControlValueAccessor, HexInputModelHost, AfterViewInit {
11
+ export declare class ArdiumHexInputComponent extends _FormFieldComponentBase implements ControlValueAccessor, HexInputModelHost, AfterViewInit {
12
12
  protected readonly _DEFAULTS: ArdHexInputDefaults;
13
13
  constructor(defaults: ArdHexInputDefaults);
14
14
  readonly textInputEl: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
@@ -1,9 +1,9 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { _NgModelComponentDefaults } from '../../_internal/ngmodel-component';
2
+ import { _FormFieldComponentDefaults } from '../../_internal/form-field-component';
3
3
  import { Nullable } from '../../types/utility.types';
4
4
  import { CaseTransformerType } from '../input-types';
5
5
  import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
6
- export interface ArdHexInputDefaults extends _NgModelComponentDefaults {
6
+ export interface ArdHexInputDefaults extends _FormFieldComponentDefaults {
7
7
  appearance: FormElementAppearance;
8
8
  variant: FormElementVariant;
9
9
  compact: boolean;
@@ -1,6 +1,6 @@
1
1
  import { AfterViewInit, ElementRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
3
+ import { _FormFieldComponentBase } from '../../_internal/form-field-component';
4
4
  import { ButtonAppearance, ButtonVariant } from '../../buttons/general-button.types';
5
5
  import { OneAxisAlignment } from '../../types/alignment.types';
6
6
  import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
@@ -9,7 +9,7 @@ import { NumberInputModel, NumberInputModelHost } from '../input-utils';
9
9
  import { ArdNumberInputDefaults } from './number-input.defaults';
10
10
  import { ArdNumberInputPlaceholderTemplateDirective } from './number-input.directives';
11
11
  import * as i0 from "@angular/core";
12
- export declare class ArdiumNumberInputComponent extends _NgModelComponentBase implements ControlValueAccessor, NumberInputModelHost, AfterViewInit {
12
+ export declare class ArdiumNumberInputComponent extends _FormFieldComponentBase implements ControlValueAccessor, NumberInputModelHost, AfterViewInit {
13
13
  protected readonly _DEFAULTS: ArdNumberInputDefaults;
14
14
  constructor(defaults: ArdNumberInputDefaults);
15
15
  readonly inputEl: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
@@ -1,8 +1,8 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { _NgModelComponentDefaults } from '../../_internal/ngmodel-component';
2
+ import { _FormFieldComponentDefaults } from '../../_internal/form-field-component';
3
3
  import { OneAxisAlignment } from './../../types/alignment.types';
4
4
  import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
5
- export interface ArdNumberInputDefaults extends _NgModelComponentDefaults {
5
+ export interface ArdNumberInputDefaults extends _FormFieldComponentDefaults {
6
6
  appearance: FormElementAppearance;
7
7
  variant: FormElementVariant;
8
8
  compact: boolean;
@@ -1,13 +1,13 @@
1
1
  import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
3
+ import { _FormFieldComponentBase } from '../../_internal/form-field-component';
4
4
  import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
5
5
  import { Nullable } from '../../types/utility.types';
6
6
  import { ArdPasswordInputDefaults } from './password-input.defaults';
7
7
  import { ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective } from './password-input.directives';
8
8
  import { PasswordInputRevealButtonContext } from './password-input.types';
9
9
  import * as i0 from "@angular/core";
10
- export declare class ArdiumPasswordInputComponent extends _NgModelComponentBase implements ControlValueAccessor, OnInit, OnDestroy {
10
+ export declare class ArdiumPasswordInputComponent extends _FormFieldComponentBase implements ControlValueAccessor, OnInit, OnDestroy {
11
11
  protected readonly _DEFAULTS: ArdPasswordInputDefaults;
12
12
  constructor(defaults: ArdPasswordInputDefaults);
13
13
  readonly textInputEl: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
@@ -1,8 +1,8 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { _NgModelComponentDefaults } from '../../_internal/ngmodel-component';
2
+ import { _FormFieldComponentDefaults } from '../../_internal/form-field-component';
3
3
  import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
4
4
  import { Nullable } from './../../types/utility.types';
5
- export interface ArdPasswordInputDefaults extends _NgModelComponentDefaults {
5
+ export interface ArdPasswordInputDefaults extends _FormFieldComponentDefaults {
6
6
  appearance: FormElementAppearance;
7
7
  variant: FormElementVariant;
8
8
  compact: boolean;
@@ -1,7 +1,7 @@
1
1
  import { AfterContentInit, AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, QueryList, Signal, SimpleChanges, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
+ import { _FormFieldComponentBase } from '../_internal/form-field-component';
3
4
  import { ItemStorage, ItemStorageHost } from '../_internal/item-storages/dropdown-item-storage';
4
- import { _NgModelComponentBase } from '../_internal/ngmodel-component';
5
5
  import { ArdiumDropdownPanelComponent } from '../dropdown-panel/dropdown-panel.component';
6
6
  import { DropdownPanelAppearance, DropdownPanelVariant } from '../dropdown-panel/dropdown-panel.types';
7
7
  import { ArdiumOptionComponent } from '../option/option.component';
@@ -13,7 +13,7 @@ import { ArdSelectDefaults } from './select.defaults';
13
13
  import { ArdAddCustomTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdValueTemplateDirective } from './select.directive';
14
14
  import { AddCustomFn, CustomOptionContext, GroupContext, ItemDisplayLimitContext, ItemLimitContext, PlaceholderContext, SearchContext, StatsContext, ValueContext } from './select.types';
15
15
  import * as i0 from "@angular/core";
16
- export declare class ArdiumSelectComponent extends _NgModelComponentBase implements OnChanges, AfterViewInit, AfterContentInit, OnInit, OnDestroy, ControlValueAccessor, ItemStorageHost {
16
+ export declare class ArdiumSelectComponent extends _FormFieldComponentBase implements OnChanges, AfterViewInit, AfterContentInit, OnInit, OnDestroy, ControlValueAccessor, ItemStorageHost {
17
17
  protected readonly _DEFAULTS: ArdSelectDefaults;
18
18
  constructor(defaults: ArdSelectDefaults);
19
19
  readonly _componentId: string;
@@ -39,7 +39,6 @@ export declare class ArdiumSelectComponent extends _NgModelComponentBase impleme
39
39
  readonly searchInputId: import("@angular/core").InputSignal<Nullable<string>>;
40
40
  readonly inputAttrs: import("@angular/core").InputSignal<Record<string, any>>;
41
41
  readonly isLoading: import("@angular/core").InputSignalWithTransform<boolean, any>;
42
- readonly htmlId: import("@angular/core").InputSignal<string>;
43
42
  readonly itemsAlreadyGrouped: import("@angular/core").InputSignalWithTransform<boolean, any>;
44
43
  readonly invertDisabled: import("@angular/core").InputSignalWithTransform<boolean, any>;
45
44
  readonly noGroupActions: import("@angular/core").InputSignalWithTransform<boolean, any>;
@@ -194,5 +193,5 @@ export declare class ArdiumSelectComponent extends _NgModelComponentBase impleme
194
193
  private _onBackspaceOrDeletePress;
195
194
  private _onCtrlAPress;
196
195
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSelectComponent, never>;
197
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "htmlId": { "alias": "htmlId"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "sortMultipleValues": { "alias": "sortMultipleValues"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "searchEvent": "search"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
196
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "sortMultipleValues": { "alias": "sortMultipleValues"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "searchEvent": "search"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
198
197
  }
@@ -1,11 +1,11 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { _NgModelComponentDefaults } from '../_internal/ngmodel-component';
2
+ import { _FormFieldComponentDefaults } from '../_internal/form-field-component';
3
3
  import { DropdownPanelAppearance, DropdownPanelVariant } from '../dropdown-panel';
4
4
  import { ArdPanelPosition, GroupByFn, SearchFn } from '../types/item-storage.types';
5
5
  import { Nullable } from '../types/utility.types';
6
6
  import { FormElementAppearance, FormElementVariant } from './../types/theming.types';
7
7
  import { AddCustomFn } from './select.types';
8
- export interface ArdSelectDefaults extends _NgModelComponentDefaults {
8
+ export interface ArdSelectDefaults extends _FormFieldComponentDefaults {
9
9
  valueFrom: string;
10
10
  labelFrom: string;
11
11
  disabledFrom: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ardium-ui/ui",
3
- "version": "3.2.7",
3
+ "version": "3.3.0-alpha.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/chips.scss","../../../../projects/ui/src/themes/default/_mixins.scss","../../../../projects/ui/src/themes/_variables.scss","../../../../projects/ui/src/themes/default/_coloring.scss","../../../../projects/ui/src/themes/default/_clear-button.scss"],"names":[],"mappings":"AAMA;EC6CE;EDxCA;EACA,OEJM;EFKN,YEbG;EFcH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AGtBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AClIF;EACE,QFkCgB;EEjChB,OFiCgB;EEhChB;;AAGF;EACE;EACA;EACA,OFGK;EEFL,OFyBgB;EExBhB,QFwBgB;EEvBhB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EH3BF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EGoBI;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EH7CN;EACA;EACA;EG6CM;;AAKF;EACE;;AAKF;EACE;;AAKF;EACE;;AHfN;EAEE;;AAEF;EACE;;AAEF;EACE;;ADlCF;EACE;;AAEF;ECrBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EDcE,YE9BM;EF+BN;;AAGF;EACE;EACA;EACA;;AAIE;EACE;;AAIF;EACE;;AAIJ;EClDF;EACA;EACA;;ADmDI;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE,kBE/DC;EFgED,OE7DE;EF8DF,YACE;;AAIF;EACE;EACA;;AAIN;EAEE;EACA;EACA;EACA;EACA;;AAEA;EACE,YACE;;AAGF;EACE;EACA;;AAIA;EACE;;AAIF;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIA;EACE;;AAIF;EACE;;AAOR;EACE;EACA;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;;AAEA;EACE;;AAIN;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;;AAEA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEF;EACE;EACA;;;AAMJ;EACE;EACA;;AAEA;EACE","file":"chips.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/chips.scss","../../../../projects/ui/src/themes/default/_mixins.scss","../../../../projects/ui/src/themes/_variables.scss","../../../../projects/ui/src/themes/default/_coloring.scss","../../../../projects/ui/src/themes/default/_clear-button.scss"],"names":[],"mappings":"AAMA;ECgEE;ED3DA;EACA,OEJM;EFKN,YEbG;EFcH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AGtBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AClIF;EACE,QFkCgB;EEjChB,OFiCgB;EEhChB;;AAGF;EACE;EACA;EACA,OFGK;EEFL,OFyBgB;EExBhB,QFwBgB;EEvBhB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EH3BF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EGoBI;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EH7CN;EACA;EACA;EG6CM;;AAKF;EACE;;AAKF;EACE;;AAKF;EACE;;AHIN;EAEE;;AAEF;EACE;;AAEF;EACE;;ADrDF;EACE;;AAEF;ECrBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EDcE,YE9BM;EF+BN;;AAGF;EACE;EACA;EACA;;AAIE;EACE;;AAIF;EACE;;AAIJ;EClDF;EACA;EACA;;ADmDI;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE,kBE/DC;EFgED,OE7DE;EF8DF,YACE;;AAIF;EACE;EACA;;AAIN;EAEE;EACA;EACA;EACA;EACA;;AAEA;EACE,YACE;;AAGF;EACE;EACA;;AAIA;EACE;;AAIF;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIA;EACE;;AAIF;EACE;;AAOR;EACE;EACA;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;;AAEA;EACE;;AAIN;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;;AAEA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEF;EACE;EACA;;;AAMJ;EACE;EACA;;AAEA;EACE","file":"chips.css"}
@@ -45,7 +45,7 @@
45
45
  --ard-secondary-500: 145, 13, 182;
46
46
  --ard-secondary-700: 103, 10, 129;
47
47
  --ard-secondary-900: 69, 7, 85;
48
- --ard-danger-50: 247, 197, 196;
48
+ --ard-danger-50: 255, 233, 233;
49
49
  --ard-danger-100: 243, 151, 149;
50
50
  --ard-danger-300: 245, 103, 100;
51
51
  --ard-danger-500: 243, 55, 52;
@@ -78,6 +78,8 @@
78
78
  --ard-simple-shadow3: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14),
79
79
  0px 3px 14px 2px rgba(0, 0, 0, 0.12);
80
80
  --ard-spinner-color: rgba(0, 0, 0, 50%);
81
+ --ard-horizontal-form-field-label-width: 12rem;
82
+ --ard-horizontal-form-field-label-align: flex-start;
81
83
  }
82
84
 
83
85
  .ard-disabled {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/core.scss"],"names":[],"mappings":"AAEQ;AACA;AAER;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;AAAA;EAEA;AAAA;EAEA;AAAA;EAGA;;;AAGF;EACE","file":"core.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/core.scss"],"names":[],"mappings":"AAEQ;AACA;AAER;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;AAAA;EAEA;AAAA;EAEA;AAAA;EAGA;EAEA;EACA;;;AAGF;EACE","file":"core.css"}
@@ -1,6 +1,6 @@
1
1
  .ard-form-field-frame {
2
2
  box-sizing: border-box;
3
- min-height: 2.1875rem;
3
+ min-height: 2.3125rem;
4
4
  height: max-content;
5
5
  max-width: 100%;
6
6
  display: flex;
@@ -17,7 +17,10 @@
17
17
  }
18
18
  .ard-form-field-frame .ard-form-field-content-container {
19
19
  flex-grow: 1;
20
- min-height: 100%;
20
+ min-height: inherit;
21
+ }
22
+ .ard-form-field-frame .ard-form-field-content-container > * {
23
+ min-height: inherit;
21
24
  }
22
25
  .ard-form-field-frame .ard-form-field-prefix-container,
23
26
  .ard-form-field-frame .ard-form-field-suffix-container {
@@ -39,12 +42,29 @@
39
42
  }
40
43
  .ard-form-field-frame.ard-appearance-outlined {
41
44
  --ard-appearance-background: var(--ard-bg);
42
- --ard-appearance-border: 1px solid var(--ard-border);
45
+ --ard-appearance-border-color: var(--ard-border);
46
+ --ard-appearance-border: 1px solid var(--ard-appearance-border-color);
47
+ }
48
+ .ard-form-field-frame.ard-appearance-outlined.ard-focused {
49
+ --ard-appearance-border-color: var(--ard-border-dark);
50
+ }
51
+ .ard-form-field-frame.ard-appearance-outlined.ard-is-success {
52
+ --ard-appearance-border-color: rgb(var(--ard-success-500));
53
+ }
54
+ .ard-form-field-frame.ard-appearance-outlined.ard-has-error {
55
+ --ard-appearance-background: rgb(var(--ard-danger-50));
56
+ --ard-appearance-border-color: rgb(var(--ard-danger-500));
43
57
  }
44
58
  .ard-form-field-frame.ard-appearance-filled {
45
59
  --ard-appearance-background: var(--ard-bg-filled);
46
60
  --ard-appearance-border: none;
47
61
  }
62
+ .ard-form-field-frame.ard-appearance-filled.ard-is-success {
63
+ --ard-appearance-background: rgb(var(--ard-success-50));
64
+ }
65
+ .ard-form-field-frame.ard-appearance-filled.ard-has-error {
66
+ --ard-appearance-background: rgb(var(--ard-danger-50));
67
+ }
48
68
  .ard-form-field-frame.ard-appearance-transparent {
49
69
  --ard-appearance-background: transparent;
50
70
  --ard-appearance-border: none;
@@ -66,9 +86,6 @@
66
86
  .ard-form-field-frame:hover .ard-form-field-overlay {
67
87
  opacity: 3%;
68
88
  }
69
- .ard-form-field-frame.ard-focused {
70
- border-color: var(--ard-border-dark);
71
- }
72
89
  .ard-form-field-frame.ard-focused .ard-form-field-overlay {
73
90
  opacity: 6%;
74
91
  }