@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
@@ -0,0 +1,668 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, ViewEncapsulation, ChangeDetectionStrategy, booleanAttribute, Input, Directive, InjectionToken, ChangeDetectorRef, DestroyRef, ElementRef, ContentChild, ViewChild, ContentChildren, NgModule } from '@angular/core';
3
+ import { KBQ_FORM_FIELD_REF, KbqComponentColors } from '@koobiq/components/core';
4
+ import * as i1 from '@koobiq/components/icon';
5
+ import { KbqIconModule } from '@koobiq/components/icon';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
+ import { F8, ESCAPE } from '@koobiq/cdk/keycodes';
8
+ import { KbqFormFieldControl } from '@koobiq/components/form-field';
9
+ import { merge } from 'rxjs';
10
+ import { NgClass } from '@angular/common';
11
+ import { KbqInputPassword, KbqInput } from '@koobiq/components/input';
12
+
13
+ /**
14
+ * KbqCleaner to be placed in end of the form field.
15
+ * Resets form control by click.
16
+ */
17
+ class KbqCleaner {
18
+ constructor() {
19
+ // @TODO fix types (#DS-2915)
20
+ this.formField = inject(KBQ_FORM_FIELD_REF, { optional: true });
21
+ }
22
+ /** Whether to display the cleaner. */
23
+ get visible() {
24
+ return !this.formField?.disabled && !!this.formField?.control?.ngControl?.value;
25
+ }
26
+ /** Clean the form field control. */
27
+ clean(event) {
28
+ event.stopPropagation();
29
+ this.formField?.control?.ngControl?.reset();
30
+ this.formField?.control?.focus();
31
+ }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCleaner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ /** @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: `
34
+ <i
35
+ [autoColor]="true"
36
+ kbq-icon-button="kbq-xmark-circle_16"
37
+ ></i>
38
+ `, 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 }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCleaner, decorators: [{
41
+ type: Component,
42
+ args: [{ standalone: true, imports: [KbqIconModule], selector: 'kbq-cleaner', exportAs: 'kbqCleaner', template: `
43
+ <i
44
+ [autoColor]="true"
45
+ kbq-icon-button="kbq-xmark-circle_16"
46
+ ></i>
47
+ `, host: {
48
+ class: 'kbq-cleaner___EXPERIMENTAL',
49
+ '(click)': 'clean($event)',
50
+ '[style.visibility]': 'visible ? "visible" : "hidden"',
51
+ '[attr.aria-hidden]': '!visible'
52
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-cleaner___EXPERIMENTAL{display:flex;align-items:center;justify-content:center}\n"] }]
53
+ }] });
54
+
55
+ let nextUniqueId$1 = 0;
56
+ /** Hint text to be shown below the form field control. */
57
+ class KbqHint {
58
+ constructor() {
59
+ /** Unique ID for the hint. */
60
+ this.id = `kbq-hint-${nextUniqueId$1++}`;
61
+ /** Component colors */
62
+ this.colors = KbqComponentColors;
63
+ this._fillTextOff = false;
64
+ /** Makes the hint size smaller. */
65
+ this.compact = false;
66
+ }
67
+ /** Hint color */
68
+ set color(color) {
69
+ this._color = color;
70
+ }
71
+ get color() {
72
+ return this._color;
73
+ }
74
+ /** Disables `color` for the hint text. */
75
+ set fillTextOff(fillTextOff) {
76
+ this._fillTextOff = fillTextOff;
77
+ }
78
+ get fillTextOff() {
79
+ return this._fillTextOff;
80
+ }
81
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqHint, isStandalone: true, selector: "kbq-hint", inputs: { id: "id", color: "color", fillTextOff: ["fillTextOff", "fillTextOff", booleanAttribute], compact: ["compact", "compact", booleanAttribute] }, host: { properties: { "attr.id": "id", "class.kbq-error": "color === colors.Error", "class.kbq-contrast-fade": "color === colors.ContrastFade", "class.kbq-success": "color === colors.Success", "class.kbq-warning": "color === colors.Warning", "class.kbq-hint_fill-text-off": "fillTextOff", "class.kbq-hint_compact": "compact" }, classAttribute: "kbq-hint___EXPERIMENTAL" }, exportAs: ["kbqHint"], ngImport: i0, template: "<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint_text\">\n <ng-content />\n</span>\n", styles: [".kbq-hint___EXPERIMENTAL{display:flex;align-items:center;justify-content:start}.kbq-hint___EXPERIMENTAL .kbq-icon{margin-right:var(--kbq-hint-size-normal-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .kbq-icon{margin-right:var(--kbq-hint-size-compact-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade{color:var(--kbq-hint-fill-text-on-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-on-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-success{color:var(--kbq-hint-fill-text-on-success-text)}.kbq-hint___EXPERIMENTAL.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-on-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-warning{color:var(--kbq-hint-fill-text-on-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-on-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-error{color:var(--kbq-hint-fill-text-on-error-text)}.kbq-hint___EXPERIMENTAL.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-on-error-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade{color:var(--kbq-hint-fill-text-off-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-off-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success{color:var(--kbq-hint-fill-text-off-success-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-off-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning{color:var(--kbq-hint-fill-text-off-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-off-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error{color:var(--kbq-hint-fill-text-off-error-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-off-error-icon)!important}.kbq-hint___EXPERIMENTAL .kbq-hint_text{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .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-hint___EXPERIMENTAL{--kbq-hint-size-normal-margin-top: var(--kbq-size-3xs);--kbq-hint-size-normal-content-padding: var(--kbq-size-xxs);--kbq-hint-size-compact-margin-top: 0;--kbq-hint-size-compact-content-padding: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqHint, decorators: [{
85
+ type: Component,
86
+ args: [{ standalone: true, selector: 'kbq-hint', exportAs: 'kbqHint', host: {
87
+ class: 'kbq-hint___EXPERIMENTAL',
88
+ '[attr.id]': 'id',
89
+ '[class.kbq-error]': 'color === colors.Error',
90
+ '[class.kbq-contrast-fade]': 'color === colors.ContrastFade',
91
+ '[class.kbq-success]': 'color === colors.Success',
92
+ '[class.kbq-warning]': 'color === colors.Warning',
93
+ '[class.kbq-hint_fill-text-off]': 'fillTextOff',
94
+ '[class.kbq-hint_compact]': 'compact'
95
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint_text\">\n <ng-content />\n</span>\n", styles: [".kbq-hint___EXPERIMENTAL{display:flex;align-items:center;justify-content:start}.kbq-hint___EXPERIMENTAL .kbq-icon{margin-right:var(--kbq-hint-size-normal-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .kbq-icon{margin-right:var(--kbq-hint-size-compact-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade{color:var(--kbq-hint-fill-text-on-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-on-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-success{color:var(--kbq-hint-fill-text-on-success-text)}.kbq-hint___EXPERIMENTAL.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-on-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-warning{color:var(--kbq-hint-fill-text-on-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-on-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-error{color:var(--kbq-hint-fill-text-on-error-text)}.kbq-hint___EXPERIMENTAL.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-on-error-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade{color:var(--kbq-hint-fill-text-off-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-off-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success{color:var(--kbq-hint-fill-text-off-success-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-off-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning{color:var(--kbq-hint-fill-text-off-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-off-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error{color:var(--kbq-hint-fill-text-off-error-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-off-error-icon)!important}.kbq-hint___EXPERIMENTAL .kbq-hint_text{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .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-hint___EXPERIMENTAL{--kbq-hint-size-normal-margin-top: var(--kbq-size-3xs);--kbq-hint-size-normal-content-padding: var(--kbq-size-xxs);--kbq-hint-size-compact-margin-top: 0;--kbq-hint-size-compact-content-padding: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}\n"] }]
96
+ }], propDecorators: { id: [{
97
+ type: Input
98
+ }], color: [{
99
+ type: Input
100
+ }], fillTextOff: [{
101
+ type: Input,
102
+ args: [{ transform: booleanAttribute }]
103
+ }], compact: [{
104
+ type: Input,
105
+ args: [{ transform: booleanAttribute }]
106
+ }] } });
107
+ /** Error text to be shown below the form field control. */
108
+ class KbqError extends KbqHint {
109
+ /** @docs-private */
110
+ set color(_color) { }
111
+ /** Overrides the hint `color` property. */
112
+ get color() {
113
+ return KbqComponentColors.Error;
114
+ }
115
+ /** @docs-private */
116
+ set fillTextOff(_fillTextOff) { }
117
+ /** Overrides the hint `fillTextOff` property. */
118
+ get fillTextOff() {
119
+ return false;
120
+ }
121
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqError, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
122
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqError, isStandalone: true, selector: "kbq-error", inputs: { color: "color", fillTextOff: "fillTextOff" }, exportAs: ["kbqError"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint_text\">\n <ng-content />\n</span>\n", styles: [".kbq-hint___EXPERIMENTAL{display:flex;align-items:center;justify-content:start}.kbq-hint___EXPERIMENTAL .kbq-icon{margin-right:var(--kbq-hint-size-normal-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .kbq-icon{margin-right:var(--kbq-hint-size-compact-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade{color:var(--kbq-hint-fill-text-on-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-on-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-success{color:var(--kbq-hint-fill-text-on-success-text)}.kbq-hint___EXPERIMENTAL.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-on-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-warning{color:var(--kbq-hint-fill-text-on-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-on-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-error{color:var(--kbq-hint-fill-text-on-error-text)}.kbq-hint___EXPERIMENTAL.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-on-error-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade{color:var(--kbq-hint-fill-text-off-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-off-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success{color:var(--kbq-hint-fill-text-off-success-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-off-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning{color:var(--kbq-hint-fill-text-off-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-off-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error{color:var(--kbq-hint-fill-text-off-error-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-off-error-icon)!important}.kbq-hint___EXPERIMENTAL .kbq-hint_text{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .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-hint___EXPERIMENTAL{--kbq-hint-size-normal-margin-top: var(--kbq-size-3xs);--kbq-hint-size-normal-content-padding: var(--kbq-size-xxs);--kbq-hint-size-compact-margin-top: 0;--kbq-hint-size-compact-content-padding: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqError, decorators: [{
125
+ type: Component,
126
+ args: [{ standalone: true, selector: 'kbq-error', exportAs: 'kbqError', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint_text\">\n <ng-content />\n</span>\n", styles: [".kbq-hint___EXPERIMENTAL{display:flex;align-items:center;justify-content:start}.kbq-hint___EXPERIMENTAL .kbq-icon{margin-right:var(--kbq-hint-size-normal-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .kbq-icon{margin-right:var(--kbq-hint-size-compact-content-padding)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade{color:var(--kbq-hint-fill-text-on-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-on-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-success{color:var(--kbq-hint-fill-text-on-success-text)}.kbq-hint___EXPERIMENTAL.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-on-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-warning{color:var(--kbq-hint-fill-text-on-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-on-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-error{color:var(--kbq-hint-fill-text-on-error-text)}.kbq-hint___EXPERIMENTAL.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-on-error-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade{color:var(--kbq-hint-fill-text-off-fade-contrast-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-contrast-fade .kbq-icon{color:var(--kbq-hint-fill-text-off-fade-contrast-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success{color:var(--kbq-hint-fill-text-off-success-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-success .kbq-icon{color:var(--kbq-hint-fill-text-off-success-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning{color:var(--kbq-hint-fill-text-off-warning-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-warning .kbq-icon{color:var(--kbq-hint-fill-text-off-warning-icon)!important}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error{color:var(--kbq-hint-fill-text-off-error-text)}.kbq-hint___EXPERIMENTAL.kbq-hint_fill-text-off.kbq-error .kbq-icon{color:var(--kbq-hint-fill-text-off-error-icon)!important}.kbq-hint___EXPERIMENTAL .kbq-hint_text{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-hint___EXPERIMENTAL.kbq-hint_compact .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-hint___EXPERIMENTAL{--kbq-hint-size-normal-margin-top: var(--kbq-size-3xs);--kbq-hint-size-normal-content-padding: var(--kbq-size-xxs);--kbq-hint-size-compact-margin-top: 0;--kbq-hint-size-compact-content-padding: var(--kbq-size-xxs)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-hint-fill-text-off-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-off-success-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-off-warning-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-off-error-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-off-error-icon: var(--kbq-icon-error);--kbq-hint-fill-text-on-fade-contrast-text: var(--kbq-foreground-contrast);--kbq-hint-fill-text-on-fade-contrast-icon: var(--kbq-icon-contrast-fade);--kbq-hint-fill-text-on-success-text: var(--kbq-foreground-success);--kbq-hint-fill-text-on-success-icon: var(--kbq-icon-success);--kbq-hint-fill-text-on-warning-text: var(--kbq-foreground-warning);--kbq-hint-fill-text-on-warning-icon: var(--kbq-icon-warning);--kbq-hint-fill-text-on-error-text: var(--kbq-foreground-error);--kbq-hint-fill-text-on-error-icon: var(--kbq-icon-error)}\n"] }]
127
+ }], propDecorators: { color: [{
128
+ type: Input
129
+ }], fillTextOff: [{
130
+ type: Input
131
+ }] } });
132
+ /** Password hint to be shown below the password form field control. */
133
+ class KbqPasswordHint extends KbqHint {
134
+ constructor() {
135
+ super(...arguments);
136
+ /** Whether the form field control has an error. */
137
+ this.hasError = false;
138
+ // @TODO fix types (#DS-2915)
139
+ this.formField = inject(KBQ_FORM_FIELD_REF, { optional: true });
140
+ }
141
+ /** @docs-private */
142
+ set fillTextOff(_fillTextOff) { }
143
+ /** Overrides the hint `fillTextOff` property. */
144
+ get fillTextOff() {
145
+ return true;
146
+ }
147
+ /** @docs-private */
148
+ set color(_color) { }
149
+ /** Overrides the hint `color` property. */
150
+ get color() {
151
+ if (this.formField?.invalid && this.hasError) {
152
+ return KbqComponentColors.Error;
153
+ }
154
+ if ((!this.formField?.invalid && !this.hasError) || !this.hasError) {
155
+ return KbqComponentColors.Success;
156
+ }
157
+ return KbqComponentColors.ContrastFade;
158
+ }
159
+ /** The form field hint icon. */
160
+ get icon() {
161
+ return this.hasError ? 'kbq-xmark-s_16' : 'kbq-check-s_16';
162
+ }
163
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPasswordHint, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
164
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqPasswordHint, isStandalone: true, selector: "kbq-password-hint", inputs: { hasError: ["hasError", "hasError", booleanAttribute], fillTextOff: "fillTextOff", color: "color" }, host: { classAttribute: "kbq-password-hint___EXPERIMENTAL" }, usesInheritance: true, ngImport: i0, template: `
165
+ <i
166
+ [ngClass]="icon"
167
+ kbq-icon=""
168
+ ></i>
169
+
170
+ <span class="kbq-hint_text">
171
+ <ng-content />
172
+ </span>
173
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
174
+ }
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPasswordHint, decorators: [{
176
+ type: Component,
177
+ args: [{
178
+ standalone: true,
179
+ imports: [NgClass, KbqIconModule],
180
+ selector: 'kbq-password-hint',
181
+ template: `
182
+ <i
183
+ [ngClass]="icon"
184
+ kbq-icon=""
185
+ ></i>
186
+
187
+ <span class="kbq-hint_text">
188
+ <ng-content />
189
+ </span>
190
+ `,
191
+ host: {
192
+ class: 'kbq-password-hint___EXPERIMENTAL'
193
+ },
194
+ encapsulation: ViewEncapsulation.None,
195
+ changeDetection: ChangeDetectionStrategy.OnPush
196
+ }]
197
+ }], propDecorators: { hasError: [{
198
+ type: Input,
199
+ args: [{ transform: booleanAttribute }]
200
+ }], fillTextOff: [{
201
+ type: Input
202
+ }], color: [{
203
+ type: Input
204
+ }] } });
205
+
206
+ let nextUniqueId = 0;
207
+ /** Label for the form field. */
208
+ class KbqLabel {
209
+ constructor() {
210
+ /** Unique id for the label. */
211
+ this.id = `kbq-label-${nextUniqueId++}`;
212
+ }
213
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
214
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqLabel, isStandalone: true, selector: "kbq-label", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "kbq-label___EXPERIMENTAL" }, ngImport: i0 }); }
215
+ }
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLabel, decorators: [{
217
+ type: Directive,
218
+ args: [{
219
+ selector: 'kbq-label',
220
+ standalone: true,
221
+ host: {
222
+ class: 'kbq-label___EXPERIMENTAL',
223
+ '[attr.id]': 'id'
224
+ }
225
+ }]
226
+ }], propDecorators: { id: [{
227
+ type: Input
228
+ }] } });
229
+
230
+ /** @docs-private */
231
+ const getKbqPasswordToggleMissingControlError = () => {
232
+ return Error('kbq-password-toggle should use with kbqInputPassword');
233
+ };
234
+ /** Component which changes password visibility. */
235
+ class KbqPasswordToggle {
236
+ constructor() {
237
+ // @TODO fix types (#DS-2915)
238
+ this.formField = inject(KBQ_FORM_FIELD_REF, { optional: true });
239
+ }
240
+ /** Form field password control. */
241
+ get control() {
242
+ const control = this.formField?.control;
243
+ if (!(control instanceof KbqInputPassword)) {
244
+ throw getKbqPasswordToggleMissingControlError();
245
+ }
246
+ return control;
247
+ }
248
+ /** The icon selector. */
249
+ get icon() {
250
+ return this.control.elementType === 'password' ? 'kbq-eye_16' : 'kbq-eye-slash_16';
251
+ }
252
+ /** Whether to display the password toggle. */
253
+ get visible() {
254
+ return !this.formField?.disabled && !!this.control?.ngControl?.value;
255
+ }
256
+ /** Toggles the password visibility. */
257
+ toggleType(event) {
258
+ event.stopPropagation();
259
+ this.control.toggleType();
260
+ }
261
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPasswordToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqPasswordToggle, isStandalone: true, selector: "kbq-password-toggle", host: { listeners: { "click": "toggleType($event)", "keydown.ENTER": "toggleType($event)", "keydown.SPACE": "toggleType($event)" }, properties: { "style.visibility": "visible ? \"visible\" : \"hidden\"", "attr.aria-hidden": "!visible" }, classAttribute: "kbq-password-toggle___EXPERIMENTAL" }, exportAs: ["kbqPasswordToggle"], ngImport: i0, template: `
263
+ <i
264
+ [ngClass]="icon"
265
+ [autoColor]="true"
266
+ kbq-icon-button=""
267
+ ></i>
268
+ `, isInline: true, styles: [".kbq-password-toggle___EXPERIMENTAL{display:flex;align-items:center;justify-content:center}.kbq-password-toggle___EXPERIMENTAL::-moz-focus-inner{border:0}.kbq-password-toggle___EXPERIMENTAL:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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 }); }
269
+ }
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPasswordToggle, decorators: [{
271
+ type: Component,
272
+ args: [{ standalone: true, imports: [NgClass, KbqIconModule], selector: `kbq-password-toggle`, exportAs: 'kbqPasswordToggle', template: `
273
+ <i
274
+ [ngClass]="icon"
275
+ [autoColor]="true"
276
+ kbq-icon-button=""
277
+ ></i>
278
+ `, host: {
279
+ class: 'kbq-password-toggle___EXPERIMENTAL',
280
+ '[style.visibility]': 'visible ? "visible" : "hidden"',
281
+ '[attr.aria-hidden]': '!visible',
282
+ '(click)': 'toggleType($event)',
283
+ '(keydown.ENTER)': 'toggleType($event)',
284
+ '(keydown.SPACE)': 'toggleType($event)'
285
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-password-toggle___EXPERIMENTAL{display:flex;align-items:center;justify-content:center}.kbq-password-toggle___EXPERIMENTAL::-moz-focus-inner{border:0}.kbq-password-toggle___EXPERIMENTAL:focus{outline:none}\n"] }]
286
+ }] });
287
+
288
+ /** KbqPrefix to be placed in front of the form field. */
289
+ class KbqPrefix {
290
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
291
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqPrefix, isStandalone: true, selector: "[kbqPrefix]", host: { classAttribute: "kbq-prefix___EXPERIMENTAL" }, ngImport: i0 }); }
292
+ }
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqPrefix, decorators: [{
294
+ type: Directive,
295
+ args: [{
296
+ standalone: true,
297
+ selector: '[kbqPrefix]',
298
+ host: {
299
+ class: 'kbq-prefix___EXPERIMENTAL'
300
+ }
301
+ }]
302
+ }] });
303
+
304
+ /** @docs-private */
305
+ const getKbqStepperToggleMissingControlError = () => {
306
+ return Error('kbq-stepper should use with kbqNumberInput');
307
+ };
308
+ /** Component which allow to increment or decrement number value. */
309
+ class KbqStepper {
310
+ constructor() {
311
+ // @TODO fix types (#DS-2915)
312
+ this.formField = inject(KBQ_FORM_FIELD_REF, { optional: true });
313
+ }
314
+ /** Whether the stepper is visible. */
315
+ get visible() {
316
+ return !!((this.formField?.focused || this.formField?.hovered) && !this.formField?.disabled);
317
+ }
318
+ /** Form field number control. */
319
+ get control() {
320
+ const control = this.formField?.control;
321
+ if (!(control instanceof KbqInput && control.numberInput)) {
322
+ throw getKbqStepperToggleMissingControlError();
323
+ }
324
+ return control.numberInput;
325
+ }
326
+ stepUp(event) {
327
+ event.stopPropagation();
328
+ this.control.stepUp(this.control.step);
329
+ }
330
+ stepDown(event) {
331
+ event.stopPropagation();
332
+ this.control.stepDown(this.control.step);
333
+ }
334
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqStepper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
335
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqStepper, isStandalone: true, selector: "kbq-stepper", host: { properties: { "style.visibility": "visible ? \"visible\" : \"hidden\"", "attr.aria-hidden": "!visible" }, classAttribute: "kbq-stepper___EXPERIMENTAL" }, exportAs: ["kbqStepper"], ngImport: i0, template: `
336
+ <i
337
+ class="kbq-stepper_step-up"
338
+ [small]="true"
339
+ [tabindex]="-1"
340
+ [autoColor]="true"
341
+ (click)="stepUp($event)"
342
+ kbq-icon-button="kbq-chevron-down_16"
343
+ ></i>
344
+ <i
345
+ class="kbq-stepper_step-down"
346
+ [small]="true"
347
+ [tabindex]="-1"
348
+ [autoColor]="true"
349
+ (mousedown)="stepDown($event)"
350
+ kbq-icon-button="kbq-chevron-down_16"
351
+ ></i>
352
+ `, isInline: true, styles: [".kbq-stepper___EXPERIMENTAL{display:flex;flex-direction:column;justify-content:center;align-items:center}.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-up,.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-down{cursor:pointer;width:var(--kbq-form-field-size-icon-button-size);text-align:center}.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-up{transform:scaleY(-1)}.kbq-stepper___EXPERIMENTAL .kbq-icon-button.kbq-icon-button_small{padding:0}\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 }); }
353
+ }
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqStepper, decorators: [{
355
+ type: Component,
356
+ args: [{ standalone: true, selector: 'kbq-stepper', exportAs: 'kbqStepper', imports: [KbqIconModule], template: `
357
+ <i
358
+ class="kbq-stepper_step-up"
359
+ [small]="true"
360
+ [tabindex]="-1"
361
+ [autoColor]="true"
362
+ (click)="stepUp($event)"
363
+ kbq-icon-button="kbq-chevron-down_16"
364
+ ></i>
365
+ <i
366
+ class="kbq-stepper_step-down"
367
+ [small]="true"
368
+ [tabindex]="-1"
369
+ [autoColor]="true"
370
+ (mousedown)="stepDown($event)"
371
+ kbq-icon-button="kbq-chevron-down_16"
372
+ ></i>
373
+ `, host: {
374
+ class: 'kbq-stepper___EXPERIMENTAL',
375
+ '[style.visibility]': 'visible ? "visible" : "hidden"',
376
+ '[attr.aria-hidden]': '!visible'
377
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-stepper___EXPERIMENTAL{display:flex;flex-direction:column;justify-content:center;align-items:center}.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-up,.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-down{cursor:pointer;width:var(--kbq-form-field-size-icon-button-size);text-align:center}.kbq-stepper___EXPERIMENTAL .kbq-stepper_step-up{transform:scaleY(-1)}.kbq-stepper___EXPERIMENTAL .kbq-icon-button.kbq-icon-button_small{padding:0}\n"] }]
378
+ }] });
379
+
380
+ /** KbqSuffix to be placed at the end of the form field. */
381
+ class KbqSuffix {
382
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
383
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqSuffix, isStandalone: true, selector: "[kbqSuffix]", host: { classAttribute: "kbq-suffix___EXPERIMENTAL" }, ngImport: i0 }); }
384
+ }
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqSuffix, decorators: [{
386
+ type: Directive,
387
+ args: [{
388
+ standalone: true,
389
+ selector: '[kbqSuffix]',
390
+ host: {
391
+ class: 'kbq-suffix___EXPERIMENTAL'
392
+ }
393
+ }]
394
+ }] });
395
+
396
+ /** Injection token that can be used to configure the default options for all kbq-form-field's. */
397
+ const KBQ_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('KBQ_FORM_FIELD_DEFAULT_OPTIONS');
398
+ /** @docs-private */
399
+ const getKbqFormFieldMissingControlError = () => {
400
+ return Error('kbq-form-field must contain a KbqFormFieldControl');
401
+ };
402
+ /** Container for form controls that applies styling and behavior. */
403
+ class KbqFormField {
404
+ constructor() {
405
+ this.canCleanerClearByEsc = true;
406
+ this.changeDetectorRef = inject(ChangeDetectorRef);
407
+ this.destroyRef = inject(DestroyRef);
408
+ this.elementRef = inject(ElementRef);
409
+ this.defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });
410
+ this._hovered = false;
411
+ }
412
+ /** The form field's control. */
413
+ get control() {
414
+ if (!this._control) {
415
+ throw getKbqFormFieldMissingControlError();
416
+ }
417
+ return this._control;
418
+ }
419
+ /** Determines if borders and shadows should be disabled. */
420
+ get shouldDisableBorders() {
421
+ return this.noBorders || !!this.defaultOptions?.noBorders;
422
+ }
423
+ /** Whether the form field control is focused. */
424
+ get focused() {
425
+ return !!this.control?.focused;
426
+ }
427
+ /** Whether the form field is hovered. */
428
+ get hovered() {
429
+ return !!this._hovered;
430
+ }
431
+ /** Whether the form field is invalid. */
432
+ get invalid() {
433
+ return !!this.control?.errorState;
434
+ }
435
+ /** Checks whether the form-field contains kbq-hint */
436
+ get hasHint() {
437
+ return this.hint?.length > 0;
438
+ }
439
+ /** Checks whether the form-field contains kbq-password-hint */
440
+ get hasPasswordHint() {
441
+ return this.passwordHint?.length > 0;
442
+ }
443
+ /** Checks whether the form-field contains kbq-password-toggle */
444
+ get hasPasswordToggle() {
445
+ return !!this.passwordToggle;
446
+ }
447
+ /** Checks whether the form-field contains kbq-label */
448
+ get hasLabel() {
449
+ return !!this.label;
450
+ }
451
+ /** Checks whether the form-field contains kbqSuffix */
452
+ get hasSuffix() {
453
+ return this.suffix?.length > 0;
454
+ }
455
+ /** Checks whether the form-field contains kbqPrefix */
456
+ get hasPrefix() {
457
+ return this.prefix?.length > 0;
458
+ }
459
+ /** Checks whether the form-field contains kbq-cleaner */
460
+ get hasCleaner() {
461
+ return !!this.cleaner;
462
+ }
463
+ /** Checks whether the form-field contains kbq-stepper */
464
+ get hasStepper() {
465
+ return !!this.stepper;
466
+ }
467
+ /** Checks whether the form-field contains kbq-error */
468
+ get hasError() {
469
+ return this.error.length > 0;
470
+ }
471
+ /** Whether the form field is disabled. */
472
+ get disabled() {
473
+ return !!this.control?.disabled;
474
+ }
475
+ ngAfterContentInit() {
476
+ this.initializeControl();
477
+ this.initializePrefixAndSuffix();
478
+ this.initializeHint();
479
+ }
480
+ ngAfterViewInit() {
481
+ // Because the above changes a value used in the template after it was checked, we need
482
+ // to trigger CD or the change might not be reflected if there is no other CD scheduled.
483
+ this.changeDetectorRef.detectChanges();
484
+ }
485
+ /** Focuses the control. */
486
+ focus(options) {
487
+ this.control.focus(options);
488
+ }
489
+ /** Handles a click on the control's container. */
490
+ onContainerClick(event) {
491
+ if (this.control.onContainerClick) {
492
+ this.control.onContainerClick(event);
493
+ }
494
+ }
495
+ /** Handles keydown events. */
496
+ onKeyDown(event) {
497
+ // @TODO should move into KbqPasswordToggle (#DS-2910)
498
+ if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
499
+ this.control.toggleType();
500
+ }
501
+ // @TODO should move into KbqCleaner (#DS-2910)
502
+ if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.focused && this.hasCleaner) {
503
+ this.control?.ngControl?.reset();
504
+ event.preventDefault();
505
+ }
506
+ }
507
+ /** Handles mouseenter events. */
508
+ mouseenter(_event) {
509
+ this._hovered = true;
510
+ }
511
+ /** Handles mouseleave events. */
512
+ mouseleave(_event) {
513
+ this._hovered = false;
514
+ }
515
+ /**
516
+ * Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to.
517
+ */
518
+ getConnectedOverlayOrigin() {
519
+ return this.connectionContainerRef || this.elementRef;
520
+ }
521
+ /**
522
+ * Determines whether a class from the AbstractControlDirective should be forwarded to the host element.
523
+ */
524
+ shouldBeForwarded(property) {
525
+ return this.control.ngControl?.[property];
526
+ }
527
+ /** Initializes the kbqPrefix and kbqSuffix containers. */
528
+ initializePrefixAndSuffix() {
529
+ // Mark the form field as dirty whenever the prefix or suffix children change. This is necessary because we
530
+ // conditionally display the prefix/suffix containers based on whether there is projected content.
531
+ merge(this.prefix.changes, this.suffix.changes)
532
+ .pipe(takeUntilDestroyed(this.destroyRef))
533
+ .subscribe(() => {
534
+ this.changeDetectorRef.markForCheck();
535
+ });
536
+ }
537
+ /** Initializes the KbqHint, KbqError and KbqPasswordHint containers. */
538
+ initializeHint() {
539
+ merge(this.hint.changes, this.error.changes, this.passwordHint.changes)
540
+ .pipe(takeUntilDestroyed(this.destroyRef))
541
+ .subscribe(() => {
542
+ this.changeDetectorRef.markForCheck();
543
+ });
544
+ }
545
+ /** Initializes the form field control. */
546
+ initializeControl() {
547
+ if (this.control.controlType) {
548
+ this.elementRef.nativeElement.classList.add(`kbq-form-field-type-${this.control.controlType}`);
549
+ }
550
+ this.control.stateChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
551
+ this.changeDetectorRef.markForCheck();
552
+ });
553
+ this.control.ngControl?.valueChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
554
+ this.changeDetectorRef.markForCheck();
555
+ });
556
+ }
557
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
558
+ /** @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 }); }
559
+ }
560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormField, decorators: [{
561
+ type: Component,
562
+ args: [{ standalone: true, selector: 'kbq-form-field', exportAs: 'kbqFormField', host: {
563
+ class: 'kbq-form-field___EXPERIMENTAL',
564
+ '[class.kbq-form-field_invalid]': 'invalid',
565
+ '[class.kbq-form-field_focused]': 'focused',
566
+ '[class.kbq-form-field_disabled]': 'disabled',
567
+ '[class.kbq-form-field_no-borders]': 'shouldDisableBorders',
568
+ '[class.ng-untouched]': 'shouldBeForwarded("untouched")',
569
+ '[class.ng-touched]': 'shouldBeForwarded("touched")',
570
+ '[class.ng-pristine]': 'shouldBeForwarded("pristine")',
571
+ '[class.ng-dirty]': 'shouldBeForwarded("dirty")',
572
+ '[class.ng-valid]': 'shouldBeForwarded("valid")',
573
+ '[class.ng-invalid]': 'shouldBeForwarded("invalid")',
574
+ '[class.ng-pending]': 'shouldBeForwarded("pending")',
575
+ '(keydown)': 'onKeyDown($event)',
576
+ '(mouseenter)': 'mouseenter($event)',
577
+ '(mouseleave)': 'mouseleave($event)'
578
+ }, 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"] }]
579
+ }], propDecorators: { noBorders: [{
580
+ type: Input,
581
+ args: [{ transform: booleanAttribute }]
582
+ }], _control: [{
583
+ type: ContentChild,
584
+ args: [KbqFormFieldControl]
585
+ }], connectionContainerRef: [{
586
+ type: ViewChild,
587
+ args: ['connectionContainer']
588
+ }], stepper: [{
589
+ type: ContentChild,
590
+ args: [KbqStepper]
591
+ }], cleaner: [{
592
+ type: ContentChild,
593
+ args: [KbqCleaner]
594
+ }], label: [{
595
+ type: ContentChild,
596
+ args: [KbqLabel]
597
+ }], passwordToggle: [{
598
+ type: ContentChild,
599
+ args: [KbqPasswordToggle]
600
+ }], hint: [{
601
+ type: ContentChildren,
602
+ args: [KbqHint]
603
+ }], passwordHint: [{
604
+ type: ContentChildren,
605
+ args: [KbqPasswordHint]
606
+ }], suffix: [{
607
+ type: ContentChildren,
608
+ args: [KbqSuffix]
609
+ }], prefix: [{
610
+ type: ContentChildren,
611
+ args: [KbqPrefix]
612
+ }], error: [{
613
+ type: ContentChildren,
614
+ args: [KbqError]
615
+ }] } });
616
+
617
+ const COMPONENTS = [
618
+ KbqFormField,
619
+ KbqHint,
620
+ KbqError,
621
+ KbqPrefix,
622
+ KbqSuffix,
623
+ KbqCleaner,
624
+ KbqStepper,
625
+ KbqPasswordToggle,
626
+ KbqLabel,
627
+ KbqPasswordHint
628
+ ];
629
+ class KbqFormFieldModule {
630
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
631
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, imports: [KbqFormField,
632
+ KbqHint,
633
+ KbqError,
634
+ KbqPrefix,
635
+ KbqSuffix,
636
+ KbqCleaner,
637
+ KbqStepper,
638
+ KbqPasswordToggle,
639
+ KbqLabel,
640
+ KbqPasswordHint], exports: [KbqFormField,
641
+ KbqHint,
642
+ KbqError,
643
+ KbqPrefix,
644
+ KbqSuffix,
645
+ KbqCleaner,
646
+ KbqStepper,
647
+ KbqPasswordToggle,
648
+ KbqLabel,
649
+ KbqPasswordHint] }); }
650
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, imports: [KbqCleaner,
651
+ KbqStepper,
652
+ KbqPasswordToggle,
653
+ KbqPasswordHint] }); }
654
+ }
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFormFieldModule, decorators: [{
656
+ type: NgModule,
657
+ args: [{
658
+ imports: COMPONENTS,
659
+ exports: COMPONENTS
660
+ }]
661
+ }] });
662
+
663
+ /**
664
+ * Generated bundle index. Do not edit.
665
+ */
666
+
667
+ export { KBQ_FORM_FIELD_DEFAULT_OPTIONS, KbqCleaner, KbqError, KbqFormField, KbqFormFieldModule, KbqHint, KbqLabel, KbqPasswordHint, KbqPasswordToggle, KbqPrefix, KbqStepper, KbqSuffix, getKbqFormFieldMissingControlError };
668
+ //# sourceMappingURL=koobiq-components-experimental-form-field.mjs.map