@koobiq/components-experimental 18.5.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.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/esm2022/form-field/cleaner.mjs +47 -0
  4. package/esm2022/form-field/form-field.mjs +235 -0
  5. package/esm2022/form-field/form-field.module.mjs +56 -0
  6. package/esm2022/form-field/hint.mjs +157 -0
  7. package/esm2022/form-field/index.mjs +2 -0
  8. package/esm2022/form-field/koobiq-components-experimental-form-field.mjs +5 -0
  9. package/esm2022/form-field/label.mjs +26 -0
  10. package/esm2022/form-field/password-toggle.mjs +65 -0
  11. package/esm2022/form-field/prefix.mjs +18 -0
  12. package/esm2022/form-field/public-api.mjs +10 -0
  13. package/esm2022/form-field/stepper.mjs +82 -0
  14. package/esm2022/form-field/suffix.mjs +18 -0
  15. package/esm2022/index.mjs +2 -0
  16. package/esm2022/koobiq-components-experimental.mjs +5 -0
  17. package/esm2022/public-api.mjs +2 -0
  18. package/fesm2022/koobiq-components-experimental-form-field.mjs +668 -0
  19. package/fesm2022/koobiq-components-experimental-form-field.mjs.map +1 -0
  20. package/fesm2022/koobiq-components-experimental.mjs +4 -0
  21. package/fesm2022/koobiq-components-experimental.mjs.map +1 -0
  22. package/form-field/README.md +0 -0
  23. package/form-field/_form-field-theme.scss +81 -0
  24. package/form-field/_hint-theme.scss +59 -0
  25. package/form-field/cleaner.d.ts +14 -0
  26. package/form-field/cleaner.scss +5 -0
  27. package/form-field/form-field-tokens.scss +63 -0
  28. package/form-field/form-field.d.ts +99 -0
  29. package/form-field/form-field.module.d.ts +14 -0
  30. package/form-field/form-field.scss +69 -0
  31. package/form-field/hint-tokens.scss +44 -0
  32. package/form-field/hint.d.ts +55 -0
  33. package/form-field/hint.scss +18 -0
  34. package/form-field/index.d.ts +1 -0
  35. package/form-field/label.d.ts +8 -0
  36. package/form-field/password-toggle.d.ts +16 -0
  37. package/form-field/password-toggle.scss +13 -0
  38. package/form-field/prefix.d.ts +6 -0
  39. package/form-field/public-api.d.ts +9 -0
  40. package/form-field/stepper.d.ts +14 -0
  41. package/form-field/stepper.scss +21 -0
  42. package/form-field/suffix.d.ts +6 -0
  43. package/index.d.ts +1 -0
  44. package/package.json +54 -0
  45. package/public-api.d.ts +1 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Components Experimental
2
+
3
+ This package contains prototypes and experiments in development for Koobiq. Nothing in this package is NOT stable or production ready.
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
2
+ import { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';
3
+ import { KbqIconModule } from '@koobiq/components/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@koobiq/components/icon";
6
+ /**
7
+ * KbqCleaner to be placed in end of the form field.
8
+ * Resets form control by click.
9
+ */
10
+ export class KbqCleaner {
11
+ constructor() {
12
+ // @TODO fix types (#DS-2915)
13
+ this.formField = inject(KBQ_FORM_FIELD_REF, { optional: true });
14
+ }
15
+ /** Whether to display the cleaner. */
16
+ get visible() {
17
+ return !this.formField?.disabled && !!this.formField?.control?.ngControl?.value;
18
+ }
19
+ /** Clean the form field control. */
20
+ clean(event) {
21
+ event.stopPropagation();
22
+ this.formField?.control?.ngControl?.reset();
23
+ this.formField?.control?.focus();
24
+ }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCleaner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqCleaner, isStandalone: true, selector: "kbq-cleaner", host: { listeners: { "click": "clean($event)" }, properties: { "style.visibility": "visible ? \"visible\" : \"hidden\"", "attr.aria-hidden": "!visible" }, classAttribute: "kbq-cleaner___EXPERIMENTAL" }, exportAs: ["kbqCleaner"], ngImport: i0, template: `
27
+ <i
28
+ [autoColor]="true"
29
+ kbq-icon-button="kbq-xmark-circle_16"
30
+ ></i>
31
+ `, isInline: true, styles: [".kbq-cleaner___EXPERIMENTAL{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCleaner, decorators: [{
34
+ type: Component,
35
+ args: [{ standalone: true, imports: [KbqIconModule], selector: 'kbq-cleaner', exportAs: 'kbqCleaner', template: `
36
+ <i
37
+ [autoColor]="true"
38
+ kbq-icon-button="kbq-xmark-circle_16"
39
+ ></i>
40
+ `, host: {
41
+ class: 'kbq-cleaner___EXPERIMENTAL',
42
+ '(click)': 'clean($event)',
43
+ '[style.visibility]': 'visible ? "visible" : "hidden"',
44
+ '[attr.aria-hidden]': '!visible'
45
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-cleaner___EXPERIMENTAL{display:flex;align-items:center;justify-content:center}\n"] }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMtZXhwZXJpbWVudGFsL2Zvcm0tZmllbGQvY2xlYW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUd4RDs7O0dBR0c7QUFzQkgsTUFBTSxPQUFPLFVBQVU7SUFyQnZCO1FBc0JJLDZCQUE2QjtRQUNaLGNBQVMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQXdDLENBQUM7S0FjdEg7SUFaRyxzQ0FBc0M7SUFDdEMsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxvQ0FBb0M7SUFDMUIsS0FBSyxDQUFDLEtBQWlCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztpSUFmUSxVQUFVO3FIQUFWLFVBQVUsNFNBaEJUOzs7OztLQUtULDhKQVJTLGFBQWE7OzJGQW1CZCxVQUFVO2tCQXJCdEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxhQUFhLENBQUMsWUFDZCxhQUFhLFlBQ2IsWUFBWSxZQUNaOzs7OztLQUtULFFBRUs7d0JBQ0YsS0FBSyxFQUFFLDRCQUE0Qjt3QkFDbkMsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLG9CQUFvQixFQUFFLGdDQUFnQzt3QkFDdEQsb0JBQW9CLEVBQUUsVUFBVTtxQkFDbkMsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtCUV9GT1JNX0ZJRUxEX1JFRiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticUljb25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGQgfSBmcm9tICcuL2Zvcm0tZmllbGQnO1xuXG4vKipcbiAqIEticUNsZWFuZXIgdG8gYmUgcGxhY2VkIGluIGVuZCBvZiB0aGUgZm9ybSBmaWVsZC5cbiAqIFJlc2V0cyBmb3JtIGNvbnRyb2wgYnkgY2xpY2suXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ticUljb25Nb2R1bGVdLFxuICAgIHNlbGVjdG9yOiAna2JxLWNsZWFuZXInLFxuICAgIGV4cG9ydEFzOiAna2JxQ2xlYW5lcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGlcbiAgICAgICAgICAgIFthdXRvQ29sb3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICBrYnEtaWNvbi1idXR0b249XCJrYnEteG1hcmstY2lyY2xlXzE2XCJcbiAgICAgICAgPjwvaT5cbiAgICBgLFxuICAgIHN0eWxlVXJsOiAnLi9jbGVhbmVyLnNjc3MnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtY2xlYW5lcl9fX0VYUEVSSU1FTlRBTCcsXG4gICAgICAgICcoY2xpY2spJzogJ2NsZWFuKCRldmVudCknLFxuICAgICAgICAnW3N0eWxlLnZpc2liaWxpdHldJzogJ3Zpc2libGUgPyBcInZpc2libGVcIiA6IFwiaGlkZGVuXCInLFxuICAgICAgICAnW2F0dHIuYXJpYS1oaWRkZW5dJzogJyF2aXNpYmxlJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBLYnFDbGVhbmVyIHtcbiAgICAvLyBAVE9ETyBmaXggdHlwZXMgKCNEUy0yOTE1KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUZpZWxkID0gaW5qZWN0KEtCUV9GT1JNX0ZJRUxEX1JFRiwgeyBvcHRpb25hbDogdHJ1ZSB9KSBhcyB1bmtub3duIGFzIEticUZvcm1GaWVsZCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNsZWFuZXIuICovXG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb3JtRmllbGQ/LmRpc2FibGVkICYmICEhdGhpcy5mb3JtRmllbGQ/LmNvbnRyb2w/Lm5nQ29udHJvbD8udmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIENsZWFuIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wuICovXG4gICAgcHJvdGVjdGVkIGNsZWFuKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuZm9ybUZpZWxkPy5jb250cm9sPy5uZ0NvbnRyb2w/LnJlc2V0KCk7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkPy5jb250cm9sPy5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,235 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, inject, InjectionToken, Input, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { ESCAPE, F8 } from '@koobiq/cdk/keycodes';
4
+ import { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';
5
+ import { KbqFormFieldControl } from '@koobiq/components/form-field';
6
+ import { merge } from 'rxjs';
7
+ import { KbqCleaner } from './cleaner';
8
+ import { KbqError, KbqHint, KbqPasswordHint } from './hint';
9
+ import { KbqLabel } from './label';
10
+ import { KbqPasswordToggle } from './password-toggle';
11
+ import { KbqPrefix } from './prefix';
12
+ import { KbqStepper } from './stepper';
13
+ import { KbqSuffix } from './suffix';
14
+ import * as i0 from "@angular/core";
15
+ /** Injection token that can be used to configure the default options for all kbq-form-field's. */
16
+ export const KBQ_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('KBQ_FORM_FIELD_DEFAULT_OPTIONS');
17
+ /** @docs-private */
18
+ export const getKbqFormFieldMissingControlError = () => {
19
+ return Error('kbq-form-field must contain a KbqFormFieldControl');
20
+ };
21
+ /** Container for form controls that applies styling and behavior. */
22
+ export class KbqFormField {
23
+ constructor() {
24
+ this.canCleanerClearByEsc = true;
25
+ this.changeDetectorRef = inject(ChangeDetectorRef);
26
+ this.destroyRef = inject(DestroyRef);
27
+ this.elementRef = inject(ElementRef);
28
+ this.defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });
29
+ this._hovered = false;
30
+ }
31
+ /** The form field's control. */
32
+ get control() {
33
+ if (!this._control) {
34
+ throw getKbqFormFieldMissingControlError();
35
+ }
36
+ return this._control;
37
+ }
38
+ /** Determines if borders and shadows should be disabled. */
39
+ get shouldDisableBorders() {
40
+ return this.noBorders || !!this.defaultOptions?.noBorders;
41
+ }
42
+ /** Whether the form field control is focused. */
43
+ get focused() {
44
+ return !!this.control?.focused;
45
+ }
46
+ /** Whether the form field is hovered. */
47
+ get hovered() {
48
+ return !!this._hovered;
49
+ }
50
+ /** Whether the form field is invalid. */
51
+ get invalid() {
52
+ return !!this.control?.errorState;
53
+ }
54
+ /** Checks whether the form-field contains kbq-hint */
55
+ get hasHint() {
56
+ return this.hint?.length > 0;
57
+ }
58
+ /** Checks whether the form-field contains kbq-password-hint */
59
+ get hasPasswordHint() {
60
+ return this.passwordHint?.length > 0;
61
+ }
62
+ /** Checks whether the form-field contains kbq-password-toggle */
63
+ get hasPasswordToggle() {
64
+ return !!this.passwordToggle;
65
+ }
66
+ /** Checks whether the form-field contains kbq-label */
67
+ get hasLabel() {
68
+ return !!this.label;
69
+ }
70
+ /** Checks whether the form-field contains kbqSuffix */
71
+ get hasSuffix() {
72
+ return this.suffix?.length > 0;
73
+ }
74
+ /** Checks whether the form-field contains kbqPrefix */
75
+ get hasPrefix() {
76
+ return this.prefix?.length > 0;
77
+ }
78
+ /** Checks whether the form-field contains kbq-cleaner */
79
+ get hasCleaner() {
80
+ return !!this.cleaner;
81
+ }
82
+ /** Checks whether the form-field contains kbq-stepper */
83
+ get hasStepper() {
84
+ return !!this.stepper;
85
+ }
86
+ /** Checks whether the form-field contains kbq-error */
87
+ get hasError() {
88
+ return this.error.length > 0;
89
+ }
90
+ /** Whether the form field is disabled. */
91
+ get disabled() {
92
+ return !!this.control?.disabled;
93
+ }
94
+ ngAfterContentInit() {
95
+ this.initializeControl();
96
+ this.initializePrefixAndSuffix();
97
+ this.initializeHint();
98
+ }
99
+ ngAfterViewInit() {
100
+ // Because the above changes a value used in the template after it was checked, we need
101
+ // to trigger CD or the change might not be reflected if there is no other CD scheduled.
102
+ this.changeDetectorRef.detectChanges();
103
+ }
104
+ /** Focuses the control. */
105
+ focus(options) {
106
+ this.control.focus(options);
107
+ }
108
+ /** Handles a click on the control's container. */
109
+ onContainerClick(event) {
110
+ if (this.control.onContainerClick) {
111
+ this.control.onContainerClick(event);
112
+ }
113
+ }
114
+ /** Handles keydown events. */
115
+ onKeyDown(event) {
116
+ // @TODO should move into KbqPasswordToggle (#DS-2910)
117
+ if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
118
+ this.control.toggleType();
119
+ }
120
+ // @TODO should move into KbqCleaner (#DS-2910)
121
+ if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.focused && this.hasCleaner) {
122
+ this.control?.ngControl?.reset();
123
+ event.preventDefault();
124
+ }
125
+ }
126
+ /** Handles mouseenter events. */
127
+ mouseenter(_event) {
128
+ this._hovered = true;
129
+ }
130
+ /** Handles mouseleave events. */
131
+ mouseleave(_event) {
132
+ this._hovered = false;
133
+ }
134
+ /**
135
+ * Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to.
136
+ */
137
+ getConnectedOverlayOrigin() {
138
+ return this.connectionContainerRef || this.elementRef;
139
+ }
140
+ /**
141
+ * Determines whether a class from the AbstractControlDirective should be forwarded to the host element.
142
+ */
143
+ shouldBeForwarded(property) {
144
+ return this.control.ngControl?.[property];
145
+ }
146
+ /** Initializes the kbqPrefix and kbqSuffix containers. */
147
+ initializePrefixAndSuffix() {
148
+ // Mark the form field as dirty whenever the prefix or suffix children change. This is necessary because we
149
+ // conditionally display the prefix/suffix containers based on whether there is projected content.
150
+ merge(this.prefix.changes, this.suffix.changes)
151
+ .pipe(takeUntilDestroyed(this.destroyRef))
152
+ .subscribe(() => {
153
+ this.changeDetectorRef.markForCheck();
154
+ });
155
+ }
156
+ /** Initializes the KbqHint, KbqError and KbqPasswordHint containers. */
157
+ initializeHint() {
158
+ merge(this.hint.changes, this.error.changes, this.passwordHint.changes)
159
+ .pipe(takeUntilDestroyed(this.destroyRef))
160
+ .subscribe(() => {
161
+ this.changeDetectorRef.markForCheck();
162
+ });
163
+ }
164
+ /** Initializes the form field control. */
165
+ initializeControl() {
166
+ if (this.control.controlType) {
167
+ this.elementRef.nativeElement.classList.add(`kbq-form-field-type-${this.control.controlType}`);
168
+ }
169
+ this.control.stateChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
170
+ this.changeDetectorRef.markForCheck();
171
+ });
172
+ this.control.ngControl?.valueChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
173
+ this.changeDetectorRef.markForCheck();
174
+ });
175
+ }
176
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqFormField, isStandalone: true, selector: "kbq-form-field", inputs: { noBorders: ["noBorders", "noBorders", booleanAttribute] }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)" }, properties: { "class.kbq-form-field_invalid": "invalid", "class.kbq-form-field_focused": "focused", "class.kbq-form-field_disabled": "disabled", "class.kbq-form-field_no-borders": "shouldDisableBorders", "class.ng-untouched": "shouldBeForwarded(\"untouched\")", "class.ng-touched": "shouldBeForwarded(\"touched\")", "class.ng-pristine": "shouldBeForwarded(\"pristine\")", "class.ng-dirty": "shouldBeForwarded(\"dirty\")", "class.ng-valid": "shouldBeForwarded(\"valid\")", "class.ng-invalid": "shouldBeForwarded(\"invalid\")", "class.ng-pending": "shouldBeForwarded(\"pending\")" }, classAttribute: "kbq-form-field___EXPERIMENTAL" }, providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }], queries: [{ propertyName: "_control", first: true, predicate: KbqFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: KbqStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: KbqCleaner, descendants: true }, { propertyName: "label", first: true, predicate: KbqLabel, descendants: true }, { propertyName: "passwordToggle", first: true, predicate: KbqPasswordToggle, descendants: true }, { propertyName: "hint", predicate: KbqHint }, { propertyName: "passwordHint", predicate: KbqPasswordHint }, { propertyName: "suffix", predicate: KbqSuffix }, { propertyName: "prefix", predicate: KbqPrefix }, { propertyName: "error", predicate: KbqError }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true }], exportAs: ["kbqFormField"], ngImport: i0, template: "@if (hasLabel) {\n <label\n class=\"kbq-form-field_label\"\n [attr.for]=\"control.id\"\n >\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div\n #connectionContainer\n class=\"kbq-form-field_container\"\n (click)=\"onContainerClick($event)\"\n>\n @if (hasPrefix) {\n <div class=\"kbq-form-field_prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field_control\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field_suffix\">\n <ng-content select=\"kbq-cleaner\" />\n\n <ng-content select=\"kbq-password-toggle\" />\n\n <ng-content select=\"kbq-stepper\" />\n\n <ng-content select=\"[kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError) {\n <div class=\"kbq-form-field_hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint\" />\n </div>\n}\n", styles: [".kbq-form-field___EXPERIMENTAL{display:inline-block;width:100%}.kbq-form-field___EXPERIMENTAL .kbq-form-field_container{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-width:var(--kbq-form-field-size-border-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field___EXPERIMENTAL .kbq-form-field:not(.kbq-form-field-type-textarea){height:var(--kbq-form-field-size-height)}.kbq-form-field___EXPERIMENTAL,.kbq-form-field___EXPERIMENTAL .kbq-input,.kbq-form-field___EXPERIMENTAL .kbq-textarea{border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_no-borders .kbq-form-field_container{border-color:transparent!important;box-shadow:none!important}.kbq-form-field___EXPERIMENTAL .kbq-form-field_control{flex-grow:1}.kbq-form-field___EXPERIMENTAL .kbq-form-field_label{display:flex;margin-bottom:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_prefix,.kbq-form-field___EXPERIMENTAL .kbq-form-field_suffix{display:flex;justify-content:center;align-items:center;gap:var(--kbq-size-xxs)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_prefix{margin-left:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_suffix{margin-right:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_hint{display:flex;flex-direction:column;margin-top:var(--kbq-size-s);gap:var(--kbq-size-xxs)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_container{border-color:var(--kbq-form-field-default-border-color);background-color:var(--kbq-form-field-default-background)}.kbq-form-field___EXPERIMENTAL .kbq-input,.kbq-form-field___EXPERIMENTAL .kbq-tag-input,.kbq-form-field___EXPERIMENTAL .kbq-textarea{color:var(--kbq-form-field-default-text)}.kbq-form-field___EXPERIMENTAL .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill,.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill:hover,.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 40rem var(--kbq-form-field-states-autofill-background);-webkit-text-fill-color:var(--kbq-form-field-states-autofill-text);caret-color:var(--kbq-form-field-states-autofill-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-form-field_container{border-color:var(--kbq-form-field-states-focused-border-color);background-color:var(--kbq-form-field-states-focused-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea{color:var(--kbq-form-field-states-focused-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-form-field_container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-focused-focus-outline)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-form-field_container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid.kbq-form-field_focused .kbq-form-field_container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-error-focused-focus-outline)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-form-field_container{border-color:var(--kbq-form-field-states-disabled-border-color);background-color:var(--kbq-form-field-states-disabled-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea{color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-icon{color:var(--kbq-form-field-states-disabled-text);-webkit-text-fill-color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field___EXPERIMENTAL .kbq-hint___EXPERIMENTAL{color:var(--kbq-form-field-hint-text)}.kbq-form-field___EXPERIMENTAL{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-form-field___EXPERIMENTAL .kbq-hint___EXPERIMENTAL:not(.kbq-password-hint___EXPERIMENTAL) .kbq-hint_text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-form-field___EXPERIMENTAL{--kbq-form-field-size-height: var(--kbq-size-3xl);--kbq-form-field-size-border-width: 1px;--kbq-form-field-size-border-radius: var(--kbq-size-border-radius);--kbq-form-field-size-icon-size: var(--kbq-size-l);--kbq-form-field-size-icon-margin-left: var(--kbq-size-s);--kbq-form-field-size-icon-margin-right: var(--kbq-size-s);--kbq-form-field-size-icon-button-size: var(--kbq-size-xxl);--kbq-form-field-size-icon-button-margin-right: var(--kbq-size-xxs);--kbq-form-field-size-icon-button-margin-left: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-states-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-fade);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-states-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-fade);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}\n", ".kbq-input{background:transparent;padding:0;margin:0;border:none;outline:none;display:inline-block;box-sizing:border-box;text-overflow:ellipsis;width:100%;min-height:calc(var(--kbq-size-3xl) - var(--kbq-size-border-width) * 2);padding:calc(var(--kbq-input-size-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-input-size-padding-horizontal)}.kbq-input::-ms-clear{display:none;width:0;height:0}.kbq-input::-ms-reveal{display:none;width:0;height:0}.kbq-input::-webkit-search-decoration,.kbq-input::-webkit-search-cancel-button,.kbq-input::-webkit-search-results-button,.kbq-input::-webkit-search-results-decoration{display:none}input.kbq-input[type=number]{-moz-appearance:textfield}input.kbq-input[type=number]::-webkit-inner-spin-button,input.kbq-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.kbq-input:invalid{box-shadow:unset}input.kbq-input::placeholder{opacity:1}.kbq-input,.kbq-input.kbq-input-password::placeholder{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-input.kbq-input-password{font-size:var(--kbq-typography-mono-normal-font-size);font-weight:var(--kbq-typography-mono-normal-font-weight);line-height:var(--kbq-typography-mono-normal-line-height);font-family:var(--kbq-typography-mono-normal-font-family);text-transform:var(--kbq-typography-mono-normal-text-transform);font-feature-settings:var(--kbq-typography-mono-normal-font-feature-settings);letter-spacing:var(--kbq-typography-mono-normal-letter-spacing)}\n", ".kbq-input{--kbq-input-size-padding-horizontal: var(--kbq-size-m);--kbq-input-size-padding-vertical: var(--kbq-size-xs)}\n", ".kbq-form-field-type-tag-list{--kbq-tag-input-size-padding-left: var(--kbq-size-xxs);--kbq-tag-input-size-padding-right: var(--kbq-size-m);--kbq-tag-input-size-padding-vertical: var(--kbq-size-xxs);--kbq-tag-input-size-content-gap: var(--kbq-size-s)}\n", ".kbq-timepicker{padding-right:var(--kbq-timepicker-size-padding-right)}.kbq-form-field-type-timepicker{width:auto}\n", ".kbq-form-field-type-datepicker{width:auto}.kbq-datepicker{width:130px}\n", ".kbq-textarea{--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: var(--kbq-size-xs);--kbq-textarea-size-padding-horizontal: var(--kbq-size-m)}.kbq-textarea{display:inline-block;background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--kbq-textarea-size-padding-vertical) var(--kbq-textarea-size-padding-horizontal);-webkit-appearance:none;vertical-align:bottom}.kbq-textarea:not(.kbq-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.kbq-textarea.kbq-textarea-resizable{resize:vertical;min-height:var(--kbq-textarea-size-min-height)}.kbq-textarea:invalid{box-shadow:unset}\n", ".kbq-textarea{--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: var(--kbq-size-xs);--kbq-textarea-size-padding-horizontal: var(--kbq-size-m)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
178
+ }
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormField, decorators: [{
180
+ type: Component,
181
+ args: [{ standalone: true, selector: 'kbq-form-field', exportAs: 'kbqFormField', host: {
182
+ class: 'kbq-form-field___EXPERIMENTAL',
183
+ '[class.kbq-form-field_invalid]': 'invalid',
184
+ '[class.kbq-form-field_focused]': 'focused',
185
+ '[class.kbq-form-field_disabled]': 'disabled',
186
+ '[class.kbq-form-field_no-borders]': 'shouldDisableBorders',
187
+ '[class.ng-untouched]': 'shouldBeForwarded("untouched")',
188
+ '[class.ng-touched]': 'shouldBeForwarded("touched")',
189
+ '[class.ng-pristine]': 'shouldBeForwarded("pristine")',
190
+ '[class.ng-dirty]': 'shouldBeForwarded("dirty")',
191
+ '[class.ng-valid]': 'shouldBeForwarded("valid")',
192
+ '[class.ng-invalid]': 'shouldBeForwarded("invalid")',
193
+ '[class.ng-pending]': 'shouldBeForwarded("pending")',
194
+ '(keydown)': 'onKeyDown($event)',
195
+ '(mouseenter)': 'mouseenter($event)',
196
+ '(mouseleave)': 'mouseleave($event)'
197
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }], template: "@if (hasLabel) {\n <label\n class=\"kbq-form-field_label\"\n [attr.for]=\"control.id\"\n >\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div\n #connectionContainer\n class=\"kbq-form-field_container\"\n (click)=\"onContainerClick($event)\"\n>\n @if (hasPrefix) {\n <div class=\"kbq-form-field_prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field_control\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field_suffix\">\n <ng-content select=\"kbq-cleaner\" />\n\n <ng-content select=\"kbq-password-toggle\" />\n\n <ng-content select=\"kbq-stepper\" />\n\n <ng-content select=\"[kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError) {\n <div class=\"kbq-form-field_hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint\" />\n </div>\n}\n", styles: [".kbq-form-field___EXPERIMENTAL{display:inline-block;width:100%}.kbq-form-field___EXPERIMENTAL .kbq-form-field_container{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-width:var(--kbq-form-field-size-border-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field___EXPERIMENTAL .kbq-form-field:not(.kbq-form-field-type-textarea){height:var(--kbq-form-field-size-height)}.kbq-form-field___EXPERIMENTAL,.kbq-form-field___EXPERIMENTAL .kbq-input,.kbq-form-field___EXPERIMENTAL .kbq-textarea{border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_no-borders .kbq-form-field_container{border-color:transparent!important;box-shadow:none!important}.kbq-form-field___EXPERIMENTAL .kbq-form-field_control{flex-grow:1}.kbq-form-field___EXPERIMENTAL .kbq-form-field_label{display:flex;margin-bottom:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_prefix,.kbq-form-field___EXPERIMENTAL .kbq-form-field_suffix{display:flex;justify-content:center;align-items:center;gap:var(--kbq-size-xxs)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_prefix{margin-left:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_suffix{margin-right:var(--kbq-size-s)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_hint{display:flex;flex-direction:column;margin-top:var(--kbq-size-s);gap:var(--kbq-size-xxs)}.kbq-form-field___EXPERIMENTAL .kbq-form-field_container{border-color:var(--kbq-form-field-default-border-color);background-color:var(--kbq-form-field-default-background)}.kbq-form-field___EXPERIMENTAL .kbq-input,.kbq-form-field___EXPERIMENTAL .kbq-tag-input,.kbq-form-field___EXPERIMENTAL .kbq-textarea{color:var(--kbq-form-field-default-text)}.kbq-form-field___EXPERIMENTAL .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill,.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill:hover,.kbq-form-field___EXPERIMENTAL .kbq-input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 40rem var(--kbq-form-field-states-autofill-background);-webkit-text-fill-color:var(--kbq-form-field-states-autofill-text);caret-color:var(--kbq-form-field-states-autofill-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-form-field_container{border-color:var(--kbq-form-field-states-focused-border-color);background-color:var(--kbq-form-field-states-focused-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea{color:var(--kbq-form-field-states-focused-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_focused .kbq-form-field_container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-focused-focus-outline)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-form-field_container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_invalid.kbq-form-field_focused .kbq-form-field_container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-error-focused-focus-outline)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-form-field_container{border-color:var(--kbq-form-field-states-disabled-border-color);background-color:var(--kbq-form-field-states-disabled-background)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea{color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::-ms-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field___EXPERIMENTAL.kbq-form-field_disabled .kbq-icon{color:var(--kbq-form-field-states-disabled-text);-webkit-text-fill-color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field___EXPERIMENTAL .kbq-hint___EXPERIMENTAL{color:var(--kbq-form-field-hint-text)}.kbq-form-field___EXPERIMENTAL{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-form-field___EXPERIMENTAL .kbq-hint___EXPERIMENTAL:not(.kbq-password-hint___EXPERIMENTAL) .kbq-hint_text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-form-field___EXPERIMENTAL{--kbq-form-field-size-height: var(--kbq-size-3xl);--kbq-form-field-size-border-width: 1px;--kbq-form-field-size-border-radius: var(--kbq-size-border-radius);--kbq-form-field-size-icon-size: var(--kbq-size-l);--kbq-form-field-size-icon-margin-left: var(--kbq-size-s);--kbq-form-field-size-icon-margin-right: var(--kbq-size-s);--kbq-form-field-size-icon-button-size: var(--kbq-size-xxl);--kbq-form-field-size-icon-button-margin-right: var(--kbq-size-xxs);--kbq-form-field-size-icon-button-margin-left: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-states-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-fade);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-states-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-fade);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}\n", ".kbq-input{background:transparent;padding:0;margin:0;border:none;outline:none;display:inline-block;box-sizing:border-box;text-overflow:ellipsis;width:100%;min-height:calc(var(--kbq-size-3xl) - var(--kbq-size-border-width) * 2);padding:calc(var(--kbq-input-size-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-input-size-padding-horizontal)}.kbq-input::-ms-clear{display:none;width:0;height:0}.kbq-input::-ms-reveal{display:none;width:0;height:0}.kbq-input::-webkit-search-decoration,.kbq-input::-webkit-search-cancel-button,.kbq-input::-webkit-search-results-button,.kbq-input::-webkit-search-results-decoration{display:none}input.kbq-input[type=number]{-moz-appearance:textfield}input.kbq-input[type=number]::-webkit-inner-spin-button,input.kbq-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.kbq-input:invalid{box-shadow:unset}input.kbq-input::placeholder{opacity:1}.kbq-input,.kbq-input.kbq-input-password::placeholder{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-input.kbq-input-password{font-size:var(--kbq-typography-mono-normal-font-size);font-weight:var(--kbq-typography-mono-normal-font-weight);line-height:var(--kbq-typography-mono-normal-line-height);font-family:var(--kbq-typography-mono-normal-font-family);text-transform:var(--kbq-typography-mono-normal-text-transform);font-feature-settings:var(--kbq-typography-mono-normal-font-feature-settings);letter-spacing:var(--kbq-typography-mono-normal-letter-spacing)}\n", ".kbq-input{--kbq-input-size-padding-horizontal: var(--kbq-size-m);--kbq-input-size-padding-vertical: var(--kbq-size-xs)}\n", ".kbq-form-field-type-tag-list{--kbq-tag-input-size-padding-left: var(--kbq-size-xxs);--kbq-tag-input-size-padding-right: var(--kbq-size-m);--kbq-tag-input-size-padding-vertical: var(--kbq-size-xxs);--kbq-tag-input-size-content-gap: var(--kbq-size-s)}\n", ".kbq-timepicker{padding-right:var(--kbq-timepicker-size-padding-right)}.kbq-form-field-type-timepicker{width:auto}\n", ".kbq-form-field-type-datepicker{width:auto}.kbq-datepicker{width:130px}\n", ".kbq-textarea{--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: var(--kbq-size-xs);--kbq-textarea-size-padding-horizontal: var(--kbq-size-m)}.kbq-textarea{display:inline-block;background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--kbq-textarea-size-padding-vertical) var(--kbq-textarea-size-padding-horizontal);-webkit-appearance:none;vertical-align:bottom}.kbq-textarea:not(.kbq-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.kbq-textarea.kbq-textarea-resizable{resize:vertical;min-height:var(--kbq-textarea-size-min-height)}.kbq-textarea:invalid{box-shadow:unset}\n", ".kbq-textarea{--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: var(--kbq-size-xs);--kbq-textarea-size-padding-horizontal: var(--kbq-size-m)}\n"] }]
198
+ }], propDecorators: { noBorders: [{
199
+ type: Input,
200
+ args: [{ transform: booleanAttribute }]
201
+ }], _control: [{
202
+ type: ContentChild,
203
+ args: [KbqFormFieldControl]
204
+ }], connectionContainerRef: [{
205
+ type: ViewChild,
206
+ args: ['connectionContainer']
207
+ }], stepper: [{
208
+ type: ContentChild,
209
+ args: [KbqStepper]
210
+ }], cleaner: [{
211
+ type: ContentChild,
212
+ args: [KbqCleaner]
213
+ }], label: [{
214
+ type: ContentChild,
215
+ args: [KbqLabel]
216
+ }], passwordToggle: [{
217
+ type: ContentChild,
218
+ args: [KbqPasswordToggle]
219
+ }], hint: [{
220
+ type: ContentChildren,
221
+ args: [KbqHint]
222
+ }], passwordHint: [{
223
+ type: ContentChildren,
224
+ args: [KbqPasswordHint]
225
+ }], suffix: [{
226
+ type: ContentChildren,
227
+ args: [KbqSuffix]
228
+ }], prefix: [{
229
+ type: ContentChildren,
230
+ args: [KbqPrefix]
231
+ }], error: [{
232
+ type: ContentChildren,
233
+ args: [KbqError]
234
+ }] } });
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMtZXhwZXJpbWVudGFsL2Zvcm0tZmllbGQvZm9ybS1maWVsZC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMtZXhwZXJpbWVudGFsL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxN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QUFlO2dCQUNhLE1BQU07c0JBQWxELGVBQWU7dUJBQUMsU0FBUztnQkFDbUIsTUFBTTtzQkFBbEQsZUFBZTt1QkFBQyxTQUFTO2dCQUNrQixLQUFLO3NCQUFoRCxlQUFlO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVTQ0FQRSwgRjggfSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBLQlFfRk9STV9GSUVMRF9SRUYgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEticUNsZWFuZXIgfSBmcm9tICcuL2NsZWFuZXInO1xuaW1wb3J0IHsgS2JxRXJyb3IsIEticUhpbnQsIEticVBhc3N3b3JkSGludCB9IGZyb20gJy4vaGludCc7XG5pbXBvcnQgeyBLYnFMYWJlbCB9IGZyb20gJy4vbGFiZWwnO1xuaW1wb3J0IHsgS2JxUGFzc3dvcmRUb2dnbGUgfSBmcm9tICcuL3Bhc3N3b3JkLXRvZ2dsZSc7XG5pbXBvcnQgeyBLYnFQcmVmaXggfSBmcm9tICcuL3ByZWZpeCc7XG5pbXBvcnQgeyBLYnFTdGVwcGVyIH0gZnJvbSAnLi9zdGVwcGVyJztcbmltcG9ydCB7IEticVN1ZmZpeCB9IGZyb20gJy4vc3VmZml4JztcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBrYnEtZm9ybS1maWVsZCB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBgS0JRX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TYCBpbmplY3Rpb24gdG9rZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEticUZvcm1GaWVsZERlZmF1bHRPcHRpb25zID0gUGFydGlhbDx7XG4gICAgLyoqIERpc2FibGVzIGZvcm0gZmllbGQgYm9yZGVycyBhbmQgc2hhZG93cy4gKi9cbiAgICBub0JvcmRlcnM6IGJvb2xlYW47XG59PjtcblxuLyoqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciBhbGwga2JxLWZvcm0tZmllbGQncy4gKi9cbmV4cG9ydCBjb25zdCBLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxRm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM+KFxuICAgICdLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMnXG4pO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IGdldEticUZvcm1GaWVsZE1pc3NpbmdDb250cm9sRXJyb3IgPSAoKTogRXJyb3IgPT4ge1xuICAgIHJldHVybiBFcnJvcigna2JxLWZvcm0tZmllbGQgbXVzdCBjb250YWluIGEgS2JxRm9ybUZpZWxkQ29udHJvbCcpO1xufTtcblxuLyoqIENvbnRhaW5lciBmb3IgZm9ybSBjb250cm9scyB0aGF0IGFwcGxpZXMgc3R5bGluZyBhbmQgYmVoYXZpb3IuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZvcm0tZmllbGQnLFxuICAgIGV4cG9ydEFzOiAna2JxRm9ybUZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vZm9ybS1maWVsZC5zY3NzJyxcbiAgICAgICAgJy4vZm9ybS1maWVsZC10b2tlbnMuc2NzcycsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBLYnFJbnB1dCBpcyBhIGRpcmVjdGl2ZSBhbmQgY2FuJ3QgaGF2ZSBzdHlsZXMsIHNvIHdlIG5lZWQgdG8gaW5jbHVkZSBpdHMgc3R5bGVzIGhlcmUuXG4gICAgICAgICAqIFRoZSBLYnFJbnB1dCBzdHlsZXMgYXJlIGZhaXJseSBtaW5pbWFsIHNvIGl0IHNob3VsZG4ndCBiZSBhIGJpZyBkZWFsIGZvciBwZW9wbGUgd2hvIGFyZW4ndCB1c2luZyBLYnFJbnB1dC5cbiAgICAgICAgICogQFRPRE8gc2hvdWxkIGJlIHJlZmFjdG9yZWQgKCNEUy0yOTEwKVxuICAgICAgICAgKi9cbiAgICAgICAgJy4vLi4vLi4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5zY3NzJyxcbiAgICAgICAgJy4vLi4vLi4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC10b2tlbnMuc2NzcycsXG4gICAgICAgICcuLy4uLy4uL2NvbXBvbmVudHMvdGFncy90YWctaW5wdXQtdG9rZW5zLnNjc3MnLFxuICAgICAgICAnLi8uLi8uLi9jb21wb25lbnRzL3RpbWVwaWNrZXIvdGltZXBpY2tlci5zY3NzJyxcbiAgICAgICAgJy4vLi4vLi4vY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQuc2NzcycsXG4gICAgICAgICcuLy4uLy4uL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuc2NzcycsXG4gICAgICAgICcuLy4uLy4uL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEtdG9rZW5zLnNjc3MnXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWZvcm0tZmllbGRfX19FWFBFUklNRU5UQUwnLFxuICAgICAgICAnW2NsYXNzLmticS1mb3JtLWZpZWxkX2ludmFsaWRdJzogJ2ludmFsaWQnLFxuICAgICAgICAnW2NsYXNzLmticS1mb3JtLWZpZWxkX2ZvY3VzZWRdJzogJ2ZvY3VzZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1mb3JtLWZpZWxkX2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWZvcm0tZmllbGRfbm8tYm9yZGVyc10nOiAnc2hvdWxkRGlzYWJsZUJvcmRlcnMnLFxuXG4gICAgICAgICdbY2xhc3MubmctdW50b3VjaGVkXSc6ICdzaG91bGRCZUZvcndhcmRlZChcInVudG91Y2hlZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctdG91Y2hlZF0nOiAnc2hvdWxkQmVGb3J3YXJkZWQoXCJ0b3VjaGVkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy1wcmlzdGluZV0nOiAnc2hvdWxkQmVGb3J3YXJkZWQoXCJwcmlzdGluZVwiKScsXG4gICAgICAgICdbY2xhc3MubmctZGlydHldJzogJ3Nob3VsZEJlRm9yd2FyZGVkKFwiZGlydHlcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXZhbGlkXSc6ICdzaG91bGRCZUZvcndhcmRlZChcInZhbGlkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy1pbnZhbGlkXSc6ICdzaG91bGRCZUZvcndhcmRlZChcImludmFsaWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXBlbmRpbmddJzogJ3Nob3VsZEJlRm9yd2FyZGVkKFwicGVuZGluZ1wiKScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcobW91c2VlbnRlciknOiAnbW91c2VlbnRlcigkZXZlbnQpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdtb3VzZWxlYXZlKCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogS0JRX0ZPUk1fRklFTERfUkVGLCB1c2VFeGlzdGluZzogS2JxRm9ybUZpZWxkIH1dXG59KVxuZXhwb3J0IGNsYXNzIEticUZvcm1GaWVsZCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBEaXNhYmxlcyBmb3JtIGZpZWxkIGJvcmRlcnMgYW5kIHNoYWRvd3MuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG5vQm9yZGVyczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGQoS2JxRm9ybUZpZWxkQ29udHJvbCkgcHJpdmF0ZSByZWFkb25seSBfY29udHJvbDogS2JxRm9ybUZpZWxkQ29udHJvbDx1bmtub3duPjtcbiAgICBAVmlld0NoaWxkKCdjb25uZWN0aW9uQ29udGFpbmVyJykgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxU3RlcHBlcikgcHJpdmF0ZSByZWFkb25seSBzdGVwcGVyOiBLYnFTdGVwcGVyO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQ2xlYW5lcikgcHJpdmF0ZSByZWFkb25seSBjbGVhbmVyOiBLYnFDbGVhbmVyIHwgbnVsbDtcbiAgICBAQ29udGVudENoaWxkKEticUxhYmVsKSBwcml2YXRlIHJlYWRvbmx5IGxhYmVsOiBLYnFMYWJlbCB8IG51bGw7XG4gICAgQENvbnRlbnRDaGlsZChLYnFQYXNzd29yZFRvZ2dsZSkgcHJpdmF0ZSByZWFkb25seSBwYXNzd29yZFRvZ2dsZTogS2JxUGFzc3dvcmRUb2dnbGUgfCBudWxsO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxSGludCkgcHJpdmF0ZSByZWFkb25seSBoaW50OiBRdWVyeUxpc3Q8S2JxSGludD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihLYnFQYXNzd29yZEhpbnQpIHByaXZhdGUgcmVhZG9ubHkgcGFzc3dvcmRIaW50OiBRdWVyeUxpc3Q8S2JxUGFzc3dvcmRIaW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKEticVN1ZmZpeCkgcHJpdmF0ZSByZWFkb25seSBzdWZmaXg6IFF1ZXJ5TGlzdDxLYnFTdWZmaXg+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxUHJlZml4KSBwcml2YXRlIHJlYWRvbmx5IHByZWZpeDogUXVlcnlMaXN0PEticVByZWZpeD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihLYnFFcnJvcikgcHJpdmF0ZSByZWFkb25seSBlcnJvcjogUXVlcnlMaXN0PEticUVycm9yPjtcblxuICAgIGNhbkNsZWFuZXJDbGVhckJ5RXNjOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0T3B0aW9ucyA9IGluamVjdChLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogVGhlIGZvcm0gZmllbGQncyBjb250cm9sLiAqL1xuICAgIGdldCBjb250cm9sKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IGdldEticUZvcm1GaWVsZE1pc3NpbmdDb250cm9sRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY29udHJvbDtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiBib3JkZXJzIGFuZCBzaGFkb3dzIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cbiAgICBnZXQgc2hvdWxkRGlzYWJsZUJvcmRlcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vQm9yZGVycyB8fCAhIXRoaXMuZGVmYXVsdE9wdGlvbnM/Lm5vQm9yZGVycztcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGlzIGZvY3VzZWQuICovXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8uZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgZm9ybSBmaWVsZCBpcyBob3ZlcmVkLiAqL1xuICAgIGdldCBob3ZlcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9ob3ZlcmVkO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBmb3JtIGZpZWxkIGlzIGludmFsaWQuICovXG4gICAgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8uZXJyb3JTdGF0ZTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxLWhpbnQgKi9cbiAgICBnZXQgaGFzSGludCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludD8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxLXBhc3N3b3JkLWhpbnQgKi9cbiAgICBnZXQgaGFzUGFzc3dvcmRIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXNzd29yZEhpbnQ/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1wYXNzd29yZC10b2dnbGUgKi9cbiAgICBnZXQgaGFzUGFzc3dvcmRUb2dnbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucGFzc3dvcmRUb2dnbGU7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1sYWJlbCAqL1xuICAgIGdldCBoYXNMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5sYWJlbDtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxU3VmZml4ICovXG4gICAgZ2V0IGhhc1N1ZmZpeCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VmZml4Py5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3Mgd2hldGhlciB0aGUgZm9ybS1maWVsZCBjb250YWlucyBrYnFQcmVmaXggKi9cbiAgICBnZXQgaGFzUHJlZml4KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmaXg/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1jbGVhbmVyICovXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2xlYW5lcjtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxLXN0ZXBwZXIgKi9cbiAgICBnZXQgaGFzU3RlcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zdGVwcGVyO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3Mgd2hldGhlciB0aGUgZm9ybS1maWVsZCBjb250YWlucyBrYnEtZXJyb3IgKi9cbiAgICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZvcm0gZmllbGQgaXMgZGlzYWJsZWQuICovXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRyb2w/LmRpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hvdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ29udHJvbCgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVQcmVmaXhBbmRTdWZmaXgoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGludCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgYWJvdmUgY2hhbmdlcyBhIHZhbHVlIHVzZWQgaW4gdGhlIHRlbXBsYXRlIGFmdGVyIGl0IHdhcyBjaGVja2VkLCB3ZSBuZWVkXG4gICAgICAgIC8vIHRvIHRyaWdnZXIgQ0Qgb3IgdGhlIGNoYW5nZSBtaWdodCBub3QgYmUgcmVmbGVjdGVkIGlmIHRoZXJlIGlzIG5vIG90aGVyIENEIHNjaGVkdWxlZC5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEZvY3VzZXMgdGhlIGNvbnRyb2wuICovXG4gICAgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgYSBjbGljayBvbiB0aGUgY29udHJvbCdzIGNvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIGtleWRvd24gZXZlbnRzLiAqL1xuICAgIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQFRPRE8gc2hvdWxkIG1vdmUgaW50byBLYnFQYXNzd29yZFRvZ2dsZSAoI0RTLTI5MTApXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUgPT09ICdpbnB1dC1wYXNzd29yZCcgJiYgZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEY4KSB7XG4gICAgICAgICAgICAodGhpcy5jb250cm9sIGFzIHVua25vd24gYXMgeyB0b2dnbGVUeXBlKCk6IHZvaWQgfSkudG9nZ2xlVHlwZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEBUT0RPIHNob3VsZCBtb3ZlIGludG8gS2JxQ2xlYW5lciAoI0RTLTI5MTApXG4gICAgICAgIGlmICh0aGlzLmNhbkNsZWFuZXJDbGVhckJ5RXNjICYmIGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiB0aGlzLmZvY3VzZWQgJiYgdGhpcy5oYXNDbGVhbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbD8ucmVzZXQoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyBtb3VzZWVudGVyIGV2ZW50cy4gKi9cbiAgICBwcm90ZWN0ZWQgbW91c2VlbnRlcihfZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faG92ZXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgbW91c2VsZWF2ZSBldmVudHMuICovXG4gICAgcHJvdGVjdGVkIG1vdXNlbGVhdmUoX2V2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hvdmVyZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIEVsZW1lbnRSZWYgZm9yIHRoZSBlbGVtZW50IHRoYXQgYSBvdmVybGF5IGF0dGFjaGVkIHRvIHRoZSBmb3JtLWZpZWxkIHNob3VsZCBiZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvLlxuICAgICAqL1xuICAgIGdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25Db250YWluZXJSZWYgfHwgdGhpcy5lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hldGhlciBhIGNsYXNzIGZyb20gdGhlIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSBzaG91bGQgYmUgZm9yd2FyZGVkIHRvIHRoZSBob3N0IGVsZW1lbnQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNob3VsZEJlRm9yd2FyZGVkKHByb3BlcnR5OiBrZXlvZiBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5uZ0NvbnRyb2w/Lltwcm9wZXJ0eV07XG4gICAgfVxuXG4gICAgLyoqIEluaXRpYWxpemVzIHRoZSBrYnFQcmVmaXggYW5kIGticVN1ZmZpeCBjb250YWluZXJzLiAqL1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZVByZWZpeEFuZFN1ZmZpeCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTWFyayB0aGUgZm9ybSBmaWVsZCBhcyBkaXJ0eSB3aGVuZXZlciB0aGUgcHJlZml4IG9yIHN1ZmZpeCBjaGlsZHJlbiBjaGFuZ2UuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd2VcbiAgICAgICAgLy8gY29uZGl0aW9uYWxseSBkaXNwbGF5IHRoZSBwcmVmaXgvc3VmZml4IGNvbnRhaW5lcnMgYmFzZWQgb24gd2hldGhlciB0aGVyZSBpcyBwcm9qZWN0ZWQgY29udGVudC5cbiAgICAgICAgbWVyZ2UodGhpcy5wcmVmaXguY2hhbmdlcywgdGhpcy5zdWZmaXguY2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbml0aWFsaXplcyB0aGUgS2JxSGludCwgS2JxRXJyb3IgYW5kIEticVBhc3N3b3JkSGludCBjb250YWluZXJzLiAqL1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZUhpbnQoKTogdm9pZCB7XG4gICAgICAgIG1lcmdlKHRoaXMuaGludC5jaGFuZ2VzLCB0aGlzLmVycm9yLmNoYW5nZXMsIHRoaXMucGFzc3dvcmRIaW50LmNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbGl6ZXMgdGhlIGZvcm0gZmllbGQgY29udHJvbC4gKi9cbiAgICBwcml2YXRlIGluaXRpYWxpemVDb250cm9sKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmNvbnRyb2xUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBrYnEtZm9ybS1maWVsZC10eXBlLSR7dGhpcy5jb250cm9sLmNvbnRyb2xUeXBlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250cm9sLnN0YXRlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLm5nQ29udHJvbD8udmFsdWVDaGFuZ2VzPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGlmIChoYXNMYWJlbCkge1xuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImticS1mb3JtLWZpZWxkX2xhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImNvbnRyb2wuaWRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWxhYmVsXCIgLz5cbiAgICA8L2xhYmVsPlxufVxuXG48ZGl2XG4gICAgI2Nvbm5lY3Rpb25Db250YWluZXJcbiAgICBjbGFzcz1cImticS1mb3JtLWZpZWxkX2NvbnRhaW5lclwiXG4gICAgKGNsaWNrKT1cIm9uQ29udGFpbmVyQ2xpY2soJGV2ZW50KVwiXG4+XG4gICAgQGlmIChoYXNQcmVmaXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1mb3JtLWZpZWxkX3ByZWZpeFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticVByZWZpeF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLWZvcm0tZmllbGRfY29udHJvbFwiPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChoYXNTdWZmaXggfHwgaGFzQ2xlYW5lciB8fCBoYXNQYXNzd29yZFRvZ2dsZSB8fCBoYXNTdGVwcGVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybS1maWVsZF9zdWZmaXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1jbGVhbmVyXCIgLz5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLXBhc3N3b3JkLXRvZ2dsZVwiIC8+XG5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1zdGVwcGVyXCIgLz5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticVN1ZmZpeF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cblxuQGlmIChoYXNIaW50IHx8IGhhc1Bhc3N3b3JkSGludCB8fCBoYXNFcnJvcikge1xuICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybS1maWVsZF9oaW50XCI+XG4gICAgICAgIEBpZiAoaW52YWxpZCkge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWVycm9yXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1oaW50LCBrYnEtcGFzc3dvcmQtaGludFwiIC8+XG4gICAgPC9kaXY+XG59XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { KbqCleaner } from './cleaner';
3
+ import { KbqFormField } from './form-field';
4
+ import { KbqError, KbqHint, KbqPasswordHint } from './hint';
5
+ import { KbqLabel } from './label';
6
+ import { KbqPasswordToggle } from './password-toggle';
7
+ import { KbqPrefix } from './prefix';
8
+ import { KbqStepper } from './stepper';
9
+ import { KbqSuffix } from './suffix';
10
+ import * as i0 from "@angular/core";
11
+ const COMPONENTS = [
12
+ KbqFormField,
13
+ KbqHint,
14
+ KbqError,
15
+ KbqPrefix,
16
+ KbqSuffix,
17
+ KbqCleaner,
18
+ KbqStepper,
19
+ KbqPasswordToggle,
20
+ KbqLabel,
21
+ KbqPasswordHint
22
+ ];
23
+ export class KbqFormFieldModule {
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, imports: [KbqFormField,
26
+ KbqHint,
27
+ KbqError,
28
+ KbqPrefix,
29
+ KbqSuffix,
30
+ KbqCleaner,
31
+ KbqStepper,
32
+ KbqPasswordToggle,
33
+ KbqLabel,
34
+ KbqPasswordHint], exports: [KbqFormField,
35
+ KbqHint,
36
+ KbqError,
37
+ KbqPrefix,
38
+ KbqSuffix,
39
+ KbqCleaner,
40
+ KbqStepper,
41
+ KbqPasswordToggle,
42
+ KbqLabel,
43
+ KbqPasswordHint] }); }
44
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, imports: [KbqCleaner,
45
+ KbqStepper,
46
+ KbqPasswordToggle,
47
+ KbqPasswordHint] }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, decorators: [{
50
+ type: NgModule,
51
+ args: [{
52
+ imports: COMPONENTS,
53
+ exports: COMPONENTS
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzLWV4cGVyaW1lbnRhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVyQyxNQUFNLFVBQVUsR0FBRztJQUNmLFlBQVk7SUFDWixPQUFPO0lBQ1AsUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGVBQWU7Q0FDbEIsQ0FBQztBQU1GLE1BQU0sT0FBTyxrQkFBa0I7aUlBQWxCLGtCQUFrQjtrSUFBbEIsa0JBQWtCLFlBaEIzQixZQUFZO1lBQ1osT0FBTztZQUNQLFFBQVE7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFVBQVU7WUFDVixVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLFFBQVE7WUFDUixlQUFlLGFBVGYsWUFBWTtZQUNaLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxVQUFVO1lBQ1YsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixRQUFRO1lBQ1IsZUFBZTtrSUFPTixrQkFBa0IsWUFYM0IsVUFBVTtZQUNWLFVBQVU7WUFDVixpQkFBaUI7WUFFakIsZUFBZTs7MkZBT04sa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxVQUFVO29CQUNuQixPQUFPLEVBQUUsVUFBVTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxQ2xlYW5lciB9IGZyb20gJy4vY2xlYW5lcic7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGQgfSBmcm9tICcuL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgS2JxRXJyb3IsIEticUhpbnQsIEticVBhc3N3b3JkSGludCB9IGZyb20gJy4vaGludCc7XG5pbXBvcnQgeyBLYnFMYWJlbCB9IGZyb20gJy4vbGFiZWwnO1xuaW1wb3J0IHsgS2JxUGFzc3dvcmRUb2dnbGUgfSBmcm9tICcuL3Bhc3N3b3JkLXRvZ2dsZSc7XG5pbXBvcnQgeyBLYnFQcmVmaXggfSBmcm9tICcuL3ByZWZpeCc7XG5pbXBvcnQgeyBLYnFTdGVwcGVyIH0gZnJvbSAnLi9zdGVwcGVyJztcbmltcG9ydCB7IEticVN1ZmZpeCB9IGZyb20gJy4vc3VmZml4JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBLYnFGb3JtRmllbGQsXG4gICAgS2JxSGludCxcbiAgICBLYnFFcnJvcixcbiAgICBLYnFQcmVmaXgsXG4gICAgS2JxU3VmZml4LFxuICAgIEticUNsZWFuZXIsXG4gICAgS2JxU3RlcHBlcixcbiAgICBLYnFQYXNzd29yZFRvZ2dsZSxcbiAgICBLYnFMYWJlbCxcbiAgICBLYnFQYXNzd29yZEhpbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogQ09NUE9ORU5UUyxcbiAgICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIEticUZvcm1GaWVsZE1vZHVsZSB7fVxuIl19