novo-elements 10.8.0-next.5 → 10.8.0

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 (31) hide show
  1. package/elements/button/Button.d.ts +4 -2
  2. package/elements/field/field.scss +6 -0
  3. package/elements/form/extras/FormExtras.module.d.ts +14 -11
  4. package/elements/form/extras/index.d.ts +1 -0
  5. package/elements/form/extras/number-range/index.d.ts +1 -0
  6. package/elements/form/extras/number-range/number-range.component.d.ts +27 -0
  7. package/elements/query-builder/condition-definitions/number-condition.definition.d.ts +1 -1
  8. package/elements/query-builder/query-builder.module.d.ts +1 -1
  9. package/esm2022/elements/button/Button.mjs +11 -2
  10. package/esm2022/elements/field/field.mjs +2 -2
  11. package/esm2022/elements/form/extras/FormExtras.module.mjs +20 -8
  12. package/esm2022/elements/form/extras/index.mjs +2 -1
  13. package/esm2022/elements/form/extras/number-range/index.mjs +2 -0
  14. package/esm2022/elements/form/extras/number-range/number-range.component.mjs +104 -0
  15. package/esm2022/elements/query-builder/condition-definitions/date-condition.definition.mjs +7 -7
  16. package/esm2022/elements/query-builder/condition-definitions/date-time-condition.definition.mjs +25 -9
  17. package/esm2022/elements/query-builder/condition-definitions/number-condition.definition.mjs +15 -6
  18. package/esm2022/elements/query-builder/query-builder.module.mjs +7 -4
  19. package/esm2022/services/novo-label-service.mjs +5 -2
  20. package/fesm2022/novo-elements-elements-button.mjs +10 -1
  21. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  22. package/fesm2022/novo-elements-elements-field.mjs +2 -2
  23. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  24. package/fesm2022/novo-elements-elements-form.mjs +114 -10
  25. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  26. package/fesm2022/novo-elements-elements-query-builder.mjs +57 -30
  27. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  28. package/fesm2022/novo-elements-services.mjs +4 -1
  29. package/fesm2022/novo-elements-services.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/services/novo-label-service.d.ts +4 -1
@@ -1,6 +1,6 @@
1
- import { ElementRef } from '@angular/core';
1
+ import { ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class NovoButtonElement {
3
+ export declare class NovoButtonElement implements OnChanges {
4
4
  element: ElementRef;
5
5
  /**
6
6
  * The text color of the button. Should be used for Icon buttons. see theme.
@@ -33,8 +33,10 @@ export declare class NovoButtonElement {
33
33
  * Make the button non-interactive.
34
34
  */
35
35
  disabled: boolean;
36
+ disabledAttr: undefined | '';
36
37
  private _icon;
37
38
  constructor(element: ElementRef);
39
+ ngOnChanges(changes: SimpleChanges): void;
38
40
  handleKeydown(event: KeyboardEvent): void;
39
41
  /** Focuses the input. */
40
42
  focus(options?: FocusOptions): void;
@@ -38,6 +38,12 @@
38
38
  }
39
39
  }
40
40
 
41
+ &.ng-invalid.ng-dirty.ng-touched {
42
+ .novo-field-input {
43
+ border-bottom: 1px solid $negative !important;
44
+ }
45
+ }
46
+
41
47
  .novo-field-input {
42
48
  grid-area: input;
43
49
  display: grid;
@@ -1,18 +1,21 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./address/Address";
3
3
  import * as i2 from "./file/FileInput";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "novo-elements/pipes";
7
- import * as i6 from "novo-elements/elements/button";
8
- import * as i7 from "novo-elements/elements/select";
9
- import * as i8 from "novo-elements/elements/picker";
10
- import * as i9 from "novo-elements/elements/loading";
11
- import * as i10 from "novo-elements/elements/tooltip";
12
- import * as i11 from "novo-elements/elements/checkbox";
13
- import * as i12 from "@angular/cdk/drag-drop";
4
+ import * as i3 from "./number-range/number-range.component";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "novo-elements/pipes";
8
+ import * as i7 from "novo-elements/elements/button";
9
+ import * as i8 from "novo-elements/elements/select";
10
+ import * as i9 from "novo-elements/elements/picker";
11
+ import * as i10 from "novo-elements/elements/loading";
12
+ import * as i11 from "novo-elements/elements/tooltip";
13
+ import * as i12 from "novo-elements/elements/checkbox";
14
+ import * as i13 from "@angular/cdk/drag-drop";
15
+ import * as i14 from "novo-elements/elements/flex";
16
+ import * as i15 from "novo-elements/elements/field";
14
17
  export declare class NovoFormExtrasModule {
15
18
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoFormExtrasModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovoFormExtrasModule, [typeof i1.NovoAddressElement, typeof i2.NovoFileInputElement], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.NovoPipesModule, typeof i6.NovoButtonModule, typeof i7.NovoSelectModule, typeof i8.NovoPickerModule, typeof i9.NovoLoadingModule, typeof i10.NovoTooltipModule, typeof i11.NovoCheckboxModule, typeof i12.DragDropModule], [typeof i1.NovoAddressElement, typeof i2.NovoFileInputElement]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovoFormExtrasModule, [typeof i1.NovoAddressElement, typeof i2.NovoFileInputElement, typeof i3.NumberRangeComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.NovoPipesModule, typeof i7.NovoButtonModule, typeof i8.NovoSelectModule, typeof i9.NovoPickerModule, typeof i10.NovoLoadingModule, typeof i11.NovoTooltipModule, typeof i12.NovoCheckboxModule, typeof i13.DragDropModule, typeof i14.NovoFlexModule, typeof i15.NovoFieldModule, typeof i5.ReactiveFormsModule], [typeof i1.NovoAddressElement, typeof i2.NovoFileInputElement, typeof i3.NumberRangeComponent]>;
17
20
  static ɵinj: i0.ɵɵInjectorDeclaration<NovoFormExtrasModule>;
18
21
  }
@@ -1,3 +1,4 @@
1
1
  export * from './address';
2
2
  export * from './file';
3
+ export * from './number-range';
3
4
  export * from './FormExtras.module';
@@ -0,0 +1 @@
1
+ export * from './number-range.component';
@@ -0,0 +1,27 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms';
3
+ import { NovoLabelService } from 'novo-elements/services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class NumberRangeComponent implements OnInit, OnDestroy, ControlValueAccessor {
6
+ labels: NovoLabelService;
7
+ private formBuilder;
8
+ rangeForm: FormGroup;
9
+ _onChange: (value: any) => void;
10
+ _onTouched: () => void;
11
+ private _destroyed;
12
+ constructor(labels: NovoLabelService, formBuilder: FormBuilder);
13
+ ngOnInit(): void;
14
+ ngOnDestroy(): void;
15
+ minLessThanMaxValidator(group: FormGroup): {
16
+ [key: string]: boolean;
17
+ } | null;
18
+ writeValue(value: {
19
+ min: number;
20
+ max: number;
21
+ }): void;
22
+ registerOnChange(fn: any): void;
23
+ registerOnTouched(fn: any): void;
24
+ setDisabledState(isDisabled: boolean): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberRangeComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberRangeComponent, "novo-number-range", never, {}, {}, never, never, false, never>;
27
+ }
@@ -4,7 +4,7 @@ import { NovoLabelService } from 'novo-elements/services';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * When constructing a query using a field that is an Int, Double, Number ...etc.
7
- * TODO: Do we implment currency formation here potentially>.?
7
+ * TODO: Do we implement currency formation here potentially?
8
8
  */
9
9
  export declare class NovoDefaultNumberConditionDef extends AbstractConditionFieldDef {
10
10
  defaultOperator: Operator;
@@ -40,6 +40,6 @@ import * as i38 from "novo-elements/elements/select-search";
40
40
  import * as i39 from "novo-elements/elements/dropdown";
41
41
  export declare class NovoQueryBuilderModule {
42
42
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoQueryBuilderModule, never>;
43
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovoQueryBuilderModule, [typeof i1.CriteriaBuilderComponent, typeof i2.ConditionBuilderComponent, typeof i2.ConditionInputOutlet, typeof i2.ConditionOperatorOutlet, typeof i3.ConditionGroupComponent, typeof i4.NovoDefaultAddressConditionDef, typeof i5.NovoDefaultBooleanConditionDef, typeof i6.NovoDefaultDateConditionDef, typeof i7.NovoDefaultDateTimeConditionDef, typeof i8.NovoConditionOperatorsDef, typeof i8.NovoConditionInputDef, typeof i8.NovoConditionFieldDef, typeof i9.NovoDefaultStringConditionDef, typeof i10.NovoDefaultNumberConditionDef, typeof i11.NovoDefaultIdConditionDef, typeof i12.NovoDefaultPickerConditionDef, typeof i13.NovoConditionTemplatesComponent], [typeof i14.CommonModule, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.DragDropModule, typeof i17.CdkTableModule, typeof i18.GooglePlacesModule, typeof i19.NovoAutoCompleteModule, typeof i20.NovoButtonModule, typeof i21.NovoCommonModule, typeof i22.NovoFormModule, typeof i23.NovoSelectModule, typeof i24.NovoNonIdealStateModule, typeof i25.NovoFieldModule, typeof i21.NovoOptionModule, typeof i26.NovoFlexModule, typeof i27.NovoTabModule, typeof i28.NovoTabbedGroupPickerModule, typeof i29.NovoLoadingModule, typeof i30.NovoCardModule, typeof i31.NovoDatePickerModule, typeof i32.NovoDateTimePickerModule, typeof i33.NovoIconModule, typeof i21.NovoOverlayModule, typeof i34.NovoRadioModule, typeof i35.NovoSearchBoxModule, typeof i36.NovoSwitchModule, typeof i37.NovoChipsModule, typeof i38.NovoSelectSearchModule, typeof i39.NovoDropdownModule], [typeof i1.CriteriaBuilderComponent, typeof i2.ConditionBuilderComponent, typeof i4.NovoDefaultAddressConditionDef, typeof i5.NovoDefaultBooleanConditionDef, typeof i6.NovoDefaultDateConditionDef, typeof i7.NovoDefaultDateTimeConditionDef, typeof i8.NovoConditionOperatorsDef, typeof i8.NovoConditionInputDef, typeof i8.NovoConditionFieldDef, typeof i9.NovoDefaultStringConditionDef, typeof i10.NovoDefaultNumberConditionDef, typeof i11.NovoDefaultIdConditionDef, typeof i12.NovoDefaultPickerConditionDef, typeof i13.NovoConditionTemplatesComponent]>;
43
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovoQueryBuilderModule, [typeof i1.CriteriaBuilderComponent, typeof i2.ConditionBuilderComponent, typeof i2.ConditionInputOutlet, typeof i2.ConditionOperatorOutlet, typeof i3.ConditionGroupComponent, typeof i4.NovoDefaultAddressConditionDef, typeof i5.NovoDefaultBooleanConditionDef, typeof i6.NovoDefaultDateConditionDef, typeof i7.NovoDefaultDateTimeConditionDef, typeof i8.NovoConditionOperatorsDef, typeof i8.NovoConditionInputDef, typeof i8.NovoConditionFieldDef, typeof i9.NovoDefaultStringConditionDef, typeof i10.NovoDefaultNumberConditionDef, typeof i11.NovoDefaultIdConditionDef, typeof i12.NovoDefaultPickerConditionDef, typeof i13.NovoConditionTemplatesComponent], [typeof i14.CommonModule, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.DragDropModule, typeof i17.CdkTableModule, typeof i18.GooglePlacesModule, typeof i19.NovoAutoCompleteModule, typeof i20.NovoButtonModule, typeof i21.NovoCommonModule, typeof i22.NovoFormModule, typeof i23.NovoSelectModule, typeof i24.NovoNonIdealStateModule, typeof i25.NovoFieldModule, typeof i21.NovoOptionModule, typeof i26.NovoFlexModule, typeof i27.NovoTabModule, typeof i28.NovoTabbedGroupPickerModule, typeof i29.NovoLoadingModule, typeof i30.NovoCardModule, typeof i31.NovoDatePickerModule, typeof i32.NovoDateTimePickerModule, typeof i33.NovoIconModule, typeof i21.NovoOverlayModule, typeof i34.NovoRadioModule, typeof i35.NovoSearchBoxModule, typeof i36.NovoSwitchModule, typeof i37.NovoChipsModule, typeof i38.NovoSelectSearchModule, typeof i39.NovoDropdownModule, typeof i22.NovoFormExtrasModule], [typeof i1.CriteriaBuilderComponent, typeof i2.ConditionBuilderComponent, typeof i4.NovoDefaultAddressConditionDef, typeof i5.NovoDefaultBooleanConditionDef, typeof i6.NovoDefaultDateConditionDef, typeof i7.NovoDefaultDateTimeConditionDef, typeof i8.NovoConditionOperatorsDef, typeof i8.NovoConditionInputDef, typeof i8.NovoConditionFieldDef, typeof i9.NovoDefaultStringConditionDef, typeof i10.NovoDefaultNumberConditionDef, typeof i11.NovoDefaultIdConditionDef, typeof i12.NovoDefaultPickerConditionDef, typeof i13.NovoConditionTemplatesComponent]>;
44
44
  static ɵinj: i0.ɵɵInjectorDeclaration<NovoQueryBuilderModule>;
45
45
  }
@@ -40,6 +40,12 @@ export class NovoButtonElement {
40
40
  * Make the button non-interactive.
41
41
  */
42
42
  this.disabled = false;
43
+ this.disabledAttr = undefined;
44
+ }
45
+ ngOnChanges(changes) {
46
+ if (changes.disabled && this.element.nativeElement.tagName === 'BUTTON') {
47
+ this.disabledAttr = changes.disabled.currentValue ? '' : undefined;
48
+ }
43
49
  }
44
50
  handleKeydown(event) {
45
51
  if (("Enter" /* Key.Enter */ === event.key || " " /* Key.Space */ === event.key) && (this.disabled || this.loading)) {
@@ -51,7 +57,7 @@ export class NovoButtonElement {
51
57
  this.element.nativeElement.focus(options);
52
58
  }
53
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoButtonElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: { color: "color", side: "side", size: "size", theme: "theme", loading: "loading", icon: "icon", disabled: "disabled" }, host: { listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.theme": "theme", "attr.color": "color", "attr.icon": "icon", "attr.loading": "loading", "attr.side": "side", "attr.size": "size", "attr.role": "'button'", "class.novo-button-disabled": "this.disabled" }, classAttribute: "novo-button" }, ngImport: i0, template: `
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: { color: "color", side: "side", size: "size", theme: "theme", loading: "loading", icon: "icon", disabled: "disabled" }, host: { listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.theme": "theme", "attr.color": "color", "attr.icon": "icon", "attr.loading": "loading", "attr.side": "side", "attr.size": "size", "attr.role": "'button'", "class.novo-button-disabled": "this.disabled", "attr.disabled": "this.disabledAttr" }, classAttribute: "novo-button" }, usesOnChanges: true, ngImport: i0, template: `
55
61
  <!--Left Icon-->
56
62
  <i *ngIf="icon && side === 'left' && !loading" [ngClass]="icon" class="novo-button-icon novo-button-icon-left"></i>
57
63
  <!--Transcluded Content-->
@@ -156,8 +162,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
156
162
  }, {
157
163
  type: HostBinding,
158
164
  args: ['class.novo-button-disabled']
165
+ }], disabledAttr: [{
166
+ type: HostBinding,
167
+ args: ['attr.disabled']
159
168
  }], handleKeydown: [{
160
169
  type: HostListener,
161
170
  args: ['keydown', ['$event']]
162
171
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvZWxlbWVudHMvYnV0dG9uL0J1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQU8sTUFBTSxxQkFBcUIsQ0FBQzs7O0FBK0RqRSxNQUFNLE9BQU8saUJBQWlCO0lBc0I1Qjs7O09BR0c7SUFDSCxJQUNJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVlELFlBQW1CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUF6Q3RDOzs7V0FHRztRQUNNLFNBQUksR0FBVyxPQUFPLENBQUM7UUFLaEM7O1dBRUc7UUFDTSxVQUFLLEdBQVcsVUFBVSxDQUFDO1FBbUJwQzs7V0FFRztRQUlILGFBQVEsR0FBWSxLQUFLLENBQUM7SUFJZSxDQUFDO0lBRzFDLGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLENBQUMsNEJBQWMsS0FBSyxDQUFDLEdBQUcsSUFBSSx3QkFBYyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVGLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCx5QkFBeUI7SUFDekIsS0FBSyxDQUFDLE9BQXNCO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDOytHQTFEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2ZkF0Q2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVDs7QUE2Q0Q7SUFGQyxZQUFZLEVBQUU7O21EQUVXOzRGQTFDZixpQkFBaUI7a0JBN0Q3QixTQUFTOytCQUNFLDJCQUEyQixRQUMvQjt3QkFDSixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsY0FBYyxFQUFFLE9BQU87d0JBQ3ZCLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixhQUFhLEVBQUUsTUFBTTt3QkFDckIsZ0JBQWdCLEVBQUUsU0FBUzt3QkFDM0IsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLGFBQWEsRUFBRSxNQUFNO3dCQUNyQixhQUFhLEVBQUUsVUFBVTtxQkFDMUIsWUFZUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1QsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07K0VBTXRDLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUYsSUFBSTtzQkFEUCxLQUFLO2dCQWdCTixRQUFRO3NCQUhQLEtBQUs7O3NCQUVMLFdBQVc7dUJBQUMsNEJBQTRCO2dCQVF6QyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBIZWxwZXJzLCBLZXkgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1idXR0b24sYnV0dG9uW3RoZW1lXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ25vdm8tYnV0dG9uJyxcbiAgICAnW2F0dHIudGhlbWVdJzogJ3RoZW1lJyxcbiAgICAnW2F0dHIuY29sb3JdJzogJ2NvbG9yJyxcbiAgICAnW2F0dHIuaWNvbl0nOiAnaWNvbicsXG4gICAgJ1thdHRyLmxvYWRpbmddJzogJ2xvYWRpbmcnLFxuICAgICdbYXR0ci5zaWRlXSc6ICdzaWRlJyxcbiAgICAnW2F0dHIuc2l6ZV0nOiAnc2l6ZScsXG4gICAgJ1thdHRyLnJvbGVdJzogXCInYnV0dG9uJ1wiLFxuICB9LFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9zdHlsZXMvYnV0dG9uLnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24tc3RhbmRhcmQuc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1wcmltYXJ5LnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24tc2Vjb25kYXJ5LnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24tZmFiLnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24taWNvbi5zY3NzJyxcbiAgICAnLi9zdHlsZXMvYnV0dG9uLWRpYWxvZ3VlLnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24tb3RoZXIuc2NzcycsXG4gIF0sXG5cbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tTGVmdCBJY29uLS0+XG4gICAgPGkgKm5nSWY9XCJpY29uICYmIHNpZGUgPT09ICdsZWZ0JyAmJiAhbG9hZGluZ1wiIFtuZ0NsYXNzXT1cImljb25cIiBjbGFzcz1cIm5vdm8tYnV0dG9uLWljb24gbm92by1idXR0b24taWNvbi1sZWZ0XCI+PC9pPlxuICAgIDwhLS1UcmFuc2NsdWRlZCBDb250ZW50LS0+XG4gICAgPHNwYW4gI3RleHRDb250ZW50IGNsYXNzPVwiYnV0dG9uLWNvbnRlbnRzXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICA8IS0tUmlnaHQgSWNvbi0tPlxuICAgIDxpICpuZ0lmPVwiaWNvbiAmJiBzaWRlID09PSAncmlnaHQnICYmICFsb2FkaW5nXCIgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibm92by1idXR0b24taWNvbiBub3ZvLWJ1dHRvbi1pY29uLXJpZ2h0XCI+PC9pPlxuICAgIDwhLS1Mb2FkaW5nLS0+XG4gICAgPGkgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJsb2FkaW5nIG5vdm8tYnV0dG9uLWxvYWRpbmdcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICB4bWxuczphPVwiaHR0cDovL25zLmFkb2JlLmNvbS9BZG9iZVNWR1ZpZXdlckV4dGVuc2lvbnMvMy4wL1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgd2lkdGg9XCIxOC4ycHhcIlxuICAgICAgICBoZWlnaHQ9XCIxOC41cHhcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4LjIgMTguNVwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC4yIDE4LjU7XCJcbiAgICAgICAgeG1sOnNwYWNlPVwicHJlc2VydmVcIlxuICAgICAgPlxuICAgICAgICA8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4gICAgICAgICAgLnNwaW5uZXIge1xuICAgICAgICAgICAgZmlsbDogI2ZmZmZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIDwvc3R5bGU+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJzcGlubmVyXCJcbiAgICAgICAgICBkPVwiTTkuMiwxOC41QzQuMSwxOC41LDAsMTQuNCwwLDkuMlM0LjEsMCw5LjIsMGMwLjksMCwxLjksMC4xLDIuNywwLjRjMC44LDAuMiwxLjIsMS4xLDEsMS45XG4gICAgICAgICAgICAgICAgICAgICAgICBjLTAuMiwwLjgtMS4xLDEuMi0xLjksMUMxMC41LDMuMSw5LjksMyw5LjIsM0M1LjgsMywzLDUuOCwzLDkuMnMyLjgsNi4yLDYuMiw2LjJjMi44LDAsNS4zLTEuOSw2LTQuN2MwLjItMC44LDEtMS4zLDEuOC0xLjFcbiAgICAgICAgICAgICAgICAgICAgICAgIGMwLjgsMC4yLDEuMywxLDEuMSwxLjhDMTcuMSwxNS43LDEzLjQsMTguNSw5LjIsMTguNXpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9pPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm92b0J1dHRvbkVsZW1lbnQge1xuICAvKipcbiAgICogVGhlIHRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2hvdWxkIGJlIHVzZWQgZm9yIEljb24gYnV0dG9ucy4gc2VlIHRoZW1lLlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzaWRlIG9mIHRoZSBidXR0b24gdG8gZGlzcGxheSB0aGUgaWNvbi5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpIHNpZGU6IHN0cmluZyA9ICdyaWdodCc7XG4gIC8qKlxuICAgKiBcdFNldHMgdGhlIHNpemUgb2YgdGhlIGJ1dHRvbi4gT25lIG9mOiBzbSwgbGdcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBiYXNlIHN0eWxpbmcgdG8gYXBwbHkgdG8gdGhlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIHRoZW1lOiBzdHJpbmcgPSAnZGlhbG9ndWUnO1xuICAvKipcbiAgICogQ29uZGl0aW9uYWxseSBzaG93IGEgc3Bpbm5lciBvdmVyIHRoZSB0b3Agb2YgYSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWxseSBkaXNwbGF5IGBidWxsaG9ybi1pY29uYCB3aXRoIHRoZSBidXR0b24gYWxvbmcgd2l0aCB0aGUgdGV4dC5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBpY29uKGljb246IHN0cmluZykge1xuICAgIGlmIChpY29uKSB7XG4gICAgICB0aGlzLl9pY29uID0gYGJoaS0ke2ljb259YDtcbiAgICB9XG4gIH1cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIHRoZSBidXR0b24gbm9uLWludGVyYWN0aXZlLlxuICAgKi9cbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mubm92by1idXR0b24tZGlzYWJsZWQnKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2ljb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoS2V5LkVudGVyID09PSBldmVudC5rZXkgfHwgS2V5LlNwYWNlID09PSBldmVudC5rZXkpICYmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykpIHtcbiAgICAgIEhlbHBlcnMuc3dhbGxvd0V2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgaW5wdXQuICovXG4gIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgfVxufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvZWxlbWVudHMvYnV0dG9uL0J1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFPLE1BQU0scUJBQXFCLENBQUM7OztBQStEakUsTUFBTSxPQUFPLGlCQUFpQjtJQXNCNUI7OztPQUdHO0lBQ0gsSUFDSSxJQUFJLENBQUMsSUFBWTtRQUNuQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFlRCxZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBNUN0Qzs7O1dBR0c7UUFDTSxTQUFJLEdBQVcsT0FBTyxDQUFDO1FBS2hDOztXQUVHO1FBQ00sVUFBSyxHQUFXLFVBQVUsQ0FBQztRQW1CcEM7O1dBRUc7UUFJSCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGlCQUFZLEdBQW1CLFNBQVMsQ0FBQztJQUlBLENBQUM7SUFFMUMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxDQUFDLDRCQUFjLEtBQUssQ0FBQyxHQUFHLElBQUksd0JBQWMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1RixPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLEtBQUssQ0FBQyxPQUFzQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FuRVUsaUJBQWlCO21HQUFqQixpQkFBaUIsd2pCQXRDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNUOztBQTZDRDtJQUZDLFlBQVksRUFBRTs7bURBRVc7NEZBMUNmLGlCQUFpQjtrQkE3RDdCLFNBQVM7K0JBQ0UsMkJBQTJCLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxhQUFhO3dCQUNwQixjQUFjLEVBQUUsT0FBTzt3QkFDdkIsY0FBYyxFQUFFLE9BQU87d0JBQ3ZCLGFBQWEsRUFBRSxNQUFNO3dCQUNyQixnQkFBZ0IsRUFBRSxTQUFTO3dCQUMzQixhQUFhLEVBQUUsTUFBTTt3QkFDckIsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLGFBQWEsRUFBRSxVQUFVO3FCQUMxQixZQVlTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTsrRUFNdEMsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBZ0JOLFFBQVE7c0JBSFAsS0FBSzs7c0JBRUwsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBSXpDLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQWM1QixhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIEhlbHBlcnMsIEtleSB9IGZyb20gJ25vdm8tZWxlbWVudHMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLWJ1dHRvbixidXR0b25bdGhlbWVdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbm92by1idXR0b24nLFxuICAgICdbYXR0ci50aGVtZV0nOiAndGhlbWUnLFxuICAgICdbYXR0ci5jb2xvcl0nOiAnY29sb3InLFxuICAgICdbYXR0ci5pY29uXSc6ICdpY29uJyxcbiAgICAnW2F0dHIubG9hZGluZ10nOiAnbG9hZGluZycsXG4gICAgJ1thdHRyLnNpZGVdJzogJ3NpZGUnLFxuICAgICdbYXR0ci5zaXplXSc6ICdzaXplJyxcbiAgICAnW2F0dHIucm9sZV0nOiBcIididXR0b24nXCIsXG4gIH0sXG4gIHN0eWxlVXJsczogW1xuICAgICcuL3N0eWxlcy9idXR0b24uc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1zdGFuZGFyZC5zY3NzJyxcbiAgICAnLi9zdHlsZXMvYnV0dG9uLXByaW1hcnkuc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1zZWNvbmRhcnkuc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1mYWIuc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1pY29uLnNjc3MnLFxuICAgICcuL3N0eWxlcy9idXR0b24tZGlhbG9ndWUuc2NzcycsXG4gICAgJy4vc3R5bGVzL2J1dHRvbi1vdGhlci5zY3NzJyxcbiAgXSxcblxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS1MZWZ0IEljb24tLT5cbiAgICA8aSAqbmdJZj1cImljb24gJiYgc2lkZSA9PT0gJ2xlZnQnICYmICFsb2FkaW5nXCIgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibm92by1idXR0b24taWNvbiBub3ZvLWJ1dHRvbi1pY29uLWxlZnRcIj48L2k+XG4gICAgPCEtLVRyYW5zY2x1ZGVkIENvbnRlbnQtLT5cbiAgICA8c3BhbiAjdGV4dENvbnRlbnQgY2xhc3M9XCJidXR0b24tY29udGVudHNcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuICAgIDwhLS1SaWdodCBJY29uLS0+XG4gICAgPGkgKm5nSWY9XCJpY29uICYmIHNpZGUgPT09ICdyaWdodCcgJiYgIWxvYWRpbmdcIiBbbmdDbGFzc109XCJpY29uXCIgY2xhc3M9XCJub3ZvLWJ1dHRvbi1pY29uIG5vdm8tYnV0dG9uLWljb24tcmlnaHRcIj48L2k+XG4gICAgPCEtLUxvYWRpbmctLT5cbiAgICA8aSAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImxvYWRpbmcgbm92by1idXR0b24tbG9hZGluZ1wiPlxuICAgICAgPHN2Z1xuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHhtbG5zOmE9XCJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvXCJcbiAgICAgICAgeD1cIjBweFwiXG4gICAgICAgIHk9XCIwcHhcIlxuICAgICAgICB3aWR0aD1cIjE4LjJweFwiXG4gICAgICAgIGhlaWdodD1cIjE4LjVweFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTguMiAxOC41XCJcbiAgICAgICAgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE4LjIgMTguNTtcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5cbiAgICAgICAgICAuc3Bpbm5lciB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cInNwaW5uZXJcIlxuICAgICAgICAgIGQ9XCJNOS4yLDE4LjVDNC4xLDE4LjUsMCwxNC40LDAsOS4yUzQuMSwwLDkuMiwwYzAuOSwwLDEuOSwwLjEsMi43LDAuNGMwLjgsMC4yLDEuMiwxLjEsMSwxLjlcbiAgICAgICAgICAgICAgICAgICAgICAgIGMtMC4yLDAuOC0xLjEsMS4yLTEuOSwxQzEwLjUsMy4xLDkuOSwzLDkuMiwzQzUuOCwzLDMsNS44LDMsOS4yczIuOCw2LjIsNi4yLDYuMmMyLjgsMCw1LjMtMS45LDYtNC43YzAuMi0wLjgsMS0xLjMsMS44LTEuMVxuICAgICAgICAgICAgICAgICAgICAgICAgYzAuOCwwLjIsMS4zLDEsMS4xLDEuOEMxNy4xLDE1LjcsMTMuNCwxOC41LDkuMiwxOC41elwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2k+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvQnV0dG9uRWxlbWVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTaG91bGQgYmUgdXNlZCBmb3IgSWNvbiBidXR0b25zLiBzZWUgdGhlbWUuXG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHNpZGUgb2YgdGhlIGJ1dHRvbiB0byBkaXNwbGF5IHRoZSBpY29uLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KCkgc2lkZTogc3RyaW5nID0gJ3JpZ2h0JztcbiAgLyoqXG4gICAqIFx0U2V0cyB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLiBPbmUgb2Y6IHNtLCBsZ1xuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2Ugc3R5bGluZyB0byBhcHBseSB0byB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgdGhlbWU6IHN0cmluZyA9ICdkaWFsb2d1ZSc7XG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IHNob3cgYSBzcGlubmVyIG92ZXIgdGhlIHRvcCBvZiBhIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbGx5IGRpc3BsYXkgYGJ1bGxob3JuLWljb25gIHdpdGggdGhlIGJ1dHRvbiBhbG9uZyB3aXRoIHRoZSB0ZXh0LlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgaWYgKGljb24pIHtcbiAgICAgIHRoaXMuX2ljb24gPSBgYmhpLSR7aWNvbn1gO1xuICAgIH1cbiAgfVxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhlIGJ1dHRvbiBub24taW50ZXJhY3RpdmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBAQm9vbGVhbklucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub3ZvLWJ1dHRvbi1kaXNhYmxlZCcpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgZGlzYWJsZWRBdHRyOiB1bmRlZmluZWQgfCAnJyA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9pY29uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdCVVRUT04nKSB7XG4gICAgICB0aGlzLmRpc2FibGVkQXR0ciA9IGNoYW5nZXMuZGlzYWJsZWQuY3VycmVudFZhbHVlID8gJycgOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoKEtleS5FbnRlciA9PT0gZXZlbnQua2V5IHx8IEtleS5TcGFjZSA9PT0gZXZlbnQua2V5KSAmJiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpKSB7XG4gICAgICBIZWxwZXJzLnN3YWxsb3dFdmVudChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEZvY3VzZXMgdGhlIGlucHV0LiAqL1xuICBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -120,7 +120,7 @@ export class NovoFieldElement {
120
120
  return !!this._labelElement;
121
121
  }
122
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoFieldElement, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NovoFieldElement, selector: "novo-field", inputs: { layout: "layout", appearance: "appearance", customOverlayOrigin: "customOverlayOrigin", width: "width" }, outputs: { valueChanges: "valueChanges", stateChanges: "stateChanges" }, host: { listeners: { "click": "_handleContainerClick($event)" }, properties: { "class.novo-field-layout-horizontal": "layout==\"horizontal\"", "class.novo-field-layout-vertical": "layout==\"vertical\"", "class.novo-field-appearance-standard": "appearance == \"standard\"", "class.novo-field-appearance-fill": "appearance == \"fill\"", "class.novo-field-appearance-outline": "appearance == \"outline\"", "class.novo-field-appearance-list": "appearance == \"list\"", "class.novo-field-appearance-underlined": "_isUnderlinedInput()", "class.novo-field-invalid": "_control.errorState", "class.novo-field-has-label": "_hasLabel()", "class.novo-field-no-label": "!_hasLabel()", "class.novo-field-disabled": "_control.disabled", "class.novo-field-autofilled": "_control.autofilled", "class.novo-focused": "_control.focused", "class.ng-untouched": "_shouldForward(\"untouched\")", "class.ng-touched": "_shouldForward(\"touched\")", "class.ng-pristine": "_shouldForward(\"pristine\")", "class.ng-dirty": "_shouldForward(\"dirty\")", "class.ng-valid": "_shouldForward(\"valid\")", "class.ng-invalid": "_shouldForward(\"invalid\")", "class.ng-pending": "_shouldForward(\"pending\")" }, classAttribute: "novo-field" }, providers: [{ provide: NOVO_FORM_FIELD, useExisting: NovoFieldElement }], queries: [{ propertyName: "_labelElement", first: true, predicate: NovoLabel, descendants: true }, { propertyName: "_control", first: true, predicate: NovoFieldControl, descendants: true }, { propertyName: "_hintElements", predicate: NovoHintElement }, { propertyName: "_errorElements", predicate: NovoErrorElement }, { propertyName: "_prefixElements", predicate: NovoFieldPrefixDirective }, { propertyName: "_suffixElements", predicate: NovoFieldSuffixDirective }, { propertyName: "_overlayElements", predicate: NOVO_OVERLAY_CONTAINER }], viewQueries: [{ propertyName: "_inputContainerRef", first: true, predicate: ["inputContainer"], descendants: true }], ngImport: i0, template: "<div class=\"novo-field-label\">\n <ng-content select=\"novo-label\"></ng-content>\n</div>\n<div class=\"novo-field-input\" [style.width]=\"width\" #inputContainer>\n <div class=\"novo-field-prefix\">\n <ng-content select=\"[novoPrefix]\"></ng-content>\n </div>\n <div class=\"novo-field-infix\">\n <ng-content></ng-content>\n </div>\n <div class=\"novo-field-suffix\">\n <ng-content select=\"[novoSuffix]\"></ng-content>\n </div>\n</div>\n<div class=\"novo-field-messages\" [ngSwitch]=\"_getDisplayedMessages()\">\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'error'\">\n <ng-content select=\"novo-error\"></ng-content>\n </div>\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'hint'\">\n <ng-content select=\"novo-hint\"></ng-content>\n <ng-content select=\"novo-hint[align=end]\"></ng-content>\n </div>\n</div>", styles: [":host{display:grid;position:relative}:host.novo-field-layout-horizontal{grid-gap:0rem 1rem;grid-template-columns:150px minmax(min-content,max-content);grid-template-areas:\"label input\" \". messages\"}:host.novo-field-layout-vertical{grid-template-columns:minmax(min-content,100%);grid-template-rows:repeat(3,minmax(min-content,max-content));grid-template-areas:\"label\" \"input\" \"messages\";width:max-content}:host .novo-field-label{grid-area:label;display:grid;align-items:center}:host.novo-field-type-color .novo-field-input::ng-deep .novo-input-element{padding:0}:host .novo-field-input{grid-area:input;display:grid;align-items:center;grid-template-columns:minmax(auto,max-content) 1fr minmax(auto,max-content);flex:1 1 100%;min-height:2.9rem}:host .novo-field-input::ng-deep .novo-input-element{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle;border:none;background-image:none;background-color:transparent;box-shadow:none;padding:.4rem .2rem 0rem;border-bottom:none!important}:host .novo-field-input::ng-deep .novo-input-element.text-capitalize{text-transform:capitalize}:host .novo-field-input::ng-deep .novo-input-element.text-uppercase{text-transform:uppercase}:host .novo-field-input::ng-deep .novo-input-element.text-nowrap{white-space:nowrap}:host .novo-field-input::ng-deep .novo-input-element.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .novo-field-input::ng-deep .novo-input-element.text-size-default{font-size:inherit}:host .novo-field-input::ng-deep .novo-input-element.text-size-body{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xs{font-size:1rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-sm{font-size:1.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-md{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-lg{font-size:1.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xl{font-size:2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-2xl{font-size:2.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-3xl{font-size:3.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-smaller{font-size:.8em}:host .novo-field-input::ng-deep .novo-input-element.text-size-larger{font-size:1.2em}:host .novo-field-input::ng-deep .novo-input-element.text-color-black{color:#000}:host .novo-field-input::ng-deep .novo-input-element.text-color-white{color:#fff}:host .novo-field-input::ng-deep .novo-input-element.text-color-gray{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-grey{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-offWhite{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-bright{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-light{color:#dbdbdb}:host .novo-field-input::ng-deep .novo-input-element.text-color-neutral{color:#4f5361}:host .novo-field-input::ng-deep .novo-input-element.text-color-dark{color:#3d464d}:host .novo-field-input::ng-deep .novo-input-element.text-color-orange{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-navigation{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-skyBlue{color:#009bdf}:host .novo-field-input::ng-deep .novo-input-element.text-color-steel{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-metal{color:#637893}:host .novo-field-input::ng-deep .novo-input-element.text-color-sand{color:#f4f4f4}:host .novo-field-input::ng-deep .novo-input-element.text-color-silver{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-stone{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-ash{color:#a0a0a0}:host .novo-field-input::ng-deep .novo-input-element.text-color-slate{color:#707070}:host .novo-field-input::ng-deep .novo-input-element.text-color-onyx{color:#526980}:host .novo-field-input::ng-deep .novo-input-element.text-color-charcoal{color:#282828}:host .novo-field-input::ng-deep .novo-input-element.text-color-moonlight{color:#1a242f}:host .novo-field-input::ng-deep .novo-input-element.text-color-midnight{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-darkness{color:#161f27}:host .novo-field-input::ng-deep .novo-input-element.text-color-navy{color:#0d2d42}:host .novo-field-input::ng-deep .novo-input-element.text-color-aqua{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-ocean{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mint{color:#37bc9b}:host .novo-field-input::ng-deep .novo-input-element.text-color-grass{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-sunflower{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-bittersweet{color:#eb6845}:host .novo-field-input::ng-deep .novo-input-element.text-color-grapefruit{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-carnation{color:#d770ad}:host .novo-field-input::ng-deep .novo-input-element.text-color-lavender{color:#967adc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mountain{color:#9678b6}:host .novo-field-input::ng-deep .novo-input-element.text-color-info{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-positive{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-success{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-negative{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-danger{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-error{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-warning{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-empty{color:#cccdcc}:host .novo-field-input::ng-deep .novo-input-element.text-color-disabled{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-background{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-backgroundDark{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-presentation{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-bullhorn{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-pulse{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-company{color:#39d}:host .novo-field-input::ng-deep .novo-input-element.text-color-candidate{color:#4b7}:host .novo-field-input::ng-deep .novo-input-element.text-color-lead{color:#a69}:host .novo-field-input::ng-deep .novo-input-element.text-color-contact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-clientcontact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-opportunity{color:#625}:host .novo-field-input::ng-deep .novo-input-element.text-color-job{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-joborder{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-submission{color:#a9adbb}:host .novo-field-input::ng-deep .novo-input-element.text-color-sendout{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-placement{color:#0b344f}:host .novo-field-input::ng-deep .novo-input-element.text-color-note{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-contract{color:#454ea0}:host .novo-field-input::ng-deep .novo-input-element.text-color-jobCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-earnCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-invoiceStatement{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-billableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-payableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-user{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-corporateUser{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-distributionList{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-credential{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-person{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.margin-before{margin-top:.4rem}:host .novo-field-input::ng-deep .novo-input-element.margin-after{margin-bottom:.8rem}:host .novo-field-input::ng-deep .novo-input-element.text-length-small{max-width:40ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-medium{max-width:55ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-large{max-width:70ch}:host .novo-field-input::ng-deep .novo-input-element.text-weight-hairline{font-weight:100}:host .novo-field-input::ng-deep .novo-input-element.text-weight-thin{font-weight:200}:host .novo-field-input::ng-deep .novo-input-element.text-weight-light{font-weight:300}:host .novo-field-input::ng-deep .novo-input-element.text-weight-normal{font-weight:400}:host .novo-field-input::ng-deep .novo-input-element.text-weight-medium{font-weight:500}:host .novo-field-input::ng-deep .novo-input-element.text-weight-semibold{font-weight:600}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bold{font-weight:700}:host .novo-field-input::ng-deep .novo-input-element.text-weight-extrabold{font-weight:800}:host .novo-field-input::ng-deep .novo-input-element.text-weight-heavy{font-weight:900}:host .novo-field-input::ng-deep .novo-input-element.text-weight-lighter{font-weight:lighter}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bolder{font-weight:bolder}:host .novo-field-input::ng-deep .novo-input-element:focus{outline:none}:host .novo-field-input::ng-deep .novo-radio-group{padding:.5rem 0}:host .novo-field-input .novo-field-prefix{display:flex;align-items:center}:host .novo-field-input .novo-field-infix{display:flex;align-items:center;align-self:flex-end}:host .novo-field-input .novo-field-infix select,:host .novo-field-input .novo-field-infix::ng-deep .novo-input-element{width:100%}:host .novo-field-input .novo-field-suffix{display:flex;align-items:center}:host .novo-field-messages{grid-area:messages;display:grid}:host .novo-field-hint-wrapper{display:flex;flex-direction:column}:host::ng-deep .novo-date-range-format{min-width:22rem}\n", ":host.novo-field-appearance-standard.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-fill.novo-field-layout-horizontal .novo-field-input{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-label{padding-top:.5em;padding-left:.5em;padding-right:.5em}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-input{padding:0 .5em}:host.novo-field-appearance-fill.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-outline{border:1px solid #afb9c0!important;border-radius:.4rem;padding:.5rem}:host.novo-field-appearance-outline.novo-field-layout-vertical .novo-field-label{background:#fff;margin-top:-1.5rem;margin-left:.5rem;width:max-content;padding:.5rem}:host.novo-field-appearance-outline:not(.novo-focused):hover{border:1px solid #3d464d!important}:host.novo-field-appearance-outline.novo-focused{border:1px solid #4a89dc!important}:host.novo-field-appearance-outline.novo-field-invalid{border:1px solid #da4453!important}\n", ":host.novo-field-appearance-list.novo-field-layout-horizontal{border-bottom:1px solid #f7f7f7!important;padding:.5rem 1.2rem;min-height:4.2rem}:host.novo-field-appearance-list.novo-field-layout-horizontal .novo-field-label{align-items:start;margin-top:.9rem}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-no-label{grid-template-columns:0px minmax(300px,600px);gap:0}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{background:#4a89dc26}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-field-invalid .novo-field-label{color:#da4453!important}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NovoFieldElement, selector: "novo-field", inputs: { layout: "layout", appearance: "appearance", customOverlayOrigin: "customOverlayOrigin", width: "width" }, outputs: { valueChanges: "valueChanges", stateChanges: "stateChanges" }, host: { listeners: { "click": "_handleContainerClick($event)" }, properties: { "class.novo-field-layout-horizontal": "layout==\"horizontal\"", "class.novo-field-layout-vertical": "layout==\"vertical\"", "class.novo-field-appearance-standard": "appearance == \"standard\"", "class.novo-field-appearance-fill": "appearance == \"fill\"", "class.novo-field-appearance-outline": "appearance == \"outline\"", "class.novo-field-appearance-list": "appearance == \"list\"", "class.novo-field-appearance-underlined": "_isUnderlinedInput()", "class.novo-field-invalid": "_control.errorState", "class.novo-field-has-label": "_hasLabel()", "class.novo-field-no-label": "!_hasLabel()", "class.novo-field-disabled": "_control.disabled", "class.novo-field-autofilled": "_control.autofilled", "class.novo-focused": "_control.focused", "class.ng-untouched": "_shouldForward(\"untouched\")", "class.ng-touched": "_shouldForward(\"touched\")", "class.ng-pristine": "_shouldForward(\"pristine\")", "class.ng-dirty": "_shouldForward(\"dirty\")", "class.ng-valid": "_shouldForward(\"valid\")", "class.ng-invalid": "_shouldForward(\"invalid\")", "class.ng-pending": "_shouldForward(\"pending\")" }, classAttribute: "novo-field" }, providers: [{ provide: NOVO_FORM_FIELD, useExisting: NovoFieldElement }], queries: [{ propertyName: "_labelElement", first: true, predicate: NovoLabel, descendants: true }, { propertyName: "_control", first: true, predicate: NovoFieldControl, descendants: true }, { propertyName: "_hintElements", predicate: NovoHintElement }, { propertyName: "_errorElements", predicate: NovoErrorElement }, { propertyName: "_prefixElements", predicate: NovoFieldPrefixDirective }, { propertyName: "_suffixElements", predicate: NovoFieldSuffixDirective }, { propertyName: "_overlayElements", predicate: NOVO_OVERLAY_CONTAINER }], viewQueries: [{ propertyName: "_inputContainerRef", first: true, predicate: ["inputContainer"], descendants: true }], ngImport: i0, template: "<div class=\"novo-field-label\">\n <ng-content select=\"novo-label\"></ng-content>\n</div>\n<div class=\"novo-field-input\" [style.width]=\"width\" #inputContainer>\n <div class=\"novo-field-prefix\">\n <ng-content select=\"[novoPrefix]\"></ng-content>\n </div>\n <div class=\"novo-field-infix\">\n <ng-content></ng-content>\n </div>\n <div class=\"novo-field-suffix\">\n <ng-content select=\"[novoSuffix]\"></ng-content>\n </div>\n</div>\n<div class=\"novo-field-messages\" [ngSwitch]=\"_getDisplayedMessages()\">\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'error'\">\n <ng-content select=\"novo-error\"></ng-content>\n </div>\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'hint'\">\n <ng-content select=\"novo-hint\"></ng-content>\n <ng-content select=\"novo-hint[align=end]\"></ng-content>\n </div>\n</div>", styles: [":host{display:grid;position:relative}:host.novo-field-layout-horizontal{grid-gap:0rem 1rem;grid-template-columns:150px minmax(min-content,max-content);grid-template-areas:\"label input\" \". messages\"}:host.novo-field-layout-vertical{grid-template-columns:minmax(min-content,100%);grid-template-rows:repeat(3,minmax(min-content,max-content));grid-template-areas:\"label\" \"input\" \"messages\";width:max-content}:host .novo-field-label{grid-area:label;display:grid;align-items:center}:host.novo-field-type-color .novo-field-input::ng-deep .novo-input-element{padding:0}:host.ng-invalid.ng-dirty.ng-touched .novo-field-input{border-bottom:1px solid #da4453!important}:host .novo-field-input{grid-area:input;display:grid;align-items:center;grid-template-columns:minmax(auto,max-content) 1fr minmax(auto,max-content);flex:1 1 100%;min-height:2.9rem}:host .novo-field-input::ng-deep .novo-input-element{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle;border:none;background-image:none;background-color:transparent;box-shadow:none;padding:.4rem .2rem 0rem;border-bottom:none!important}:host .novo-field-input::ng-deep .novo-input-element.text-capitalize{text-transform:capitalize}:host .novo-field-input::ng-deep .novo-input-element.text-uppercase{text-transform:uppercase}:host .novo-field-input::ng-deep .novo-input-element.text-nowrap{white-space:nowrap}:host .novo-field-input::ng-deep .novo-input-element.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .novo-field-input::ng-deep .novo-input-element.text-size-default{font-size:inherit}:host .novo-field-input::ng-deep .novo-input-element.text-size-body{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xs{font-size:1rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-sm{font-size:1.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-md{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-lg{font-size:1.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xl{font-size:2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-2xl{font-size:2.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-3xl{font-size:3.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-smaller{font-size:.8em}:host .novo-field-input::ng-deep .novo-input-element.text-size-larger{font-size:1.2em}:host .novo-field-input::ng-deep .novo-input-element.text-color-black{color:#000}:host .novo-field-input::ng-deep .novo-input-element.text-color-white{color:#fff}:host .novo-field-input::ng-deep .novo-input-element.text-color-gray{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-grey{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-offWhite{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-bright{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-light{color:#dbdbdb}:host .novo-field-input::ng-deep .novo-input-element.text-color-neutral{color:#4f5361}:host .novo-field-input::ng-deep .novo-input-element.text-color-dark{color:#3d464d}:host .novo-field-input::ng-deep .novo-input-element.text-color-orange{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-navigation{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-skyBlue{color:#009bdf}:host .novo-field-input::ng-deep .novo-input-element.text-color-steel{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-metal{color:#637893}:host .novo-field-input::ng-deep .novo-input-element.text-color-sand{color:#f4f4f4}:host .novo-field-input::ng-deep .novo-input-element.text-color-silver{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-stone{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-ash{color:#a0a0a0}:host .novo-field-input::ng-deep .novo-input-element.text-color-slate{color:#707070}:host .novo-field-input::ng-deep .novo-input-element.text-color-onyx{color:#526980}:host .novo-field-input::ng-deep .novo-input-element.text-color-charcoal{color:#282828}:host .novo-field-input::ng-deep .novo-input-element.text-color-moonlight{color:#1a242f}:host .novo-field-input::ng-deep .novo-input-element.text-color-midnight{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-darkness{color:#161f27}:host .novo-field-input::ng-deep .novo-input-element.text-color-navy{color:#0d2d42}:host .novo-field-input::ng-deep .novo-input-element.text-color-aqua{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-ocean{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mint{color:#37bc9b}:host .novo-field-input::ng-deep .novo-input-element.text-color-grass{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-sunflower{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-bittersweet{color:#eb6845}:host .novo-field-input::ng-deep .novo-input-element.text-color-grapefruit{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-carnation{color:#d770ad}:host .novo-field-input::ng-deep .novo-input-element.text-color-lavender{color:#967adc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mountain{color:#9678b6}:host .novo-field-input::ng-deep .novo-input-element.text-color-info{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-positive{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-success{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-negative{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-danger{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-error{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-warning{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-empty{color:#cccdcc}:host .novo-field-input::ng-deep .novo-input-element.text-color-disabled{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-background{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-backgroundDark{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-presentation{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-bullhorn{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-pulse{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-company{color:#39d}:host .novo-field-input::ng-deep .novo-input-element.text-color-candidate{color:#4b7}:host .novo-field-input::ng-deep .novo-input-element.text-color-lead{color:#a69}:host .novo-field-input::ng-deep .novo-input-element.text-color-contact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-clientcontact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-opportunity{color:#625}:host .novo-field-input::ng-deep .novo-input-element.text-color-job{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-joborder{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-submission{color:#a9adbb}:host .novo-field-input::ng-deep .novo-input-element.text-color-sendout{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-placement{color:#0b344f}:host .novo-field-input::ng-deep .novo-input-element.text-color-note{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-contract{color:#454ea0}:host .novo-field-input::ng-deep .novo-input-element.text-color-jobCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-earnCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-invoiceStatement{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-billableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-payableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-user{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-corporateUser{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-distributionList{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-credential{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-person{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.margin-before{margin-top:.4rem}:host .novo-field-input::ng-deep .novo-input-element.margin-after{margin-bottom:.8rem}:host .novo-field-input::ng-deep .novo-input-element.text-length-small{max-width:40ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-medium{max-width:55ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-large{max-width:70ch}:host .novo-field-input::ng-deep .novo-input-element.text-weight-hairline{font-weight:100}:host .novo-field-input::ng-deep .novo-input-element.text-weight-thin{font-weight:200}:host .novo-field-input::ng-deep .novo-input-element.text-weight-light{font-weight:300}:host .novo-field-input::ng-deep .novo-input-element.text-weight-normal{font-weight:400}:host .novo-field-input::ng-deep .novo-input-element.text-weight-medium{font-weight:500}:host .novo-field-input::ng-deep .novo-input-element.text-weight-semibold{font-weight:600}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bold{font-weight:700}:host .novo-field-input::ng-deep .novo-input-element.text-weight-extrabold{font-weight:800}:host .novo-field-input::ng-deep .novo-input-element.text-weight-heavy{font-weight:900}:host .novo-field-input::ng-deep .novo-input-element.text-weight-lighter{font-weight:lighter}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bolder{font-weight:bolder}:host .novo-field-input::ng-deep .novo-input-element:focus{outline:none}:host .novo-field-input::ng-deep .novo-radio-group{padding:.5rem 0}:host .novo-field-input .novo-field-prefix{display:flex;align-items:center}:host .novo-field-input .novo-field-infix{display:flex;align-items:center;align-self:flex-end}:host .novo-field-input .novo-field-infix select,:host .novo-field-input .novo-field-infix::ng-deep .novo-input-element{width:100%}:host .novo-field-input .novo-field-suffix{display:flex;align-items:center}:host .novo-field-messages{grid-area:messages;display:grid}:host .novo-field-hint-wrapper{display:flex;flex-direction:column}:host::ng-deep .novo-date-range-format{min-width:22rem}\n", ":host.novo-field-appearance-standard.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-fill.novo-field-layout-horizontal .novo-field-input{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-label{padding-top:.5em;padding-left:.5em;padding-right:.5em}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-input{padding:0 .5em}:host.novo-field-appearance-fill.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-outline{border:1px solid #afb9c0!important;border-radius:.4rem;padding:.5rem}:host.novo-field-appearance-outline.novo-field-layout-vertical .novo-field-label{background:#fff;margin-top:-1.5rem;margin-left:.5rem;width:max-content;padding:.5rem}:host.novo-field-appearance-outline:not(.novo-focused):hover{border:1px solid #3d464d!important}:host.novo-field-appearance-outline.novo-focused{border:1px solid #4a89dc!important}:host.novo-field-appearance-outline.novo-field-invalid{border:1px solid #da4453!important}\n", ":host.novo-field-appearance-list.novo-field-layout-horizontal{border-bottom:1px solid #f7f7f7!important;padding:.5rem 1.2rem;min-height:4.2rem}:host.novo-field-appearance-list.novo-field-layout-horizontal .novo-field-label{align-items:start;margin-top:.9rem}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-no-label{grid-template-columns:0px minmax(300px,600px);gap:0}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{background:#4a89dc26}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-field-invalid .novo-field-label{color:#da4453!important}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
124
124
  }
125
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoFieldElement, decorators: [{
126
126
  type: Component,
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
149
149
  '[class.ng-valid]': '_shouldForward("valid")',
150
150
  '[class.ng-invalid]': '_shouldForward("invalid")',
151
151
  '[class.ng-pending]': '_shouldForward("pending")',
152
- }, providers: [{ provide: NOVO_FORM_FIELD, useExisting: NovoFieldElement }], template: "<div class=\"novo-field-label\">\n <ng-content select=\"novo-label\"></ng-content>\n</div>\n<div class=\"novo-field-input\" [style.width]=\"width\" #inputContainer>\n <div class=\"novo-field-prefix\">\n <ng-content select=\"[novoPrefix]\"></ng-content>\n </div>\n <div class=\"novo-field-infix\">\n <ng-content></ng-content>\n </div>\n <div class=\"novo-field-suffix\">\n <ng-content select=\"[novoSuffix]\"></ng-content>\n </div>\n</div>\n<div class=\"novo-field-messages\" [ngSwitch]=\"_getDisplayedMessages()\">\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'error'\">\n <ng-content select=\"novo-error\"></ng-content>\n </div>\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'hint'\">\n <ng-content select=\"novo-hint\"></ng-content>\n <ng-content select=\"novo-hint[align=end]\"></ng-content>\n </div>\n</div>", styles: [":host{display:grid;position:relative}:host.novo-field-layout-horizontal{grid-gap:0rem 1rem;grid-template-columns:150px minmax(min-content,max-content);grid-template-areas:\"label input\" \". messages\"}:host.novo-field-layout-vertical{grid-template-columns:minmax(min-content,100%);grid-template-rows:repeat(3,minmax(min-content,max-content));grid-template-areas:\"label\" \"input\" \"messages\";width:max-content}:host .novo-field-label{grid-area:label;display:grid;align-items:center}:host.novo-field-type-color .novo-field-input::ng-deep .novo-input-element{padding:0}:host .novo-field-input{grid-area:input;display:grid;align-items:center;grid-template-columns:minmax(auto,max-content) 1fr minmax(auto,max-content);flex:1 1 100%;min-height:2.9rem}:host .novo-field-input::ng-deep .novo-input-element{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle;border:none;background-image:none;background-color:transparent;box-shadow:none;padding:.4rem .2rem 0rem;border-bottom:none!important}:host .novo-field-input::ng-deep .novo-input-element.text-capitalize{text-transform:capitalize}:host .novo-field-input::ng-deep .novo-input-element.text-uppercase{text-transform:uppercase}:host .novo-field-input::ng-deep .novo-input-element.text-nowrap{white-space:nowrap}:host .novo-field-input::ng-deep .novo-input-element.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .novo-field-input::ng-deep .novo-input-element.text-size-default{font-size:inherit}:host .novo-field-input::ng-deep .novo-input-element.text-size-body{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xs{font-size:1rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-sm{font-size:1.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-md{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-lg{font-size:1.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xl{font-size:2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-2xl{font-size:2.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-3xl{font-size:3.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-smaller{font-size:.8em}:host .novo-field-input::ng-deep .novo-input-element.text-size-larger{font-size:1.2em}:host .novo-field-input::ng-deep .novo-input-element.text-color-black{color:#000}:host .novo-field-input::ng-deep .novo-input-element.text-color-white{color:#fff}:host .novo-field-input::ng-deep .novo-input-element.text-color-gray{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-grey{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-offWhite{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-bright{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-light{color:#dbdbdb}:host .novo-field-input::ng-deep .novo-input-element.text-color-neutral{color:#4f5361}:host .novo-field-input::ng-deep .novo-input-element.text-color-dark{color:#3d464d}:host .novo-field-input::ng-deep .novo-input-element.text-color-orange{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-navigation{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-skyBlue{color:#009bdf}:host .novo-field-input::ng-deep .novo-input-element.text-color-steel{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-metal{color:#637893}:host .novo-field-input::ng-deep .novo-input-element.text-color-sand{color:#f4f4f4}:host .novo-field-input::ng-deep .novo-input-element.text-color-silver{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-stone{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-ash{color:#a0a0a0}:host .novo-field-input::ng-deep .novo-input-element.text-color-slate{color:#707070}:host .novo-field-input::ng-deep .novo-input-element.text-color-onyx{color:#526980}:host .novo-field-input::ng-deep .novo-input-element.text-color-charcoal{color:#282828}:host .novo-field-input::ng-deep .novo-input-element.text-color-moonlight{color:#1a242f}:host .novo-field-input::ng-deep .novo-input-element.text-color-midnight{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-darkness{color:#161f27}:host .novo-field-input::ng-deep .novo-input-element.text-color-navy{color:#0d2d42}:host .novo-field-input::ng-deep .novo-input-element.text-color-aqua{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-ocean{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mint{color:#37bc9b}:host .novo-field-input::ng-deep .novo-input-element.text-color-grass{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-sunflower{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-bittersweet{color:#eb6845}:host .novo-field-input::ng-deep .novo-input-element.text-color-grapefruit{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-carnation{color:#d770ad}:host .novo-field-input::ng-deep .novo-input-element.text-color-lavender{color:#967adc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mountain{color:#9678b6}:host .novo-field-input::ng-deep .novo-input-element.text-color-info{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-positive{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-success{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-negative{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-danger{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-error{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-warning{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-empty{color:#cccdcc}:host .novo-field-input::ng-deep .novo-input-element.text-color-disabled{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-background{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-backgroundDark{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-presentation{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-bullhorn{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-pulse{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-company{color:#39d}:host .novo-field-input::ng-deep .novo-input-element.text-color-candidate{color:#4b7}:host .novo-field-input::ng-deep .novo-input-element.text-color-lead{color:#a69}:host .novo-field-input::ng-deep .novo-input-element.text-color-contact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-clientcontact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-opportunity{color:#625}:host .novo-field-input::ng-deep .novo-input-element.text-color-job{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-joborder{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-submission{color:#a9adbb}:host .novo-field-input::ng-deep .novo-input-element.text-color-sendout{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-placement{color:#0b344f}:host .novo-field-input::ng-deep .novo-input-element.text-color-note{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-contract{color:#454ea0}:host .novo-field-input::ng-deep .novo-input-element.text-color-jobCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-earnCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-invoiceStatement{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-billableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-payableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-user{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-corporateUser{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-distributionList{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-credential{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-person{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.margin-before{margin-top:.4rem}:host .novo-field-input::ng-deep .novo-input-element.margin-after{margin-bottom:.8rem}:host .novo-field-input::ng-deep .novo-input-element.text-length-small{max-width:40ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-medium{max-width:55ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-large{max-width:70ch}:host .novo-field-input::ng-deep .novo-input-element.text-weight-hairline{font-weight:100}:host .novo-field-input::ng-deep .novo-input-element.text-weight-thin{font-weight:200}:host .novo-field-input::ng-deep .novo-input-element.text-weight-light{font-weight:300}:host .novo-field-input::ng-deep .novo-input-element.text-weight-normal{font-weight:400}:host .novo-field-input::ng-deep .novo-input-element.text-weight-medium{font-weight:500}:host .novo-field-input::ng-deep .novo-input-element.text-weight-semibold{font-weight:600}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bold{font-weight:700}:host .novo-field-input::ng-deep .novo-input-element.text-weight-extrabold{font-weight:800}:host .novo-field-input::ng-deep .novo-input-element.text-weight-heavy{font-weight:900}:host .novo-field-input::ng-deep .novo-input-element.text-weight-lighter{font-weight:lighter}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bolder{font-weight:bolder}:host .novo-field-input::ng-deep .novo-input-element:focus{outline:none}:host .novo-field-input::ng-deep .novo-radio-group{padding:.5rem 0}:host .novo-field-input .novo-field-prefix{display:flex;align-items:center}:host .novo-field-input .novo-field-infix{display:flex;align-items:center;align-self:flex-end}:host .novo-field-input .novo-field-infix select,:host .novo-field-input .novo-field-infix::ng-deep .novo-input-element{width:100%}:host .novo-field-input .novo-field-suffix{display:flex;align-items:center}:host .novo-field-messages{grid-area:messages;display:grid}:host .novo-field-hint-wrapper{display:flex;flex-direction:column}:host::ng-deep .novo-date-range-format{min-width:22rem}\n", ":host.novo-field-appearance-standard.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-fill.novo-field-layout-horizontal .novo-field-input{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-label{padding-top:.5em;padding-left:.5em;padding-right:.5em}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-input{padding:0 .5em}:host.novo-field-appearance-fill.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-outline{border:1px solid #afb9c0!important;border-radius:.4rem;padding:.5rem}:host.novo-field-appearance-outline.novo-field-layout-vertical .novo-field-label{background:#fff;margin-top:-1.5rem;margin-left:.5rem;width:max-content;padding:.5rem}:host.novo-field-appearance-outline:not(.novo-focused):hover{border:1px solid #3d464d!important}:host.novo-field-appearance-outline.novo-focused{border:1px solid #4a89dc!important}:host.novo-field-appearance-outline.novo-field-invalid{border:1px solid #da4453!important}\n", ":host.novo-field-appearance-list.novo-field-layout-horizontal{border-bottom:1px solid #f7f7f7!important;padding:.5rem 1.2rem;min-height:4.2rem}:host.novo-field-appearance-list.novo-field-layout-horizontal .novo-field-label{align-items:start;margin-top:.9rem}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-no-label{grid-template-columns:0px minmax(300px,600px);gap:0}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{background:#4a89dc26}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-field-invalid .novo-field-label{color:#da4453!important}\n"] }]
152
+ }, providers: [{ provide: NOVO_FORM_FIELD, useExisting: NovoFieldElement }], template: "<div class=\"novo-field-label\">\n <ng-content select=\"novo-label\"></ng-content>\n</div>\n<div class=\"novo-field-input\" [style.width]=\"width\" #inputContainer>\n <div class=\"novo-field-prefix\">\n <ng-content select=\"[novoPrefix]\"></ng-content>\n </div>\n <div class=\"novo-field-infix\">\n <ng-content></ng-content>\n </div>\n <div class=\"novo-field-suffix\">\n <ng-content select=\"[novoSuffix]\"></ng-content>\n </div>\n</div>\n<div class=\"novo-field-messages\" [ngSwitch]=\"_getDisplayedMessages()\">\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'error'\">\n <ng-content select=\"novo-error\"></ng-content>\n </div>\n <div class=\"novo-field-hint-wrapper\" *ngSwitchCase=\"'hint'\">\n <ng-content select=\"novo-hint\"></ng-content>\n <ng-content select=\"novo-hint[align=end]\"></ng-content>\n </div>\n</div>", styles: [":host{display:grid;position:relative}:host.novo-field-layout-horizontal{grid-gap:0rem 1rem;grid-template-columns:150px minmax(min-content,max-content);grid-template-areas:\"label input\" \". messages\"}:host.novo-field-layout-vertical{grid-template-columns:minmax(min-content,100%);grid-template-rows:repeat(3,minmax(min-content,max-content));grid-template-areas:\"label\" \"input\" \"messages\";width:max-content}:host .novo-field-label{grid-area:label;display:grid;align-items:center}:host.novo-field-type-color .novo-field-input::ng-deep .novo-input-element{padding:0}:host.ng-invalid.ng-dirty.ng-touched .novo-field-input{border-bottom:1px solid #da4453!important}:host .novo-field-input{grid-area:input;display:grid;align-items:center;grid-template-columns:minmax(auto,max-content) 1fr minmax(auto,max-content);flex:1 1 100%;min-height:2.9rem}:host .novo-field-input::ng-deep .novo-input-element{display:inline;font-weight:400;color:inherit;font-size:var(--font-size-text);transition:color .2s ease-out,opacity .2s ease-out;vertical-align:middle;border:none;background-image:none;background-color:transparent;box-shadow:none;padding:.4rem .2rem 0rem;border-bottom:none!important}:host .novo-field-input::ng-deep .novo-input-element.text-capitalize{text-transform:capitalize}:host .novo-field-input::ng-deep .novo-input-element.text-uppercase{text-transform:uppercase}:host .novo-field-input::ng-deep .novo-input-element.text-nowrap{white-space:nowrap}:host .novo-field-input::ng-deep .novo-input-element.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .novo-field-input::ng-deep .novo-input-element.text-size-default{font-size:inherit}:host .novo-field-input::ng-deep .novo-input-element.text-size-body{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xs{font-size:1rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-sm{font-size:1.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-md{font-size:1.3rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-lg{font-size:1.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-xl{font-size:2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-2xl{font-size:2.6rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-3xl{font-size:3.2rem}:host .novo-field-input::ng-deep .novo-input-element.text-size-smaller{font-size:.8em}:host .novo-field-input::ng-deep .novo-input-element.text-size-larger{font-size:1.2em}:host .novo-field-input::ng-deep .novo-input-element.text-color-black{color:#000}:host .novo-field-input::ng-deep .novo-input-element.text-color-white{color:#fff}:host .novo-field-input::ng-deep .novo-input-element.text-color-gray{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-grey{color:#9e9e9e}:host .novo-field-input::ng-deep .novo-input-element.text-color-offWhite{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-bright{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-light{color:#dbdbdb}:host .novo-field-input::ng-deep .novo-input-element.text-color-neutral{color:#4f5361}:host .novo-field-input::ng-deep .novo-input-element.text-color-dark{color:#3d464d}:host .novo-field-input::ng-deep .novo-input-element.text-color-orange{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-navigation{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-skyBlue{color:#009bdf}:host .novo-field-input::ng-deep .novo-input-element.text-color-steel{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-metal{color:#637893}:host .novo-field-input::ng-deep .novo-input-element.text-color-sand{color:#f4f4f4}:host .novo-field-input::ng-deep .novo-input-element.text-color-silver{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-stone{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-ash{color:#a0a0a0}:host .novo-field-input::ng-deep .novo-input-element.text-color-slate{color:#707070}:host .novo-field-input::ng-deep .novo-input-element.text-color-onyx{color:#526980}:host .novo-field-input::ng-deep .novo-input-element.text-color-charcoal{color:#282828}:host .novo-field-input::ng-deep .novo-input-element.text-color-moonlight{color:#1a242f}:host .novo-field-input::ng-deep .novo-input-element.text-color-midnight{color:#202945}:host .novo-field-input::ng-deep .novo-input-element.text-color-darkness{color:#161f27}:host .novo-field-input::ng-deep .novo-input-element.text-color-navy{color:#0d2d42}:host .novo-field-input::ng-deep .novo-input-element.text-color-aqua{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-ocean{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mint{color:#37bc9b}:host .novo-field-input::ng-deep .novo-input-element.text-color-grass{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-sunflower{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-bittersweet{color:#eb6845}:host .novo-field-input::ng-deep .novo-input-element.text-color-grapefruit{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-carnation{color:#d770ad}:host .novo-field-input::ng-deep .novo-input-element.text-color-lavender{color:#967adc}:host .novo-field-input::ng-deep .novo-input-element.text-color-mountain{color:#9678b6}:host .novo-field-input::ng-deep .novo-input-element.text-color-info{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-positive{color:#4a89dc}:host .novo-field-input::ng-deep .novo-input-element.text-color-success{color:#8cc152}:host .novo-field-input::ng-deep .novo-input-element.text-color-negative{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-danger{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-error{color:#da4453}:host .novo-field-input::ng-deep .novo-input-element.text-color-warning{color:#f6b042}:host .novo-field-input::ng-deep .novo-input-element.text-color-empty{color:#cccdcc}:host .novo-field-input::ng-deep .novo-input-element.text-color-disabled{color:#bebebe}:host .novo-field-input::ng-deep .novo-input-element.text-color-background{color:#f7f7f7}:host .novo-field-input::ng-deep .novo-input-element.text-color-backgroundDark{color:#e2e2e2}:host .novo-field-input::ng-deep .novo-input-element.text-color-presentation{color:#5b6770}:host .novo-field-input::ng-deep .novo-input-element.text-color-bullhorn{color:#ff6900}:host .novo-field-input::ng-deep .novo-input-element.text-color-pulse{color:#3bafda}:host .novo-field-input::ng-deep .novo-input-element.text-color-company{color:#39d}:host .novo-field-input::ng-deep .novo-input-element.text-color-candidate{color:#4b7}:host .novo-field-input::ng-deep .novo-input-element.text-color-lead{color:#a69}:host .novo-field-input::ng-deep .novo-input-element.text-color-contact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-clientcontact{color:#fa4}:host .novo-field-input::ng-deep .novo-input-element.text-color-opportunity{color:#625}:host .novo-field-input::ng-deep .novo-input-element.text-color-job{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-joborder{color:#b56}:host .novo-field-input::ng-deep .novo-input-element.text-color-submission{color:#a9adbb}:host .novo-field-input::ng-deep .novo-input-element.text-color-sendout{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-placement{color:#0b344f}:host .novo-field-input::ng-deep .novo-input-element.text-color-note{color:#747884}:host .novo-field-input::ng-deep .novo-input-element.text-color-contract{color:#454ea0}:host .novo-field-input::ng-deep .novo-input-element.text-color-jobCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-earnCode{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-invoiceStatement{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-billableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-payableCharge{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-user{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-corporateUser{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-distributionList{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-credential{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.text-color-person{color:#696d79}:host .novo-field-input::ng-deep .novo-input-element.margin-before{margin-top:.4rem}:host .novo-field-input::ng-deep .novo-input-element.margin-after{margin-bottom:.8rem}:host .novo-field-input::ng-deep .novo-input-element.text-length-small{max-width:40ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-medium{max-width:55ch}:host .novo-field-input::ng-deep .novo-input-element.text-length-large{max-width:70ch}:host .novo-field-input::ng-deep .novo-input-element.text-weight-hairline{font-weight:100}:host .novo-field-input::ng-deep .novo-input-element.text-weight-thin{font-weight:200}:host .novo-field-input::ng-deep .novo-input-element.text-weight-light{font-weight:300}:host .novo-field-input::ng-deep .novo-input-element.text-weight-normal{font-weight:400}:host .novo-field-input::ng-deep .novo-input-element.text-weight-medium{font-weight:500}:host .novo-field-input::ng-deep .novo-input-element.text-weight-semibold{font-weight:600}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bold{font-weight:700}:host .novo-field-input::ng-deep .novo-input-element.text-weight-extrabold{font-weight:800}:host .novo-field-input::ng-deep .novo-input-element.text-weight-heavy{font-weight:900}:host .novo-field-input::ng-deep .novo-input-element.text-weight-lighter{font-weight:lighter}:host .novo-field-input::ng-deep .novo-input-element.text-weight-bolder{font-weight:bolder}:host .novo-field-input::ng-deep .novo-input-element:focus{outline:none}:host .novo-field-input::ng-deep .novo-radio-group{padding:.5rem 0}:host .novo-field-input .novo-field-prefix{display:flex;align-items:center}:host .novo-field-input .novo-field-infix{display:flex;align-items:center;align-self:flex-end}:host .novo-field-input .novo-field-infix select,:host .novo-field-input .novo-field-infix::ng-deep .novo-input-element{width:100%}:host .novo-field-input .novo-field-suffix{display:flex;align-items:center}:host .novo-field-messages{grid-area:messages;display:grid}:host .novo-field-hint-wrapper{display:flex;flex-direction:column}:host::ng-deep .novo-date-range-format{min-width:22rem}\n", ":host.novo-field-appearance-standard.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-standard.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-fill.novo-field-layout-horizontal .novo-field-input{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical{background:var(--background-main)}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-label{padding-top:.5em;padding-left:.5em;padding-right:.5em}:host.novo-field-appearance-fill.novo-field-layout-vertical .novo-field-input{padding:0 .5em}:host.novo-field-appearance-fill.novo-field-appearance-underlined .novo-field-input{border-bottom:1px solid #afb9c0!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{border-bottom:1px solid #3d464d!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-focused .novo-field-input{border-bottom:1px solid #4a89dc!important}:host.novo-field-appearance-fill.novo-field-appearance-underlined.novo-field-invalid .novo-field-input{border-bottom:1px solid #da4453!important}\n", ":host.novo-field-appearance-outline{border:1px solid #afb9c0!important;border-radius:.4rem;padding:.5rem}:host.novo-field-appearance-outline.novo-field-layout-vertical .novo-field-label{background:#fff;margin-top:-1.5rem;margin-left:.5rem;width:max-content;padding:.5rem}:host.novo-field-appearance-outline:not(.novo-focused):hover{border:1px solid #3d464d!important}:host.novo-field-appearance-outline.novo-focused{border:1px solid #4a89dc!important}:host.novo-field-appearance-outline.novo-field-invalid{border:1px solid #da4453!important}\n", ":host.novo-field-appearance-list.novo-field-layout-horizontal{border-bottom:1px solid #f7f7f7!important;padding:.5rem 1.2rem;min-height:4.2rem}:host.novo-field-appearance-list.novo-field-layout-horizontal .novo-field-label{align-items:start;margin-top:.9rem}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-no-label{grid-template-columns:0px minmax(300px,600px);gap:0}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined:not(.novo-focused):hover .novo-field-input{background:#4a89dc26}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-focused .novo-field-label{color:#4a89dc!important}:host.novo-field-appearance-list.novo-field-layout-horizontal.novo-field-appearance-underlined.novo-field-invalid .novo-field-label{color:#da4453!important}\n"] }]
153
153
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { _inputContainerRef: [{
154
154
  type: ViewChild,
155
155
  args: ['inputContainer']
@@ -2,7 +2,7 @@
2
2
  import { DragDropModule } from '@angular/cdk/drag-drop';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { NgModule } from '@angular/core';
5
- import { FormsModule } from '@angular/forms';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
6
  import { NovoButtonModule } from 'novo-elements/elements/button';
7
7
  import { NovoCheckboxModule } from 'novo-elements/elements/checkbox';
8
8
  import { NovoLoadingModule } from 'novo-elements/elements/loading';
@@ -12,10 +12,13 @@ import { NovoTooltipModule } from 'novo-elements/elements/tooltip';
12
12
  import { NovoPipesModule } from 'novo-elements/pipes';
13
13
  import { NovoAddressElement } from './address/Address';
14
14
  import { NovoFileInputElement } from './file/FileInput';
15
+ import { NumberRangeComponent } from './number-range/number-range.component';
16
+ import { NovoFlexModule } from 'novo-elements/elements/flex';
17
+ import { NovoFieldModule } from 'novo-elements/elements/field';
15
18
  import * as i0 from "@angular/core";
16
19
  export class NovoFormExtrasModule {
17
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoFormExtrasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NovoFormExtrasModule, declarations: [NovoAddressElement, NovoFileInputElement], imports: [CommonModule,
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NovoFormExtrasModule, declarations: [NovoAddressElement, NovoFileInputElement, NumberRangeComponent], imports: [CommonModule,
19
22
  FormsModule,
20
23
  NovoPipesModule,
21
24
  NovoButtonModule,
@@ -24,7 +27,10 @@ export class NovoFormExtrasModule {
24
27
  NovoLoadingModule,
25
28
  NovoTooltipModule,
26
29
  NovoCheckboxModule,
27
- DragDropModule], exports: [NovoAddressElement, NovoFileInputElement] }); }
30
+ DragDropModule,
31
+ NovoFlexModule,
32
+ NovoFieldModule,
33
+ ReactiveFormsModule], exports: [NovoAddressElement, NovoFileInputElement, NumberRangeComponent] }); }
28
34
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoFormExtrasModule, imports: [CommonModule,
29
35
  FormsModule,
30
36
  NovoPipesModule,
@@ -34,7 +40,10 @@ export class NovoFormExtrasModule {
34
40
  NovoLoadingModule,
35
41
  NovoTooltipModule,
36
42
  NovoCheckboxModule,
37
- DragDropModule] }); }
43
+ DragDropModule,
44
+ NovoFlexModule,
45
+ NovoFieldModule,
46
+ ReactiveFormsModule] }); }
38
47
  }
39
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovoFormExtrasModule, decorators: [{
40
49
  type: NgModule,
@@ -49,10 +58,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
49
58
  NovoLoadingModule,
50
59
  NovoTooltipModule,
51
60
  NovoCheckboxModule,
52
- DragDropModule
61
+ DragDropModule,
62
+ NovoFlexModule,
63
+ NovoFieldModule,
64
+ ReactiveFormsModule
53
65
  ],
54
- declarations: [NovoAddressElement, NovoFileInputElement],
55
- exports: [NovoAddressElement, NovoFileInputElement],
66
+ declarations: [NovoAddressElement, NovoFileInputElement, NumberRangeComponent],
67
+ exports: [NovoAddressElement, NovoFileInputElement, NumberRangeComponent],
56
68
  }]
57
69
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUV4dHJhcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9mb3JtL2V4dHJhcy9Gb3JtRXh0cmFzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBa0J4RCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFIaEIsa0JBQWtCLEVBQUUsb0JBQW9CLGFBWHJELFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWMsYUFHTixrQkFBa0IsRUFBRSxvQkFBb0I7Z0hBRXZDLG9CQUFvQixZQWQ3QixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixjQUFjOzs0RkFLTCxvQkFBb0I7a0JBaEJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBORzJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm92b0J1dHRvbk1vZHVsZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvZWxlbWVudHMvYnV0dG9uJztcbmltcG9ydCB7IE5vdm9DaGVja2JveE1vZHVsZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvZWxlbWVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgTm92b0xvYWRpbmdNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgTm92b1BpY2tlck1vZHVsZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvZWxlbWVudHMvcGlja2VyJztcbmltcG9ydCB7IE5vdm9TZWxlY3RNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL3NlbGVjdCc7XG5pbXBvcnQgeyBOb3ZvVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvZWxlbWVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBOb3ZvUGlwZXNNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3BpcGVzJztcbmltcG9ydCB7IE5vdm9BZGRyZXNzRWxlbWVudCB9IGZyb20gJy4vYWRkcmVzcy9BZGRyZXNzJztcbmltcG9ydCB7IE5vdm9GaWxlSW5wdXRFbGVtZW50IH0gZnJvbSAnLi9maWxlL0ZpbGVJbnB1dCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTm92b1BpcGVzTW9kdWxlLFxuICAgIE5vdm9CdXR0b25Nb2R1bGUsXG4gICAgTm92b1NlbGVjdE1vZHVsZSxcbiAgICBOb3ZvUGlja2VyTW9kdWxlLFxuICAgIE5vdm9Mb2FkaW5nTW9kdWxlLFxuICAgIE5vdm9Ub29sdGlwTW9kdWxlLFxuICAgIE5vdm9DaGVja2JveE1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtOb3ZvQWRkcmVzc0VsZW1lbnQsIE5vdm9GaWxlSW5wdXRFbGVtZW50XSxcbiAgZXhwb3J0czogW05vdm9BZGRyZXNzRWxlbWVudCwgTm92b0ZpbGVJbnB1dEVsZW1lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvRm9ybUV4dHJhc01vZHVsZSB7fVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUV4dHJhcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9mb3JtL2V4dHJhcy9Gb3JtRXh0cmFzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFxQi9ELE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUhoQixrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsYUFkM0UsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGNBQWM7WUFDZCxlQUFlO1lBQ2YsbUJBQW1CLGFBR1gsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CO2dIQUU3RCxvQkFBb0IsWUFqQjdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZUFBZTtZQUNmLG1CQUFtQjs7NEZBS1Ysb0JBQW9CO2tCQW5CaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztvQkFDOUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7aUJBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5vdm9CdXR0b25Nb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBOb3ZvQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IE5vdm9Mb2FkaW5nTW9kdWxlIH0gZnJvbSAnbm92by1lbGVtZW50cy9lbGVtZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IE5vdm9QaWNrZXJNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL3BpY2tlcic7XG5pbXBvcnQgeyBOb3ZvU2VsZWN0TW9kdWxlIH0gZnJvbSAnbm92by1lbGVtZW50cy9lbGVtZW50cy9zZWxlY3QnO1xuaW1wb3J0IHsgTm92b1Rvb2x0aXBNb2R1bGUgfSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTm92b1BpcGVzTW9kdWxlIH0gZnJvbSAnbm92by1lbGVtZW50cy9waXBlcyc7XG5pbXBvcnQgeyBOb3ZvQWRkcmVzc0VsZW1lbnQgfSBmcm9tICcuL2FkZHJlc3MvQWRkcmVzcyc7XG5pbXBvcnQgeyBOb3ZvRmlsZUlucHV0RWxlbWVudCB9IGZyb20gJy4vZmlsZS9GaWxlSW5wdXQnO1xuaW1wb3J0IHsgTnVtYmVyUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL251bWJlci1yYW5nZS9udW1iZXItcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IE5vdm9GbGV4TW9kdWxlIH0gZnJvbSAnbm92by1lbGVtZW50cy9lbGVtZW50cy9mbGV4JztcbmltcG9ydCB7IE5vdm9GaWVsZE1vZHVsZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvZWxlbWVudHMvZmllbGQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5vdm9QaXBlc01vZHVsZSxcbiAgICBOb3ZvQnV0dG9uTW9kdWxlLFxuICAgIE5vdm9TZWxlY3RNb2R1bGUsXG4gICAgTm92b1BpY2tlck1vZHVsZSxcbiAgICBOb3ZvTG9hZGluZ01vZHVsZSxcbiAgICBOb3ZvVG9vbHRpcE1vZHVsZSxcbiAgICBOb3ZvQ2hlY2tib3hNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTm92b0ZsZXhNb2R1bGUsXG4gICAgTm92b0ZpZWxkTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbTm92b0FkZHJlc3NFbGVtZW50LCBOb3ZvRmlsZUlucHV0RWxlbWVudCwgTnVtYmVyUmFuZ2VDb21wb25lbnRdLFxuICBleHBvcnRzOiBbTm92b0FkZHJlc3NFbGVtZW50LCBOb3ZvRmlsZUlucHV0RWxlbWVudCwgTnVtYmVyUmFuZ2VDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvRm9ybUV4dHJhc01vZHVsZSB7fVxuXG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './address';
2
2
  export * from './file';
3
+ export * from './number-range';
3
4
  export * from './FormExtras.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9mb3JtL2V4dHJhcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL0Zvcm1FeHRyYXMubW9kdWxlJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9mb3JtL2V4dHJhcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vRm9ybUV4dHJhcy5tb2R1bGUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './number-range.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9mb3JtL2V4dHJhcy9udW1iZXItcmFuZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXJhbmdlLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,104 @@
1
+ import { Component, forwardRef } from '@angular/core';
2
+ import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { NovoLabelService } from 'novo-elements/services';
4
+ import { Helpers } from 'novo-elements/utils';
5
+ import { Subject } from 'rxjs';
6
+ import { filter, takeUntil } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "novo-elements/services";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "novo-elements/elements/flex";
12
+ import * as i5 from "novo-elements/elements/field";
13
+ export class NumberRangeComponent {
14
+ constructor(labels, formBuilder) {
15
+ this.labels = labels;
16
+ this.formBuilder = formBuilder;
17
+ this._onChange = () => { };
18
+ this._onTouched = () => { };
19
+ this._destroyed = new Subject();
20
+ }
21
+ ngOnInit() {
22
+ this.rangeForm = this.formBuilder.group({ min: null, max: null }, { validators: this.minLessThanMaxValidator });
23
+ // Notify parent form when the value changes (and it's valid)
24
+ this.rangeForm.valueChanges.pipe(takeUntil(this._destroyed), filter(() => this.rangeForm.valid)).subscribe(value => this._onChange(value));
25
+ }
26
+ ngOnDestroy() {
27
+ this._destroyed.next();
28
+ this._destroyed.complete();
29
+ }
30
+ minLessThanMaxValidator(group) {
31
+ const min = group.get('min').value;
32
+ const max = group.get('max').value;
33
+ const hasError = !Helpers.isBlank(min) && !Helpers.isBlank(max) && min > max;
34
+ const error = hasError ? { minGreaterThanMax: true } : null;
35
+ group.get('min').setErrors(error); // sets error styling
36
+ group.get('max').setErrors(error);
37
+ return error;
38
+ }
39
+ writeValue(value) {
40
+ if (value) {
41
+ this.rangeForm.setValue(value, { emitEvent: false });
42
+ }
43
+ }
44
+ registerOnChange(fn) {
45
+ this._onChange = fn;
46
+ }
47
+ registerOnTouched(fn) {
48
+ this._onTouched = fn;
49
+ }
50
+ setDisabledState(isDisabled) {
51
+ isDisabled ? this.rangeForm.disable() : this.rangeForm.enable();
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberRangeComponent, deps: [{ token: i1.NovoLabelService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NumberRangeComponent, selector: "novo-number-range", providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => NumberRangeComponent),
58
+ multi: true
59
+ }
60
+ ], ngImport: i0, template: `
61
+ <form [formGroup]="rangeForm">
62
+ <novo-flex justify='space-between' align='end' gap="1rem">
63
+ <novo-field mr="sm">
64
+ <input formControlName="min" novoInput type='number' [placeholder]="labels.minimumPlaceholder"/>
65
+ </novo-field>
66
+ <novo-field ml="sm">
67
+ <input formControlName="max" novoInput type='number' [placeholder]="labels.maximumPlaceholder"/>
68
+ </novo-field>
69
+ </novo-flex>
70
+ <novo-error *ngIf="rangeForm.hasError('minGreaterThanMax')" style="position: absolute">
71
+ {{ labels.minGreaterThanMax }}
72
+ </novo-error>
73
+ </form>
74
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { kind: "component", type: i5.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "customOverlayOrigin", "width"], outputs: ["valueChanges", "stateChanges"] }, { kind: "component", type: i5.NovoErrorElement, selector: "novo-error" }, { kind: "directive", type: i5.NovoInput, selector: "input[novoInput], textarea[novoInput], select[novoInput]", inputs: ["disabled", "id", "placeholder", "required", "type", "value", "readonly"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberRangeComponent, decorators: [{
77
+ type: Component,
78
+ args: [{
79
+ selector: 'novo-number-range',
80
+ template: `
81
+ <form [formGroup]="rangeForm">
82
+ <novo-flex justify='space-between' align='end' gap="1rem">
83
+ <novo-field mr="sm">
84
+ <input formControlName="min" novoInput type='number' [placeholder]="labels.minimumPlaceholder"/>
85
+ </novo-field>
86
+ <novo-field ml="sm">
87
+ <input formControlName="max" novoInput type='number' [placeholder]="labels.maximumPlaceholder"/>
88
+ </novo-field>
89
+ </novo-flex>
90
+ <novo-error *ngIf="rangeForm.hasError('minGreaterThanMax')" style="position: absolute">
91
+ {{ labels.minGreaterThanMax }}
92
+ </novo-error>
93
+ </form>
94
+ `,
95
+ providers: [
96
+ {
97
+ provide: NG_VALUE_ACCESSOR,
98
+ useExisting: forwardRef(() => NumberRangeComponent),
99
+ multi: true
100
+ }
101
+ ]
102
+ }]
103
+ }], ctorParameters: () => [{ type: i1.NovoLabelService }, { type: i2.FormBuilder }] });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2Zvcm0vZXh0cmFzL251bWJlci1yYW5nZS9udW1iZXItcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQXdCLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUEyQm5ELE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBbUIsTUFBd0IsRUFBVSxXQUF3QjtRQUExRCxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSjdFLGNBQVMsR0FBeUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDZixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV3QyxDQUFDO0lBRWxGLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUVoSCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUMxQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDbkMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQWdCO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUM3RSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtRQUN4RCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBbUM7UUFDNUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xFLENBQUM7K0dBakRVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRDQVJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkFyQlM7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7OzRGQVNVLG9CQUFvQjtrQkF6QmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOb3ZvTGFiZWxTZXJ2aWNlIH0gZnJvbSAnbm92by1lbGVtZW50cy9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnbm92by1lbGVtZW50cy91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1udW1iZXItcmFuZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicmFuZ2VGb3JtXCI+XG4gICAgICA8bm92by1mbGV4IGp1c3RpZnk9J3NwYWNlLWJldHdlZW4nIGFsaWduPSdlbmQnIGdhcD1cIjFyZW1cIj5cbiAgICAgICAgPG5vdm8tZmllbGQgbXI9XCJzbVwiPlxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIiBub3ZvSW5wdXQgdHlwZT0nbnVtYmVyJyBbcGxhY2Vob2xkZXJdPVwibGFiZWxzLm1pbmltdW1QbGFjZWhvbGRlclwiLz5cbiAgICAgICAgPC9ub3ZvLWZpZWxkPlxuICAgICAgICA8bm92by1maWVsZCBtbD1cInNtXCI+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIm1heFwiIG5vdm9JbnB1dCB0eXBlPSdudW1iZXInIFtwbGFjZWhvbGRlcl09XCJsYWJlbHMubWF4aW11bVBsYWNlaG9sZGVyXCIvPlxuICAgICAgICA8L25vdm8tZmllbGQ+XG4gICAgICA8L25vdm8tZmxleD5cbiAgICAgIDxub3ZvLWVycm9yICpuZ0lmPVwicmFuZ2VGb3JtLmhhc0Vycm9yKCdtaW5HcmVhdGVyVGhhbk1heCcpXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGVcIj5cbiAgICAgICAge3sgbGFiZWxzLm1pbkdyZWF0ZXJUaGFuTWF4IH19XG4gICAgICA8L25vdm8tZXJyb3I+XG4gICAgPC9mb3JtPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWJlclJhbmdlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlclJhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcmFuZ2VGb3JtOiBGb3JtR3JvdXA7XG4gIF9vbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIF9vblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxhYmVsczogTm92b0xhYmVsU2VydmljZSwgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmFuZ2VGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7IG1pbjogbnVsbCwgbWF4OiBudWxsIH0sIHsgdmFsaWRhdG9yczogdGhpcy5taW5MZXNzVGhhbk1heFZhbGlkYXRvciB9KTtcblxuICAgIC8vIE5vdGlmeSBwYXJlbnQgZm9ybSB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzIChhbmQgaXQncyB2YWxpZClcbiAgICB0aGlzLnJhbmdlRm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpLFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMucmFuZ2VGb3JtLnZhbGlkKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuX29uQ2hhbmdlKHZhbHVlKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbWluTGVzc1RoYW5NYXhWYWxpZGF0b3IoZ3JvdXA6IEZvcm1Hcm91cCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHwgbnVsbCB7XG4gICAgY29uc3QgbWluID0gZ3JvdXAuZ2V0KCdtaW4nKS52YWx1ZTtcbiAgICBjb25zdCBtYXggPSBncm91cC5nZXQoJ21heCcpLnZhbHVlO1xuICAgIGNvbnN0IGhhc0Vycm9yID0gIUhlbHBlcnMuaXNCbGFuayhtaW4pICYmICFIZWxwZXJzLmlzQmxhbmsobWF4KSAmJiBtaW4gPiBtYXg7XG4gICAgY29uc3QgZXJyb3IgPSBoYXNFcnJvciA/IHsgbWluR3JlYXRlclRoYW5NYXg6IHRydWUgfSA6IG51bGw7XG4gICAgZ3JvdXAuZ2V0KCdtaW4nKS5zZXRFcnJvcnMoZXJyb3IpOyAvLyBzZXRzIGVycm9yIHN0eWxpbmdcbiAgICBncm91cC5nZXQoJ21heCcpLnNldEVycm9ycyhlcnJvcik7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogeyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5yYW5nZUZvcm0uc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaXNEaXNhYmxlZCA/IHRoaXMucmFuZ2VGb3JtLmRpc2FibGUoKSA6IHRoaXMucmFuZ2VGb3JtLmVuYWJsZSgpO1xuICB9XG59XG4iXX0=