@tft/crispr-forms 14.0.1-rc.0 → 14.0.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/esm2020/lib/abstracts/crispr-field.abstract.mjs +6 -3
  2. package/esm2020/lib/crispr-forms.module.mjs +20 -28
  3. package/esm2020/lib/field-container/field-container.component.mjs +8 -28
  4. package/esm2020/lib/field.directive.mjs +5 -24
  5. package/esm2020/lib/form/form.component.mjs +14 -40
  6. package/esm2020/lib/form-group-list/form-group-list.component.mjs +23 -8
  7. package/esm2020/lib/form-group-list/index.mjs +1 -2
  8. package/esm2020/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +25 -63
  9. package/esm2020/lib/material/autocomplete-field/autocomplete-field.component.mjs +21 -55
  10. package/esm2020/lib/material/button/button.component.mjs +5 -30
  11. package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +13 -42
  12. package/esm2020/lib/material/datepicker-field/datepicker-field.component.mjs +12 -44
  13. package/esm2020/lib/material/divider/divider.component.mjs +5 -24
  14. package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +4 -3
  15. package/esm2020/lib/material/file-upload/file-upload.component.mjs +22 -58
  16. package/esm2020/lib/material/heading/heading.component.mjs +9 -31
  17. package/esm2020/lib/material/image-upload-field/image-upload-field.component.mjs +23 -61
  18. package/esm2020/lib/material/index.mjs +1 -2
  19. package/esm2020/lib/material/info/info.component.mjs +8 -29
  20. package/esm2020/lib/material/input-field/input-field.component.mjs +13 -42
  21. package/esm2020/lib/material/option/option.component.mjs +8 -28
  22. package/esm2020/lib/material/radio-field/radio-field.component.mjs +8 -32
  23. package/esm2020/lib/material/select-field/select-field.component.mjs +22 -58
  24. package/esm2020/lib/material/selected-file/selected-file.component.mjs +7 -26
  25. package/esm2020/lib/material/slider-field/slider-field.component.mjs +14 -43
  26. package/esm2020/lib/material/textarea-field/textarea-field.component.mjs +12 -41
  27. package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +16 -50
  28. package/esm2020/lib/sub-group/sub-group.module.mjs +8 -9
  29. package/fesm2015/tft-crispr-forms.mjs +211 -885
  30. package/fesm2015/tft-crispr-forms.mjs.map +1 -1
  31. package/fesm2020/tft-crispr-forms.mjs +208 -882
  32. package/fesm2020/tft-crispr-forms.mjs.map +1 -1
  33. package/lib/abstracts/crispr-field.abstract.d.ts +1 -1
  34. package/lib/crispr-forms.module.d.ts +4 -5
  35. package/lib/field-container/field-container.component.d.ts +1 -8
  36. package/lib/field.directive.d.ts +1 -7
  37. package/lib/form/form.component.d.ts +1 -11
  38. package/lib/form-group-list/form-group-list.component.d.ts +1 -1
  39. package/lib/form-group-list/index.d.ts +0 -1
  40. package/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +1 -16
  41. package/lib/material/autocomplete-field/autocomplete-field.component.d.ts +1 -14
  42. package/lib/material/button/button.component.d.ts +1 -11
  43. package/lib/material/checkbox-field/checkbox-field.component.d.ts +1 -12
  44. package/lib/material/datepicker-field/datepicker-field.component.d.ts +1 -14
  45. package/lib/material/divider/divider.component.d.ts +1 -8
  46. package/lib/material/file-upload/file-dropzone.directive.d.ts +1 -1
  47. package/lib/material/file-upload/file-upload.component.d.ts +1 -16
  48. package/lib/material/heading/heading.component.d.ts +1 -9
  49. package/lib/material/image-upload-field/image-upload-field.component.d.ts +1 -16
  50. package/lib/material/index.d.ts +0 -1
  51. package/lib/material/info/info.component.d.ts +1 -9
  52. package/lib/material/input-field/input-field.component.d.ts +1 -12
  53. package/lib/material/option/option.component.d.ts +1 -8
  54. package/lib/material/radio-field/radio-field.component.d.ts +1 -10
  55. package/lib/material/select-field/select-field.component.d.ts +1 -15
  56. package/lib/material/selected-file/selected-file.component.d.ts +1 -8
  57. package/lib/material/slider-field/slider-field.component.d.ts +1 -12
  58. package/lib/material/textarea-field/textarea-field.component.d.ts +2 -14
  59. package/lib/material/unit-conversion-field/unit-conversion-field.component.d.ts +1 -14
  60. package/lib/sub-group/sub-group.module.d.ts +1 -1
  61. package/package.json +1 -1
  62. package/tft-crispr-forms-14.0.1-rc.1.tgz +0 -0
  63. package/esm2020/lib/form-group-list/form-group-list.module.mjs +0 -52
  64. package/esm2020/lib/material/material.module.mjs +0 -96
  65. package/lib/form-group-list/form-group-list.module.d.ts +0 -15
  66. package/lib/material/material.module.d.ts +0 -26
  67. package/tft-crispr-forms-14.0.1-rc.0.tgz +0 -0
@@ -1,18 +1,16 @@
1
- import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
6
6
  import { MatInputModule } from '@angular/material/input';
7
- import { FieldContainerModule } from '../../field-container';
8
- import { InfoModule } from '../info/info.component';
7
+ import { FieldContainerComponent } from '../../field-container';
8
+ import { InfoComponent } from '../info/info.component';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/common";
11
- import * as i2 from "../info/info.component";
12
- import * as i3 from "@angular/forms";
13
- import * as i4 from "../../field-container/field-container.component";
14
- import * as i5 from "@angular/material/form-field";
15
- import * as i6 from "@angular/material/input";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "@angular/material/form-field";
13
+ import * as i4 from "@angular/material/input";
16
14
  const defaultConfig = { rows: 5 };
17
15
  const TextareaFieldMixin = crisprControlMixin(CrisprFieldComponent);
18
16
  export class TextareaFieldComponent extends TextareaFieldMixin {
@@ -25,43 +23,16 @@ export class TextareaFieldComponent extends TextareaFieldMixin {
25
23
  }
26
24
  }
27
25
  TextareaFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
- TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: TextareaFieldComponent, selector: "crispr-textarea-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
26
+ TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: TextareaFieldComponent, isStandalone: true, selector: "crispr-textarea-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
29
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldComponent, decorators: [{
30
28
  type: Component,
31
- args: [{ selector: 'crispr-textarea-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n" }]
32
- }] });
33
- export class TextareaFieldModule {
34
- }
35
- TextareaFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- TextareaFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldModule, declarations: [TextareaFieldComponent], imports: [CommonModule,
37
- InfoModule,
38
- ReactiveFormsModule,
39
- FieldContainerModule,
40
- MatFormFieldModule,
41
- MatInputModule], exports: [TextareaFieldComponent] });
42
- TextareaFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldModule, imports: [CommonModule,
43
- InfoModule,
44
- ReactiveFormsModule,
45
- FieldContainerModule,
46
- MatFormFieldModule,
47
- MatInputModule] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: TextareaFieldModule, decorators: [{
49
- type: NgModule,
50
- args: [{
51
- imports: [
29
+ args: [{ selector: 'crispr-textarea-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
52
30
  CommonModule,
53
- InfoModule,
31
+ InfoComponent,
54
32
  ReactiveFormsModule,
55
- FieldContainerModule,
33
+ FieldContainerComponent,
56
34
  MatFormFieldModule,
57
35
  MatInputModule,
58
- ],
59
- exports: [
60
- TextareaFieldComponent
61
- ],
62
- declarations: [
63
- TextareaFieldComponent
64
- ]
65
- }]
36
+ ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n" }]
66
37
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC90ZXh0YXJlYS1maWVsZC90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3RleHRhcmVhLWZpZWxkL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUVwRCxNQUFNLGFBQWEsR0FBaUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBc0Isb0JBQW9CLENBQUMsQ0FBQztBQVF6RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBTjlEOztRQU9FLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBSy9CO0lBSEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNsQixDQUFDOzttSEFMVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixvRkNuQm5DLG93QkE0QkE7MkZEVGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTs7QUF5QmpELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkF2Qm5CLHNCQUFzQixhQVMvQixZQUFZO1FBQ1osVUFBVTtRQUNWLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGNBQWMsYUFkTCxzQkFBc0I7aUhBdUJ0QixtQkFBbUIsWUFkNUIsWUFBWTtRQUNaLFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixjQUFjOzJGQVNMLG1CQUFtQjtrQkFoQi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7cUJBQ3ZCO29CQUNELFlBQVksRUFBRTt3QkFDWixzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGV4dGFyZWFGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4sIENyaXNwckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgSW5mb01vZHVsZSB9IGZyb20gJy4uL2luZm8vaW5mby5jb21wb25lbnQnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPFRleHRhcmVhRmllbGRDb25maWc+ID0ge3Jvd3M6IDV9O1xuY29uc3QgVGV4dGFyZWFGaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPFRleHRhcmVhRmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXRleHRhcmVhLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dGFyZWEtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWVsZENvbXBvbmVudCBleHRlbmRzIFRleHRhcmVhRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRlZmF1bHRDb25maWcgPSBkZWZhdWx0Q29uZmlnO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KClcbiAgfVxufVxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbmZvTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGV4dGFyZWFGaWVsZENvbXBvbmVudFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZXh0YXJlYUZpZWxkQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWVsZE1vZHVsZSB7XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8dGV4dGFyZWFcbiAgICAgIFtyb3dzXT1cImNvbmZpZy5yb3dzXCJcbiAgICAgIG1hdElucHV0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCI+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5maWVsZFN1ZmZpeFwiIG1hdFN1ZmZpeD57e2NvbmZpZy5maWVsZFN1ZmZpeH19PC9zcGFuPlxuICAgIDxjcmlzcHItaW5mb1xuICAgICAgKm5nSWY9XCJjb25maWcuaW5mb1wiXG4gICAgICBtYXRTdWZmaXhcbiAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgPC9jcmlzcHItaW5mbz5cblxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIGNvbnRyb2wudmFsaWRcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC90ZXh0YXJlYS1maWVsZC90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3RleHRhcmVhLWZpZWxkL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUV2RCxNQUFNLGFBQWEsR0FBaUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBc0Isb0JBQW9CLENBQUMsQ0FBQztBQWlCekYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWY5RDs7UUFnQkUsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FLL0I7SUFIQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2xCLENBQUM7O21IQUxVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHdHQzVCbkMsb3dCQTRCQSx5RERSSSxZQUFZLG1JQUNaLGFBQWEseUVBQ2IsbUJBQW1CLG8yQkFDbkIsdUJBQXVCLDhHQUN2QixrQkFBa0IsbWJBQ2xCLGNBQWM7MkZBR0wsc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8VGV4dGFyZWFGaWVsZENvbmZpZz4gPSB7cm93czogNX07XG5jb25zdCBUZXh0YXJlYUZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48VGV4dGFyZWFGaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItdGV4dGFyZWEtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgVGV4dGFyZWFGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKVxuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8dGV4dGFyZWFcbiAgICAgIFtyb3dzXT1cImNvbmZpZy5yb3dzXCJcbiAgICAgIG1hdElucHV0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCI+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5maWVsZFN1ZmZpeFwiIG1hdFN1ZmZpeD57e2NvbmZpZy5maWVsZFN1ZmZpeH19PC9zcGFuPlxuICAgIDxjcmlzcHItaW5mb1xuICAgICAgKm5nSWY9XCJjb25maWcuaW5mb1wiXG4gICAgICBtYXRTdWZmaXhcbiAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgPC9jcmlzcHItaW5mbz5cblxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIGNvbnRyb2wudmFsaWRcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { ReactiveFormsModule, FormControl } from '@angular/forms';
4
4
  import { MatOptionModule } from '@angular/material/core';
5
5
  import { MatInputModule } from '@angular/material/input';
@@ -7,20 +7,17 @@ import { MatSelectModule } from '@angular/material/select';
7
7
  import { combineLatest } from 'rxjs';
8
8
  import { startWith } from 'rxjs/operators';
9
9
  import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
10
- import { FieldContainerModule } from '../../field-container';
10
+ import { FieldContainerComponent } from '../../field-container';
11
11
  import { observablifyOptions } from '../../form.helpers';
12
- import { InfoModule } from '../info/info.component';
13
- import { OptionModule } from '../option';
12
+ import { InfoComponent } from '../info/info.component';
13
+ import { OptionComponent } from '../option';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/common";
16
- import * as i2 from "../info/info.component";
17
- import * as i3 from "../option/option.component";
18
- import * as i4 from "@angular/forms";
19
- import * as i5 from "../../field-container/field-container.component";
20
- import * as i6 from "@angular/material/form-field";
21
- import * as i7 from "@angular/material/input";
22
- import * as i8 from "@angular/material/select";
23
- import * as i9 from "@angular/material/core";
16
+ import * as i2 from "@angular/forms";
17
+ import * as i3 from "@angular/material/form-field";
18
+ import * as i4 from "@angular/material/input";
19
+ import * as i5 from "@angular/material/select";
20
+ import * as i6 from "@angular/material/core";
24
21
  const defaultConfig = {};
25
22
  const UnitConversionFieldMixin = crisprControlMixin(CrisprFieldComponent);
26
23
  export class UnitConversionFieldComponent extends UnitConversionFieldMixin {
@@ -67,49 +64,18 @@ export class UnitConversionFieldComponent extends UnitConversionFieldMixin {
67
64
  }
68
65
  }
69
66
  UnitConversionFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
70
- UnitConversionFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: UnitConversionFieldComponent, selector: "crispr-unit-conversion-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "component", type: i3.OptionComponent, selector: "crispr-option", inputs: ["option"] }, { kind: "directive", type: i4.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: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
67
+ UnitConversionFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: UnitConversionFieldComponent, isStandalone: true, selector: "crispr-unit-conversion-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "component", type: OptionComponent, selector: "crispr-option", inputs: ["option"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
71
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldComponent, decorators: [{
72
69
  type: Component,
73
- args: [{ selector: 'crispr-unit-conversion-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\n"] }]
74
- }] });
75
- export class UnitConversionFieldModule {
76
- }
77
- UnitConversionFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
78
- UnitConversionFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldModule, declarations: [UnitConversionFieldComponent], imports: [CommonModule,
79
- InfoModule,
80
- OptionModule,
81
- ReactiveFormsModule,
82
- FieldContainerModule,
83
- MatInputModule,
84
- MatSelectModule,
85
- MatOptionModule], exports: [UnitConversionFieldComponent] });
86
- UnitConversionFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldModule, imports: [CommonModule,
87
- InfoModule,
88
- OptionModule,
89
- ReactiveFormsModule,
90
- FieldContainerModule,
91
- MatInputModule,
92
- MatSelectModule,
93
- MatOptionModule] });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldModule, decorators: [{
95
- type: NgModule,
96
- args: [{
97
- imports: [
70
+ args: [{ selector: 'crispr-unit-conversion-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
98
71
  CommonModule,
99
- InfoModule,
100
- OptionModule,
72
+ InfoComponent,
73
+ OptionComponent,
101
74
  ReactiveFormsModule,
102
- FieldContainerModule,
75
+ FieldContainerComponent,
103
76
  MatInputModule,
104
77
  MatSelectModule,
105
78
  MatOptionModule,
106
- ],
107
- exports: [
108
- UnitConversionFieldComponent
109
- ],
110
- declarations: [
111
- UnitConversionFieldComponent
112
- ]
113
- }]
79
+ ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\n"] }]
114
80
  }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwvdW5pdC1jb252ZXJzaW9uLWZpZWxkL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3VuaXQtY29udmVyc2lvbi1maWVsZC91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixD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WTtRQUNaLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlLGFBM0ROLDRCQUE0Qjt1SEFvRTVCLHlCQUF5QixZQWhCbEMsWUFBWTtRQUNaLFVBQVU7UUFDVixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsZUFBZTtRQUNmLGVBQWU7MkZBU04seUJBQXlCO2tCQWxCckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNEJBQTRCO3FCQUM3QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgb2JzZXJ2YWJsaWZ5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2Zvcm0uaGVscGVycyc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW5pdENvbnZlcnNpb25GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy91bml0LWNvbnZlcnNpb24tZmllbGQuY29uZmlnJztcbmltcG9ydCB7IEluZm9Nb2R1bGUgfSBmcm9tICcuLi9pbmZvL2luZm8uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbk1vZHVsZSB9IGZyb20gJy4uL29wdGlvbic7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8VW5pdENvbnZlcnNpb25GaWVsZENvbmZpZz4gPSB7fTtcbmNvbnN0IFVuaXRDb252ZXJzaW9uRmllbGRNaXhpbiA9IGNyaXNwckNvbnRyb2xNaXhpbjxVbml0Q29udmVyc2lvbkZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2NyaXNwci11bml0LWNvbnZlcnNpb24tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBVbml0Q29udmVyc2lvbkZpZWxkTWl4aW4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGRlZmF1bHRDb25maWcgPSBkZWZhdWx0Q29uZmlnO1xuXG4gIGRpc3BsYXlWYWx1ZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgdW5pdFNlbGVjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgdW5pdE9wdGlvbnMkOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbltdPjtcblxuICB0cmFuc2Zvcm1hdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8gVE9ETzogVmFsaWRhdG9ycyBuZWVkIHdvcmsuIHZhbGlkYXRpb24gaXMgdHJpY2t5IGJlY2F1c2UgdGhlIGlucHV0IG5lZWRzIHRvIGJlIHZhbGlkYXRlZCBhZ2FpbnN0IGJ1dCB0aGUgdmFsaWRhdG9yIHdpbGwgY29tcGFyZSBhZ2FpbnN0IHRoZSBjb250cm9scyB2YWx1ZVxuICAgIC8vIHRoaXMuZGlzcGxheVZhbHVlQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuY29uZmlnLnZhbGlkYXRvcnMpO1xuXG4gICAgY29uc3QgY29udHJvbFZhbHVlUGlwZWxpbmU6IE9ic2VydmFibGU8c3RyaW5nPltdID0gW1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWVDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wudmFsdWUpKVxuICAgIF07XG4gICAgLy8gc2V0dXAgYWxsIHJlcXVpcmVkIHBpZWNlcyB3aGVuIHNob3dpbmcgYSBmaWVsZCBmb3Igc2VsZWN0aW5nIHVuaXRzXG4gICAgaWYgKHRoaXMuY29uZmlnLnNob3dVbml0U2VsZWN0KSB7XG4gICAgICB0aGlzLnVuaXRPcHRpb25zJCA9IG9ic2VydmFibGlmeU9wdGlvbnModGhpcy5jb25maWcuc2VsZWN0YWJsZVVuaXRzLCB0aGlzLmdyb3VwKVxuICAgICAgY29udHJvbFZhbHVlUGlwZWxpbmUucHVzaCh0aGlzLnVuaXRTZWxlY3RDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmNvbmZpZz8uaW5pdGlhbERpc3BsYXlVbml0IHx8IG51bGwpKSk7XG4gICAgICB0aGlzLnVuaXRTZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuY29uZmlnPy5pbml0aWFsRGlzcGxheVVuaXQgfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoY29udHJvbFZhbHVlUGlwZWxpbmUpLnN1YnNjcmliZSgoW2Rpc3BsYXlWYWx1ZSwgdW5pdFZhbHVlXSApPT4ge1xuICAgICAgY29uc3QgY29tcHV0ZWRWYWx1ZSA9IHRoaXMuY29uZmlnLnN0b3JlZFZhbHVlQ29udmVyc2lvbihkaXNwbGF5VmFsdWUsIHVuaXRWYWx1ZSk7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoY29tcHV0ZWRWYWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzZXRJbml0aWFsRGlzcGxheVZhbHVlKHN0b3JlZFZhbHVlOiBhbnksIHVuaXQ6IHVua25vd24pIHtcbiAgICBjb25zdCBpbml0aWFsRGlzcGxheVZhbHVlID0gdGhpcy5jb25maWcuaW5pdGlhbERpc3BsYXlWYWx1ZUNvbnZlcnNpb24oc3RvcmVkVmFsdWUgfHwgbnVsbCwgdW5pdCk7XG4gICAgdGhpcy5kaXNwbGF5VmFsdWVDb250cm9sLnNldFZhbHVlKGluaXRpYWxEaXNwbGF5VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIG92ZXJyaWRlIHRoZSAnc2V0Q29udHJvbFZhbHVlJyB3ZSBpbmhlcml0ZWQgZnJvbSBjcmlzcHJDb250cm9sTWl4aW4gYW5kIGFkZCBvdXIgY3VzdG9tIGxvZ2ljLFxuICAgKiBUaGlzIGZ1bmN0aW9uIGdldHMgY2FsbGVkIG9uSW5pdCBiZWNhdXNlIHdlcmUgb2JqZWN0IG9yaWVudGVkLiBpdCdzIHNvIGdyZWF0LCBzbyBncmVhdCB0aGF0IEknbVxuICAgKiB0eXBpbmcgYSBwYXJhZ3JhcGggdG8gZXhwbGFpbiB3aGF0IHRoZSBoZWxsIGlzIGdvaW5nIG9uLi4uXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIGNvbnRyb2wgcGFzc2VkIGRvd24gZnJvbSB0aGUgZm9ybSBjb21wb25lbnRzIGlucHV0XG4gICAqL1xuICBzZXRDb250cm9sVmFsdWUodmFsdWUpIHtcbiAgICBjb25zdCBpbml0aWFsVW5pdFZhbHVlID0gdGhpcy5jb25maWcuc2hvd1VuaXRTZWxlY3QgPyB0aGlzLmNvbmZpZz8uaW5pdGlhbERpc3BsYXlVbml0IDogbnVsbDtcbiAgICB0aGlzLnNldEluaXRpYWxEaXNwbGF5VmFsdWUodmFsdWUsIGluaXRpYWxVbml0VmFsdWUpO1xuICB9XG59XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9Nb2R1bGUsXG4gICAgT3B0aW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnRcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVuaXRDb252ZXJzaW9uRmllbGRNb2R1bGUge1xufVxuIiwiPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgW3N0eWxlLndpZHRoLiVdPVwiY29uZmlnLnNob3dVbml0U2VsZWN0ID8gNjAgOiAxMDBcIlxuICAgIGNsYXNzPVwibnVtYmVyLWZpZWxkXCJcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbF09XCJkaXNwbGF5VmFsdWVDb250cm9sXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW21pbl09XCJjb25maWcubWluXCJcbiAgICAgIFttYXhdPVwiY29uZmlnLm1heFwiXG4gICAgICBbc3RlcF09XCJjb25maWcuc3RlcFwiXG4gICAgICBbYXV0b2ZvY3VzXT1cImNvbmZpZy5hdXRvZm9jdXNcIj5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5maWVsZFN1ZmZpeFwiIG1hdFN1ZmZpeD57e2NvbmZpZy5maWVsZFN1ZmZpeH19PC9zcGFuPlxuICAgIDxjcmlzcHItaW5mb1xuICAgICAgbWF0U3VmZml4XG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgPC9jcmlzcHItaW5mbz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAqbmdJZj1cImNvbmZpZy5zaG93VW5pdFNlbGVjdFwiXG4gICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiY29uZmlnLmFwcGVhcmFuY2VcIlxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICAgIGNsYXNzPVwidW5pdC1maWVsZFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgI3NlbGVjdEZpZWxkXG4gICAgICBbZm9ybUNvbnRyb2xdPVwidW5pdFNlbGVjdENvbnRyb2xcIj5cblxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB1bml0T3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgPGNyaXNwci1vcHRpb24gW29wdGlvbl09XCJvcHRpb25cIj5cbiAgICAgICAgPC9jcmlzcHItb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwvdW5pdC1jb252ZXJzaW9uLWZpZWxkL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3VuaXQtY29udmVyc2lvbi1maWVsZC91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQs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QUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgb2JzZXJ2YWJsaWZ5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2Zvcm0uaGVscGVycyc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW5pdENvbnZlcnNpb25GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy91bml0LWNvbnZlcnNpb24tZmllbGQuY29uZmlnJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuLi9pbmZvL2luZm8uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8VW5pdENvbnZlcnNpb25GaWVsZENvbmZpZz4gPSB7fTtcbmNvbnN0IFVuaXRDb252ZXJzaW9uRmllbGRNaXhpbiA9IGNyaXNwckNvbnRyb2xNaXhpbjxVbml0Q29udmVyc2lvbkZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2NyaXNwci11bml0LWNvbnZlcnNpb24tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9Db21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudCBleHRlbmRzIFVuaXRDb252ZXJzaW9uRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG5cbiAgZGlzcGxheVZhbHVlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICB1bml0U2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICB1bml0T3B0aW9ucyQ6IE9ic2VydmFibGU8U2VsZWN0T3B0aW9uW10+O1xuXG4gIHRyYW5zZm9ybWF0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvLyBUT0RPOiBWYWxpZGF0b3JzIG5lZWQgd29yay4gdmFsaWRhdGlvbiBpcyB0cmlja3kgYmVjYXVzZSB0aGUgaW5wdXQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYnV0IHRoZSB2YWxpZGF0b3Igd2lsbCBjb21wYXJlIGFnYWluc3QgdGhlIGNvbnRyb2xzIHZhbHVlXG4gICAgLy8gdGhpcy5kaXNwbGF5VmFsdWVDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5jb25maWcudmFsaWRhdG9ycyk7XG5cbiAgICBjb25zdCBjb250cm9sVmFsdWVQaXBlbGluZTogT2JzZXJ2YWJsZTxzdHJpbmc+W10gPSBbXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZGlzcGxheVZhbHVlQ29udHJvbC52YWx1ZSkpXG4gICAgXTtcbiAgICAvLyBzZXR1cCBhbGwgcmVxdWlyZWQgcGllY2VzIHdoZW4gc2hvd2luZyBhIGZpZWxkIGZvciBzZWxlY3RpbmcgdW5pdHNcbiAgICBpZiAodGhpcy5jb25maWcuc2hvd1VuaXRTZWxlY3QpIHtcbiAgICAgIHRoaXMudW5pdE9wdGlvbnMkID0gb2JzZXJ2YWJsaWZ5T3B0aW9ucyh0aGlzLmNvbmZpZy5zZWxlY3RhYmxlVW5pdHMsIHRoaXMuZ3JvdXApXG4gICAgICBjb250cm9sVmFsdWVQaXBlbGluZS5wdXNoKHRoaXMudW5pdFNlbGVjdENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29uZmlnPy5pbml0aWFsRGlzcGxheVVuaXQgfHwgbnVsbCkpKTtcbiAgICAgIHRoaXMudW5pdFNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5jb25maWc/LmluaXRpYWxEaXNwbGF5VW5pdCB8fCBudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChjb250cm9sVmFsdWVQaXBlbGluZSkuc3Vic2NyaWJlKChbZGlzcGxheVZhbHVlLCB1bml0VmFsdWVdICk9PiB7XG4gICAgICBjb25zdCBjb21wdXRlZFZhbHVlID0gdGhpcy5jb25maWcuc3RvcmVkVmFsdWVDb252ZXJzaW9uKGRpc3BsYXlWYWx1ZSwgdW5pdFZhbHVlKTtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjb21wdXRlZFZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNldEluaXRpYWxEaXNwbGF5VmFsdWUoc3RvcmVkVmFsdWU6IGFueSwgdW5pdDogdW5rbm93bikge1xuICAgIGNvbnN0IGluaXRpYWxEaXNwbGF5VmFsdWUgPSB0aGlzLmNvbmZpZy5pbml0aWFsRGlzcGxheVZhbHVlQ29udmVyc2lvbihzdG9yZWRWYWx1ZSB8fCBudWxsLCB1bml0KTtcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbERpc3BsYXlWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogV2Ugb3ZlcnJpZGUgdGhlICdzZXRDb250cm9sVmFsdWUnIHdlIGluaGVyaXRlZCBmcm9tIGNyaXNwckNvbnRyb2xNaXhpbiBhbmQgYWRkIG91ciBjdXN0b20gbG9naWMsXG4gICAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgb25Jbml0IGJlY2F1c2Ugd2VyZSBvYmplY3Qgb3JpZW50ZWQuIGl0J3Mgc28gZ3JlYXQsIHNvIGdyZWF0IHRoYXQgSSdtXG4gICAqIHR5cGluZyBhIHBhcmFncmFwaCB0byBleHBsYWluIHdoYXQgdGhlIGhlbGwgaXMgZ29pbmcgb24uLi5cbiAgICogQHBhcmFtIHZhbHVlIHRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgY29udHJvbCBwYXNzZWQgZG93biBmcm9tIHRoZSBmb3JtIGNvbXBvbmVudHMgaW5wdXRcbiAgICovXG4gIHNldENvbnRyb2xWYWx1ZSh2YWx1ZSkge1xuICAgIGNvbnN0IGluaXRpYWxVbml0VmFsdWUgPSB0aGlzLmNvbmZpZy5zaG93VW5pdFNlbGVjdCA/IHRoaXMuY29uZmlnPy5pbml0aWFsRGlzcGxheVVuaXQgOiBudWxsO1xuICAgIHRoaXMuc2V0SW5pdGlhbERpc3BsYXlWYWx1ZSh2YWx1ZSwgaW5pdGlhbFVuaXRWYWx1ZSk7XG4gIH1cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtzdHlsZS53aWR0aC4lXT1cImNvbmZpZy5zaG93VW5pdFNlbGVjdCA/IDYwIDogMTAwXCJcbiAgICBjbGFzcz1cIm51bWJlci1maWVsZFwiXG4gICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiY29uZmlnLmFwcGVhcmFuY2VcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwiY29uZmlnLmxhYmVsXCI+XG4gICAgICB7e2NvbmZpZy5sYWJlbH19XG4gICAgPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIG1hdElucHV0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZGlzcGxheVZhbHVlQ29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgIFttaW5dPVwiY29uZmlnLm1pblwiXG4gICAgICBbbWF4XT1cImNvbmZpZy5tYXhcIlxuICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgW2F1dG9mb2N1c109XCJjb25maWcuYXV0b2ZvY3VzXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJjb25maWcuZmllbGRTdWZmaXhcIiBtYXRTdWZmaXg+e3tjb25maWcuZmllbGRTdWZmaXh9fTwvc3Bhbj5cbiAgICA8Y3Jpc3ByLWluZm9cbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgKm5nSWY9XCJjb25maWcuaW5mb1wiXG4gICAgICBbaW5mb109XCJjb25maWcuaW5mb1wiPlxuICAgIDwvY3Jpc3ByLWluZm8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgKm5nSWY9XCJjb25maWcuc2hvd1VuaXRTZWxlY3RcIlxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgICBjbGFzcz1cInVuaXQtZmllbGRcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwiY29uZmlnLmxhYmVsXCI+XG4gICAgICB7e2NvbmZpZy5sYWJlbH19XG4gICAgPC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgICNzZWxlY3RGaWVsZFxuICAgICAgW2Zvcm1Db250cm9sXT1cInVuaXRTZWxlY3RDb250cm9sXCI+XG5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdW5pdE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgIDxjcmlzcHItb3B0aW9uIFtvcHRpb25dPVwib3B0aW9uXCI+XG4gICAgICAgIDwvY3Jpc3ByLW9wdGlvbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIChjb250cm9sLnZhbGlkIHx8ICFjb250cm9sLnRvdWNoZWQpXCI+e3tjb25maWcuaGludH19PC9tYXQtaGludD5cblxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { CrisprFieldModule } from '../field.directive';
4
- import { FieldContainerModule } from '../field-container';
3
+ import { CrisprFieldDirective } from '../field.directive';
4
+ import { FieldContainerComponent } from '../field-container';
5
5
  import { CrisprPipesModule } from '../pipes/crispr-pipes.module';
6
6
  import { SubGroupComponent } from './sub-group.component';
7
7
  import { FormValidationHandlerModule } from '@tft/form-validation-handler';
@@ -10,14 +10,13 @@ export class SubGroupModule {
10
10
  }
11
11
  SubGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
12
  SubGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, declarations: [SubGroupComponent], imports: [CommonModule,
13
- CrisprFieldModule,
14
- FieldContainerModule,
13
+ CrisprFieldDirective,
14
+ FieldContainerComponent,
15
15
  CrisprPipesModule,
16
16
  // TODO: Does this need to be here?
17
17
  FormValidationHandlerModule], exports: [SubGroupComponent] });
18
18
  SubGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, imports: [CommonModule,
19
- CrisprFieldModule,
20
- FieldContainerModule,
19
+ FieldContainerComponent,
21
20
  CrisprPipesModule,
22
21
  // TODO: Does this need to be here?
23
22
  FormValidationHandlerModule] });
@@ -26,8 +25,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
26
25
  args: [{
27
26
  imports: [
28
27
  CommonModule,
29
- CrisprFieldModule,
30
- FieldContainerModule,
28
+ CrisprFieldDirective,
29
+ FieldContainerComponent,
31
30
  CrisprPipesModule,
32
31
  // TODO: Does this need to be here?
33
32
  FormValidationHandlerModule
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
40
39
  ]
41
40
  }]
42
41
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWdyb3VwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvc3ViLWdyb3VwL3N1Yi1ncm91cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBa0IzRSxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUp2QixpQkFBaUIsYUFYakIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQywyQkFBMkIsYUFHM0IsaUJBQWlCOzRHQU9SLGNBQWMsWUFmdkIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQywyQkFBMkI7MkZBVWxCLGNBQWM7a0JBakIxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLG1DQUFtQzt3QkFDbkMsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRNb2R1bGUgfSBmcm9tICcuLi9maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJNb2R1bGUgfSBmcm9tICcuLi9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgQ3Jpc3ByUGlwZXNNb2R1bGUgfSBmcm9tICcuLi9waXBlcy9jcmlzcHItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFN1Ykdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSB9IGZyb20gJ0B0ZnQvZm9ybS12YWxpZGF0aW9uLWhhbmRsZXInO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDcmlzcHJGaWVsZE1vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lck1vZHVsZSxcbiAgICBDcmlzcHJQaXBlc01vZHVsZSxcbiAgICAvLyBUT0RPOiBEb2VzIHRoaXMgbmVlZCB0byBiZSBoZXJlP1xuICAgIEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU3ViR3JvdXBDb21wb25lbnRcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3ViR3JvdXBDb21wb25lbnRcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIFN1Ykdyb3VwTW9kdWxlIHtcbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWdyb3VwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvc3ViLWdyb3VwL3N1Yi1ncm91cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBa0IzRSxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUp2QixpQkFBaUIsYUFYakIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQywyQkFBMkIsYUFHM0IsaUJBQWlCOzRHQU9SLGNBQWMsWUFmdkIsWUFBWTtRQUVaLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsbUNBQW1DO1FBQ25DLDJCQUEyQjsyRkFVbEIsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsbUNBQW1DO3dCQUNuQywyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDWixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4uL3BpcGVzL2NyaXNwci1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU3ViR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENyaXNwckZpZWxkRGlyZWN0aXZlLFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIENyaXNwclBpcGVzTW9kdWxlLFxuICAgIC8vIFRPRE86IERvZXMgdGhpcyBuZWVkIHRvIGJlIGhlcmU/XG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTdWJHcm91cENvbXBvbmVudFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTdWJHcm91cENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgU3ViR3JvdXBNb2R1bGUge1xufVxuIl19