@ardium-ui/ui 5.0.0-alpha.53 → 5.0.0-alpha.55

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.
@@ -2,18 +2,18 @@ import 'first-last';
2
2
  import { Overlay, ScrollStrategyOptions, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
3
3
  import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i0 from '@angular/core';
5
- import { signal, computed, InjectionToken, input, Directive, Input, HostBinding, output, ViewChildren, inject, Injector, runInInjectionContext, viewChild, contentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewContainerRef, TemplateRef, forwardRef, HostListener, NgModule, effect, viewChildren, Pipe, model, ElementRef, ChangeDetectorRef, ContentChildren, Renderer2, linkedSignal, untracked, contentChildren, Injectable } from '@angular/core';
6
- import { NgControl, Validators, NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { signal, computed, InjectionToken, inject, Injector, input, Directive, Input, HostBinding, output, ViewChildren, viewChild, contentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewContainerRef, TemplateRef, forwardRef, HostListener, NgModule, effect, viewChildren, Pipe, model, ElementRef, ChangeDetectorRef, ContentChildren, Renderer2, linkedSignal, untracked, contentChildren, Injectable } from '@angular/core';
6
+ import { NgControl, ValueChangeEvent, TouchedChangeEvent, PristineChangeEvent, StatusChangeEvent, Validators, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import * as i4 from '@ardium-ui/devkit';
8
8
  import { arraySignal, coerceBooleanProperty, coerceNumberProperty, coerceArrayProperty, ArdiumClickOutsideModule, ArdiumEscapeHTMLModule, FileSystemService, FileSystemMethod, ArdiumFilePipesModule, coerceDateProperty, ArdiumHoldModule } from '@ardium-ui/devkit';
9
- import { isDefined, any, isPrimitive, isAnyString, isNull, isNumber, isString, isArray, isFunction, isRegExp, evaluate, isObject, isPromise, isDate } from 'simple-bool';
9
+ import { isDefined, any, isPrimitive, isFunction, isAnyString, isNull, isNumber, isString, isArray, isRegExp, evaluate, isObject, isPromise, isDate } from 'simple-bool';
10
10
  import { resolvePath } from 'resolve-object-path';
11
- import { toObservable } from '@angular/core/rxjs-interop';
12
- import { map, Subject, isObservable, firstValueFrom, merge, takeUntil, startWith, filter, BehaviorSubject } from 'rxjs';
13
11
  import { TakeChance } from 'take-chance';
12
+ import { isEqual } from 'lodash';
14
13
  import * as i1 from '@angular/common';
15
14
  import { CommonModule, DatePipe, UpperCasePipe, TitleCasePipe, DOCUMENT, DecimalPipe, AsyncPipe } from '@angular/common';
16
15
  import { AutofillMonitor, CdkAutofill } from '@angular/cdk/text-field';
16
+ import { Subject, isObservable, firstValueFrom, merge, takeUntil, startWith, filter, map, BehaviorSubject } from 'rxjs';
17
17
  import { roundToMultiple, roundFromZero, roundToPrecision } from 'more-rounding';
18
18
  import { keyToString } from 'key-display-names';
19
19
  import { BreakpointObserver } from '@angular/cdk/layout';
@@ -243,6 +243,164 @@ const FormElementVariant = {
243
243
  Pill: 'pill',
244
244
  };
245
245
 
246
+ class FormControlTracker {
247
+ constructor(thisObj, options = {}) {
248
+ this.thisObj = thisObj;
249
+ this.options = options;
250
+ this._injector = inject(Injector);
251
+ this._value = signal(undefined);
252
+ this.value = this._value.asReadonly();
253
+ this._errors = signal(null, { equal: (a, b) => isEqual(a, b) });
254
+ this.errors = this._errors.asReadonly();
255
+ this._touched = signal(false);
256
+ this.touched = this._touched.asReadonly();
257
+ this.untouched = computed(() => !this.touched());
258
+ this._pristine = signal(false);
259
+ this.pristine = this._pristine.asReadonly();
260
+ this.dirty = computed(() => !this.pristine());
261
+ this._status = signal('VALID');
262
+ this.status = this._status.asReadonly();
263
+ this.valid = computed(() => this.status() === 'VALID');
264
+ this.invalid = computed(() => this.status() === 'INVALID');
265
+ this.pending = computed(() => this.status() === 'PENDING');
266
+ this.disabled = computed(() => this.status() === 'DISABLED');
267
+ this.enabled = computed(() => !this.disabled());
268
+ this._validators = signal(null);
269
+ this.validators = this._validators.asReadonly();
270
+ this._asyncValidators = signal(null);
271
+ this.asyncValidators = this._asyncValidators.asReadonly();
272
+ }
273
+ init() {
274
+ const ngControl = this._injector.get(NgControl, null);
275
+ if (ngControl) {
276
+ // if the valueAccessor was not yet set by Angular, we have to do it manually here
277
+ if (this.options.attachValueAccessor ?? true) {
278
+ if (!ngControl.valueAccessor || (this.thisObj && this.thisObj instanceof ngControl.valueAccessor.constructor)) {
279
+ ngControl.valueAccessor = this.thisObj;
280
+ }
281
+ }
282
+ // grab the AbstractControl instance
283
+ const instance = ngControl.control;
284
+ if (!instance)
285
+ return;
286
+ this.instance = instance;
287
+ // listen to all data available in the events emitter
288
+ this._eventsSub = instance.events.subscribe(event => {
289
+ if (event instanceof ValueChangeEvent) {
290
+ this._value.set(event.value);
291
+ return;
292
+ }
293
+ if (event instanceof TouchedChangeEvent) {
294
+ this._touched.set(event.touched);
295
+ return;
296
+ }
297
+ if (event instanceof PristineChangeEvent) {
298
+ this._pristine.set(event.pristine);
299
+ return;
300
+ }
301
+ if (event instanceof StatusChangeEvent) {
302
+ this._status.set(event.status);
303
+ this._errors.set(event.source.errors);
304
+ return;
305
+ }
306
+ });
307
+ this._value.set(instance.value);
308
+ this._touched.set(instance.touched);
309
+ this._pristine.set(instance.pristine);
310
+ this._status.set(instance.status);
311
+ this._errors.set(instance.errors);
312
+ // do not read the next lines of code if you are easily frightened
313
+ // I'm not proud of this part, but it had to be done. God please forgive me
314
+ // I didn't find any other feasible way to detect when the control changes its validators
315
+ // so it had to be hacked like this
316
+ // override the "setValidators" function to capture the validators
317
+ const oldSetValidators = instance.setValidators.bind(instance);
318
+ instance.setValidators = (...args) => {
319
+ oldSetValidators(...args);
320
+ const validators = instance._rawValidators;
321
+ this._validators.set(isFunction(validators) ? [validators] : validators);
322
+ };
323
+ // override the "validator" setter to capture the validators
324
+ wrapSetter(instance, 'validator', () => {
325
+ const raw = instance._rawValidators;
326
+ this._validators.set(isFunction(raw) ? [raw] : raw);
327
+ });
328
+ // override the "setAsyncValidators" function to capture the async validators
329
+ const oldSetAsyncValidators = instance.setAsyncValidators.bind(instance);
330
+ instance.setAsyncValidators = (...args) => {
331
+ oldSetAsyncValidators(...args);
332
+ const validators = instance._rawAsyncValidators;
333
+ this._asyncValidators.set(isFunction(validators) ? [validators] : validators);
334
+ };
335
+ // override the "asyncValidator" setter to capture the async validators
336
+ wrapSetter(instance, 'asyncValidator', () => {
337
+ const raw = instance._rawAsyncValidators;
338
+ this._asyncValidators.set(isFunction(raw) ? [raw] : raw);
339
+ });
340
+ // assign the validators at init time
341
+ const validators = instance._rawValidators;
342
+ this._validators.set(isFunction(validators) ? [validators] : validators);
343
+ const asyncValidators = instance._rawAsyncValidators;
344
+ this._asyncValidators.set(isFunction(asyncValidators) ? [asyncValidators] : asyncValidators);
345
+ }
346
+ }
347
+ destroy() {
348
+ this._eventsSub?.unsubscribe();
349
+ }
350
+ }
351
+ /**
352
+ * Gives reactive access to the properties of the Form Control assigned to the component instance.
353
+ *
354
+ * Call the `init()` method inside `ngOnInit()` to start listening to the Form Control, call `destroy()` to dispose of the listener.
355
+ *
356
+ * @param thisObj the component instance.
357
+ * @returns an object containing all standard form control getters as signals.
358
+ * @example
359
+ * ```
360
+ * export class MyComponent implements ControlValueAccessor, OnInit, OnDestroy {
361
+ * readonly control = trackFormControl(this);
362
+ *
363
+ * ngOnInit(): void {
364
+ * this.control.init();
365
+ * }
366
+ * ngOnDestroy(): void {
367
+ * this.control.destroy();
368
+ * }
369
+ * // control value accessor implementation ...
370
+ * }
371
+ * ```
372
+ */
373
+ function trackFormControl(thisObj, options = {}) {
374
+ return new FormControlTracker(thisObj, options);
375
+ }
376
+ // --- helper: wraps an accessor setter on a single instance ---
377
+ function wrapSetter(obj, propName, after) {
378
+ // find the accessor descriptor up the prototype chain
379
+ let proto = obj;
380
+ let desc;
381
+ while (proto && !(desc = Object.getOwnPropertyDescriptor(proto, propName))) {
382
+ proto = Object.getPrototypeOf(proto);
383
+ }
384
+ if (!desc || typeof desc.set !== 'function') {
385
+ throw new Error(`No setter found for ${String(propName)}`);
386
+ }
387
+ const originalSet = desc.set;
388
+ const originalGet = desc.get; // may exist
389
+ Object.defineProperty(obj, propName, {
390
+ configurable: true,
391
+ enumerable: desc.enumerable ?? true,
392
+ get: originalGet
393
+ ? function () {
394
+ return originalGet.call(this);
395
+ }
396
+ : undefined,
397
+ set: function (value) {
398
+ originalSet.call(this, value);
399
+ after();
400
+ },
401
+ });
402
+ }
403
+
246
404
  const _disablableComponentDefaults = {
247
405
  readonly: false,
248
406
  disabled: false,
@@ -383,19 +541,15 @@ const _ngModelComponentDefaults = {
383
541
  class _NgModelComponentBase extends _FocusableComponentBase {
384
542
  constructor() {
385
543
  super(...arguments);
386
- //! event handlers
387
- this.wasTouched = signal(false);
388
544
  this._shouldEmitTouched = false;
389
545
  //! form field related
390
- this._injector = inject(Injector);
391
- this._ngControl = null;
546
+ this.control = trackFormControl(this);
392
547
  this.htmlId = input(TakeChance.id());
393
548
  this._hasError = input(undefined, {
394
549
  transform: v => coerceBooleanProperty(v),
395
550
  alias: 'hasError',
396
551
  });
397
- this._hasErrorInControl = signal(false);
398
- this.hasError = computed(() => this._hasError() ?? (this.wasTouched() && this._hasErrorInControl()));
552
+ this.hasError = computed(() => this._hasError() ?? (this.control.touched() && this.control.invalid()));
399
553
  }
400
554
  /**
401
555
  * Registers a function to handle touched state. Required by ControlValueAccessor.
@@ -418,6 +572,7 @@ class _NgModelComponentBase extends _FocusableComponentBase {
418
572
  setDisabledState(isDisabled) {
419
573
  this.disabled.set(isDisabled);
420
574
  }
575
+ //! event handlers
421
576
  onFocus(event) {
422
577
  super.onFocus(event);
423
578
  this._shouldEmitTouched = false;
@@ -434,32 +589,13 @@ class _NgModelComponentBase extends _FocusableComponentBase {
434
589
  }, 0);
435
590
  }
436
591
  _emitTouched() {
437
- this.wasTouched.set(true);
438
592
  this._onTouchedRegistered?.();
439
593
  }
440
594
  ngOnInit() {
441
- this._ngControl = this._injector.get(NgControl, null);
442
- if (this._ngControl) {
443
- if (!this._ngControl.valueAccessor || (this && this instanceof this._ngControl.valueAccessor.constructor)) {
444
- this._ngControl.valueAccessor = this;
445
- }
446
- this._hasErrorInControl.set(this._ngControl.status === 'INVALID');
447
- this._statusChangesSub = this._ngControl.statusChanges
448
- ?.pipe(map(v => v === 'INVALID'))
449
- .subscribe(v => this._hasErrorInControl.set(v));
450
- if (!this._ngControl.control)
451
- return;
452
- runInInjectionContext(this._injector, () => {
453
- // do not read the next line of code if you are easily frightened
454
- // I'm not proud of this part, but it had to be done. God please forgive me
455
- // I didn't find any other feasible way to detect when the control changes its touched state
456
- // so it had to be hacked like this
457
- toObservable(this._ngControl?.control?.touchedReactive)?.subscribe(v => this.wasTouched.set(v));
458
- });
459
- }
595
+ this.control.init();
460
596
  }
461
597
  ngOnDestroy() {
462
- this._statusChangesSub?.unsubscribe();
598
+ this.control.destroy();
463
599
  }
464
600
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: _NgModelComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
465
601
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: _NgModelComponentBase, isStandalone: true, inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, _hasError: { classPropertyName: "_hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
@@ -484,11 +620,10 @@ class _FormFieldComponentBase extends _NgModelComponentBase {
484
620
  transform: v => coerceBooleanProperty(v),
485
621
  alias: 'required',
486
622
  });
623
+ this.required = computed(() => this._required() ??
624
+ !!(this.control.validators()?.includes(Validators.required) || this.control.validators()?.includes(Validators.requiredTrue)));
487
625
  this.isSuccess = input(false, { transform: v => coerceBooleanProperty(v) });
488
626
  }
489
- get required() {
490
- return this._required() ?? !!this._ngControl?.control?.hasValidator(Validators.required);
491
- }
492
627
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: _FormFieldComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
493
628
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: _FormFieldComponentBase, isStandalone: true, inputs: { _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, isSuccess: { classPropertyName: "isSuccess", publicName: "isSuccess", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
494
629
  }
@@ -674,6 +809,13 @@ class NumberInputModel {
674
809
  this._value.set(stringV);
675
810
  this._updateInputEl();
676
811
  }
812
+ updateFixedDecimalPlaces() {
813
+ if (!this._ardHostCmp.fixedDecimalPlaces())
814
+ return;
815
+ const maxDp = this._ardHostCmp.maxDecimalPlaces();
816
+ const newValue = this.numberValue()?.toFixed(maxDp) ?? null;
817
+ this.setValue(newValue);
818
+ }
677
819
  _updateInputEl() {
678
820
  const stringV = this.stringValue();
679
821
  const el = this._ardHostCmp.inputEl()?.nativeElement;
@@ -9812,6 +9954,7 @@ const _numberInputDefaults = {
9812
9954
  min: 0,
9813
9955
  max: Infinity,
9814
9956
  maxDecimalPlaces: Infinity,
9957
+ fixedDecimalPlaces: false,
9815
9958
  allowFloat: false,
9816
9959
  noButtons: false,
9817
9960
  stepSize: 1,
@@ -9929,6 +10072,9 @@ class ArdiumNumberInputComponent extends _FormFieldComponentBase {
9929
10072
  return newValue;
9930
10073
  },
9931
10074
  });
10075
+ this.fixedDecimalPlaces = input(this._DEFAULTS.fixedDecimalPlaces, {
10076
+ transform: v => coerceBooleanProperty(v),
10077
+ });
9932
10078
  this.allowFloat = input(this._DEFAULTS.allowFloat, { transform: v => coerceBooleanProperty(v) });
9933
10079
  //! incerement/decrement buttons
9934
10080
  this.noButtons = input(this._DEFAULTS.noButtons, { transform: v => coerceBooleanProperty(v) });
@@ -9976,6 +10122,9 @@ class ArdiumNumberInputComponent extends _FormFieldComponentBase {
9976
10122
  //! control value accessor's write value implementation
9977
10123
  writeValue(v) {
9978
10124
  this.inputModel.writeValue(v);
10125
+ if (this.isFocused())
10126
+ return;
10127
+ this.inputModel.updateFixedDecimalPlaces();
9979
10128
  }
9980
10129
  set value(v) {
9981
10130
  if (typeof v === 'number')
@@ -10039,6 +10188,7 @@ class ArdiumNumberInputComponent extends _FormFieldComponentBase {
10039
10188
  }
10040
10189
  onBlurMaster(event) {
10041
10190
  this.onBlur(event);
10191
+ this.inputModel.updateFixedDecimalPlaces();
10042
10192
  }
10043
10193
  //change
10044
10194
  onChange(event) {
@@ -10088,7 +10238,7 @@ class ArdiumNumberInputComponent extends _FormFieldComponentBase {
10088
10238
  }
10089
10239
  }
10090
10240
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumNumberInputComponent, deps: [{ token: ARD_NUMBER_INPUT_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
10091
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumNumberInputComponent, isStandalone: false, selector: "ard-number-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alignText: { classPropertyName: "alignText", publicName: "alignText", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, maxDecimalPlaces: { classPropertyName: "maxDecimalPlaces", publicName: "maxDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, allowFloat: { classPropertyName: "allowFloat", publicName: "allowFloat", isSignal: true, isRequired: false, transformFunction: null }, noButtons: { classPropertyName: "noButtons", publicName: "noButtons", isSignal: true, isRequired: false, transformFunction: null }, keepFocusOnQuickChangeButton: { classPropertyName: "keepFocusOnQuickChangeButton", publicName: "keepFocusOnQuickChangeButton", isSignal: true, isRequired: false, transformFunction: null }, stepSize: { classPropertyName: "stepSize", publicName: "stepSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", inputEvent: "input", changeEvent: "change", clearEvent: "clear", quickChangeEvent: "quickChange" }, providers: [
10241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumNumberInputComponent, isStandalone: false, selector: "ard-number-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alignText: { classPropertyName: "alignText", publicName: "alignText", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, maxDecimalPlaces: { classPropertyName: "maxDecimalPlaces", publicName: "maxDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, fixedDecimalPlaces: { classPropertyName: "fixedDecimalPlaces", publicName: "fixedDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, allowFloat: { classPropertyName: "allowFloat", publicName: "allowFloat", isSignal: true, isRequired: false, transformFunction: null }, noButtons: { classPropertyName: "noButtons", publicName: "noButtons", isSignal: true, isRequired: false, transformFunction: null }, keepFocusOnQuickChangeButton: { classPropertyName: "keepFocusOnQuickChangeButton", publicName: "keepFocusOnQuickChangeButton", isSignal: true, isRequired: false, transformFunction: null }, stepSize: { classPropertyName: "stepSize", publicName: "stepSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", inputEvent: "input", changeEvent: "change", clearEvent: "clear", quickChangeEvent: "quickChange" }, providers: [
10092
10242
  {
10093
10243
  provide: NG_VALUE_ACCESSOR,
10094
10244
  useExisting: forwardRef(() => ArdiumNumberInputComponent),
@@ -13322,6 +13472,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
13322
13472
  }]
13323
13473
  }] });
13324
13474
 
13475
+ const _formFieldDefaults = {
13476
+ defaultHintAlign: SimpleOneAxisAlignment.Left,
13477
+ reserveHintLine: false,
13478
+ labelRequiredText: '*',
13479
+ labelOptionalText: '(optional)',
13480
+ autoErrorOnlyFirstError: true,
13481
+ };
13482
+ const ARD_FORM_FIELD_DEFAULTS = new InjectionToken('ard-form-field-defaults', {
13483
+ factory: () => ({
13484
+ ..._formFieldDefaults,
13485
+ }),
13486
+ });
13487
+ function provideFormFieldDefaults(config) {
13488
+ return { provide: ARD_FORM_FIELD_DEFAULTS, useValue: { ..._formFieldDefaults, ...config } };
13489
+ }
13490
+
13491
+ const ARD_ERROR_MAP = new InjectionToken('ard-error-map', {
13492
+ factory: () => ({ $fallback: 'Provide error messages using provideErrorMap' }),
13493
+ });
13494
+ function provideErrorMap(errorMap) {
13495
+ return { provide: ARD_ERROR_MAP, useValue: errorMap };
13496
+ }
13497
+
13325
13498
  class ArdiumErrorDirective {
13326
13499
  constructor() {
13327
13500
  this.left = input(false, { transform: v => coerceBooleanProperty(v) });
@@ -13349,29 +13522,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
13349
13522
  }]
13350
13523
  }], ctorParameters: () => [] });
13351
13524
 
13352
- const _formFieldDefaults = {
13353
- defaultHintAlign: SimpleOneAxisAlignment.Left,
13354
- reserveHintLine: false,
13355
- labelRequiredText: '*',
13356
- labelOptionalText: '(optional)',
13357
- autoErrorOnlyFirstError: true,
13358
- };
13359
- const ARD_FORM_FIELD_DEFAULTS = new InjectionToken('ard-form-field-defaults', {
13360
- factory: () => ({
13361
- ..._formFieldDefaults,
13362
- }),
13363
- });
13364
- function provideFormFieldDefaults(config) {
13365
- return { provide: ARD_FORM_FIELD_DEFAULTS, useValue: { ..._formFieldDefaults, ...config } };
13366
- }
13367
-
13368
- const ARD_ERROR_MAP = new InjectionToken('ard-error-map', {
13369
- factory: () => ({ $fallback: 'Provide error messages using provideErrorMap' }),
13370
- });
13371
- function provideErrorMap(errorMap) {
13372
- return { provide: ARD_ERROR_MAP, useValue: errorMap };
13373
- }
13374
-
13375
13525
  class ArdiumErrorComponent {
13376
13526
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13377
13527
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ArdiumErrorComponent, isStandalone: false, selector: "ard-error", hostDirectives: [{ directive: ArdiumErrorDirective }], ngImport: i0, template: '<ng-content />', isInline: true }); }
@@ -13401,15 +13551,15 @@ class ArdiumAutoErrorComponent {
13401
13551
  effect(() => {
13402
13552
  const control = this.control();
13403
13553
  this._eventsSub = control.events
13404
- .pipe(filter(event => 'touched' in event || ('status' in event && (event.status === 'INVALID' || event.status === 'VALID'))), map(() => {
13554
+ .pipe(filter(event => 'touched' in event || 'status' in event), map(() => {
13405
13555
  const errors = control.errors;
13406
13556
  if (!errors || !control.touched) {
13407
13557
  return [];
13408
13558
  }
13409
- const onlyFirstError = this.onlyFirstError();
13410
13559
  if (typeof errors === 'object' && Object.keys(errors).length === 0) {
13411
13560
  return [];
13412
13561
  }
13562
+ const onlyFirstError = this.onlyFirstError();
13413
13563
  const errorMessages = [];
13414
13564
  for (const errorType in this._errorMap) {
13415
13565
  if (errorType in errors) {
@@ -13437,6 +13587,9 @@ class ArdiumAutoErrorComponent {
13437
13587
  .subscribe(errorMessages => {
13438
13588
  this.errorMessages.set(errorMessages);
13439
13589
  });
13590
+ () => {
13591
+ this._eventsSub.unsubscribe();
13592
+ };
13440
13593
  });
13441
13594
  effect(() => {
13442
13595
  if (this.left() && this.right()) {
@@ -13448,16 +13601,17 @@ class ArdiumAutoErrorComponent {
13448
13601
  this._eventsSub?.unsubscribe();
13449
13602
  }
13450
13603
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumAutoErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13451
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumAutoErrorComponent, isStandalone: false, selector: "ard-auto-error", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, onlyFirstError: { classPropertyName: "onlyFirstError", publicName: "onlyFirstError", isSignal: true, isRequired: false, transformFunction: null }, left: { classPropertyName: "left", publicName: "left", isSignal: true, isRequired: false, transformFunction: null }, right: { classPropertyName: "right", publicName: "right", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ard-error": "true", "class.ard-auto-error": "true", "class.ard-auto-error-default": "!left() && !right()", "class.ard-auto-error-left": "left() && !right()", "class.ard-auto-error-right": "!left() && right()" } }, hostDirectives: [{ directive: ArdiumErrorDirective }], ngImport: i0, template: "@for (message of errorMessages(); track message) {\r\n <ard-error>{{ message }}</ard-error>\r\n}", dependencies: [{ kind: "component", type: ArdiumErrorComponent, selector: "ard-error" }] }); }
13604
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumAutoErrorComponent, isStandalone: false, selector: "ard-auto-error", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, onlyFirstError: { classPropertyName: "onlyFirstError", publicName: "onlyFirstError", isSignal: true, isRequired: false, transformFunction: null }, left: { classPropertyName: "left", publicName: "left", isSignal: true, isRequired: false, transformFunction: null }, right: { classPropertyName: "right", publicName: "right", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ard-auto-error": "true", "class.ard-auto-error-default": "!left() && !right()", "class.ard-auto-error-left": "left() && !right()", "class.ard-auto-error-right": "!left() && right()", "class.ard-auto-error__no-errors": "errorMessages().length === 0", "class.ard-auto-error__has-errors": "errorMessages().length > 0" } }, ngImport: i0, template: "@for (message of errorMessages(); track message) {\r\n <ard-error>{{ message }}</ard-error>\r\n}", dependencies: [{ kind: "component", type: ArdiumErrorComponent, selector: "ard-error" }] }); }
13452
13605
  }
13453
13606
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumAutoErrorComponent, decorators: [{
13454
13607
  type: Component,
13455
- args: [{ standalone: false, selector: 'ard-auto-error', hostDirectives: [{ directive: ArdiumErrorDirective }], host: {
13456
- '[class.ard-error]': 'true',
13608
+ args: [{ standalone: false, selector: 'ard-auto-error', host: {
13457
13609
  '[class.ard-auto-error]': 'true',
13458
13610
  '[class.ard-auto-error-default]': '!left() && !right()',
13459
13611
  '[class.ard-auto-error-left]': 'left() && !right()',
13460
13612
  '[class.ard-auto-error-right]': '!left() && right()',
13613
+ '[class.ard-auto-error__no-errors]': 'errorMessages().length === 0',
13614
+ '[class.ard-auto-error__has-errors]': 'errorMessages().length > 0',
13461
13615
  }, template: "@for (message of errorMessages(); track message) {\r\n <ard-error>{{ message }}</ard-error>\r\n}" }]
13462
13616
  }], ctorParameters: () => [] });
13463
13617
 
@@ -13467,46 +13621,24 @@ class ArdiumFormFieldNativeInputAdapterDirective {
13467
13621
  transform: v => coerceBooleanProperty(v),
13468
13622
  alias: 'required',
13469
13623
  });
13624
+ this.required = computed(() => this._required() ??
13625
+ !!(this.control.validators()?.includes(Validators.required) || this.control.validators()?.includes(Validators.requiredTrue)));
13470
13626
  this.isSuccess = input(false, { transform: v => coerceBooleanProperty(v) });
13471
13627
  this.disabled = input(false, { transform: v => coerceBooleanProperty(v) });
13472
13628
  //! form field related
13473
- this._injector = inject(Injector);
13474
- this.wasTouched = signal(false);
13475
- this._ngControl = null;
13629
+ this.control = trackFormControl(this, { attachValueAccessor: false });
13476
13630
  this.htmlId = input(TakeChance.id());
13477
13631
  this._hasError = input(undefined, {
13478
13632
  transform: v => coerceBooleanProperty(v),
13479
13633
  alias: 'hasError',
13480
13634
  });
13481
- this._hasErrorInControl = signal(false);
13482
- this.hasError = computed(() => this._hasError() ?? (this.wasTouched() && this._hasErrorInControl()));
13483
- }
13484
- get required() {
13485
- return this._required() ?? !!this._ngControl?.control?.hasValidator(Validators.required);
13635
+ this.hasError = computed(() => this._hasError() ?? (this.control.touched() && this.control.invalid()));
13486
13636
  }
13487
13637
  ngOnInit() {
13488
- this._ngControl = this._injector.get(NgControl, null);
13489
- if (this._ngControl) {
13490
- // if (!this._ngControl.valueAccessor || (this && this instanceof (this._ngControl.valueAccessor as any).constructor)) {
13491
- // this._ngControl.valueAccessor = this;
13492
- // }
13493
- this._hasErrorInControl.set(this._ngControl.status === 'INVALID');
13494
- this._statusChangesSub = this._ngControl.statusChanges
13495
- ?.pipe(map(v => v === 'INVALID'))
13496
- .subscribe(v => this._hasErrorInControl.set(v));
13497
- if (!this._ngControl.control)
13498
- return;
13499
- runInInjectionContext(this._injector, () => {
13500
- // do not read the next line of code if you are easily frightened
13501
- // I'm not proud of this part, but it had to be done. God please forgive me
13502
- // I didn't find any other feasible way to detect when the control changes its touched state
13503
- // so it had to be hacked like this
13504
- toObservable(this._ngControl?.control?.touchedReactive)?.subscribe(v => this.wasTouched.set(v));
13505
- });
13506
- }
13638
+ this.control.init();
13507
13639
  }
13508
13640
  ngOnDestroy() {
13509
- this._statusChangesSub?.unsubscribe();
13641
+ this.control.destroy();
13510
13642
  }
13511
13643
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumFormFieldNativeInputAdapterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13512
13644
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: ArdiumFormFieldNativeInputAdapterDirective, isStandalone: false, selector: "ard-form-field > input, ard-form-field > textarea, ard-form-field > select, ard-horizontal-form-field > input, ard-horizontal-form-field > textarea, ard-horizontal-form-field > select", inputs: { _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, isSuccess: { classPropertyName: "isSuccess", publicName: "isSuccess", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, _hasError: { classPropertyName: "_hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ard-has-error": "hasError()", "class.ard-is-success": "isSuccess()" } }, providers: [
@@ -13667,11 +13799,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
13667
13799
 
13668
13800
  class ArdiumFormFieldComponent extends _FormFieldBase {
13669
13801
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumFormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumFormFieldComponent, isStandalone: false, selector: "ard-form-field", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13802
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumFormFieldComponent, isStandalone: false, selector: "ard-form-field", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: ["ard-form-field,ard-horizontal-form-field{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-auto-error__no-errors{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13671
13803
  }
13672
13804
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumFormFieldComponent, decorators: [{
13673
13805
  type: Component,
13674
- args: [{ standalone: false, selector: 'ard-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error{display:none}\n"] }]
13806
+ args: [{ standalone: false, selector: 'ard-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: ["ard-form-field,ard-horizontal-form-field{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-auto-error__no-errors{display:none}\n"] }]
13675
13807
  }] });
13676
13808
 
13677
13809
  class ArdiumHintErrorComponent {
@@ -13704,11 +13836,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
13704
13836
 
13705
13837
  class ArdiumHorizontalFormFieldComponent extends _FormFieldBase {
13706
13838
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumHorizontalFormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13707
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumHorizontalFormFieldComponent, isStandalone: false, selector: "ard-horizontal-form-field", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13839
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ArdiumHorizontalFormFieldComponent, isStandalone: false, selector: "ard-horizontal-form-field", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: ["ard-form-field,ard-horizontal-form-field{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-auto-error__no-errors{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13708
13840
  }
13709
13841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ArdiumHorizontalFormFieldComponent, decorators: [{
13710
13842
  type: Component,
13711
- args: [{ standalone: false, selector: 'ard-horizontal-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: [":host{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error{display:none}\n"] }]
13843
+ args: [{ standalone: false, selector: 'ard-horizontal-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-horizontal-form-field\"\r\n [class.ard-form-field__with-error]=\"controlHasError\"\r\n [class.ard-form-field__is-success]=\"controlIsSuccess\"\r\n [class.ard-form-field__control-disabled]=\"controlDisabled\"\r\n>\r\n <div class=\"ard-form-field__label-container\">\r\n <label\r\n class=\"ard-form-field__label\"\r\n [attr.for]=\"controlHtmlId\"\r\n >\r\n <ng-content select=\"ard-label, [ard-label]\" />\r\n </label>\r\n </div>\r\n <div class=\"ard-form-field__non-label\">\r\n <div class=\"ard-form-field__input\">\r\n <ng-content />\r\n </div>\r\n <div\r\n class=\"ard-form-field__hints\"\r\n [class.ard-form-field__errors]=\"hasAnyError()\"\r\n [class.ard-form-field__reserve-hint-line]=\"reserveHintLine() || hasAnyHint()\"\r\n [class.ard-form-field__hints-default-left]=\"alignHintToLeftByDefault()\"\r\n >\r\n @if (hasAnyError()) {\r\n <div class=\"ard-form-field__errors-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[left], [ard-error][left], ard-auto-error[left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__errors-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-error\">\r\n <ng-template [ngTemplateOutlet]=\"defaultAutoErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultErrors\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-error[right], [ard-error][right], ard-auto-error[right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n } @else {\r\n <div class=\"ard-form-field__hints-left\">\r\n @if (alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[left], [ard-hint][left]\" />\r\n <ng-template [ngTemplateOutlet]=\"leftHintErrors\" />\r\n </div>\r\n <div class=\"ard-form-field__hints-right\">\r\n @if (!alignHintToLeftByDefault()) {\r\n <div class=\"ard-form-field__default-hint\">\r\n <ng-template [ngTemplateOutlet]=\"defaultHints\" />\r\n <ng-template [ngTemplateOutlet]=\"defaultHintErrors\" />\r\n </div>\r\n }\r\n <ng-content select=\"ard-hint[right], [ard-hint][right]\" />\r\n <ng-template [ngTemplateOutlet]=\"rightHintErrors\" />\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultHints>\r\n <ng-content select=\"ard-hint:not([left]):not([right]), [ard-hint]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultAutoErrors>\r\n <ng-content select=\"ard-auto-error:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultErrors>\r\n <ng-content select=\"ard-error:not([left]):not([right]), [ard-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultHintErrors>\r\n <ng-content select=\"ard-hint-error:not([left]):not([right]), [ard-hint-error]:not([left]):not([right])\" />\r\n</ng-template>\r\n<ng-template #leftHintErrors>\r\n <ng-content select=\"ard-hint-error[left], [ard-hint-error][left]\" />\r\n</ng-template>\r\n<ng-template #rightHintErrors>\r\n <ng-content select=\"ard-hint-error[right], [ard-hint-error][right]\" />\r\n</ng-template>\r\n", styles: ["ard-form-field,ard-horizontal-form-field{display:block}.ard-horizontal-form-field{display:flex}.ard-form-field__hints,.ard-form-field__errors{display:flex;justify-content:space-between}.ard-form-field__hints>*,.ard-form-field__errors>*{display:flex;flex-direction:column}.ard-form-field__hints .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors .ard-form-field__errors-left .ard-form-field__default-error{display:none}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-left .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-left .ard-form-field__default-error{display:flex;flex-direction:column}.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__hints.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__hints-right .ard-form-field__default-hint,.ard-form-field__errors.ard-form-field__hints-default-left .ard-form-field__errors-right .ard-form-field__default-error,.ard-auto-error__no-errors{display:none}\n"] }]
13712
13844
  }] });
13713
13845
 
13714
13846
  class ArdiumFormFieldModule {
@@ -17142,5 +17274,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
17142
17274
  * Generated bundle index. Do not edit.
17143
17275
  */
17144
17276
 
17145
- export { ARD_BADGE_DEFAULTS, ARD_BREAKPOINTS, ARD_BUTTON_DEFAULTS, ARD_CALENDAR_DEFAULTS, ARD_CARD_DEFAULTS, ARD_CHECKBOX_DEFAULTS, ARD_CHECKBOX_LIST_DEFAULTS, ARD_CHIP_DEFAULTS, ARD_DATE_INPUT_DEFAULTS, ARD_DELETABLE_CHIP_DEFAULTS, ARD_DIALOG_DEFAULTS, ARD_DIGIT_INPUT_DEFAULTS, ARD_DIVIDER_DEFAULTS, ARD_DROPDOWN_PANEL_DEFAULTS, ARD_ERROR_MAP, ARD_FAB_DEFAULTS, ARD_FILE_DROP_AREA_DEFAULTS, ARD_FILE_INPUT_DEFAULTS, ARD_FORM_FIELD_CONTROL, ARD_FORM_FIELD_DEFAULTS, ARD_FORM_FIELD_FRAME_DEFAULTS, ARD_GRID_DEFAULTS, ARD_HEX_INPUT_DEFAULTS, ARD_ICON_BUTTON_DEFAULTS, ARD_ICON_DEFAULTS, ARD_KBD_DEFAULTS, ARD_KBD_SHORTCUT_DEFAULTS, ARD_MODAL_DEFAULTS, ARD_NUMBER_INPUT_DEFAULTS, ARD_PASSWORD_INPUT_DEFAULTS, ARD_PROGRESS_BAR_DEFAULTS, ARD_PROGRESS_CIRCLE_DEFAULTS, ARD_RADIO_DEFAULTS, ARD_RATING_DISPLAY_DEFAULTS, ARD_RATING_INPUT_DEFAULTS, ARD_SEGMENT_DEFAULTS, ARD_SELECTABLE_CHIP_DEFAULTS, ARD_SELECT_DEFAULTS, ARD_SIMPLE_INPUT_DEFAULTS, ARD_SLIDER_DEFAULTS, ARD_SLIDE_TOGGLE_DEFAULTS, ARD_SNACKBAR_ANIMATION_LENGTH, ARD_SNACKBAR_DATA, ARD_SNACKBAR_DEFAULTS, ARD_SPINNER_DEFAULTS, ARD_STAR_BUTTON_DEFAULTS, ARD_STAR_DEFAULTS, ARD_STATEBOX_DEFAULTS, ARD_TABBER_DEFAULTS, ARD_TABLE_DEFAULTS, ARD_TABLE_FROM_CSV_DEFAULTS, ARD_TABLE_PAGINATION_DEFAULTS, ArdAddCustomTemplateDirective, ArdAutocompleteInputLoadingTemplateDirective, ArdAutocompleteInputPlaceholderTemplateDirective, ArdAutocompleteInputPrefixTemplateDirective, ArdAutocompleteInputSuffixTemplateDirective, ArdAutocompleteInputSuggestionTemplateDirective, ArdCalendarDayTemplateDirective, ArdCalendarDaysViewHeaderTemplateDirective, ArdCalendarFloatingMonthTemplateDirective, ArdCalendarMonthTemplateDirective, ArdCalendarMonthsViewHeaderTemplateDirective, ArdCalendarView, ArdCalendarWeekdayTemplateDirective, ArdCalendarYearTemplateDirective, ArdCalendarYearsViewHeaderTemplateDirective, ArdCheckboxListCheckboxTemplateDirective, ArdCheckboxListLabelTemplateDirective, ArdCheckboxTemplateDirective, ArdDateInputAcceptButtonsTemplateDirective, ArdDateInputCalendarIconTemplateDirective, ArdDateInputDayTemplateDirective, ArdDateInputDaysViewHeaderTemplateDirective, ArdDateInputFloatingMonthTemplateDirective, ArdDateInputMinMaxStrategy, ArdDateInputMonthTemplateDirective, ArdDateInputMonthsViewHeaderTemplateDirective, ArdDateInputPrefixTemplateDirective, ArdDateInputSuffixTemplateDirective, ArdDateInputValueTemplateDirective, ArdDateInputWeekdayTemplateDirective, ArdDateInputYearTemplateDirective, ArdDateInputYearsViewHeaderTemplateDirective, ArdDateRangeInputAcceptButtonsTemplateDirective, ArdDateRangeInputCalendarIconTemplateDirective, ArdDateRangeInputDayTemplateDirective, ArdDateRangeInputDaysViewHeaderTemplateDirective, ArdDateRangeInputFloatingMonthTemplateDirective, ArdDateRangeInputMonthTemplateDirective, ArdDateRangeInputMonthsViewHeaderTemplateDirective, ArdDateRangeInputPrefixTemplateDirective, ArdDateRangeInputSuffixTemplateDirective, ArdDateRangeInputValueTemplateDirective, ArdDateRangeInputWeekdayTemplateDirective, ArdDateRangeInputYearTemplateDirective, ArdDateRangeInputYearsViewHeaderTemplateDirective, ArdDialogActionType, ArdDialogButtonsTemplateDirective, ArdDialogCloseIconTemplateDirective, ArdDialogResult, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdFileInputPlaceholderTemplateDirective, ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective, ArdGridAlign, ArdGridDirection, ArdGridJustify, ArdGridSize, ArdGridWrap, ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdModalCloseIconTemplateDirective, ArdMultiCalendarLocation, ArdMultipageDateRangeInputAcceptButtonsTemplateDirective, ArdMultipageDateRangeInputCalendarIconTemplateDirective, ArdMultipageDateRangeInputDayTemplateDirective, ArdMultipageDateRangeInputDaysViewHeaderTemplateDirective, ArdMultipageDateRangeInputFloatingMonthTemplateDirective, ArdMultipageDateRangeInputMonthTemplateDirective, ArdMultipageDateRangeInputMonthsViewHeaderTemplateDirective, ArdMultipageDateRangeInputPrefixTemplateDirective, ArdMultipageDateRangeInputSuffixTemplateDirective, ArdMultipageDateRangeInputValueTemplateDirective, ArdMultipageDateRangeInputWeekdayTemplateDirective, ArdMultipageDateRangeInputYearTemplateDirective, ArdMultipageDateRangeInputYearsViewHeaderTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdNumberInputPlaceholderTemplateDirective, ArdNumberInputPrefixTemplateDirective, ArdNumberInputSuffixTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdPanelPosition, ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective, ArdProgressBarValueTemplateDirective, ArdProgressCircleValueTemplateDirective, ArdRangeCalendarDayTemplateDirective, ArdRangeCalendarDaysViewHeaderTemplateDirective, ArdRangeCalendarFloatingMonthTemplateDirective, ArdRangeCalendarMonthTemplateDirective, ArdRangeCalendarMonthsViewHeaderTemplateDirective, ArdRangeCalendarWeekdayTemplateDirective, ArdRangeCalendarYearTemplateDirective, ArdRangeCalendarYearsViewHeaderTemplateDirective, ArdRangeSelectionBehavior, ArdRatingDisplayStarTemplateDirective, ArdRatingInputStarButtonTemplateDirective, searchFunctions as ArdSearchFunction, ArdSegmentOptionTemplateDirective, ArdSelectDropdownArrowTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdSlideToggleAppearance, ArdSliderTooltipDirective, ArdSnackbarAlignment, ArdSnackbarOriginRelation, ArdSnackbarQueueHandling, ArdSnackbarRef, ArdSnackbarType, ArdStarButtonStarTemplateDirective, ArdStarIconTemplateDirective, ArdTabberLabelTemplateDirective, ArdValueChipTemplateDirective, ArdValueTemplateDirective, ArdiumAutoErrorComponent, ArdiumAutocompleteInputComponent, ArdiumAutocompleteInputModule, ArdiumBadgeDirective, ArdiumBadgeModule, ArdiumBreakpointService, ArdiumButtonComponent, ArdiumButtonDirective, ArdiumButtonModule, ArdiumCalendarComponent, ArdiumCalendarModule, ArdiumCardActionButtonsDirective, ArdiumCardAvatarDirective, ArdiumCardComponent, ArdiumCardContentDirective, ArdiumCardDirective, ArdiumCardFooterDirective, ArdiumCardHeaderComponent, ArdiumCardImageDirective, ArdiumCardModule, ArdiumCardSubtitleDirective, ArdiumCardTitleDirective, ArdiumCheckboxComponent, ArdiumCheckboxListComponent, ArdiumCheckboxListModule, ArdiumCheckboxModule, ArdiumChipComponent, ArdiumChipModule, ArdiumDateInputComponent, ArdiumDateInputModule, ArdiumDateRangeInputComponent, ArdiumDateRangeInputModule, ArdiumDeletableChipComponent, ArdiumDialogComponent, ArdiumDialogModule, ArdiumDigitInputComponent, ArdiumDigitInputModule, ArdiumDividerComponent, ArdiumDividerModule, ArdiumDropdownPanelComponent, ArdiumDropdownPanelModule, ArdiumErrorComponent, ArdiumErrorDirective, ArdiumFabComponent, ArdiumFabModule, ArdiumFileDropAreaComponent, ArdiumFileDropAreaDragoverContentTemplateDirective, ArdiumFileDropAreaIdleContentTemplateDirective, ArdiumFileDropAreaModule, ArdiumFileDropAreaUploadedContentTemplateDirective, ArdiumFileInputComponent, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputFolderIconTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputModule, ArdiumFileInputUploadedContentTemplateDirective, ArdiumFormFieldComponent, ArdiumFormFieldFrameComponent, ArdiumFormFieldFrameModule, ArdiumFormFieldModule, ArdiumFormFieldNativeInputAdapterDirective, ArdiumGridComponent, ArdiumGridModule, ArdiumHexInputComponent, ArdiumHexInputModule, ArdiumHintComponent, ArdiumHintDirective, ArdiumHintErrorComponent, ArdiumHintErrorDirective, ArdiumHorizontalFormFieldComponent, ArdiumIconButtonComponent, ArdiumIconButtonModule, ArdiumIconComponent, ArdiumIconModule, ArdiumIconPipe, ArdiumInputComponent, ArdiumInputModule, ArdiumKbdComponent, ArdiumKbdDirective, ArdiumKbdModule, ArdiumKbdPipe, ArdiumKbdShortcutComponent, ArdiumKbdShortcutModule, ArdiumLabelComponent, ArdiumModalComponent, ArdiumModalModule, ArdiumMultipageDateRangeInputComponent, ArdiumMultipageDateRangeInputModule, ArdiumNumberInputComponent, ArdiumNumberInputModule, ArdiumOptionComponent, ArdiumOptionModule, ArdiumPasswordInputComponent, ArdiumPasswordInputModule, ArdiumProgressBarComponent, ArdiumProgressBarModule, ArdiumProgressCircleComponent, ArdiumProgressCircleModule, ArdiumRadioComponent, ArdiumRadioGroupComponent, ArdiumRadioModule, ArdiumRangeCalendarComponent, ArdiumRangeCalendarModule, ArdiumRangeSliderComponent, ArdiumRangeSliderModule, ArdiumRatingDisplayComponent, ArdiumRatingDisplayModule, ArdiumRatingInputComponent, ArdiumRatingInputModule, ArdiumSegmentComponent, ArdiumSegmentModule, ArdiumSelectComponent, ArdiumSelectModule, ArdiumSelectableChipComponent, ArdiumSlideToggleComponent, ArdiumSlideToggleModule, ArdiumSliderComponent, ArdiumSliderModule, ArdiumSnackbarService, ArdiumSpinnerComponent, ArdiumSpinnerModule, ArdiumStarButtonComponent, ArdiumStarButtonModule, ArdiumStarComponent, ArdiumStarModule, ArdiumStateboxComponent, ArdiumStateboxModule, ArdiumTabComponent, ArdiumTabberComponent, ArdiumTabberModule, ArdiumTableCaptionTemplateDirective, ArdiumTableCheckboxTemplateDirective, ArdiumTableComponent, ArdiumTableFromCsvComponent, ArdiumTableFromCsvModule, ArdiumTableHeaderCheckboxTemplateDirective, ArdiumTableModule, ArdiumTablePaginationComponent, ArdiumTablePaginationModule, ArdiumTablePaginationTemplateDirective, ArdiumTableTemplateDirective, ArdiumTextListComponent, ArdiumTextListModule, ArdiumTextListPipe, BadgePosition, BadgeSize, ButtonAppearance, ButtonVariant, CardAppearance, CardVariant, CheckboxListAlignType, CheckboxState, ClickStrategy, ComponentColor, DateRange, DecorationElementAppearance, DigitInputPrimitiveOption, DigitInputShape, DropdownPanelAppearance, DropdownPanelVariant, FabSize, FormElementAppearance, FormElementVariant, OneAxisAlignment, OutlinedAppearance, PaginationAlign, PanelAppearance, PanelVariant, ProgressBarAppearance, ProgressBarMode, ProgressBarSize, ProgressBarVariant, ProgressCircleAppearance, ProgressCircleVariant, SegmentAppearance, SegmentVariant, SimpleComponentColor, SimpleOneAxisAlignment, SliderDecorationPosition, SliderTooltipBehavior, SortType, StarColor, StarFillMode, TableAlignType, TableAppearance, TablePaginationStrategy, TableVariant, TransformType, _chipDefaults, _modalDefaults, isArdGridAlign, isArdGridDirection, isArdGridJustify, isArdGridSize, isArdGridWrap, provideBadgeDefaults, provideBreakpoints, provideButtonDefaults, provideCalendarDefaults, provideCardDefaults, provideCheckboxDefaults, provideCheckboxListDefaults, provideChipDefaults, provideDateInputDefaults, provideDeletableChipDefaults, provideDialogDefaults, provideDigitInputDefaults, provideDividerDefaults, provideDropdownPanelDefaults, provideErrorMap, provideFabDefaults, provideFileDropAreaDefaults, provideFileInputDefaults, provideFormFieldDefaults, provideFormFieldFrameDefaults, provideGridDefaults, provideHexInputDefaults, provideIconButtonDefaults, provideIconDefaults, provideInputDefaults, provideKbdDefaults, provideKbdShortcutDefaults, provideModalDefaults, provideNumberInputDefaults, providePasswordInputDefaults, provideProgressBarDefaults, provideProgressCircleDefaults, provideRadioDefaults, provideRatingDisplayDefaults, provideRatingInputDefaults, provideSegmentDefaults, provideSelectDefaults, provideSelectableChipDefaults, provideSlideToggleDefaults, provideSliderDefaults, provideSnackbarDefaults, provideSpinnerDefaults, provideStarButtonDefaults, provideStarDefaults, provideStateboxDefaults, provideTabberDefaults, provideTableDefaults, provideTableFromCsvDefaults, provideTablePaginationDefaults, searchInString };
17277
+ export { ARD_BADGE_DEFAULTS, ARD_BREAKPOINTS, ARD_BUTTON_DEFAULTS, ARD_CALENDAR_DEFAULTS, ARD_CARD_DEFAULTS, ARD_CHECKBOX_DEFAULTS, ARD_CHECKBOX_LIST_DEFAULTS, ARD_CHIP_DEFAULTS, ARD_DATE_INPUT_DEFAULTS, ARD_DELETABLE_CHIP_DEFAULTS, ARD_DIALOG_DEFAULTS, ARD_DIGIT_INPUT_DEFAULTS, ARD_DIVIDER_DEFAULTS, ARD_DROPDOWN_PANEL_DEFAULTS, ARD_ERROR_MAP, ARD_FAB_DEFAULTS, ARD_FILE_DROP_AREA_DEFAULTS, ARD_FILE_INPUT_DEFAULTS, ARD_FORM_FIELD_CONTROL, ARD_FORM_FIELD_DEFAULTS, ARD_FORM_FIELD_FRAME_DEFAULTS, ARD_GRID_DEFAULTS, ARD_HEX_INPUT_DEFAULTS, ARD_ICON_BUTTON_DEFAULTS, ARD_ICON_DEFAULTS, ARD_KBD_DEFAULTS, ARD_KBD_SHORTCUT_DEFAULTS, ARD_MODAL_DEFAULTS, ARD_NUMBER_INPUT_DEFAULTS, ARD_PASSWORD_INPUT_DEFAULTS, ARD_PROGRESS_BAR_DEFAULTS, ARD_PROGRESS_CIRCLE_DEFAULTS, ARD_RADIO_DEFAULTS, ARD_RATING_DISPLAY_DEFAULTS, ARD_RATING_INPUT_DEFAULTS, ARD_SEGMENT_DEFAULTS, ARD_SELECTABLE_CHIP_DEFAULTS, ARD_SELECT_DEFAULTS, ARD_SIMPLE_INPUT_DEFAULTS, ARD_SLIDER_DEFAULTS, ARD_SLIDE_TOGGLE_DEFAULTS, ARD_SNACKBAR_ANIMATION_LENGTH, ARD_SNACKBAR_DATA, ARD_SNACKBAR_DEFAULTS, ARD_SPINNER_DEFAULTS, ARD_STAR_BUTTON_DEFAULTS, ARD_STAR_DEFAULTS, ARD_STATEBOX_DEFAULTS, ARD_TABBER_DEFAULTS, ARD_TABLE_DEFAULTS, ARD_TABLE_FROM_CSV_DEFAULTS, ARD_TABLE_PAGINATION_DEFAULTS, ArdAddCustomTemplateDirective, ArdAutocompleteInputLoadingTemplateDirective, ArdAutocompleteInputPlaceholderTemplateDirective, ArdAutocompleteInputPrefixTemplateDirective, ArdAutocompleteInputSuffixTemplateDirective, ArdAutocompleteInputSuggestionTemplateDirective, ArdCalendarDayTemplateDirective, ArdCalendarDaysViewHeaderTemplateDirective, ArdCalendarFloatingMonthTemplateDirective, ArdCalendarMonthTemplateDirective, ArdCalendarMonthsViewHeaderTemplateDirective, ArdCalendarView, ArdCalendarWeekdayTemplateDirective, ArdCalendarYearTemplateDirective, ArdCalendarYearsViewHeaderTemplateDirective, ArdCheckboxListCheckboxTemplateDirective, ArdCheckboxListLabelTemplateDirective, ArdCheckboxTemplateDirective, ArdDateInputAcceptButtonsTemplateDirective, ArdDateInputCalendarIconTemplateDirective, ArdDateInputDayTemplateDirective, ArdDateInputDaysViewHeaderTemplateDirective, ArdDateInputFloatingMonthTemplateDirective, ArdDateInputMinMaxStrategy, ArdDateInputMonthTemplateDirective, ArdDateInputMonthsViewHeaderTemplateDirective, ArdDateInputPrefixTemplateDirective, ArdDateInputSuffixTemplateDirective, ArdDateInputValueTemplateDirective, ArdDateInputWeekdayTemplateDirective, ArdDateInputYearTemplateDirective, ArdDateInputYearsViewHeaderTemplateDirective, ArdDateRangeInputAcceptButtonsTemplateDirective, ArdDateRangeInputCalendarIconTemplateDirective, ArdDateRangeInputDayTemplateDirective, ArdDateRangeInputDaysViewHeaderTemplateDirective, ArdDateRangeInputFloatingMonthTemplateDirective, ArdDateRangeInputMonthTemplateDirective, ArdDateRangeInputMonthsViewHeaderTemplateDirective, ArdDateRangeInputPrefixTemplateDirective, ArdDateRangeInputSuffixTemplateDirective, ArdDateRangeInputValueTemplateDirective, ArdDateRangeInputWeekdayTemplateDirective, ArdDateRangeInputYearTemplateDirective, ArdDateRangeInputYearsViewHeaderTemplateDirective, ArdDialogActionType, ArdDialogButtonsTemplateDirective, ArdDialogCloseIconTemplateDirective, ArdDialogResult, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdFileInputPlaceholderTemplateDirective, ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective, ArdGridAlign, ArdGridDirection, ArdGridJustify, ArdGridSize, ArdGridWrap, ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdModalCloseIconTemplateDirective, ArdMultiCalendarLocation, ArdMultipageDateRangeInputAcceptButtonsTemplateDirective, ArdMultipageDateRangeInputCalendarIconTemplateDirective, ArdMultipageDateRangeInputDayTemplateDirective, ArdMultipageDateRangeInputDaysViewHeaderTemplateDirective, ArdMultipageDateRangeInputFloatingMonthTemplateDirective, ArdMultipageDateRangeInputMonthTemplateDirective, ArdMultipageDateRangeInputMonthsViewHeaderTemplateDirective, ArdMultipageDateRangeInputPrefixTemplateDirective, ArdMultipageDateRangeInputSuffixTemplateDirective, ArdMultipageDateRangeInputValueTemplateDirective, ArdMultipageDateRangeInputWeekdayTemplateDirective, ArdMultipageDateRangeInputYearTemplateDirective, ArdMultipageDateRangeInputYearsViewHeaderTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdNumberInputPlaceholderTemplateDirective, ArdNumberInputPrefixTemplateDirective, ArdNumberInputSuffixTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdPanelPosition, ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective, ArdProgressBarValueTemplateDirective, ArdProgressCircleValueTemplateDirective, ArdRangeCalendarDayTemplateDirective, ArdRangeCalendarDaysViewHeaderTemplateDirective, ArdRangeCalendarFloatingMonthTemplateDirective, ArdRangeCalendarMonthTemplateDirective, ArdRangeCalendarMonthsViewHeaderTemplateDirective, ArdRangeCalendarWeekdayTemplateDirective, ArdRangeCalendarYearTemplateDirective, ArdRangeCalendarYearsViewHeaderTemplateDirective, ArdRangeSelectionBehavior, ArdRatingDisplayStarTemplateDirective, ArdRatingInputStarButtonTemplateDirective, searchFunctions as ArdSearchFunction, ArdSegmentOptionTemplateDirective, ArdSelectDropdownArrowTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdSlideToggleAppearance, ArdSliderTooltipDirective, ArdSnackbarAlignment, ArdSnackbarOriginRelation, ArdSnackbarQueueHandling, ArdSnackbarRef, ArdSnackbarType, ArdStarButtonStarTemplateDirective, ArdStarIconTemplateDirective, ArdTabberLabelTemplateDirective, ArdValueChipTemplateDirective, ArdValueTemplateDirective, ArdiumAutoErrorComponent, ArdiumAutocompleteInputComponent, ArdiumAutocompleteInputModule, ArdiumBadgeDirective, ArdiumBadgeModule, ArdiumBreakpointService, ArdiumButtonComponent, ArdiumButtonDirective, ArdiumButtonModule, ArdiumCalendarComponent, ArdiumCalendarModule, ArdiumCardActionButtonsDirective, ArdiumCardAvatarDirective, ArdiumCardComponent, ArdiumCardContentDirective, ArdiumCardDirective, ArdiumCardFooterDirective, ArdiumCardHeaderComponent, ArdiumCardImageDirective, ArdiumCardModule, ArdiumCardSubtitleDirective, ArdiumCardTitleDirective, ArdiumCheckboxComponent, ArdiumCheckboxListComponent, ArdiumCheckboxListModule, ArdiumCheckboxModule, ArdiumChipComponent, ArdiumChipModule, ArdiumDateInputComponent, ArdiumDateInputModule, ArdiumDateRangeInputComponent, ArdiumDateRangeInputModule, ArdiumDeletableChipComponent, ArdiumDialogComponent, ArdiumDialogModule, ArdiumDigitInputComponent, ArdiumDigitInputModule, ArdiumDividerComponent, ArdiumDividerModule, ArdiumDropdownPanelComponent, ArdiumDropdownPanelModule, ArdiumErrorComponent, ArdiumErrorDirective, ArdiumFabComponent, ArdiumFabModule, ArdiumFileDropAreaComponent, ArdiumFileDropAreaDragoverContentTemplateDirective, ArdiumFileDropAreaIdleContentTemplateDirective, ArdiumFileDropAreaModule, ArdiumFileDropAreaUploadedContentTemplateDirective, ArdiumFileInputComponent, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputFolderIconTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputModule, ArdiumFileInputUploadedContentTemplateDirective, ArdiumFormFieldComponent, ArdiumFormFieldFrameComponent, ArdiumFormFieldFrameModule, ArdiumFormFieldModule, ArdiumFormFieldNativeInputAdapterDirective, ArdiumGridComponent, ArdiumGridModule, ArdiumHexInputComponent, ArdiumHexInputModule, ArdiumHintComponent, ArdiumHintDirective, ArdiumHintErrorComponent, ArdiumHintErrorDirective, ArdiumHorizontalFormFieldComponent, ArdiumIconButtonComponent, ArdiumIconButtonModule, ArdiumIconComponent, ArdiumIconModule, ArdiumIconPipe, ArdiumInputComponent, ArdiumInputModule, ArdiumKbdComponent, ArdiumKbdDirective, ArdiumKbdModule, ArdiumKbdPipe, ArdiumKbdShortcutComponent, ArdiumKbdShortcutModule, ArdiumLabelComponent, ArdiumModalComponent, ArdiumModalModule, ArdiumMultipageDateRangeInputComponent, ArdiumMultipageDateRangeInputModule, ArdiumNumberInputComponent, ArdiumNumberInputModule, ArdiumOptionComponent, ArdiumOptionModule, ArdiumPasswordInputComponent, ArdiumPasswordInputModule, ArdiumProgressBarComponent, ArdiumProgressBarModule, ArdiumProgressCircleComponent, ArdiumProgressCircleModule, ArdiumRadioComponent, ArdiumRadioGroupComponent, ArdiumRadioModule, ArdiumRangeCalendarComponent, ArdiumRangeCalendarModule, ArdiumRangeSliderComponent, ArdiumRangeSliderModule, ArdiumRatingDisplayComponent, ArdiumRatingDisplayModule, ArdiumRatingInputComponent, ArdiumRatingInputModule, ArdiumSegmentComponent, ArdiumSegmentModule, ArdiumSelectComponent, ArdiumSelectModule, ArdiumSelectableChipComponent, ArdiumSlideToggleComponent, ArdiumSlideToggleModule, ArdiumSliderComponent, ArdiumSliderModule, ArdiumSnackbarService, ArdiumSpinnerComponent, ArdiumSpinnerModule, ArdiumStarButtonComponent, ArdiumStarButtonModule, ArdiumStarComponent, ArdiumStarModule, ArdiumStateboxComponent, ArdiumStateboxModule, ArdiumTabComponent, ArdiumTabberComponent, ArdiumTabberModule, ArdiumTableCaptionTemplateDirective, ArdiumTableCheckboxTemplateDirective, ArdiumTableComponent, ArdiumTableFromCsvComponent, ArdiumTableFromCsvModule, ArdiumTableHeaderCheckboxTemplateDirective, ArdiumTableModule, ArdiumTablePaginationComponent, ArdiumTablePaginationModule, ArdiumTablePaginationTemplateDirective, ArdiumTableTemplateDirective, ArdiumTextListComponent, ArdiumTextListModule, ArdiumTextListPipe, BadgePosition, BadgeSize, ButtonAppearance, ButtonVariant, CardAppearance, CardVariant, CheckboxListAlignType, CheckboxState, ClickStrategy, ComponentColor, DateRange, DecorationElementAppearance, DigitInputPrimitiveOption, DigitInputShape, DropdownPanelAppearance, DropdownPanelVariant, FabSize, FormElementAppearance, FormElementVariant, OneAxisAlignment, OutlinedAppearance, PaginationAlign, PanelAppearance, PanelVariant, ProgressBarAppearance, ProgressBarMode, ProgressBarSize, ProgressBarVariant, ProgressCircleAppearance, ProgressCircleVariant, SegmentAppearance, SegmentVariant, SimpleComponentColor, SimpleOneAxisAlignment, SliderDecorationPosition, SliderTooltipBehavior, SortType, StarColor, StarFillMode, TableAlignType, TableAppearance, TablePaginationStrategy, TableVariant, TransformType, _chipDefaults, _modalDefaults, isArdGridAlign, isArdGridDirection, isArdGridJustify, isArdGridSize, isArdGridWrap, provideBadgeDefaults, provideBreakpoints, provideButtonDefaults, provideCalendarDefaults, provideCardDefaults, provideCheckboxDefaults, provideCheckboxListDefaults, provideChipDefaults, provideDateInputDefaults, provideDeletableChipDefaults, provideDialogDefaults, provideDigitInputDefaults, provideDividerDefaults, provideDropdownPanelDefaults, provideErrorMap, provideFabDefaults, provideFileDropAreaDefaults, provideFileInputDefaults, provideFormFieldDefaults, provideFormFieldFrameDefaults, provideGridDefaults, provideHexInputDefaults, provideIconButtonDefaults, provideIconDefaults, provideInputDefaults, provideKbdDefaults, provideKbdShortcutDefaults, provideModalDefaults, provideNumberInputDefaults, providePasswordInputDefaults, provideProgressBarDefaults, provideProgressCircleDefaults, provideRadioDefaults, provideRatingDisplayDefaults, provideRatingInputDefaults, provideSegmentDefaults, provideSelectDefaults, provideSelectableChipDefaults, provideSlideToggleDefaults, provideSliderDefaults, provideSnackbarDefaults, provideSpinnerDefaults, provideStarButtonDefaults, provideStarDefaults, provideStateboxDefaults, provideTabberDefaults, provideTableDefaults, provideTableFromCsvDefaults, provideTablePaginationDefaults, searchInString, trackFormControl };
17146
17278
  //# sourceMappingURL=ardium-ui-ui.mjs.map