@flywheel-io/vision 1.7.3 → 1.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 (49) hide show
  1. package/components/checkbox/checkbox.component.d.ts +15 -10
  2. package/components/checkbox/checkbox.module.d.ts +2 -1
  3. package/components/contained-input/contained-input.component.d.ts +8 -1
  4. package/components/date-input/date-input.component.d.ts +6 -1
  5. package/components/menu/menu-item/menu-item.component.d.ts +2 -1
  6. package/components/menu/menu.module.d.ts +3 -1
  7. package/components/radio/radio-group.component.d.ts +32 -0
  8. package/components/radio/radio.component.d.ts +17 -0
  9. package/components/radio/radio.module.d.ts +10 -0
  10. package/components/section-heading/back-button/back-button.component.d.ts +3 -1
  11. package/components/section-heading/section-heading.component.d.ts +2 -1
  12. package/components/table/cell.d.ts +63 -0
  13. package/components/table/row.d.ts +60 -0
  14. package/components/table/table-dense.component.d.ts +11 -0
  15. package/components/table/table.component.d.ts +11 -0
  16. package/components/table/table.module.d.ts +12 -0
  17. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  18. package/esm2020/components/alert/alert.component.mjs +3 -3
  19. package/esm2020/components/avatar/avatar.component.mjs +3 -3
  20. package/esm2020/components/button-toggle/button-toggle.component.mjs +16 -10
  21. package/esm2020/components/checkbox/checkbox.component.mjs +54 -17
  22. package/esm2020/components/checkbox/checkbox.module.mjs +10 -3
  23. package/esm2020/components/contained-input/contained-input.component.mjs +34 -5
  24. package/esm2020/components/date-input/date-input.component.mjs +39 -2
  25. package/esm2020/components/layouts/grid/grid.component.mjs +3 -1
  26. package/esm2020/components/menu/menu-item/menu-item.component.mjs +8 -3
  27. package/esm2020/components/menu/menu.module.mjs +11 -3
  28. package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +1 -1
  29. package/esm2020/components/phone-input/phone-input.component.mjs +1 -1
  30. package/esm2020/components/radio/radio-group.component.mjs +117 -0
  31. package/esm2020/components/radio/radio.component.mjs +51 -0
  32. package/esm2020/components/radio/radio.module.mjs +36 -0
  33. package/esm2020/components/section-heading/back-button/back-button.component.mjs +15 -5
  34. package/esm2020/components/section-heading/section-heading.component.mjs +5 -3
  35. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +1 -1
  36. package/esm2020/components/select-menu/select-menu.component.mjs +1 -1
  37. package/esm2020/components/table/cell.mjs +151 -0
  38. package/esm2020/components/table/row.mjs +170 -0
  39. package/esm2020/components/table/table-dense.component.mjs +38 -0
  40. package/esm2020/components/table/table.component.mjs +38 -0
  41. package/esm2020/components/table/table.module.mjs +91 -0
  42. package/esm2020/components/wrapped-input/wrapped-input.component.mjs +3 -3
  43. package/esm2020/public-api.mjs +12 -1
  44. package/fesm2015/flywheel-io-vision.mjs +893 -103
  45. package/fesm2015/flywheel-io-vision.mjs.map +1 -1
  46. package/fesm2020/flywheel-io-vision.mjs +892 -103
  47. package/fesm2020/flywheel-io-vision.mjs.map +1 -1
  48. package/package.json +2 -2
  49. package/public-api.d.ts +11 -0
@@ -1,42 +1,79 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
4
6
  export class FwCheckboxComponent {
5
7
  constructor() {
6
- this.checked = false;
7
- this.indeterminate = false;
8
+ this.disabled = false;
8
9
  this.size = 'medium';
9
10
  this.color = 'primary';
11
+ this.focused = false;
12
+ this.onTouch = () => {
13
+ };
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+ this.onChange = (value) => {
16
+ };
10
17
  }
11
- get checkboxStyle() {
12
- return `${this.color} ${this.size} ${this.focused} ${this.indeterminate && 'indeterminate' || ''} ${this.disabled && 'disabled' || ''}`;
18
+ get checkboxStyles() {
19
+ return [
20
+ 'fw-checkbox',
21
+ this.color,
22
+ this.size,
23
+ this.focused ? 'focused' : '',
24
+ this.checked === undefined ? 'indeterminate' : '',
25
+ this.disabled ? 'disabled' : '',
26
+ ];
13
27
  }
14
- get labelStyle() {
15
- return this.disabled && 'label-disabled' || '';
28
+ writeValue(checked) {
29
+ this.checked = checked;
16
30
  }
17
- setIndeterminate() {
18
- this.indeterminate = false;
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ registerOnChange(fn) {
33
+ this.onChange = fn;
19
34
  }
20
- setFocus(focus = '') {
21
- this.focused = focus;
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ registerOnTouched(fn) {
37
+ this.onTouch = fn;
38
+ }
39
+ onModelChange(e) {
40
+ this.checked = e;
41
+ this.onChange(e);
42
+ }
43
+ setDisabledState(isDisabled) {
44
+ this.disabled = isDisabled;
45
+ }
46
+ handleClick() {
47
+ if (!this.disabled) {
48
+ this.checked = !this.checked;
49
+ this.onTouch();
50
+ }
22
51
  }
23
52
  }
24
53
  FwCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- FwCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwCheckboxComponent, selector: "fw-checkbox", inputs: { checked: "checked", indeterminate: "indeterminate", disabled: "disabled", size: "size", color: "color", label: "label" }, ngImport: i0, template: "<div class=\"checkbox-wrapper\">\n <div class=\"fw-checkbox\" [class]=\"checkboxStyle\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (focusout)=\"setFocus()\"\n (focusin)=\"setFocus('focused')\"\n (click)=\"setIndeterminate()\"/>\n </div>\n <span [class]=\"labelStyle\" *ngIf=\"label\">{{ label }}</span>\n</div>\n", styles: ["@charset \"UTF-8\";.checkbox-wrapper{display:flex;align-items:center;width:fit-content}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .indeterminate .checkbox:after{content:\"\\2212\";display:block}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{font-family:Flywheel-Vision-Icons,emoji;color:var(--page-light);font-weight:600;content:\"\\e91e\";font-size:15px;display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{display:block}.checkbox-wrapper .disabled:hover{background:none}.checkbox-wrapper .disabled .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper .disabled .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper .primary:hover{background:var(--primary-light)}.checkbox-wrapper .primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .primary.focused{background:var(--primary-light)}.checkbox-wrapper .primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .secondary:hover{background:var(--secondary-light)}.checkbox-wrapper .secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .secondary.focused{background:var(--secondary-light)}.checkbox-wrapper .secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .indeterminate.compact .checkbox:after{font-size:17px}.checkbox-wrapper .indeterminate.medium .checkbox:after{font-size:22px}.checkbox-wrapper .primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .disabled.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper .label-disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ FwCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwCheckboxComponent, selector: "fw-checkbox", inputs: { checked: "checked", disabled: "disabled", size: "size", color: "color", title: "title", focused: "focused" }, providers: [{
55
+ provide: NG_VALUE_ACCESSOR,
56
+ useExisting: FwCheckboxComponent,
57
+ multi: true,
58
+ }], ngImport: i0, template: "<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p>{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n", styles: [".checkbox-wrapper{display:flex;align-items:center;width:fit-content;cursor:pointer}.checkbox-wrapper p{margin:0 0 0 2px}.checkbox-wrapper p:empty{display:none}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{position:relative;display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{position:absolute;top:0;left:0;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;content:\" \";display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 11L0 5.99996L1.41 4.58996L5 8.16996L12.59 0.579956L14 1.99996L5 11Z' fill='white' style='fill:white;fill-opacity:1;'/%3E%3C/svg%3E%0A\");display:block}.checkbox-wrapper .fw-checkbox.primary:hover{background:var(--primary-hover)}.checkbox-wrapper .fw-checkbox.primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary .checkbox:focus{outline:none;border:2px solid var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary.focused{background:var(--primary-focus)}.checkbox-wrapper .fw-checkbox.primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .fw-checkbox.secondary:hover{background:var(--secondary-hover)}.checkbox-wrapper .fw-checkbox.secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary .checkbox:focus{outline:none;border:2px solid var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary.focused{background:var(--secondary-focus)}.checkbox-wrapper .fw-checkbox.secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .fw-checkbox.indeterminate .checkbox:after{background-image:url(\"data:image/svg+xml,%3Csvg class='svg-icon' style='width: 1em; height: 1em;vertical-align: middle;fill: white;overflow: hidden;' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M984.615385 541.538462c0 15.753846-13.784615 29.538462-29.538462 29.538461h-886.153846c-15.753846 0-29.538462-13.784615-29.538462-29.538461v-59.076924c0-15.753846 13.784615-29.538462 29.538462-29.538461h886.153846c15.753846 0 29.538462 13.784615 29.538462 29.538461v59.076924z' /%3E%3C/svg%3E\");display:block}.checkbox-wrapper .fw-checkbox.indeterminate .compact .checkbox:after{font-size:17px}.checkbox-wrapper .fw-checkbox.indeterminate .medium .checkbox:after{font-size:22px}.checkbox-wrapper.disabled{cursor:not-allowed;opacity:.4}.checkbox-wrapper.disabled .fw-checkbox:hover{background:none}.checkbox-wrapper.disabled .fw-checkbox .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper.disabled .fw-checkbox .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper.disabled .fw-checkbox.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper.disabled p{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
26
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxComponent, decorators: [{
27
60
  type: Component,
28
- args: [{ selector: 'fw-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox-wrapper\">\n <div class=\"fw-checkbox\" [class]=\"checkboxStyle\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (focusout)=\"setFocus()\"\n (focusin)=\"setFocus('focused')\"\n (click)=\"setIndeterminate()\"/>\n </div>\n <span [class]=\"labelStyle\" *ngIf=\"label\">{{ label }}</span>\n</div>\n", styles: ["@charset \"UTF-8\";.checkbox-wrapper{display:flex;align-items:center;width:fit-content}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .indeterminate .checkbox:after{content:\"\\2212\";display:block}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{font-family:Flywheel-Vision-Icons,emoji;color:var(--page-light);font-weight:600;content:\"\\e91e\";font-size:15px;display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{display:block}.checkbox-wrapper .disabled:hover{background:none}.checkbox-wrapper .disabled .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper .disabled .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper .primary:hover{background:var(--primary-light)}.checkbox-wrapper .primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .primary.focused{background:var(--primary-light)}.checkbox-wrapper .primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .secondary:hover{background:var(--secondary-light)}.checkbox-wrapper .secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .secondary.focused{background:var(--secondary-light)}.checkbox-wrapper .secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .indeterminate.compact .checkbox:after{font-size:17px}.checkbox-wrapper .indeterminate.medium .checkbox:after{font-size:22px}.checkbox-wrapper .primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .disabled.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper .label-disabled{color:var(--typography-light)}\n"] }]
61
+ args: [{ selector: 'fw-checkbox', providers: [{
62
+ provide: NG_VALUE_ACCESSOR,
63
+ useExisting: FwCheckboxComponent,
64
+ multi: true,
65
+ }], template: "<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p>{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n", styles: [".checkbox-wrapper{display:flex;align-items:center;width:fit-content;cursor:pointer}.checkbox-wrapper p{margin:0 0 0 2px}.checkbox-wrapper p:empty{display:none}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{position:relative;display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{position:absolute;top:0;left:0;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;content:\" \";display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 11L0 5.99996L1.41 4.58996L5 8.16996L12.59 0.579956L14 1.99996L5 11Z' fill='white' style='fill:white;fill-opacity:1;'/%3E%3C/svg%3E%0A\");display:block}.checkbox-wrapper .fw-checkbox.primary:hover{background:var(--primary-hover)}.checkbox-wrapper .fw-checkbox.primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary .checkbox:focus{outline:none;border:2px solid var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .fw-checkbox.primary.focused{background:var(--primary-focus)}.checkbox-wrapper .fw-checkbox.primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .fw-checkbox.secondary:hover{background:var(--secondary-hover)}.checkbox-wrapper .fw-checkbox.secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary .checkbox:focus{outline:none;border:2px solid var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .fw-checkbox.secondary.focused{background:var(--secondary-focus)}.checkbox-wrapper .fw-checkbox.secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .fw-checkbox.indeterminate .checkbox:after{background-image:url(\"data:image/svg+xml,%3Csvg class='svg-icon' style='width: 1em; height: 1em;vertical-align: middle;fill: white;overflow: hidden;' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M984.615385 541.538462c0 15.753846-13.784615 29.538462-29.538462 29.538461h-886.153846c-15.753846 0-29.538462-13.784615-29.538462-29.538461v-59.076924c0-15.753846 13.784615-29.538462 29.538462-29.538461h886.153846c15.753846 0 29.538462 13.784615 29.538462 29.538461v59.076924z' /%3E%3C/svg%3E\");display:block}.checkbox-wrapper .fw-checkbox.indeterminate .compact .checkbox:after{font-size:17px}.checkbox-wrapper .fw-checkbox.indeterminate .medium .checkbox:after{font-size:22px}.checkbox-wrapper.disabled{cursor:not-allowed;opacity:.4}.checkbox-wrapper.disabled .fw-checkbox:hover{background:none}.checkbox-wrapper.disabled .fw-checkbox .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper.disabled .fw-checkbox .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper.disabled .fw-checkbox.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper.disabled p{color:var(--typography-light)}\n"] }]
29
66
  }], propDecorators: { checked: [{
30
67
  type: Input
31
- }], indeterminate: [{
32
- type: Input
33
68
  }], disabled: [{
34
69
  type: Input
35
70
  }], size: [{
36
71
  type: Input
37
72
  }], color: [{
38
73
  type: Input
39
- }], label: [{
74
+ }], title: [{
75
+ type: Input
76
+ }], focused: [{
40
77
  type: Input
41
78
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBT1csWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUUvQixTQUFJLEdBQXlCLFFBQVEsQ0FBQztRQUN0QyxVQUFLLEdBQTRCLFNBQVMsQ0FBQztLQW1CckQ7SUFmQyxJQUFJLGFBQWE7UUFDZixPQUFPLEdBQUksSUFBSSxDQUFDLEtBQU0sSUFBSyxJQUFJLENBQUMsSUFBSyxJQUFLLElBQUksQ0FBQyxPQUFRLElBQUssSUFBSSxDQUFDLGFBQWEsSUFBSSxlQUFlLElBQUksRUFBRyxJQUFLLElBQUksQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLEVBQUcsRUFBRSxDQUFDO0lBQ3BKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCLEVBQUU7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7Z0hBdkJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHVMQ1JoQywrWkFhQTsyRkRMYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctY2hlY2tib3gnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRndDaGVja2JveENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2l6ZTogJ21lZGl1bScgfCAnY29tcGFjdCcgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgY29sb3I6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBmb2N1c2VkOiBzdHJpbmc7XG5cbiAgZ2V0IGNoZWNrYm94U3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7IHRoaXMuY29sb3IgfSAkeyB0aGlzLnNpemUgfSAkeyB0aGlzLmZvY3VzZWQgfSAkeyB0aGlzLmluZGV0ZXJtaW5hdGUgJiYgJ2luZGV0ZXJtaW5hdGUnIHx8ICcnIH0gJHsgdGhpcy5kaXNhYmxlZCAmJiAnZGlzYWJsZWQnIHx8ICcnIH1gO1xuICB9XG5cbiAgZ2V0IGxhYmVsU3R5bGUoKTogJ2xhYmVsLWRpc2FibGVkJyB8ICcnIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCAmJiAnbGFiZWwtZGlzYWJsZWQnIHx8ICcnO1xuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgfVxuXG4gIHNldEZvY3VzKGZvY3VzOiBzdHJpbmcgPSAnJyk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZvY3VzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hlY2tib3gtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiZnctY2hlY2tib3hcIiBbY2xhc3NdPVwiY2hlY2tib3hTdHlsZVwiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIGNsYXNzPVwiY2hlY2tib3hcIlxuICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGZvY3Vzb3V0KT1cInNldEZvY3VzKClcIlxuICAgICAgKGZvY3VzaW4pPVwic2V0Rm9jdXMoJ2ZvY3VzZWQnKVwiXG4gICAgICAoY2xpY2spPVwic2V0SW5kZXRlcm1pbmF0ZSgpXCIvPlxuICA8L2Rpdj5cbiAgPHNwYW4gW2NsYXNzXT1cImxhYmVsU3R5bGVcIiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBWXpFLE1BQU0sT0FBTyxtQkFBbUI7SUFWaEM7UUFZVyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBeUIsUUFBUSxDQUFDO1FBQ3RDLFVBQUssR0FBNEIsU0FBUyxDQUFDO1FBRTNDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFhM0IsWUFBTyxHQUFHLEdBQVMsRUFBRTtRQUM1QixDQUFDLENBQUM7UUFDRiw2REFBNkQ7UUFDdEQsYUFBUSxHQUFHLENBQUMsS0FBYyxFQUFRLEVBQUU7UUFDM0MsQ0FBQyxDQUFDO0tBZ0NIO0lBL0NDLElBQUksY0FBYztRQUNoQixPQUFPO1lBQ0wsYUFBYTtZQUNiLElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLElBQUk7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFRRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR0QsYUFBYSxDQUFDLENBQVU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDOztnSEF0RFUsbUJBQW1CO29HQUFuQixtQkFBbUIsOEpBTm5CLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ1hKLDhjQWdCQTsyRkRIYSxtQkFBbUI7a0JBVi9CLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7OEJBR08sT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1jaGVja2JveCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogRndDaGVja2JveENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGNoZWNrZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplOiAnbWVkaXVtJyB8ICdjb21wYWN0JyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBjb2xvcjogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgY2hlY2tib3hTdHlsZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnZnctY2hlY2tib3gnLFxuICAgICAgdGhpcy5jb2xvcixcbiAgICAgIHRoaXMuc2l6ZSxcbiAgICAgIHRoaXMuZm9jdXNlZCA/ICdmb2N1c2VkJyA6ICcnLFxuICAgICAgdGhpcy5jaGVja2VkID09PSB1bmRlZmluZWQgPyAnaW5kZXRlcm1pbmF0ZScgOiAnJyxcbiAgICAgIHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJycsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBvblRvdWNoID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBvbkNoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbik6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHdyaXRlVmFsdWUoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuXG4gIG9uTW9kZWxDaGFuZ2UoZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IGU7XG4gICAgdGhpcy5vbkNoYW5nZShlKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hlY2tib3gtd3JhcHBlclwiIChjbGljayk9XCJoYW5kbGVDbGljaygpXCIgW25nQ2xhc3NdPVwiZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ1wiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cImNoZWNrYm94U3R5bGVzXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgY2xhc3M9XCJjaGVja2JveFwiXG4gICAgICBbbmdNb2RlbF09XCJjaGVja2VkXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGZvY3Vzb3V0KT1cImZvY3VzZWQ9ZmFsc2VcIlxuICAgICAgKGZvY3VzaW4pPVwiZm9jdXNlZD10cnVlXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPHA+e3sgdGl0bGUgfX1cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvcD5cbjwvZGl2PlxuIl19
@@ -1,17 +1,24 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
4
  import { FwCheckboxComponent } from './checkbox.component';
4
5
  import * as i0 from "@angular/core";
5
6
  export class FwCheckboxModule {
6
7
  }
7
8
  FwCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- FwCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, declarations: [FwCheckboxComponent], imports: [CommonModule], exports: [FwCheckboxComponent] });
9
- FwCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, imports: [CommonModule] });
9
+ FwCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, declarations: [FwCheckboxComponent], imports: [CommonModule,
10
+ ReactiveFormsModule,
11
+ FormsModule], exports: [FwCheckboxComponent] });
12
+ FwCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, imports: [CommonModule,
13
+ ReactiveFormsModule,
14
+ FormsModule] });
10
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, decorators: [{
11
16
  type: NgModule,
12
17
  args: [{
13
18
  imports: [
14
19
  CommonModule,
20
+ ReactiveFormsModule,
21
+ FormsModule,
15
22
  ],
16
23
  exports: [
17
24
  FwCheckboxComponent,
@@ -21,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
21
28
  ],
22
29
  }]
23
30
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWEzRCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBSHpCLG1CQUFtQixhQU5uQixZQUFZLGFBR1osbUJBQW1COzhHQU1WLGdCQUFnQixZQVR6QixZQUFZOzJGQVNILGdCQUFnQjtrQkFYNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRndDaGVja2JveENvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRndDaGVja2JveENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndDaGVja2JveE1vZHVsZSB7XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFlM0QsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUh6QixtQkFBbUIsYUFSbkIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXLGFBR1gsbUJBQW1COzhHQU1WLGdCQUFnQixZQVh6QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7MkZBU0YsZ0JBQWdCO2tCQWI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZ3Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZ3Q2hlY2tib3hDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3Q2hlY2tib3hDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q2hlY2tib3hNb2R1bGUge1xufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "../switch/switch.component";
@@ -9,10 +10,16 @@ export class FwContainedInputComponent {
9
10
  this.inputVariant = 'switch';
10
11
  // eslint-disable-next-line @angular-eslint/no-output-native
11
12
  this.change = new EventEmitter();
13
+ this.onTouch = () => {
14
+ };
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
+ this.onChange = (value) => {
17
+ };
12
18
  }
13
19
  clicked() {
14
- this.checked = !this.checked;
15
- this.change.emit(true);
20
+ this.writeValue(!this.checked);
21
+ this.onChange(this.checked);
22
+ this.change.emit(this.checked);
16
23
  }
17
24
  get classes() {
18
25
  return [
@@ -23,12 +30,34 @@ export class FwContainedInputComponent {
23
30
  ].join(' ');
24
31
  }
25
32
  ;
33
+ writeValue(checked) {
34
+ this.checked = checked;
35
+ }
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ registerOnChange(fn) {
38
+ this.onChange = fn;
39
+ }
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ registerOnTouched(fn) {
42
+ this.onTouch = fn;
43
+ }
44
+ setDisabledState(isDisabled) {
45
+ this.disabled = isDisabled;
46
+ }
26
47
  }
27
48
  FwContainedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- FwContainedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwContainedInputComponent, selector: "fw-contained-input", inputs: { title: "title", description: "description", status: "status", inputPosition: "inputPosition", inputVariant: "inputVariant", checked: "checked", disabled: "disabled" }, outputs: { change: "change" }, host: { listeners: { "click": "clicked()" }, properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwSwitchComponent, selector: "fw-switch", inputs: ["name", "title", "titlePosition", "size", "color", "disabled", "checked"], outputs: ["change"] }, { kind: "component", type: i3.FwCheckboxComponent, selector: "fw-checkbox", inputs: ["checked", "indeterminate", "disabled", "size", "color", "label"] }] });
49
+ FwContainedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwContainedInputComponent, selector: "fw-contained-input", inputs: { title: "title", description: "description", status: "status", inputPosition: "inputPosition", inputVariant: "inputVariant", checked: "checked", disabled: "disabled" }, outputs: { change: "change" }, host: { listeners: { "click": "clicked()" }, properties: { "attr.class": "this.classes" } }, providers: [{
50
+ provide: NG_VALUE_ACCESSOR,
51
+ useExisting: FwContainedInputComponent,
52
+ multi: true,
53
+ }], ngImport: i0, template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwSwitchComponent, selector: "fw-switch", inputs: ["name", "title", "titlePosition", "size", "color", "disabled", "checked"], outputs: ["change"] }, { kind: "component", type: i3.FwCheckboxComponent, selector: "fw-checkbox", inputs: ["checked", "disabled", "size", "color", "title", "focused"] }] });
29
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputComponent, decorators: [{
30
55
  type: Component,
31
- args: [{ selector: 'fw-contained-input', template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"] }]
56
+ args: [{ selector: 'fw-contained-input', providers: [{
57
+ provide: NG_VALUE_ACCESSOR,
58
+ useExisting: FwContainedInputComponent,
59
+ multi: true,
60
+ }], template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"] }]
32
61
  }], propDecorators: { title: [{
33
62
  type: Input
34
63
  }], description: [{
@@ -52,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
52
81
  type: HostBinding,
53
82
  args: ['attr.class']
54
83
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lZC1pbnB1dC9jb250YWluZWQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVkLWlucHV0L2NvbnRhaW5lZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT2xHLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFTVyxrQkFBYSxHQUFxQixLQUFLLENBQUM7UUFDeEMsaUJBQVksR0FBb0MsUUFBUSxDQUFDO1FBR2xFLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQWVoRDtJQWJ3QixPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUErQixPQUFPO1FBQ3BDLE9BQU87WUFDTCxvQkFBb0I7WUFDcEIsWUFBWSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNsQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFBQSxDQUFDOztzSEF2QlMseUJBQXlCOzBHQUF6Qix5QkFBeUIsd1dDUHRDLDJtQkFjQTsyRkRQYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUtyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFFZ0IsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPO2dCQUtVLE9BQU87c0JBQXJDLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWNvbnRhaW5lZC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWluZWQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWluZWQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndDb250YWluZWRJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBzdGF0dXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlucHV0UG9zaXRpb24/OiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJztcbiAgQElucHV0KCkgaW5wdXRWYXJpYW50PzogJ25vbmUnIHwgJ3N3aXRjaCcgfCAnY2hlY2tib3gnID0gJ3N3aXRjaCc7XG4gIEBJbnB1dCgpIGNoZWNrZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnZnctY29udGFpbmVkLWlucHV0JyxcbiAgICAgIGBwb3NpdGlvbi0ke3RoaXMuaW5wdXRQb3NpdGlvbn1gLFxuICAgICAgW3RoaXMuY2hlY2tlZCA/ICdjaGVja2VkJyA6ICcnXSxcbiAgICAgIFt0aGlzLmRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnXSxcbiAgICBdLmpvaW4oJyAnKTtcbiAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkaW5nLWFyZWFcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYXZhdGFyXCI+PC9uZy1jb250ZW50PlxuICA8ZGl2PlxuICAgIDxoNCBjbGFzcz1cInNlY3Rpb24taGVhZGluZ1wiPnt7IHRpdGxlIH19XG4gICAgICA8c3BhbiAqbmdJZj1cInN0YXR1c1wiIGNsYXNzPVwic3RhdHVzXCI+e3sgc3RhdHVzLnRvVXBwZXJDYXNlKCkgfX08L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvaDQ+XG4gICAgPHAgY2xhc3M9XCJ2aXNpb24tcDNcIiAqbmdJZj1cImRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXQtY29udGVudFwiPlxuICA8Znctc3dpdGNoICpuZ0lmPVwiaW5wdXRWYXJpYW50PT09J3N3aXRjaCdcIiBbY2hlY2tlZF09XCJjaGVja2VkXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9mdy1zd2l0Y2g+XG4gIDxmdy1jaGVja2JveCAqbmdJZj1cImlucHV0VmFyaWFudD09PSdjaGVja2JveCdcIiBbY2hlY2tlZF09XCJjaGVja2VkXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9mdy1jaGVja2JveD5cbjwvZGl2PlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lZC1pbnB1dC9jb250YWluZWQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVkLWlucHV0L2NvbnRhaW5lZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVl6RSxNQUFNLE9BQU8seUJBQXlCO0lBVnRDO1FBY1csa0JBQWEsR0FBcUIsS0FBSyxDQUFDO1FBQ3hDLGlCQUFZLEdBQW9DLFFBQVEsQ0FBQztRQUdsRSw0REFBNEQ7UUFDbEQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFpQnhDLFlBQU8sR0FBRyxHQUFTLEVBQUU7UUFDNUIsQ0FBQyxDQUFDO1FBQ0YsNkRBQTZEO1FBQ3RELGFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBUSxFQUFFO1FBQzNDLENBQUMsQ0FBQztLQW1CSDtJQXRDd0IsT0FBTztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBK0IsT0FBTztRQUNwQyxPQUFPO1lBQ0wsb0JBQW9CO1lBQ3BCLFlBQVksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBQUEsQ0FBQztJQVFGLFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsOERBQThEO0lBQzlELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOztzSEFoRFUseUJBQXlCOzBHQUF6Qix5QkFBeUIsMlZBTnpCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ1hKLDJtQkFjQTsyRkREYSx5QkFBeUI7a0JBVnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBR25CLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVywyQkFBMkI7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7OEJBR08sS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBRWdCLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkFNVSxPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1jb250YWluZWQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFpbmVkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFpbmVkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogRndDb250YWluZWRJbnB1dENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q29udGFpbmVkSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBzdGF0dXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlucHV0UG9zaXRpb24/OiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJztcbiAgQElucHV0KCkgaW5wdXRWYXJpYW50PzogJ25vbmUnIHwgJ3N3aXRjaCcgfCAnY2hlY2tib3gnID0gJ3N3aXRjaCc7XG4gIEBJbnB1dCgpIGNoZWNrZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoIXRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5jbGFzcycpIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdmdy1jb250YWluZWQtaW5wdXQnLFxuICAgICAgYHBvc2l0aW9uLSR7dGhpcy5pbnB1dFBvc2l0aW9ufWAsXG4gICAgICBbdGhpcy5jaGVja2VkID8gJ2NoZWNrZWQnIDogJyddLFxuICAgICAgW3RoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJyddLFxuICAgIF0uam9pbignICcpO1xuICB9O1xuXG4gIHB1YmxpYyBvblRvdWNoID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBvbkNoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbik6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHdyaXRlVmFsdWUoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRpbmctYXJlYVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1hdmF0YXJcIj48L25nLWNvbnRlbnQ+XG4gIDxkaXY+XG4gICAgPGg0IGNsYXNzPVwic2VjdGlvbi1oZWFkaW5nXCI+e3sgdGl0bGUgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwic3RhdHVzXCIgY2xhc3M9XCJzdGF0dXNcIj57eyBzdGF0dXMudG9VcHBlckNhc2UoKSB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9oND5cbiAgICA8cCBjbGFzcz1cInZpc2lvbi1wM1wiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpbnB1dC1jb250ZW50XCI+XG4gIDxmdy1zd2l0Y2ggKm5nSWY9XCJpbnB1dFZhcmlhbnQ9PT0nc3dpdGNoJ1wiIFtjaGVja2VkXT1cImNoZWNrZWRcIiBjb2xvcj1cInByaW1hcnlcIj48L2Z3LXN3aXRjaD5cbiAgPGZ3LWNoZWNrYm94ICpuZ0lmPVwiaW5wdXRWYXJpYW50PT09J2NoZWNrYm94J1wiIFtjaGVja2VkXT1cImNoZWNrZWRcIiBjb2xvcj1cInByaW1hcnlcIj48L2Z3LWNoZWNrYm94PlxuPC9kaXY+XG4iXX0=
@@ -20,8 +20,45 @@ export class FwDateInputComponent {
20
20
  this.onChange = (value) => {
21
21
  };
22
22
  }
23
+ get value() {
24
+ return this._value;
25
+ }
26
+ set value(newValue) {
27
+ if (this.isIsoDate(newValue)) {
28
+ this.setDateString(newValue);
29
+ }
30
+ else {
31
+ this.writeValue(newValue);
32
+ }
33
+ }
34
+ setDate(value) {
35
+ const year = value.getFullYear();
36
+ const month = (value.getMonth() + 1).toString().padStart(2, '0');
37
+ const day = value.getDate().toString().padStart(2, '0');
38
+ const hours = value.getHours().toString().padStart(2, '0');
39
+ const minutes = value.getMinutes().toString().padStart(2, '0');
40
+ if (this.type === 'date') {
41
+ this.writeValue(`${year}-${month}-${day}`);
42
+ }
43
+ if (this.type === 'datetime-local') {
44
+ this.writeValue(`${year}-${month}-${day}T${hours}:${minutes}:00`);
45
+ }
46
+ if (this.type === 'time') {
47
+ this.writeValue(`${hours}:${minutes}`);
48
+ }
49
+ }
50
+ setDateString(isoValue) {
51
+ this.setDate(new Date(isoValue));
52
+ }
53
+ isIsoDate(str) {
54
+ if (!/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(str)) {
55
+ return false;
56
+ }
57
+ const d = new Date(str);
58
+ return !isNaN(d.getTime()) && d.toISOString() === str; // valid date
59
+ }
23
60
  writeValue(obj) {
24
- this.value = obj;
61
+ this._value = obj;
25
62
  }
26
63
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
64
  registerOnChange(fn) {
@@ -99,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
99
136
  }], value: [{
100
137
  type: Input
101
138
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBcUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWN0RixNQUFNLE9BQU8sb0JBQW9CO0lBVmpDO1FBWVcsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBYSxLQUFLLENBQUM7UUFFcEMsbUJBQWMsR0FBd0IsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUloRSxnQkFBVyxHQUFZLFlBQVksQ0FBQztRQUVwQyxTQUFJLEdBQWtDLFFBQVEsQ0FBQztRQUMvQyxTQUFJLEdBQXdDLE1BQU0sQ0FBQztRQU01RCxvRkFBb0Y7UUFDN0MsVUFBSyxHQUFhLEtBQUssQ0FBQztRQUcvRCxvQkFBZSxHQUFnQixJQUFJLENBQUM7UUFFN0IsWUFBTyxHQUFHLEdBQVMsRUFBRTtRQUM1QixDQUFDLENBQUM7UUFDRiw2REFBNkQ7UUFDdEQsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFRLEVBQUU7UUFDMUMsQ0FBQyxDQUFDO0tBa0NIO0lBaENDLFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsOERBQThEO0lBQzlELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7O2lIQTVEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnZ0JBTnBCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ2JKLHU5QkE0QkE7MkZEYmEsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNFLGVBQWUsYUFHZCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzhCQUlPLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFaUMsS0FBSztzQkFBM0MsV0FBVzt1QkFBQyxlQUFlOztzQkFBRyxLQUFLO2dCQUUzQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZ3RGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRndEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUFjdGlvbmFibGVJY29ucz86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGVmdEljb24/OiBJY29uVHlwZTtcbiAgQE91dHB1dCgpIGxlZnRJY29uQWN0aW9uPzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwcmVmaXg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlbHBlclRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmcgPSAnbW0vZGQveXl5eSc7XG4gIEBJbnB1dCgpIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgdHlwZT86ICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZS1sb2NhbCcgPSAnZGF0ZSc7XG4gIEBJbnB1dCgpIG1heD86IHN0cmluZztcbiAgQElucHV0KCkgbWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzdGVwPzogbnVtYmVyO1xuICBASW5wdXQoKSBhdXRvZm9jdXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZT86IHN0cmluZztcbiAgLy8gd2UgYmluZCB0aGlzIHRvIGhvc3QgYmVjYXVzZSB0aGF0J3Mgd2hlcmUgYW5ndWxhciBmb3JtIGFwaXMgcHV0IHRoZSBlcnJvciBjbGFzc2VzXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXJyb3JlZCcpIEBJbnB1dCgpIGVycm9yPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG4gIGV4dGVybmFsQ29udHJvbDogRm9ybUNvbnRyb2wgPSBudWxsO1xuXG4gIHB1YmxpYyBvblRvdWNoID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2goKTtcbiAgfVxuXG4gIGJsdXJIYW5kbGVyKCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgb25MZWZ0SWNvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMubGVmdEljb25BY3Rpb24uZW1pdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmdWxsLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCIgW2NsYXNzXT1cInNpemVcIj5cbiAgICA8ZnctaWNvblxuICAgICAgKm5nSWY9XCIhIWxlZnRJY29uXCJcbiAgICAgIChjbGljayk9XCJ1c2VBY3Rpb25hYmxlSWNvbnM/b25MZWZ0SWNvbkNsaWNrKCk6bnVsbFwiXG4gICAgICBbbmdDbGFzc109XCJ1c2VBY3Rpb25hYmxlSWNvbnM/J2FjdGlvbmFibGUnOicnXCI+XG4gICAgICB7eyBsZWZ0SWNvbiB9fVxuICAgIDwvZnctaWNvbj5cbiAgICA8cCBjbGFzcz1cImNvbnRleHRcIiAqbmdJZj1cIiEhcHJlZml4XCI+e3sgcHJlZml4IH19PC9wPlxuICAgIDxpbnB1dFxuICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAoa2V5dXApPVwiY2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImJsdXJIYW5kbGVyKClcIlxuICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VIYW5kbGVyKCRldmVudClcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgIFttaW5dPVwibWluXCJcbiAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIj5cbiAgICA8ZnctaWNvbiBjbGFzcz1cImVycm9yLWljb25cIj53YXJuaW5nLWNpcmNsZTwvZnctaWNvbj5cbiAgPC9kaXY+XG4gIDxwIGNsYXNzPVwiaGVscGVyLXRleHRcIiAqbmdJZj1cIiEhaGVscGVyVGV4dFwiPnt7IGhlbHBlclRleHQgfX08L3A+XG4gIDxwIGNsYXNzPVwiZXJyb3ItdGV4dFwiICpuZ0lmPVwiISFlcnJvclRleHRcIj57eyBlcnJvclRleHQgfX08L3A+XG48L2Rpdj5cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBcUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWN0RixNQUFNLE9BQU8sb0JBQW9CO0lBVmpDO1FBWVcsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBYSxLQUFLLENBQUM7UUFFcEMsbUJBQWMsR0FBd0IsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUloRSxnQkFBVyxHQUFZLFlBQVksQ0FBQztRQUVwQyxTQUFJLEdBQWtDLFFBQVEsQ0FBQztRQUMvQyxTQUFJLEdBQXdDLE1BQU0sQ0FBQztRQU01RCxvRkFBb0Y7UUFDN0MsVUFBSyxHQUFhLEtBQUssQ0FBQztRQWdCL0Qsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO1FBRTdCLFlBQU8sR0FBRyxHQUFTLEVBQUU7UUFDNUIsQ0FBQyxDQUFDO1FBQ0YsNkRBQTZEO1FBQ3RELGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBUSxFQUFFO1FBQzFDLENBQUMsQ0FBQztLQStESDtJQWxGQyxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFFBQWdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFFB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QUVELGVBQWU7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7O2lIQXRHVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnZ0JBTnBCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ2JKLHU5QkE0QkE7MkZEYmEsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNFLGVBQWUsYUFHZCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzhCQUlPLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFaUMsS0FBSztzQkFBM0MsV0FBVzt1QkFBQyxlQUFlOztzQkFBRyxLQUFLO2dCQUloQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZ3RGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRndEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUFjdGlvbmFibGVJY29ucz86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGVmdEljb24/OiBJY29uVHlwZTtcbiAgQE91dHB1dCgpIGxlZnRJY29uQWN0aW9uPzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwcmVmaXg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlbHBlclRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmcgPSAnbW0vZGQveXl5eSc7XG4gIEBJbnB1dCgpIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgdHlwZT86ICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZS1sb2NhbCcgPSAnZGF0ZSc7XG4gIEBJbnB1dCgpIG1heD86IHN0cmluZztcbiAgQElucHV0KCkgbWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzdGVwPzogbnVtYmVyO1xuICBASW5wdXQoKSBhdXRvZm9jdXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZT86IHN0cmluZztcbiAgLy8gd2UgYmluZCB0aGlzIHRvIGhvc3QgYmVjYXVzZSB0aGF0J3Mgd2hlcmUgYW5ndWxhciBmb3JtIGFwaXMgcHV0IHRoZSBlcnJvciBjbGFzc2VzXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXJyb3JlZCcpIEBJbnB1dCgpIGVycm9yPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNJc29EYXRlKG5ld1ZhbHVlKSkge1xuICAgICAgdGhpcy5zZXREYXRlU3RyaW5nKG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBleHRlcm5hbENvbnRyb2w6IEZvcm1Db250cm9sID0gbnVsbDtcblxuICBwdWJsaWMgb25Ub3VjaCA9ICgpOiB2b2lkID0+IHtcbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgb25DaGFuZ2UgPSAodmFsdWU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHB1YmxpYyBzZXREYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgeWVhciA9IHZhbHVlLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgbW9udGggPSAodmFsdWUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBkYXkgPSB2YWx1ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IGhvdXJzID0gdmFsdWUuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbWludXRlcyA9IHZhbHVlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRldGltZS1sb2NhbCcpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1UJHtob3Vyc306JHttaW51dGVzfTowMGApO1xuICAgIH1cbiAgICBpZiAodGhpcy50eXBlID09PSAndGltZScpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShgJHtob3Vyc306JHttaW51dGVzfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRlU3RyaW5nKGlzb1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGUobmV3IERhdGUoaXNvVmFsdWUpKTtcbiAgfVxuXG4gIGlzSXNvRGF0ZShzdHIpOiBib29sZWFuIHtcbiAgICBpZiAoIS9cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfS5cXGR7M31aLy50ZXN0KHN0cikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHN0cik7XG4gICAgcmV0dXJuICFpc05hTihkLmdldFRpbWUoKSkgJiYgZC50b0lTT1N0cmluZygpID09PSBzdHI7IC8vIHZhbGlkIGRhdGVcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IG9iajtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgY2hhbmdlSGFuZGxlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgYmx1ckhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gIH1cblxuICBvbkxlZnRJY29uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5sZWZ0SWNvbkFjdGlvbi5lbWl0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZ1bGwtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwic2l6ZVwiPlxuICAgIDxmdy1pY29uXG4gICAgICAqbmdJZj1cIiEhbGVmdEljb25cIlxuICAgICAgKGNsaWNrKT1cInVzZUFjdGlvbmFibGVJY29ucz9vbkxlZnRJY29uQ2xpY2soKTpudWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInVzZUFjdGlvbmFibGVJY29ucz8nYWN0aW9uYWJsZSc6JydcIj5cbiAgICAgIHt7IGxlZnRJY29uIH19XG4gICAgPC9mdy1pY29uPlxuICAgIDxwIGNsYXNzPVwiY29udGV4dFwiICpuZ0lmPVwiISFwcmVmaXhcIj57eyBwcmVmaXggfX08L3A+XG4gICAgPGlucHV0XG4gICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgIChrZXl1cCk9XCJjaGFuZ2VIYW5kbGVyKCRldmVudClcIlxuICAgICAgKGJsdXIpPVwiYmx1ckhhbmRsZXIoKVwiXG4gICAgICAoY2hhbmdlKT1cImNoYW5nZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgW21heF09XCJtYXhcIlxuICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiPlxuICAgIDxmdy1pY29uIGNsYXNzPVwiZXJyb3ItaWNvblwiPndhcm5pbmctY2lyY2xlPC9mdy1pY29uPlxuICA8L2Rpdj5cbiAgPHAgY2xhc3M9XCJoZWxwZXItdGV4dFwiICpuZ0lmPVwiISFoZWxwZXJUZXh0XCI+e3sgaGVscGVyVGV4dCB9fTwvcD5cbiAgPHAgY2xhc3M9XCJlcnJvci10ZXh0XCIgKm5nSWY9XCIhIWVycm9yVGV4dFwiPnt7IGVycm9yVGV4dCB9fTwvcD5cbjwvZGl2PlxuIl19
@@ -16,8 +16,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
16
16
  }] } });
17
17
  export class FwGridItemComponent {
18
18
  constructor() {
19
+ this.cols = 12;
19
20
  this.padded = false;
20
21
  this.rounded = false;
22
+ this.variant = 'page-light';
21
23
  }
22
24
  get cssClass() {
23
25
  return [
@@ -57,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
57
59
  type: HostBinding,
58
60
  args: ['class']
59
61
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9sYXlvdXRzL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRixNQUFNLE9BQU8sZUFBZTtJQUN4QixJQUEwQixRQUFRO1FBQzlCLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7NEdBSFEsZUFBZTtnR0FBZixlQUFlLG1HQUpkLGlEQUFpRDsyRkFJbEQsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxTQUFTLFlBQ1QsaURBQWlELGlCQUU1QyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUdYLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTzs7QUFXeEIsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVlhLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFDekIsWUFBTyxHQUFhLEtBQUssQ0FBQztLQWV0QztJQVpHLElBQTBCLFFBQVE7UUFDOUIsT0FBTztZQUNILGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUMxQixJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDNUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzVDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDL0MsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O2dIQXJCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvT0FKbEIsMkJBQTJCOzJGQUk1QixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksY0FBYyxZQUNkLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZnctZ3JpZCcsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudCBzZWxlY3Q9XCJmdy1ncmlkLWl0ZW1cIj48L25nLWNvbnRlbnQ+JyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndHcmlkQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbJ2Z3LWdyaWQnXS5qb2luKCcgJyk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Z3LWdyaWQtaXRlbScsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndHcmlkSXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29sczogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNtPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1kPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGxnPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHhsPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHBhZGRlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSByb3VuZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ/OiAncGFnZS1saWdodCcgfCAncGFnZS1zaGFkZWQnIHwgJ2NhcmQtaGVhZGVyJyB8ICdjYXJkLWJhY2tncm91bmQnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjc3NDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2Z3LWdyaWQtY29sLScgKyB0aGlzLmNvbHMsXG4gICAgICAgICAgICB0aGlzLnZhcmlhbnQsXG4gICAgICAgICAgICB0aGlzLnBhZGRlZCA/ICdncmlkLWl0ZW0tcGFkZGVkJyA6IG51bGwsXG4gICAgICAgICAgICB0aGlzLnJvdW5kZWQgPyAnZ3JpZC1pdGVtLXJvdW5kZWQnIDogbnVsbCxcbiAgICAgICAgICAgIHRoaXMuc20gPyAnZnctZ3JpZC1jb2wtc20tJyArIHRoaXMuc20gOiBudWxsLFxuICAgICAgICAgICAgdGhpcy5tZCA/ICdmdy1ncmlkLWNvbC1tZC0nICsgdGhpcy5tZCA6IG51bGwsXG4gICAgICAgICAgICB0aGlzLmxnID8gJ2Z3LWdyaWQtY29sLWxnLScgKyB0aGlzLmxnIDogbnVsbCxcbiAgICAgICAgICAgIHRoaXMueGwgPyAnZnctZ3JpZC1jb2wteGwtJyArIHRoaXMueGwgOiBudWxsLFxuICAgICAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7XG4gICAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9sYXlvdXRzL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRixNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUEwQixRQUFRO1FBQ2hDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7NEdBSFUsZUFBZTtnR0FBZixlQUFlLG1HQUpoQixpREFBaUQ7MkZBSWhELGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsU0FBUyxZQUNULGlEQUFpRCxpQkFFNUMsaUJBQWlCLENBQUMsSUFBSTs4QkFHWCxRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU87O0FBV3RCLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPVyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBS2xCLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFDekIsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQXNFLFlBQVksQ0FBQztLQWNwRztJQVpDLElBQTBCLFFBQVE7UUFDaEMsT0FBTztZQUNMLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUMxQixJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDNUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzVDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDN0MsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7O2dIQXJCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvT0FKcEIsMkJBQTJCOzJGQUkxQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWdyaWQnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWdyaWQtaXRlbVwiPjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEZ3R3JpZENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgY3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gWydmdy1ncmlkJ10uam9pbignICcpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWdyaWQtaXRlbScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndHcmlkSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbHM6IG51bWJlciA9IDEyO1xuICBASW5wdXQoKSBzbT86IG51bWJlcjtcbiAgQElucHV0KCkgbWQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGxnPzogbnVtYmVyO1xuICBASW5wdXQoKSB4bD86IG51bWJlcjtcbiAgQElucHV0KCkgcGFkZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByb3VuZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB2YXJpYW50PzogJ3BhZ2UtbGlnaHQnIHwgJ3BhZ2Utc2hhZGVkJyB8ICdjYXJkLWhlYWRlcicgfCAnY2FyZC1iYWNrZ3JvdW5kJyA9ICdwYWdlLWxpZ2h0JztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdmdy1ncmlkLWNvbC0nICsgdGhpcy5jb2xzLFxuICAgICAgdGhpcy52YXJpYW50LFxuICAgICAgdGhpcy5wYWRkZWQgPyAnZ3JpZC1pdGVtLXBhZGRlZCcgOiBudWxsLFxuICAgICAgdGhpcy5yb3VuZGVkID8gJ2dyaWQtaXRlbS1yb3VuZGVkJyA6IG51bGwsXG4gICAgICB0aGlzLnNtID8gJ2Z3LWdyaWQtY29sLXNtLScgKyB0aGlzLnNtIDogbnVsbCxcbiAgICAgIHRoaXMubWQgPyAnZnctZ3JpZC1jb2wtbWQtJyArIHRoaXMubWQgOiBudWxsLFxuICAgICAgdGhpcy5sZyA/ICdmdy1ncmlkLWNvbC1sZy0nICsgdGhpcy5sZyA6IG51bGwsXG4gICAgICB0aGlzLnhsID8gJ2Z3LWdyaWQtY29sLXhsLScgKyB0aGlzLnhsIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7XG4gIH1cbn1cbiJdfQ==
@@ -5,11 +5,14 @@ import * as i1 from "@angular/common";
5
5
  import * as i2 from "../../icon-button/icon-button.component";
6
6
  import * as i3 from "../../icon/icon.component";
7
7
  import * as i4 from "../../tooltip/tooltip.component";
8
+ import * as i5 from "../../checkbox/checkbox.component";
9
+ import * as i6 from "../../radio/radio.component";
8
10
  export class FwMenuItemComponent {
9
11
  constructor() {
10
12
  this.size = 'default';
11
13
  this.iconColor = 'primary';
12
14
  this.showCheckbox = false;
15
+ this.checkboxColor = 'primary';
13
16
  this.multiSelect = false;
14
17
  this.hidden = false;
15
18
  this.showTooltip = false;
@@ -77,10 +80,10 @@ export class FwMenuItemComponent {
77
80
  }
78
81
  }
79
82
  FwMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- FwMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", showCheckbox: "showCheckbox", multiSelect: "multiSelect", hidden: "hidden", showTooltip: "showTooltip", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwMenuSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <input\n type=\"checkbox\"\n value=\"true\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <input\n type=\"radio\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </div>\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4>{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "isOpen", "trigger"] }] });
83
+ FwMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", showCheckbox: "showCheckbox", checkboxColor: "checkboxColor", multiSelect: "multiSelect", hidden: "hidden", showTooltip: "showTooltip", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwMenuSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4>{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "isOpen", "trigger"] }, { kind: "component", type: i5.FwCheckboxComponent, selector: "fw-checkbox", inputs: ["checked", "disabled", "size", "color", "title", "focused"] }, { kind: "component", type: i6.FwRadioComponent, selector: "fw-radio-button", inputs: ["checked", "value", "group", "disabled", "size", "color", "title", "focused"], outputs: ["change"] }] });
81
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMenuItemComponent, decorators: [{
82
85
  type: Component,
83
- args: [{ selector: 'fw-menu-item', template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <input\n type=\"checkbox\"\n value=\"true\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <input\n type=\"radio\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </div>\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4>{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"] }]
86
+ args: [{ selector: 'fw-menu-item', template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4>{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"] }]
84
87
  }], propDecorators: { value: [{
85
88
  type: Input
86
89
  }], size: [{
@@ -97,6 +100,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
97
100
  type: Input
98
101
  }], showCheckbox: [{
99
102
  type: Input
103
+ }], checkboxColor: [{
104
+ type: Input
100
105
  }], multiSelect: [{
101
106
  type: Input
102
107
  }], hidden: [{
@@ -132,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
132
137
  }], variant: [{
133
138
  type: Input
134
139
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7QUFPbEYsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9XLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBSXpDLGNBQVMsR0FBbUYsU0FBUyxDQUFDO1FBRXRHLGlCQUFZLEdBQWEsS0FBSyxDQUFDO1FBQy9CLGdCQUFXLEdBQWEsS0FBSyxDQUFDO1FBQzlCLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFJOUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDdkMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0Qsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDOztXQUVHO1FBQ00sWUFBTyxHQUFxQyxTQUFTLENBQUM7S0E0RGhFO0lBMURDLDZEQUE2RDtJQUM3RCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFB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QkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBaEQsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBSzlCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi50eXBlcyc7XG5pbXBvcnQgeyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS1zdWItaXRlbS9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LW1lbnUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGljb25Db2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3JlZCcgfCAnb3JhbmdlJyB8ICdncmVlbicgfCAnc2xhdGUnIHwgJ3R5cG9ncmFwaHknID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNob3dDaGVja2JveD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGRlbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXA/OiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaHJlZj86IHN0cmluZztcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzdWJJdGVtc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBAQ29udGVudENoaWxkcmVuKEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQpIHN1Ykl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51U3ViSXRlbUNvbXBvbmVudD47XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgZnctbmF2YmFyLWl0ZW0gaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ2J1dHRvbicgPSAnZGVmYXVsdCc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViSXRlbXMuZm9yRWFjaChzdWJJdGVtID0+IHtcbiAgICAgIGNvbnN0IHN1YiA9IHN1Ykl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuY2xpY2suZW1pdCh2YWx1ZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ykl0ZW1zKSB7XG4gICAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICAgIHN1Ykl0ZW0udmFyaWFudCA9IHRoaXMudmFyaWFudDtcbiAgICAgICAgc3ViSXRlbS5zaXplID0gdGhpcy5zaXplO1xuICAgICAgICBzdWJJdGVtLmhpZGRlbiA9ICEodGhpcy5zdWJJdGVtc09wZW4gJiYgIXRoaXMuY29sbGFwc2VkKTtcbiAgICAgICAgc3ViSXRlbS5jb2xsYXBzZWQgPSB0aGlzLmNvbGxhcHNlZDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVN1Ykl0ZW1zVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ykl0ZW1zT3BlbiA9ICF0aGlzLnN1Ykl0ZW1zT3BlbjtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZ0PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGlmICh0aGlzLnRhcmdldCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsIHRoaXMudGFyZ2V0KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgfVxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgKm5nSWY9XCIhaGlkZGVuXCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJbJ21lbnUtaXRlbScsICdzaXplLScrc2l6ZSwgJ3ZhcmlhbnQtJyt2YXJpYW50LCBkaXNhYmxlZD8nZGlzYWJsZWQnOicnXVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiBtdWx0aVNlbGVjdFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIHZhbHVlPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tcmFkaW9idXR0b25cIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiAhbXVsdGlTZWxlY3RcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiPlxuICAgIDwvZGl2PlxuICAgIDxmdy10b29sdGlwIFt0aXRsZV09XCJzaG93VG9vbHRpcCA/IHRpdGxlIDogJydcIiBwb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPC9mdy10b29sdGlwPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWF2YXRhclwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS10ZXh0XCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGg0Pnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJrZXktdGV4dCB2aXNpb24tcDJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxmdy1pY29uLWJ1dHRvblxuICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgW2ljb25dPVwic3ViSXRlbXNPcGVuPydjaGV2cm9uLXVwJzonY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICpuZ0lmPVwic3ViSXRlbXMubGVuZ3RoPjBcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViSXRlbXNWaWV3KClcIj5cbiAgICAgIDwvZnctaWNvbi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaXRlbS1zdWJpdGVtc1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1tZW51LXN1Yi1pdGVtXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7OztBQU9sRixNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBT1csU0FBSSxHQUEyQixTQUFTLENBQUM7UUFJekMsY0FBUyxHQUFtRixTQUFTLENBQUM7UUFFdEcsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBeUMsU0FBUyxDQUFDO1FBQ2hFLGdCQUFXLEdBQWEsS0FBSyxDQUFDO1FBQzlCLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFJOUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDdkMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0Qsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDOztXQUVHO1FBQ00sWUFBTyxHQUFxQyxTQUFTLENBQUM7S0EyRGhFO0lBekRDLDZEQUE2RDtJQUM3RCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FB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RyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ2dDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUFoRCxlQUFlO3VCQUFDLHNCQUFzQjtnQkFLOUIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcbmltcG9ydCB7IEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9tZW51LXN1Yi1pdGVtL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbWVudS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZT86ICdkZWZhdWx0JyB8ICdjb21wYWN0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgfCAndHlwb2dyYXBoeScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja2JveENvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGVmYXVsdCcgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRkZW4/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dUb29sdGlwPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNlZCcpIEBJbnB1dCgpIGNvbGxhcHNlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhcmdldD86IHN0cmluZztcbiAgQElucHV0KCkgc3ViSXRlbXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpIEBJbnB1dCgpIGZvY3VzZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBASW5wdXQoKSBzZWxlY3RlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVTdWJJdGVtQ29tcG9uZW50KSBzdWJJdGVtczogUXVlcnlMaXN0PEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQ+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIGZ3LW5hdmJhci1pdGVtIGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpIHZhcmlhbnQ/OiAnZGVmYXVsdCcgfCAnbW9kZXJuJyB8ICdidXR0b24nID0gJ2RlZmF1bHQnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICBjb25zdCBzdWIgPSBzdWJJdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNsaWNrLmVtaXQodmFsdWUpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUxheW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJJdGVtcykge1xuICAgICAgdGhpcy5zdWJJdGVtcy5mb3JFYWNoKHN1Ykl0ZW0gPT4ge1xuICAgICAgICBzdWJJdGVtLnZhcmlhbnQgPSB0aGlzLnZhcmlhbnQ7XG4gICAgICAgIHN1Ykl0ZW0uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgc3ViSXRlbS5oaWRkZW4gPSAhKHRoaXMuc3ViSXRlbXNPcGVuICYmICF0aGlzLmNvbGxhcHNlZCk7XG4gICAgICAgIHN1Ykl0ZW0uY29sbGFwc2VkID0gdGhpcy5jb2xsYXBzZWQ7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTdWJJdGVtc1ZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJJdGVtc09wZW4gPSAhdGhpcy5zdWJJdGVtc09wZW47XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2dD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRhcmdldCkuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgfVxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgKm5nSWY9XCIhaGlkZGVuXCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJbJ21lbnUtaXRlbScsICdzaXplLScrc2l6ZSwgJ3ZhcmlhbnQtJyt2YXJpYW50LCBkaXNhYmxlZD8nZGlzYWJsZWQnOicnXVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiBtdWx0aVNlbGVjdFwiPlxuICAgICAgPGZ3LWNoZWNrYm94XG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjb2xvcl09XCJjaGVja2JveENvbG9yXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIj5cbiAgICAgIDwvZnctY2hlY2tib3g+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tcmFkaW9idXR0b25cIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiAhbXVsdGlTZWxlY3RcIj5cbiAgICAgIDxmdy1yYWRpby1idXR0b25cbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2NvbG9yXT1cImNoZWNrYm94Q29sb3JcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiPlxuICAgICAgPC9mdy1yYWRpby1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGZ3LXRvb2x0aXAgW3RpdGxlXT1cInNob3dUb29sdGlwID8gdGl0bGUgOiAnJ1wiIHBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgIDxmdy1pY29uIFtjb2xvcl09XCJpY29uQ29sb3JcIiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7e2ljb25Db2xvcn19XCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgICA8L2Z3LXRvb2x0aXA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYXZhdGFyXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXRleHRcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICA8aDQ+e3sgdGl0bGUgfX08L2g0PlxuICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwidmlzaW9uLXA0IGRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImtleS10ZXh0IHZpc2lvbi1wMlwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicFwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb24tYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgICAgPGZ3LWljb24tYnV0dG9uXG4gICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICBbaWNvbl09XCJzdWJJdGVtc09wZW4/J2NoZXZyb24tdXAnOidjaGV2cm9uLWRvd24nXCJcbiAgICAgICAgKm5nSWY9XCJzdWJJdGVtcy5sZW5ndGg+MFwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTdWJJdGVtc1ZpZXcoKVwiPlxuICAgICAgPC9mdy1pY29uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpdGVtLXN1Yml0ZW1zXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LW1lbnUtc3ViLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==