@ethlete/cdk 4.37.2 → 4.38.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 4.38.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2166](https://github.com/ethlete-io/ethdk/pull/2166) [`e48eb0f`](https://github.com/ethlete-io/ethdk/commit/e48eb0fc82aecbd1360e9da451bde1c6dd89535f) Thanks [@baltruschat](https://github.com/baltruschat)! - Add color input
8
+
9
+ ## 4.38.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#2152](https://github.com/ethlete-io/ethdk/pull/2152) [`bd090e6`](https://github.com/ethlete-io/ethdk/commit/bd090e65ecd95def25be60562238443abd1ffa06) Thanks [@Gw3i](https://github.com/Gw3i)! - Add `formChangesTracker` util to check for changes, restore, refresh or get the default value of a form or form control
14
+
3
15
  ## 4.37.2
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,24 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
3
+ import { InputDirective } from '../../../../directives/input';
4
+ import { NativeInputRefDirective } from '../../../../directives/native-input-ref';
5
+ import { DecoratedInputBase } from '../../../../utils';
6
+ import { COLOR_INPUT_TOKEN, ColorInputDirective } from '../../directives/color-input';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../directives/color-input/color-input.directive";
9
+ import * as i2 from "../../../../directives/input/input.directive";
10
+ export class ColorInputComponent extends DecoratedInputBase {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.colorInput = inject(COLOR_INPUT_TOKEN);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: ColorInputComponent, isStandalone: true, selector: "et-color-input", host: { classAttribute: "et-color-input" }, usesInheritance: true, hostDirectives: [{ directive: i1.ColorInputDirective }, { directive: i2.InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"colorInput._onInputInteraction($event)\"\n (blur)=\"colorInput._controlTouched()\"\n class=\"et-input-native-control et-color-input-native-control\"\n type=\"color\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'et-color-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
21
+ class: 'et-color-input',
22
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [ColorInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"colorInput._onInputInteraction($event)\"\n (blur)=\"colorInput._controlTouched()\"\n class=\"et-input-native-control et-color-input-native-control\"\n type=\"color\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvaW5wdXQvY29tcG9uZW50cy9jb2xvci1pbnB1dC9jb2xvci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9pbnB1dC9jb21wb25lbnRzL2NvbG9yLWlucHV0L2NvbG9yLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFldEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQWIzRDs7UUFjcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQzNEOzhHQUZZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdUQ3BCaEMseW5CQWtCQSxxREREWSxTQUFTLDhDQUFFLHVCQUF1Qjs7MkZBR2pDLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjtxQkFDeEIsV0FDUSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxrQkFDN0IsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2lucHV0JztcbmltcG9ydCB7IE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9uYXRpdmUtaW5wdXQtcmVmJztcbmltcG9ydCB7IERlY29yYXRlZElucHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENPTE9SX0lOUFVUX1RPS0VOLCBDb2xvcklucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb2xvci1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbG9yLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWNvbG9yLWlucHV0JyxcbiAgfSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmVdLFxuICBob3N0RGlyZWN0aXZlczogW0NvbG9ySW5wdXREaXJlY3RpdmUsIHsgZGlyZWN0aXZlOiBJbnB1dERpcmVjdGl2ZSwgaW5wdXRzOiBbJ2F1dG9jb21wbGV0ZScsICdwbGFjZWhvbGRlciddIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvcklucHV0Q29tcG9uZW50IGV4dGVuZHMgRGVjb3JhdGVkSW5wdXRCYXNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbG9ySW5wdXQgPSBpbmplY3QoQ09MT1JfSU5QVVRfVE9LRU4pO1xufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0SW5wdXRQcmVmaXhdXCIgLz5cblxuPGlucHV0XG4gIFthdHRyLmlkXT1cImlucHV0LmlkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlucHV0LmxhYmVsSWQkIHwgYXN5bmNcIlxuICBbcmVxdWlyZWRdPVwiaW5wdXQucmVxdWlyZWQkIHwgYXN5bmNcIlxuICBbZGlzYWJsZWRdPVwiaW5wdXQuZGlzYWJsZWQkIHwgYXN5bmNcIlxuICBbYXR0ci5hdXRvY29tcGxldGVdPVwiaW5wdXQuYXV0b2NvbXBsZXRlIHx8IG51bGxcIlxuICBbYXR0ci5wbGFjZWhvbGRlcl09XCJpbnB1dC5wbGFjZWhvbGRlciB8fCBudWxsXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpbnB1dC5kZXNjcmliZWRCeSQgfCBhc3luY1wiXG4gIChpbnB1dCk9XCJjb2xvcklucHV0Ll9vbklucHV0SW50ZXJhY3Rpb24oJGV2ZW50KVwiXG4gIChibHVyKT1cImNvbG9ySW5wdXQuX2NvbnRyb2xUb3VjaGVkKClcIlxuICBjbGFzcz1cImV0LWlucHV0LW5hdGl2ZS1jb250cm9sIGV0LWNvbG9yLWlucHV0LW5hdGl2ZS1jb250cm9sXCJcbiAgdHlwZT1cImNvbG9yXCJcbiAgZXROYXRpdmVJbnB1dFJlZlxuLz5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0SW5wdXRTdWZmaXhdXCIgLz5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './color-input.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9pbnB1dC9jb21wb25lbnRzL2NvbG9yLWlucHV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbG9yLWlucHV0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { Directive, inject, InjectionToken } from '@angular/core';
2
+ import { createDestroy } from '@ethlete/core';
3
+ import { combineLatest, takeUntil, tap } from 'rxjs';
4
+ import { INPUT_TOKEN } from '../../../../directives/input';
5
+ import * as i0 from "@angular/core";
6
+ export const COLOR_INPUT_TOKEN = new InjectionToken('ET_COLOR_INPUT_DIRECTIVE_TOKEN');
7
+ export class ColorInputDirective {
8
+ constructor() {
9
+ this._destroy$ = createDestroy();
10
+ this.input = inject(INPUT_TOKEN);
11
+ }
12
+ ngOnInit() {
13
+ combineLatest([this.input.value$, this.input.nativeInputElement$])
14
+ .pipe(tap(([value, inputEl]) => {
15
+ if (!inputEl)
16
+ return;
17
+ if (value !== inputEl.value) {
18
+ inputEl.value = value ?? '';
19
+ }
20
+ }), takeUntil(this._destroy$))
21
+ .subscribe();
22
+ }
23
+ _onInputInteraction(event) {
24
+ event.stopPropagation();
25
+ const input = event.target;
26
+ const value = input.value;
27
+ if (value === '') {
28
+ this.input._updateValue(null);
29
+ }
30
+ else {
31
+ this.input._updateValue(value);
32
+ }
33
+ this.input._markAsTouched();
34
+ }
35
+ _controlTouched() {
36
+ this.input._markAsTouched();
37
+ this.input._setShouldDisplayError(true);
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: ColorInputDirective, isStandalone: true, providers: [{ provide: COLOR_INPUT_TOKEN, useExisting: ColorInputDirective }], exportAs: ["etColorInput"], ngImport: i0 }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputDirective, decorators: [{
43
+ type: Directive,
44
+ args: [{
45
+ standalone: true,
46
+ exportAs: 'etColorInput',
47
+ providers: [{ provide: COLOR_INPUT_TOKEN, useExisting: ColorInputDirective }],
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvaW5wdXQvZGlyZWN0aXZlcy9jb2xvci1pbnB1dC9jb2xvci1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sOEJBQThCLENBQUM7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFzQixnQ0FBZ0MsQ0FBQyxDQUFDO0FBTzNHLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNbUIsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQ3BDLFVBQUssR0FBRyxNQUFNLENBQWdDLFdBQVcsQ0FBQyxDQUFDO0tBb0NyRTtJQWxDQyxRQUFRO1FBQ04sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQy9ELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU87WUFFckIsSUFBSSxLQUFLLEtBQUssT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFMUIsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXJDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixpQ0FGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQzs7MkZBRWxFLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztpQkFDOUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOUFVUX1RPS0VOLCBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvaW5wdXQnO1xuXG5leHBvcnQgY29uc3QgQ09MT1JfSU5QVVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29sb3JJbnB1dERpcmVjdGl2ZT4oJ0VUX0NPTE9SX0lOUFVUX0RJUkVDVElWRV9UT0tFTicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldENvbG9ySW5wdXQnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENPTE9SX0lOUFVUX1RPS0VOLCB1c2VFeGlzdGluZzogQ29sb3JJbnB1dERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICByZWFkb25seSBpbnB1dCA9IGluamVjdDxJbnB1dERpcmVjdGl2ZTxzdHJpbmcgfCBudWxsPj4oSU5QVVRfVE9LRU4pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuaW5wdXQudmFsdWUkLCB0aGlzLmlucHV0Lm5hdGl2ZUlucHV0RWxlbWVudCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoW3ZhbHVlLCBpbnB1dEVsXSkgPT4ge1xuICAgICAgICAgIGlmICghaW5wdXRFbCkgcmV0dXJuO1xuXG4gICAgICAgICAgaWYgKHZhbHVlICE9PSBpbnB1dEVsLnZhbHVlKSB7XG4gICAgICAgICAgICBpbnB1dEVsLnZhbHVlID0gdmFsdWUgPz8gJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIF9vbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHZhbHVlID0gaW5wdXQudmFsdWU7XG5cbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLmlucHV0Ll91cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dC5fdXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIF9jb250cm9sVG91Y2hlZCgpIHtcbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './color-input.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9pbnB1dC9kaXJlY3RpdmVzL2NvbG9yLWlucHV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbG9yLWlucHV0LmRpcmVjdGl2ZSc7XG4iXX0=
@@ -3,6 +3,7 @@ import { IfInputFilledDirective } from '../../directives/if-input-filled';
3
3
  import { InputPrefixDirective } from '../../directives/input-prefix';
4
4
  import { InputSuffixDirective } from '../../directives/input-suffix';
5
5
  import { LabelComponent } from '../label/components/label';
6
+ import { ColorInputComponent } from './components/color-input';
6
7
  import { DateInputComponent } from './components/date-input';
7
8
  import { DateTimeInputComponent } from './components/date-time-input';
8
9
  import { EmailInputComponent } from './components/email-input';
@@ -41,5 +42,6 @@ export const InputImports = [
41
42
  TimeInputComponent,
42
43
  IfSupportsShowPickerDirective,
43
44
  AutosizeTextareaDirective,
45
+ ColorInputComponent,
44
46
  ];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL2lucHV0L2lucHV0LmltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLHlCQUF5QjtDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWZJbnB1dEVtcHR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9pZi1pbnB1dC1lbXB0eSc7XG5pbXBvcnQgeyBJZklucHV0RmlsbGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9pZi1pbnB1dC1maWxsZWQnO1xuaW1wb3J0IHsgSW5wdXRQcmVmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2lucHV0LXByZWZpeCc7XG5pbXBvcnQgeyBJbnB1dFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvaW5wdXQtc3VmZml4JztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vbGFiZWwvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1pbnB1dCc7XG5pbXBvcnQgeyBEYXRlVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1pbnB1dCc7XG5pbXBvcnQgeyBFbWFpbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtYWlsLWlucHV0JztcbmltcG9ydCB7IElucHV0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZmllbGQnO1xuaW1wb3J0IHsgTnVtYmVySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0JztcbmltcG9ydCB7IFBhc3N3b3JkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VhcmNoLWlucHV0JztcbmltcG9ydCB7IFRlbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbC1pbnB1dCc7XG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC1pbnB1dCc7XG5pbXBvcnQgeyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHRhcmVhLWlucHV0JztcbmltcG9ydCB7IFRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90aW1lLWlucHV0JztcbmltcG9ydCB7IEF1dG9zaXplVGV4dGFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b3NpemUtdGV4dGFyZWEnO1xuaW1wb3J0IHsgSWZTdXBwb3J0c1Nob3dQaWNrZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaWYtc3VwcG9ydHMtc2hvdy1waWNrZXInO1xuaW1wb3J0IHsgU2hvd1BpY2tlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2hvdy1waWNrZXItdHJpZ2dlcic7XG5pbXBvcnQgeyBQYXNzd29yZElucHV0VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJ0aWFscy9wYXNzd29yZC1pbnB1dC10b2dnbGUnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDbGVhckNvbXBvbmVudCB9IGZyb20gJy4vcGFydGlhbHMvc2VhcmNoLWlucHV0LWNsZWFyJztcblxuZXhwb3J0IGNvbnN0IElucHV0SW1wb3J0cyA9IFtcbiAgSW5wdXRGaWVsZENvbXBvbmVudCxcbiAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICBQYXNzd29yZElucHV0Q29tcG9uZW50LFxuICBQYXNzd29yZElucHV0VG9nZ2xlQ29tcG9uZW50LFxuICBUZXh0SW5wdXRDb21wb25lbnQsXG4gIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXG4gIFRlbElucHV0Q29tcG9uZW50LFxuICBJbnB1dFByZWZpeERpcmVjdGl2ZSxcbiAgSW5wdXRTdWZmaXhEaXJlY3RpdmUsXG4gIElmSW5wdXRGaWxsZWREaXJlY3RpdmUsXG4gIFNob3dQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICBJZklucHV0RW1wdHlEaXJlY3RpdmUsXG4gIFNlYXJjaElucHV0Q2xlYXJDb21wb25lbnQsXG4gIEVtYWlsSW5wdXRDb21wb25lbnQsXG4gIExhYmVsQ29tcG9uZW50LFxuICBEYXRlSW5wdXRDb21wb25lbnQsXG4gIERhdGVUaW1lSW5wdXRDb21wb25lbnQsXG4gIFRpbWVJbnB1dENvbXBvbmVudCxcbiAgSWZTdXBwb3J0c1Nob3dQaWNrZXJEaXJlY3RpdmUsXG4gIEF1dG9zaXplVGV4dGFyZWFEaXJlY3RpdmUsXG5dIGFzIGNvbnN0O1xuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL2lucHV0L2lucHV0LmltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixtQkFBbUI7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWZJbnB1dEVtcHR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9pZi1pbnB1dC1lbXB0eSc7XG5pbXBvcnQgeyBJZklucHV0RmlsbGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9pZi1pbnB1dC1maWxsZWQnO1xuaW1wb3J0IHsgSW5wdXRQcmVmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2lucHV0LXByZWZpeCc7XG5pbXBvcnQgeyBJbnB1dFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvaW5wdXQtc3VmZml4JztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vbGFiZWwvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBDb2xvcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbG9yLWlucHV0JztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLWlucHV0JztcbmltcG9ydCB7IERhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS10aW1lLWlucHV0JztcbmltcG9ydCB7IEVtYWlsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1haWwtaW5wdXQnO1xuaW1wb3J0IHsgSW5wdXRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1maWVsZCc7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9udW1iZXItaW5wdXQnO1xuaW1wb3J0IHsgUGFzc3dvcmRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC1pbnB1dCc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtaW5wdXQnO1xuaW1wb3J0IHsgVGVsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVsLWlucHV0JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LWlucHV0JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dGFyZWEtaW5wdXQnO1xuaW1wb3J0IHsgVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RpbWUtaW5wdXQnO1xuaW1wb3J0IHsgQXV0b3NpemVUZXh0YXJlYURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvc2l6ZS10ZXh0YXJlYSc7XG5pbXBvcnQgeyBJZlN1cHBvcnRzU2hvd1BpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pZi1zdXBwb3J0cy1zaG93LXBpY2tlcic7XG5pbXBvcnQgeyBTaG93UGlja2VyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zaG93LXBpY2tlci10cmlnZ2VyJztcbmltcG9ydCB7IFBhc3N3b3JkSW5wdXRUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3BhcnRpYWxzL3Bhc3N3b3JkLWlucHV0LXRvZ2dsZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJ0aWFscy9zZWFyY2gtaW5wdXQtY2xlYXInO1xuXG5leHBvcnQgY29uc3QgSW5wdXRJbXBvcnRzID0gW1xuICBJbnB1dEZpZWxkQ29tcG9uZW50LFxuICBOdW1iZXJJbnB1dENvbXBvbmVudCxcbiAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gIFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gIFBhc3N3b3JkSW5wdXRUb2dnbGVDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgVGVsSW5wdXRDb21wb25lbnQsXG4gIElucHV0UHJlZml4RGlyZWN0aXZlLFxuICBJbnB1dFN1ZmZpeERpcmVjdGl2ZSxcbiAgSWZJbnB1dEZpbGxlZERpcmVjdGl2ZSxcbiAgU2hvd1BpY2tlclRyaWdnZXJEaXJlY3RpdmUsXG4gIElmSW5wdXRFbXB0eURpcmVjdGl2ZSxcbiAgU2VhcmNoSW5wdXRDbGVhckNvbXBvbmVudCxcbiAgRW1haWxJbnB1dENvbXBvbmVudCxcbiAgTGFiZWxDb21wb25lbnQsXG4gIERhdGVJbnB1dENvbXBvbmVudCxcbiAgRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgVGltZUlucHV0Q29tcG9uZW50LFxuICBJZlN1cHBvcnRzU2hvd1BpY2tlckRpcmVjdGl2ZSxcbiAgQXV0b3NpemVUZXh0YXJlYURpcmVjdGl2ZSxcbiAgQ29sb3JJbnB1dENvbXBvbmVudCxcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { assertInInjectionContext, computed, signal } from '@angular/core';
2
+ import { controlValueSignal, equal } from '@ethlete/core';
3
+ /**
4
+ * A utility function to enhance form usage by providing methods to manage form state and detect changes.
5
+ */
6
+ export const createFormChangesTracker = (config) => {
7
+ assertInInjectionContext(createFormChangesTracker);
8
+ const { form, compareFn } = config;
9
+ const currentFormValue = controlValueSignal(form);
10
+ const hasChanges = computed(() => {
11
+ const formValue = currentFormValue();
12
+ if (!formValue)
13
+ return false;
14
+ return compareFn ? compareFn(formValue, defaultFormValue()) : equal(formValue, defaultFormValue());
15
+ });
16
+ const defaultFormValue = signal(config.defaultValue ?? form.getRawValue());
17
+ const refreshDefaultFormValue = () => {
18
+ defaultFormValue.set(form.getRawValue());
19
+ };
20
+ const restoreDefaultFormValue = () => {
21
+ form.setValue(defaultFormValue());
22
+ refreshDefaultFormValue();
23
+ };
24
+ return {
25
+ refreshDefaultFormValue,
26
+ restoreDefaultFormValue,
27
+ hasChanges,
28
+ defaultFormValue: defaultFormValue.asReadonly(),
29
+ };
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jaGFuZ2VzLXRyYWNrZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy91dGlscy9mb3JtLWNoYW5nZXMtdHJhY2tlci51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrRDFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsTUFBeUMsRUFDWSxFQUFFO0lBQ3ZELHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFbkQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQy9CLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUU3QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUUzRSxNQUFNLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtRQUNuQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEVBQUU7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEMsdUJBQXVCLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2QixVQUFVO1FBQ1YsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO0tBQ2hELENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGNvbXB1dGVkLCBzaWduYWwsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29udHJvbFZhbHVlU2lnbmFsLCBlcXVhbCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1DaGFuZ2VzVHJhY2tlclJlZjxUPiB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgZm9ybSB2YWx1ZSB0byB0aGUgY3VycmVudCBmb3JtIHZhbHVlLlxuICAgKiBVc2VmdWwgd2hlbiB0aGUgZm9ybSB2YWx1ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiAoZS5nLiB3aGVuIGEgaHR0cCByZXF1ZXN0IHdhcyBuZWVkZWQgdG8gZmlsbCB0aGUgcmVtYWluaW5nIGZvcm0gZmllbGRzIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzKVxuICAgKi9cbiAgcmVmcmVzaERlZmF1bHRGb3JtVmFsdWU6ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlc3RvcmUgdGhlIGRlZmF1bHQgZm9ybSB2YWx1ZSB0byB0aGUgZm9ybS5cbiAgICovXG4gIHJlc3RvcmVEZWZhdWx0Rm9ybVZhbHVlOiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGZvcm0gaGFzIGNoYW5nZXMgY29tcGFyZWQgdG8gdGhlIGRlZmF1bHQgZm9ybSB2YWx1ZS5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBmb3JtIGhhcyBjaGFuZ2VzLlxuICAgKi9cbiAgaGFzQ2hhbmdlczogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBmb3JtIHZhbHVlIHRvIGNvbXBhcmUgdGhlIGN1cnJlbnQgZm9ybSB2YWx1ZSB0b1xuICAgKi9cbiAgZGVmYXVsdEZvcm1WYWx1ZTogU2lnbmFsPFQ+O1xufVxuXG5leHBvcnQgdHlwZSBDcmVhdGVGb3JtQ2hhbmdlc1RyYWNrZXJDb25maWc8VCBleHRlbmRzIEFic3RyYWN0Q29udHJvbD4gPSB7XG4gIC8qKlxuICAgKiBUaGUgZm9ybSB0byBjaGVjayBmb3IgY2hhbmdlc1xuICAgKi9cbiAgZm9ybTogVDtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgdG8gY29tcGFyZSB0aGUgY3VycmVudCBmb3JtIHZhbHVlIHRvXG4gICAqXG4gICAqIEBkZWZhdWx0IGZvcm0uZ2V0UmF3VmFsdWUoKVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlPzogUmV0dXJuVHlwZTxUWydnZXRSYXdWYWx1ZSddPjtcblxuICAvKipcbiAgICogQSBjdXN0b20gY29tcGFyZSBmdW5jdGlvbiB0byBjb21wYXJlIHRoZSBjdXJyZW50IGZvcm0gdmFsdWUgdG8gdGhlIGRlZmF1bHQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIGEgZGVlcCBjb21wYXJpc29uIHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgKGN1cnJlbnRWYWx1ZSwgZGVmYXVsdFZhbHVlKSA9PiBlcXVhbChjdXJyZW50VmFsdWUsIGRlZmF1bHRWYWx1ZSlcbiAgICovXG4gIGNvbXBhcmVGbj86IChjdXJyZW50VmFsdWU6IFJldHVyblR5cGU8VFsnZ2V0UmF3VmFsdWUnXT4sIGRlZmF1bHRWYWx1ZTogUmV0dXJuVHlwZTxUWydnZXRSYXdWYWx1ZSddPikgPT4gYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGVuaGFuY2UgZm9ybSB1c2FnZSBieSBwcm92aWRpbmcgbWV0aG9kcyB0byBtYW5hZ2UgZm9ybSBzdGF0ZSBhbmQgZGV0ZWN0IGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVGb3JtQ2hhbmdlc1RyYWNrZXIgPSA8VCBleHRlbmRzIEFic3RyYWN0Q29udHJvbD4oXG4gIGNvbmZpZzogQ3JlYXRlRm9ybUNoYW5nZXNUcmFja2VyQ29uZmlnPFQ+LFxuKTogRm9ybUNoYW5nZXNUcmFja2VyUmVmPFJldHVyblR5cGU8VFsnZ2V0UmF3VmFsdWUnXT4+ID0+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZUZvcm1DaGFuZ2VzVHJhY2tlcik7XG5cbiAgY29uc3QgeyBmb3JtLCBjb21wYXJlRm4gfSA9IGNvbmZpZztcbiAgY29uc3QgY3VycmVudEZvcm1WYWx1ZSA9IGNvbnRyb2xWYWx1ZVNpZ25hbChmb3JtKTtcblxuICBjb25zdCBoYXNDaGFuZ2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGN1cnJlbnRGb3JtVmFsdWUoKTtcblxuICAgIGlmICghZm9ybVZhbHVlKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gY29tcGFyZUZuID8gY29tcGFyZUZuKGZvcm1WYWx1ZSwgZGVmYXVsdEZvcm1WYWx1ZSgpKSA6IGVxdWFsKGZvcm1WYWx1ZSwgZGVmYXVsdEZvcm1WYWx1ZSgpKTtcbiAgfSk7XG5cbiAgY29uc3QgZGVmYXVsdEZvcm1WYWx1ZSA9IHNpZ25hbChjb25maWcuZGVmYXVsdFZhbHVlID8/IGZvcm0uZ2V0UmF3VmFsdWUoKSk7XG5cbiAgY29uc3QgcmVmcmVzaERlZmF1bHRGb3JtVmFsdWUgPSAoKSA9PiB7XG4gICAgZGVmYXVsdEZvcm1WYWx1ZS5zZXQoZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgfTtcblxuICBjb25zdCByZXN0b3JlRGVmYXVsdEZvcm1WYWx1ZSA9ICgpID0+IHtcbiAgICBmb3JtLnNldFZhbHVlKGRlZmF1bHRGb3JtVmFsdWUoKSk7XG4gICAgcmVmcmVzaERlZmF1bHRGb3JtVmFsdWUoKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIHJlZnJlc2hEZWZhdWx0Rm9ybVZhbHVlLFxuICAgIHJlc3RvcmVEZWZhdWx0Rm9ybVZhbHVlLFxuICAgIGhhc0NoYW5nZXMsXG4gICAgZGVmYXVsdEZvcm1WYWx1ZTogZGVmYXVsdEZvcm1WYWx1ZS5hc1JlYWRvbmx5KCksXG4gIH07XG59O1xuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './decorated-form-field.base';
2
2
  export * from './decorated-input.base';
3
+ export * from './form-changes-tracker.util';
3
4
  export * from './input.base';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0ZWQtZm9ybS1maWVsZC5iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdGVkLWlucHV0LmJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC5iYXNlJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlY29yYXRlZC1mb3JtLWZpZWxkLmJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0ZWQtaW5wdXQuYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tY2hhbmdlcy10cmFja2VyLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC5iYXNlJztcbiJdfQ==
@@ -2,9 +2,9 @@ import * as i1 from '@angular/cdk/portal';
2
2
  import { CdkPortal, PortalModule, ComponentPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
3
3
  import { AsyncPipe, NgClass, NgTemplateOutlet, JsonPipe, NgComponentOutlet, DOCUMENT, Location } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Directive, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, input, numberAttribute, computed, signal, contentChildren, viewChild, viewChildren, isDevMode, Injectable, ChangeDetectorRef, TemplateRef, ViewContainerRef, ViewChild, forwardRef, EventEmitter, Output, ViewChildren, Optional, Inject, SkipSelf, HostListener, contentChild, effect, untracked, NgZone, NgModule, DestroyRef, isSignal, assertInInjectionContext, Attribute } from '@angular/core';
5
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Directive, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, input, numberAttribute, computed, signal, contentChildren, viewChild, viewChildren, isDevMode, Injectable, ChangeDetectorRef, TemplateRef, ViewContainerRef, ViewChild, assertInInjectionContext, forwardRef, EventEmitter, Output, ViewChildren, Optional, Inject, SkipSelf, HostListener, contentChild, effect, untracked, NgZone, NgModule, DestroyRef, isSignal, Attribute } from '@angular/core';
6
6
  import * as i1$1 from '@ethlete/core';
7
- import { LetDirective, createDestroy, Memo, signalHostAttributes, signalHostClasses, previousSignalValue, signalHostStyles, nextFrame, syncSignal, signalStyles, injectHostElement, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, equal, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, AnimatedOverlayDirective, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, createComponentId, ClickOutsideDirective, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, signalElementDimensions, signalElementScrollState, createIsRenderedSignal, createCanAnimateSignal, useCursorDragScroll, signalElementIntersection, signalElementChildren, getIntersectionInfo, getElementScrollCoordinates, ObserveScrollStateDirective, ClickObserverService, RootBoundaryDirective, elementCanScroll, cloneFormGroup, controlValueSignal, getFormGroupValue, ViewportService, ROOT_BOUNDARY_TOKEN, injectQueryParam, fromNextFrame, isElementVisible, AnimatedIfDirective, FocusVisibleService, inferMimeType, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
7
+ import { LetDirective, createDestroy, Memo, signalHostAttributes, signalHostClasses, previousSignalValue, signalHostStyles, nextFrame, syncSignal, signalStyles, injectHostElement, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, equal, switchQueryListChanges, controlValueSignal, signalAttributes, ResizeObserverService, createFlipAnimation, AnimatedOverlayDirective, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, createComponentId, ClickOutsideDirective, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, signalElementDimensions, signalElementScrollState, createIsRenderedSignal, createCanAnimateSignal, useCursorDragScroll, signalElementIntersection, signalElementChildren, getIntersectionInfo, getElementScrollCoordinates, ObserveScrollStateDirective, ClickObserverService, RootBoundaryDirective, elementCanScroll, cloneFormGroup, getFormGroupValue, ViewportService, ROOT_BOUNDARY_TOKEN, injectQueryParam, fromNextFrame, isElementVisible, AnimatedIfDirective, FocusVisibleService, inferMimeType, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
8
8
  import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, merge, timer, takeWhile, filter, fromEvent, Subject, Observable, debounceTime, withLatestFrom, distinctUntilChanged, take, skipUntil, skipWhile, catchError, throwError, defer, partition, from, finalize, Subscription } from 'rxjs';
9
9
  import { trigger, state, style, transition, animate } from '@angular/animations';
10
10
  import { __decorate, __metadata } from 'tslib';
@@ -2622,6 +2622,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
2622
2622
  args: [INPUT_SUFFIX_TOKEN]
2623
2623
  }] } });
2624
2624
 
2625
+ /**
2626
+ * A utility function to enhance form usage by providing methods to manage form state and detect changes.
2627
+ */
2628
+ const createFormChangesTracker = (config) => {
2629
+ assertInInjectionContext(createFormChangesTracker);
2630
+ const { form, compareFn } = config;
2631
+ const currentFormValue = controlValueSignal(form);
2632
+ const hasChanges = computed(() => {
2633
+ const formValue = currentFormValue();
2634
+ if (!formValue)
2635
+ return false;
2636
+ return compareFn ? compareFn(formValue, defaultFormValue()) : equal(formValue, defaultFormValue());
2637
+ });
2638
+ const defaultFormValue = signal(config.defaultValue ?? form.getRawValue());
2639
+ const refreshDefaultFormValue = () => {
2640
+ defaultFormValue.set(form.getRawValue());
2641
+ };
2642
+ const restoreDefaultFormValue = () => {
2643
+ form.setValue(defaultFormValue());
2644
+ refreshDefaultFormValue();
2645
+ };
2646
+ return {
2647
+ refreshDefaultFormValue,
2648
+ restoreDefaultFormValue,
2649
+ hasChanges,
2650
+ defaultFormValue: defaultFormValue.asReadonly(),
2651
+ };
2652
+ };
2653
+
2625
2654
  const CHECKBOX_TOKEN = new InjectionToken('ET_CHECKBOX_DIRECTIVE_TOKEN');
2626
2655
  class CheckboxDirective {
2627
2656
  constructor() {
@@ -4045,6 +4074,66 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
4045
4074
  }]
4046
4075
  }] });
4047
4076
 
4077
+ const COLOR_INPUT_TOKEN = new InjectionToken('ET_COLOR_INPUT_DIRECTIVE_TOKEN');
4078
+ class ColorInputDirective {
4079
+ constructor() {
4080
+ this._destroy$ = createDestroy();
4081
+ this.input = inject(INPUT_TOKEN);
4082
+ }
4083
+ ngOnInit() {
4084
+ combineLatest([this.input.value$, this.input.nativeInputElement$])
4085
+ .pipe(tap(([value, inputEl]) => {
4086
+ if (!inputEl)
4087
+ return;
4088
+ if (value !== inputEl.value) {
4089
+ inputEl.value = value ?? '';
4090
+ }
4091
+ }), takeUntil(this._destroy$))
4092
+ .subscribe();
4093
+ }
4094
+ _onInputInteraction(event) {
4095
+ event.stopPropagation();
4096
+ const input = event.target;
4097
+ const value = input.value;
4098
+ if (value === '') {
4099
+ this.input._updateValue(null);
4100
+ }
4101
+ else {
4102
+ this.input._updateValue(value);
4103
+ }
4104
+ this.input._markAsTouched();
4105
+ }
4106
+ _controlTouched() {
4107
+ this.input._markAsTouched();
4108
+ this.input._setShouldDisplayError(true);
4109
+ }
4110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4111
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: ColorInputDirective, isStandalone: true, providers: [{ provide: COLOR_INPUT_TOKEN, useExisting: ColorInputDirective }], exportAs: ["etColorInput"], ngImport: i0 }); }
4112
+ }
4113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputDirective, decorators: [{
4114
+ type: Directive,
4115
+ args: [{
4116
+ standalone: true,
4117
+ exportAs: 'etColorInput',
4118
+ providers: [{ provide: COLOR_INPUT_TOKEN, useExisting: ColorInputDirective }],
4119
+ }]
4120
+ }] });
4121
+
4122
+ class ColorInputComponent extends DecoratedInputBase {
4123
+ constructor() {
4124
+ super(...arguments);
4125
+ this.colorInput = inject(COLOR_INPUT_TOKEN);
4126
+ }
4127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: ColorInputComponent, isStandalone: true, selector: "et-color-input", host: { classAttribute: "et-color-input" }, usesInheritance: true, hostDirectives: [{ directive: ColorInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"colorInput._onInputInteraction($event)\"\n (blur)=\"colorInput._controlTouched()\"\n class=\"et-input-native-control et-color-input-native-control\"\n type=\"color\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4129
+ }
4130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ColorInputComponent, decorators: [{
4131
+ type: Component,
4132
+ args: [{ selector: 'et-color-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
4133
+ class: 'et-color-input',
4134
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [ColorInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"colorInput._onInputInteraction($event)\"\n (blur)=\"colorInput._controlTouched()\"\n class=\"et-input-native-control et-color-input-native-control\"\n type=\"color\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
4135
+ }] });
4136
+
4048
4137
  class PasswordInputToggleComponent {
4049
4138
  constructor() {
4050
4139
  this.passwordInput = inject(PASSWORD_INPUT_TOKEN);
@@ -4101,6 +4190,7 @@ const InputImports = [
4101
4190
  TimeInputComponent,
4102
4191
  IfSupportsShowPickerDirective,
4103
4192
  AutosizeTextareaDirective,
4193
+ ColorInputComponent,
4104
4194
  ];
4105
4195
 
4106
4196
  class LabelSuffixDirective {
@@ -17931,5 +18021,5 @@ const FLOATING_UI_PLACEMENTS = [
17931
18021
  * Generated bundle index. Do not edit.
17932
18022
  */
17933
18023
 
17934
- export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CAROUSEL_ITEM_NAV_TOKEN, CAROUSEL_ITEM_TOKEN, CAROUSEL_NEXT_BUTTON_TOKEN, CAROUSEL_PREVIOUS_BUTTON_TOKEN, CAROUSEL_TOGGLE_AUTO_PLAY_BUTTON_TOKEN, CAROUSEL_TOKEN, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_BODY_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_OPTION_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CarouselComponent, CarouselDirective, CarouselImports, CarouselItemComponent, CarouselItemDirective, CarouselItemNavComponent, CarouselItemNavDirective, CarouselNextButtonDirective, CarouselPreviousButtonDirective, CarouselToggleAutoPlayButtonDirective, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyComponent, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionComponent, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DATE_TIME_INPUT_FORMAT_TOKEN, DATE_TIME_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DEFAULT_DATE_TIME_INPUT_FORMAT, DEFAULT_TIME_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DateTimeInputComponent, DateTimeInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_CONFIG_CLASS_KEYS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LAYOUT_CLASSES, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_CONFIG, FLOATING_UI_PLACEMENTS, FilterOverlayService, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, IfSupportsShowPickerDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU, MENU_AIM, MENU_CHECKBOX_GROUP_TOKEN, MENU_CONTAINER, MENU_GROUP_TITLE_TOKEN, MENU_GROUP_TOKEN, MENU_ITEM_TOKEN, MENU_RADIO_GROUP_TOKEN, MENU_SEARCH_TEMPLATE_TOKEN, MENU_STACK, MENU_TEMPLATE, MENU_TRIGGER, MENU_TRIGGER_TOKEN, MasonryComponent, MasonryImports, MasonryItemComponent, MenuCheckboxGroupDirective, MenuCheckboxItemComponent, MenuComponent, MenuContainerComponent, MenuGroupDirective, MenuGroupTitleDirective, MenuImports, MenuItemDirective, MenuRadioGroupDirective, MenuRadioItemComponent, MenuSearchTemplateDirective, MenuStack, MenuTriggerDirective, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CLOSE_BLOCKER_TOKEN, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OVERLAY_STATE, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseBlockerDirective, OverlayCloseDirective, OverlayContainerComponent, OverlayFooterDirective, OverlayHandlerLinkDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayImports, OverlayMainDirective, OverlayPositionBuilder, OverlayRef, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlayRouterService, OverlayService, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlayTitleDirective, OverlayWithRoutingImports, OverlayWithSidebarImports, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationHeadService, PaginationImports, PaginationLinkDirective, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RICH_FILTER_BUTTON_SLOT_TOKEN, RICH_FILTER_BUTTON_TOKEN, RICH_FILTER_CONTENT_TOKEN, RICH_FILTER_TOP_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RichFilterButtonDirective, RichFilterButtonSlotDirective, RichFilterContentDirective, RichFilterHostComponent, RichFilterImports, RichFilterTopDirective, RowComponent, RowDefDirective, SCROLLABLE_IGNORE_CHILD_ATTRIBUTE, SCROLLABLE_IGNORE_CHILD_TOKEN, SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE, SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, SCROLLABLE_LOADING_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SHOW_PICKER_TRIGGER_TOKEN, SIDEBAR_OVERLAY_CONFIG, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableIgnoreChildDirective, ScrollableImports, ScrollableIsActiveChildDirective, ScrollableLoadingTemplateDirective, ScrollablePlaceholderComponent, ScrollablePlaceholderItemTemplateDirective, ScrollablePlaceholderOverlayTemplateDirective, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, ShowPickerTriggerDirective, SidebarOverlayService, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEL_INPUT_TOKEN, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TIME_INPUT_FORMAT_TOKEN, TIME_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TelInputComponent, TelInputDirective, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, TimeInputComponent, TimeInputDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessageDe, convertHttpStatusCodeToMessageEn, convertHttpStatusCodeToTitleDe, convertHttpStatusCodeToTitleEn, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createOverlayConfig, createOverlayDismissChecker, createOverlayHandler, createOverlayHandlerWithQueryParamLifecycle, createToggletipConfig, createTooltipConfig, defaultSubmitButtonConfigFn, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isScrollableChildActive, isScrollableChildIgnored, isUpperBracketMatch, normalizePictureSizes, normalizePictureSource, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDateTimeFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlayConfig, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideOverlayRouterConfig, provideSidebarOverlayConfig, provideSort, provideTimeFormat, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
18024
+ export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CAROUSEL_ITEM_NAV_TOKEN, CAROUSEL_ITEM_TOKEN, CAROUSEL_NEXT_BUTTON_TOKEN, CAROUSEL_PREVIOUS_BUTTON_TOKEN, CAROUSEL_TOGGLE_AUTO_PLAY_BUTTON_TOKEN, CAROUSEL_TOKEN, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_BODY_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_OPTION_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CarouselComponent, CarouselDirective, CarouselImports, CarouselItemComponent, CarouselItemDirective, CarouselItemNavComponent, CarouselItemNavDirective, CarouselNextButtonDirective, CarouselPreviousButtonDirective, CarouselToggleAutoPlayButtonDirective, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyComponent, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionComponent, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DATE_TIME_INPUT_FORMAT_TOKEN, DATE_TIME_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DEFAULT_DATE_TIME_INPUT_FORMAT, DEFAULT_TIME_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DateTimeInputComponent, DateTimeInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_CONFIG_CLASS_KEYS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LAYOUT_CLASSES, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_CONFIG, FLOATING_UI_PLACEMENTS, FilterOverlayService, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, IfSupportsShowPickerDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU, MENU_AIM, MENU_CHECKBOX_GROUP_TOKEN, MENU_CONTAINER, MENU_GROUP_TITLE_TOKEN, MENU_GROUP_TOKEN, MENU_ITEM_TOKEN, MENU_RADIO_GROUP_TOKEN, MENU_SEARCH_TEMPLATE_TOKEN, MENU_STACK, MENU_TEMPLATE, MENU_TRIGGER, MENU_TRIGGER_TOKEN, MasonryComponent, MasonryImports, MasonryItemComponent, MenuCheckboxGroupDirective, MenuCheckboxItemComponent, MenuComponent, MenuContainerComponent, MenuGroupDirective, MenuGroupTitleDirective, MenuImports, MenuItemDirective, MenuRadioGroupDirective, MenuRadioItemComponent, MenuSearchTemplateDirective, MenuStack, MenuTriggerDirective, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CLOSE_BLOCKER_TOKEN, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OVERLAY_STATE, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseBlockerDirective, OverlayCloseDirective, OverlayContainerComponent, OverlayFooterDirective, OverlayHandlerLinkDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayImports, OverlayMainDirective, OverlayPositionBuilder, OverlayRef, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlayRouterService, OverlayService, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlayTitleDirective, OverlayWithRoutingImports, OverlayWithSidebarImports, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationHeadService, PaginationImports, PaginationLinkDirective, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RICH_FILTER_BUTTON_SLOT_TOKEN, RICH_FILTER_BUTTON_TOKEN, RICH_FILTER_CONTENT_TOKEN, RICH_FILTER_TOP_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RichFilterButtonDirective, RichFilterButtonSlotDirective, RichFilterContentDirective, RichFilterHostComponent, RichFilterImports, RichFilterTopDirective, RowComponent, RowDefDirective, SCROLLABLE_IGNORE_CHILD_ATTRIBUTE, SCROLLABLE_IGNORE_CHILD_TOKEN, SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE, SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, SCROLLABLE_LOADING_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SHOW_PICKER_TRIGGER_TOKEN, SIDEBAR_OVERLAY_CONFIG, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableIgnoreChildDirective, ScrollableImports, ScrollableIsActiveChildDirective, ScrollableLoadingTemplateDirective, ScrollablePlaceholderComponent, ScrollablePlaceholderItemTemplateDirective, ScrollablePlaceholderOverlayTemplateDirective, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, ShowPickerTriggerDirective, SidebarOverlayService, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEL_INPUT_TOKEN, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TIME_INPUT_FORMAT_TOKEN, TIME_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TelInputComponent, TelInputDirective, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, TimeInputComponent, TimeInputDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessageDe, convertHttpStatusCodeToMessageEn, convertHttpStatusCodeToTitleDe, convertHttpStatusCodeToTitleEn, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createFormChangesTracker, createOverlayConfig, createOverlayDismissChecker, createOverlayHandler, createOverlayHandlerWithQueryParamLifecycle, createToggletipConfig, createTooltipConfig, defaultSubmitButtonConfigFn, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isScrollableChildActive, isScrollableChildIgnored, isUpperBracketMatch, normalizePictureSizes, normalizePictureSource, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDateTimeFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlayConfig, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideOverlayRouterConfig, provideSidebarOverlayConfig, provideSort, provideTimeFormat, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
17935
18025
  //# sourceMappingURL=ethlete-cdk.mjs.map