@acorex/components 18.14.1-next.0 → 18.14.1-next.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. package/calendar/lib/calendar.component.d.ts +16 -5
  2. package/calendar/lib/calendar.module.d.ts +2 -1
  3. package/check-box/lib/check-box.component.d.ts +13 -5
  4. package/cron-job/README.md +3 -0
  5. package/cron-job/index.d.ts +8 -0
  6. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +31 -0
  7. package/cron-job/lib/cron-job.module.d.ts +25 -0
  8. package/cron-job/lib/cron-job.service.d.ts +22 -0
  9. package/cron-job/lib/day/day.component.d.ts +22 -0
  10. package/cron-job/lib/day/day.model.d.ts +61 -0
  11. package/cron-job/lib/day/day.service.d.ts +17 -0
  12. package/cron-job/lib/hours/hours.component.d.ts +14 -0
  13. package/cron-job/lib/hours/hours.model.d.ts +5 -0
  14. package/cron-job/lib/hours/hours.service.d.ts +13 -0
  15. package/cron-job/lib/minutes/minutes.component.d.ts +14 -0
  16. package/cron-job/lib/minutes/minutes.model.d.ts +5 -0
  17. package/cron-job/lib/minutes/minutes.service.d.ts +13 -0
  18. package/cron-job/lib/month/month.component.d.ts +16 -0
  19. package/cron-job/lib/month/month.model.d.ts +5 -0
  20. package/cron-job/lib/month/month.service.d.ts +14 -0
  21. package/cron-job/lib/seconds/seconds.component.d.ts +14 -0
  22. package/cron-job/lib/seconds/seconds.model.d.ts +5 -0
  23. package/cron-job/lib/seconds/seconds.service.d.ts +13 -0
  24. package/cron-job/lib/types/iexpression.d.ts +3 -0
  25. package/cron-job/lib/types/shared.model.d.ts +37 -0
  26. package/cron-job/lib/year/year.component.d.ts +15 -0
  27. package/cron-job/lib/year/year.model.d.ts +16 -0
  28. package/cron-job/lib/year/year.service.d.ts +12 -0
  29. package/datetime-input/lib/datetime-input.component.d.ts +9 -0
  30. package/datetime-picker/lib/datetime-picker.component.d.ts +1 -0
  31. package/esm2022/calendar/lib/calendar.component.mjs +186 -158
  32. package/esm2022/calendar/lib/calendar.module.mjs +5 -4
  33. package/esm2022/check-box/lib/check-box.component.mjs +39 -22
  34. package/esm2022/cron-job/acorex-components-cron-job.mjs +5 -0
  35. package/esm2022/cron-job/index.mjs +9 -0
  36. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +90 -0
  37. package/esm2022/cron-job/lib/cron-job.module.mjs +80 -0
  38. package/esm2022/cron-job/lib/cron-job.service.mjs +60 -0
  39. package/esm2022/cron-job/lib/day/day.component.mjs +61 -0
  40. package/esm2022/cron-job/lib/day/day.model.mjs +88 -0
  41. package/esm2022/cron-job/lib/day/day.service.mjs +196 -0
  42. package/esm2022/cron-job/lib/hours/hours.component.mjs +38 -0
  43. package/esm2022/cron-job/lib/hours/hours.model.mjs +8 -0
  44. package/esm2022/cron-job/lib/hours/hours.service.mjs +82 -0
  45. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +38 -0
  46. package/esm2022/cron-job/lib/minutes/minutes.model.mjs +8 -0
  47. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +82 -0
  48. package/esm2022/cron-job/lib/month/month.component.mjs +47 -0
  49. package/esm2022/cron-job/lib/month/month.model.mjs +8 -0
  50. package/esm2022/cron-job/lib/month/month.service.mjs +96 -0
  51. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +38 -0
  52. package/esm2022/cron-job/lib/seconds/seconds.model.mjs +8 -0
  53. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +82 -0
  54. package/esm2022/cron-job/lib/types/iexpression.mjs +2 -0
  55. package/esm2022/cron-job/lib/types/shared.model.mjs +49 -0
  56. package/esm2022/cron-job/lib/year/year.component.mjs +45 -0
  57. package/esm2022/cron-job/lib/year/year.model.mjs +28 -0
  58. package/esm2022/cron-job/lib/year/year.service.mjs +82 -0
  59. package/esm2022/datetime-input/lib/datetime-input.component.mjs +38 -10
  60. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +17 -4
  61. package/esm2022/list/lib/list.component.mjs +3 -3
  62. package/esm2022/loading/lib/loading.component.mjs +7 -3
  63. package/esm2022/loading/lib/loading.service.mjs +3 -3
  64. package/esm2022/radio/lib/radio.component.mjs +3 -3
  65. package/esm2022/selection-list/lib/selection-list.component.mjs +70 -28
  66. package/esm2022/text-box/lib/text-box.component.mjs +11 -8
  67. package/fesm2022/acorex-components-calendar.mjs +187 -159
  68. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  69. package/fesm2022/acorex-components-check-box.mjs +39 -22
  70. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  71. package/fesm2022/acorex-components-cron-job.mjs +1191 -0
  72. package/fesm2022/acorex-components-cron-job.mjs.map +1 -0
  73. package/fesm2022/acorex-components-datetime-input.mjs +36 -8
  74. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  75. package/fesm2022/acorex-components-datetime-picker.mjs +15 -2
  76. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  77. package/fesm2022/acorex-components-list.mjs +2 -2
  78. package/fesm2022/acorex-components-list.mjs.map +1 -1
  79. package/fesm2022/acorex-components-loading.mjs +8 -4
  80. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  81. package/fesm2022/acorex-components-radio.mjs +2 -2
  82. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  83. package/fesm2022/acorex-components-selection-list.mjs +69 -27
  84. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  85. package/fesm2022/acorex-components-text-box.mjs +10 -7
  86. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  87. package/package.json +7 -1
  88. package/selection-list/lib/selection-list.component.d.ts +26 -6
  89. package/text-box/lib/text-box.component.d.ts +2 -2
@@ -36,7 +36,7 @@ export class AXRadioComponent extends MXValueComponent {
36
36
  useExisting: forwardRef(() => AXRadioComponent),
37
37
  multi: true,
38
38
  },
39
- ], queries: [{ propertyName: "_labels", predicate: AXLabelComponent }], usesInheritance: true, ngImport: i0, template: "<!-- <div class=\"ax-checkbox-label\">\n <div class=\"ax-checkbox-start-side\">\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n </div>\n <div class=\"ax-checkbox-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content> -->\n\n\n\n\n<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <!-- <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [indeterminate]=\"_stateIndeterminate\" [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\"> -->\n\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [ngModel]=\"value\" [checked]=\"value\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\">\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>", styles: [".ax-radio-label{display:flex;width:fit-content;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:.875rem;line-height:1.25rem}.ax-radio-label.ax-state-readonly{opacity:.75}.ax-radio-label .ax-radio-start-side{display:flex;height:1.25rem;align-items:center}.ax-radio-label .ax-radio-end-side{margin-inline-start:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ ], queries: [{ propertyName: "_labels", predicate: AXLabelComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-radio\"\n type=\"radio\"\n [ngModel]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n", styles: [".ax-radio-label{display:flex;width:fit-content;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:.875rem;line-height:1.25rem}.ax-radio-label.ax-state-readonly{opacity:.75}.ax-radio-label .ax-radio-start-side{display:flex;height:1.25rem;align-items:center}.ax-radio-label .ax-radio-end-side{margin-inline-start:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRadioComponent, decorators: [{
42
42
  type: Component,
@@ -46,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
46
46
  useExisting: forwardRef(() => AXRadioComponent),
47
47
  multi: true,
48
48
  },
49
- ], template: "<!-- <div class=\"ax-checkbox-label\">\n <div class=\"ax-checkbox-start-side\">\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n </div>\n <div class=\"ax-checkbox-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content> -->\n\n\n\n\n<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <!-- <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [indeterminate]=\"_stateIndeterminate\" [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\"> -->\n\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [ngModel]=\"value\" [checked]=\"value\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\">\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>", styles: [".ax-radio-label{display:flex;width:fit-content;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:.875rem;line-height:1.25rem}.ax-radio-label.ax-state-readonly{opacity:.75}.ax-radio-label .ax-radio-start-side{display:flex;height:1.25rem;align-items:center}.ax-radio-label .ax-radio-end-side{margin-inline-start:.75rem}\n"] }]
49
+ ], template: "<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-radio\"\n type=\"radio\"\n [ngModel]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n", styles: [".ax-radio-label{display:flex;width:fit-content;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:.875rem;line-height:1.25rem}.ax-radio-label.ax-state-readonly{opacity:.75}.ax-radio-label .ax-radio-start-side{display:flex;height:1.25rem;align-items:center}.ax-radio-label .ax-radio-end-side{margin-inline-start:.75rem}\n"] }]
50
50
  }], propDecorators: { _labels: [{
51
51
  type: ContentChildren,
52
52
  args: [AXLabelComponent]
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
54
54
  type: HostListener,
55
55
  args: ['click', ['$event']]
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhZGlvL3NyYy9saWIvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhZGlvL3NyYy9saWIvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRW5EOzs7O0dBSUc7QUFpQkgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQztJQVFwRSxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBSU4sWUFBWSxDQUFDLENBQVU7UUFDN0IsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7SUFDSixrQkFBa0IsQ0FBQyxLQUFxQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQS9CVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix3VkFSaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysa0RBS2dCLGdCQUFnQixvREN0Q25DLGt3REFnQ3FEOzsyRkRHeEMsZ0JBQWdCO2tCQWhCNUIsU0FBUzsrQkFDRSxVQUFVLFVBR1osQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsV0FDckUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDOUMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBUU8sT0FBTztzQkFIZCxlQUFlO3VCQUFDLGdCQUFnQjtnQkFnQnpCLFlBQVk7c0JBSG5CLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhMYWJlbENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RMaXN0ZW5lcixcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4JywgJ3JlYWRvbmx5JywgJ3ZhbHVlJywgJ25hbWUnLCAnaWQnLCAnY2hlY2tlZCddLFxuICBvdXRwdXRzOiBbJ29uQmx1cicsICdvbkZvY3VzJywgJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYUmFkaW9Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYWRpb0NvbXBvbmVudCBleHRlbmRzIE1YVmFsdWVDb21wb25lbnQ8Ym9vbGVhbiB8IG51bGw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihBWExhYmVsQ29tcG9uZW50KVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2xhYmVsczogUXVlcnlMaXN0PEFYTGFiZWxDb21wb25lbnQ+O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLl9sYWJlbHM/LmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMuZm9yID0gdGhpcztcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9oYW5kbGVDbGljayhlOiBVSUV2ZW50KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb2RlbENoYW5nZSh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiYXgtY2hlY2tib3gtbGFiZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2hlY2tib3gtc3RhcnQtc2lkZVwiPlxuICAgICAgICA8aW5wdXQgW2lkXT1cImlkXCIgY2xhc3M9XCJheC1yYWRpb1wiIHR5cGU9XCJyYWRpb1wiIFsobmdNb2RlbCldPVwidmFsdWVcIiBbY2hlY2tlZF09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoY2xpY2spPVwiX2hhbmRsZU9uQ2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNoZWNrYm94LWVuZC1zaWRlXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1mb3JtLWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPjwvbmctY29udGVudD4gLS0+XG5cblxuXG5cbjxkaXYgY2xhc3M9XCJheC1yYWRpby1sYWJlbFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1yYWRpby1zdGFydC1zaWRlXCI+XG4gICAgICAgIDwhLS0gPGlucHV0IFtpZF09XCJpZFwiIGNsYXNzPVwiYXgtcmFkaW9cIiB0eXBlPVwicmFkaW9cIiBbaW5kZXRlcm1pbmF0ZV09XCJfc3RhdGVJbmRldGVybWluYXRlXCIgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZU1vZGVsQ2hhbmdlKCRldmVudClcIiBbY2hlY2tlZF09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoZm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj4gLS0+XG5cbiAgICAgICAgPGlucHV0IFtpZF09XCJpZFwiIGNsYXNzPVwiYXgtcmFkaW9cIiB0eXBlPVwicmFkaW9cIiBbbmdNb2RlbF09XCJ2YWx1ZVwiIFtjaGVja2VkXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAoYmx1cik9XCJlbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1yYWRpby1lbmQtc2lkZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1sYWJlbFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9ybS1oaW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+PC9uZy1jb250ZW50PiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhZGlvL3NyYy9saWIvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhZGlvL3NyYy9saWIvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRW5EOzs7O0dBSUc7QUFpQkgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQztJQVFwRSxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBSU4sWUFBWSxDQUFDLENBQVU7UUFDN0IsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7SUFDSixrQkFBa0IsQ0FBQyxLQUFxQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQS9CVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix3VkFSaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysa0RBS2dCLGdCQUFnQixvREN0Q25DLGl5QkF1QkE7OzJGRFlhLGdCQUFnQjtrQkFoQjVCLFNBQVM7K0JBQ0UsVUFBVSxVQUdaLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFdBQ3JFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBQzlDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQVFPLE9BQU87c0JBSGQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBZ0J6QixZQUFZO3NCQUhuQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYTGFiZWxDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBIb3N0TGlzdGVuZXIsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICd0YWJJbmRleCcsICdyZWFkb25seScsICd2YWx1ZScsICduYW1lJywgJ2lkJywgJ2NoZWNrZWQnXSxcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICd2YWx1ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFJhZGlvQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PGJvb2xlYW4gfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhMYWJlbENvbXBvbmVudClcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9sYWJlbHM6IFF1ZXJ5TGlzdDxBWExhYmVsQ29tcG9uZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5fbGFiZWxzPy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmZvciA9IHRoaXM7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soZTogVUlFdmVudCkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgdGhpcy5jb21taXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1yYWRpby1sYWJlbFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtcmFkaW8tc3RhcnQtc2lkZVwiPlxuICAgIDxpbnB1dFxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtcmFkaW8tZW5kLXNpZGVcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1sYWJlbFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1mb3JtLWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW4gY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { AXComponent, AXFocusableComponent, AXValuableComponent, AX_SELECTION_DATA_TOKEN, MXSelectionBridgeService, MXSelectionValueComponent, } from '@acorex/components/common';
2
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, effect, forwardRef, input, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, forwardRef, input, } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -23,26 +23,12 @@ export class AXSelectionListComponent extends MXSelectionValueComponent {
23
23
  * @param {TemplateRef<unknown>} customTemplate
24
24
  */
25
25
  this.customTemplate = input();
26
- /**
27
- * @param {boolean} v
28
- * Sets the visibility state of the control.
29
- */
30
- this.showControl = input(true);
31
- /**
32
- * Sets the list of items.
33
- * @param {void}
34
- */
35
- this.items = input([]);
36
- this.#onItemsChange = effect(() => {
37
- this.items();
38
- this.clearSelectionCache();
39
- });
40
- /**
41
- * Sets the field used for displaying hints.
42
- *
43
- * @param {string} v
44
- */
45
- this.hintField = input('hint');
26
+ /** @ignore */
27
+ this._showControl = true;
28
+ /** @ignore */
29
+ this._items = [];
30
+ /** @ignore */
31
+ this._hintField = 'hint';
46
32
  /**
47
33
  * Defines the visual appearance of the selection list.
48
34
  *
@@ -50,14 +36,66 @@ export class AXSelectionListComponent extends MXSelectionValueComponent {
50
36
  */
51
37
  this.look = 'solid';
52
38
  }
53
- #onItemsChange;
39
+ /**
40
+ * @param {void}
41
+ * Gets the current state of the control visibility.
42
+ */
43
+ get showControl() {
44
+ return this._showControl;
45
+ }
46
+ /**
47
+ * @param {boolean} v
48
+ * Sets the visibility state of the control.
49
+ */
50
+ set showControl(v) {
51
+ this.setOption({
52
+ name: 'showControl',
53
+ value: v,
54
+ });
55
+ }
56
+ /**
57
+ * Gets the list of items.
58
+ * @param {void}
59
+ */
60
+ get items() {
61
+ return this._items;
62
+ }
63
+ /**
64
+ * Sets the list of items.
65
+ *
66
+ * @param {any[]} v
67
+ */
68
+ set items(v) {
69
+ this.clearSelectionCache();
70
+ this.setOption({
71
+ name: 'items',
72
+ value: v,
73
+ });
74
+ }
75
+ /**
76
+ * Gets the field used for displaying hints.
77
+ */
78
+ get hintField() {
79
+ return this._hintField;
80
+ }
81
+ /**
82
+ * Sets the field used for displaying hints.
83
+ *
84
+ * @param {string} v
85
+ */
86
+ set hintField(v) {
87
+ this.setOption({
88
+ name: 'hintField',
89
+ value: v,
90
+ });
91
+ }
54
92
  /**
55
93
  * Retrieves an item from the list by its key.
56
94
  *
57
95
  * @param {unknown} key - The key to search for.
58
96
  */
59
97
  getItemByKey(key) {
60
- return this.items().find((c) => c == this.value || c[this.valueField] == key);
98
+ return this.items.find((c) => c == this.value || c[this.valueField] == key);
61
99
  }
62
100
  /** @ignore */
63
101
  _handleOnItemValueChange(item, e) {
@@ -78,7 +116,7 @@ export class AXSelectionListComponent extends MXSelectionValueComponent {
78
116
  ];
79
117
  }
80
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXSelectionListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: false, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: false, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: "disabledField", publicName: "disabledField", isSignal: false, isRequired: false, transformFunction: null }, readonlyField: { classPropertyName: "readonlyField", publicName: "readonlyField", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: "customTemplate", publicName: "customTemplate", isSignal: true, isRequired: false, transformFunction: null }, showControl: { classPropertyName: "showControl", publicName: "showControl", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, hintField: { classPropertyName: "hintField", publicName: "hintField", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: false, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: false, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: "disabledField", publicName: "disabledField", isSignal: false, isRequired: false, transformFunction: null }, readonlyField: { classPropertyName: "readonlyField", publicName: "readonlyField", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: "customTemplate", publicName: "customTemplate", isSignal: true, isRequired: false, transformFunction: null }, showControl: { classPropertyName: "showControl", publicName: "showControl", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
82
120
  { provide: AXComponent, useExisting: AXSelectionListComponent },
83
121
  { provide: AXFocusableComponent, useExisting: AXSelectionListComponent },
84
122
  { provide: AXValuableComponent, useExisting: AXSelectionListComponent },
@@ -91,7 +129,7 @@ export class AXSelectionListComponent extends MXSelectionValueComponent {
91
129
  provide: AX_SELECTION_DATA_TOKEN,
92
130
  useClass: MXSelectionBridgeService,
93
131
  },
94
- ], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax-{{ direction() }}\">\n @for (item of items(); let i = $index; track i) {\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"item.disabled\">\n <label [class.ax-hide-control]=\"!showControl()\">\n @if (multiple) {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n } @else {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n }\n\n @if (customTemplate()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate(); context: { $implicit: { data: item } }\">\n </ng-container>\n </div>\n } @else {\n <div>\n {{ getDisplayText(item) }}\n @if (item[hintField()]) {\n <p class=\"ax-hint-text\">\n {{ item[hintField()] }}\n </p>\n }\n </div>\n }\n </label>\n </li>\n }\n</ul>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-dark ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,.ax-dark ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{background-color:rgba(var(--ax-color-primary-900),.25)}ax-selection-list.ax-look-divided ul.ax-vertical li:last-child label,ax-selection-list.ax-look-divided ul.ax-horizontal li:last-child label{border-style:none}ax-selection-list.ax-look-divided ul.ax-vertical>li label{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding-bottom:.875rem}ax-selection-list.ax-look-divided ul.ax-horizontal>li label{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul{gap:.75rem}ax-selection-list.ax-look-card ul.ax-vertical>li label,ax-selection-list.ax-look-card ul.ax-horizontal>li label{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}ax-selection-list.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-selection-list ul{display:flex;flex-wrap:wrap}ax-selection-list ul.ax-vertical{flex-direction:column}ax-selection-list ul.ax-horizontal{flex-direction:row}ax-selection-list ul li{cursor:pointer;-webkit-user-select:none;user-select:none}ax-selection-list ul li label{display:flex;cursor:pointer;align-items:flex-start;padding:.5rem .75rem}ax-selection-list ul li label.ax-hide-control .ax-checkbox,ax-selection-list ul li label.ax-hide-control .ax-radio{display:none}ax-selection-list ul li label.ax-hide-control>div{margin-inline-start:0px}ax-selection-list ul li label .ax-checkbox,ax-selection-list ul li label .ax-radio{margin-top:.25rem}ax-selection-list ul li label>div{margin-inline-start:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-selection-list ul li label>div .ax-hint-text{margin-top:.25rem;font-weight:400;color:rgb(var(--ax-color-text-default),.75)}ax-selection-list ul li.ax-state-disabled{opacity:.5}ax-selection-list ul li.ax-state-disabled *{cursor:not-allowed}ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}ax-selection-list.ax-state-error .ax-checkbox-checkmark,ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
132
+ ], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax-{{ direction() }}\">\n @for (item of items; let i = $index; track i) {\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"item.disabled\">\n <label [class.ax-hide-control]=\"!showControl\">\n @if (multiple) {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n } @else {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n }\n\n @if (customTemplate()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate(); context: { $implicit: { data: item } }\">\n </ng-container>\n </div>\n } @else {\n <div>\n {{ getDisplayText(item) }}\n @if (item[hintField]) {\n <p class=\"ax-hint-text\">\n {{ item[hintField] }}\n </p>\n }\n </div>\n }\n </label>\n </li>\n }\n</ul>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-dark ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,.ax-dark ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{background-color:rgba(var(--ax-color-primary-900),.25)}ax-selection-list.ax-look-divided ul.ax-vertical li:last-child label,ax-selection-list.ax-look-divided ul.ax-horizontal li:last-child label{border-style:none}ax-selection-list.ax-look-divided ul.ax-vertical>li label{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding-bottom:.875rem}ax-selection-list.ax-look-divided ul.ax-horizontal>li label{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul{gap:.75rem}ax-selection-list.ax-look-card ul.ax-vertical>li label,ax-selection-list.ax-look-card ul.ax-horizontal>li label{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}ax-selection-list.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-selection-list ul{display:flex;flex-wrap:wrap}ax-selection-list ul.ax-vertical{flex-direction:column}ax-selection-list ul.ax-horizontal{flex-direction:row}ax-selection-list ul li{cursor:pointer;-webkit-user-select:none;user-select:none}ax-selection-list ul li label{display:flex;cursor:pointer;align-items:flex-start;padding:.5rem .75rem}ax-selection-list ul li label.ax-hide-control .ax-checkbox,ax-selection-list ul li label.ax-hide-control .ax-radio{display:none}ax-selection-list ul li label.ax-hide-control>div{margin-inline-start:0px}ax-selection-list ul li label .ax-checkbox,ax-selection-list ul li label .ax-radio{margin-top:.25rem}ax-selection-list ul li label>div{margin-inline-start:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-selection-list ul li label>div .ax-hint-text{margin-top:.25rem;font-weight:400;color:rgb(var(--ax-color-text-default),.75)}ax-selection-list ul li.ax-state-disabled{opacity:.5}ax-selection-list ul li.ax-state-disabled *{cursor:not-allowed}ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}ax-selection-list.ax-state-error .ax-checkbox-checkmark,ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
95
133
  }
96
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXSelectionListComponent, decorators: [{
97
135
  type: Component,
@@ -121,11 +159,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
121
159
  provide: AX_SELECTION_DATA_TOKEN,
122
160
  useClass: MXSelectionBridgeService,
123
161
  },
124
- ], template: "<ul class=\"ax-{{ direction() }}\">\n @for (item of items(); let i = $index; track i) {\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"item.disabled\">\n <label [class.ax-hide-control]=\"!showControl()\">\n @if (multiple) {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n } @else {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n }\n\n @if (customTemplate()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate(); context: { $implicit: { data: item } }\">\n </ng-container>\n </div>\n } @else {\n <div>\n {{ getDisplayText(item) }}\n @if (item[hintField()]) {\n <p class=\"ax-hint-text\">\n {{ item[hintField()] }}\n </p>\n }\n </div>\n }\n </label>\n </li>\n }\n</ul>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-dark ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,.ax-dark ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{background-color:rgba(var(--ax-color-primary-900),.25)}ax-selection-list.ax-look-divided ul.ax-vertical li:last-child label,ax-selection-list.ax-look-divided ul.ax-horizontal li:last-child label{border-style:none}ax-selection-list.ax-look-divided ul.ax-vertical>li label{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding-bottom:.875rem}ax-selection-list.ax-look-divided ul.ax-horizontal>li label{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul{gap:.75rem}ax-selection-list.ax-look-card ul.ax-vertical>li label,ax-selection-list.ax-look-card ul.ax-horizontal>li label{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}ax-selection-list.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-selection-list ul{display:flex;flex-wrap:wrap}ax-selection-list ul.ax-vertical{flex-direction:column}ax-selection-list ul.ax-horizontal{flex-direction:row}ax-selection-list ul li{cursor:pointer;-webkit-user-select:none;user-select:none}ax-selection-list ul li label{display:flex;cursor:pointer;align-items:flex-start;padding:.5rem .75rem}ax-selection-list ul li label.ax-hide-control .ax-checkbox,ax-selection-list ul li label.ax-hide-control .ax-radio{display:none}ax-selection-list ul li label.ax-hide-control>div{margin-inline-start:0px}ax-selection-list ul li label .ax-checkbox,ax-selection-list ul li label .ax-radio{margin-top:.25rem}ax-selection-list ul li label>div{margin-inline-start:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-selection-list ul li label>div .ax-hint-text{margin-top:.25rem;font-weight:400;color:rgb(var(--ax-color-text-default),.75)}ax-selection-list ul li.ax-state-disabled{opacity:.5}ax-selection-list ul li.ax-state-disabled *{cursor:not-allowed}ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}ax-selection-list.ax-state-error .ax-checkbox-checkmark,ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}\n"] }]
125
- }], propDecorators: { look: [{
162
+ ], template: "<ul class=\"ax-{{ direction() }}\">\n @for (item of items; let i = $index; track i) {\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"item.disabled\">\n <label [class.ax-hide-control]=\"!showControl\">\n @if (multiple) {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n } @else {\n <input\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item[disabledField] || readonly\"\n />\n }\n\n @if (customTemplate()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate(); context: { $implicit: { data: item } }\">\n </ng-container>\n </div>\n } @else {\n <div>\n {{ getDisplayText(item) }}\n @if (item[hintField]) {\n <p class=\"ax-hint-text\">\n {{ item[hintField] }}\n </p>\n }\n </div>\n }\n </label>\n </li>\n }\n</ul>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-dark ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,.ax-dark ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{background-color:rgba(var(--ax-color-primary-900),.25)}ax-selection-list.ax-look-divided ul.ax-vertical li:last-child label,ax-selection-list.ax-look-divided ul.ax-horizontal li:last-child label{border-style:none}ax-selection-list.ax-look-divided ul.ax-vertical>li label{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding-bottom:.875rem}ax-selection-list.ax-look-divided ul.ax-horizontal>li label{border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul{gap:.75rem}ax-selection-list.ax-look-card ul.ax-vertical>li label,ax-selection-list.ax-look-card ul.ax-horizontal>li label{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-selection-list.ax-look-card ul.ax-vertical>li.ax-state-selected label,ax-selection-list.ax-look-card ul.ax-horizontal>li.ax-state-selected label{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}ax-selection-list.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-selection-list ul{display:flex;flex-wrap:wrap}ax-selection-list ul.ax-vertical{flex-direction:column}ax-selection-list ul.ax-horizontal{flex-direction:row}ax-selection-list ul li{cursor:pointer;-webkit-user-select:none;user-select:none}ax-selection-list ul li label{display:flex;cursor:pointer;align-items:flex-start;padding:.5rem .75rem}ax-selection-list ul li label.ax-hide-control .ax-checkbox,ax-selection-list ul li label.ax-hide-control .ax-radio{display:none}ax-selection-list ul li label.ax-hide-control>div{margin-inline-start:0px}ax-selection-list ul li label .ax-checkbox,ax-selection-list ul li label .ax-radio{margin-top:.25rem}ax-selection-list ul li label>div{margin-inline-start:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-selection-list ul li label>div .ax-hint-text{margin-top:.25rem;font-weight:400;color:rgb(var(--ax-color-text-default),.75)}ax-selection-list ul li.ax-state-disabled{opacity:.5}ax-selection-list ul li.ax-state-disabled *{cursor:not-allowed}ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}ax-selection-list.ax-state-error .ax-checkbox-checkmark,ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}\n"] }]
163
+ }], propDecorators: { showControl: [{
164
+ type: Input
165
+ }], items: [{
166
+ type: Input
167
+ }], look: [{
126
168
  type: Input
127
169
  }], __hostClass: [{
128
170
  type: HostBinding,
129
171
  args: ['class']
130
172
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3NyYy9saWIvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3NyYy9saWIvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFVBQVUsRUFDVixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUluRDs7OztHQUlHO0FBc0NILHNFQUFzRTtBQUN0RSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEseUJBQXlCO0lBdEN2RTs7UUF1Q0U7OztXQUdHO1FBQ0gsY0FBUyxHQUFHLEtBQUssQ0FBYyxZQUFZLENBQUMsQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ0gsbUJBQWMsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFFL0M7OztXQUdHO1FBQ0gsZ0JBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUI7OztXQUdHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUV6QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFB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LHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxRQUFRLEVBQUUsd0JBQXdCO3lCQUNuQztxQkFDRjs4QkF3RFEsSUFBSTtzQkFBWixLQUFLO2dCQWNNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWERpcmVjdGlvbixcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOLFxuICBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2UsXG4gIE1YU2VsZWN0aW9uVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCB0eXBlIEFYU2VsZWN0aW9uTGlzdExvb2sgPSAnc29saWQnIHwgJ2RpdmlkZWQnIHwgJ2NhcmQnO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1zZWxlY3Rpb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogW1xuICAgICdpZCcsXG4gICAgJ25hbWUnLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndGFiSW5kZXgnLFxuICAgICdzaXplJyxcbiAgICAndmFsdWUnLFxuICAgICd2YWx1ZUZpZWxkJyxcbiAgICAndGV4dEZpZWxkJyxcbiAgICAnZGlzYWJsZWRGaWVsZCcsXG4gICAgJ3JlYWRvbmx5RmllbGQnLFxuICAgICdtdWx0aXBsZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnb25WYWx1ZUNoYW5nZWQnLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTixcbiAgICAgIHVzZUNsYXNzOiBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5cbi8vVE9ETzogb24gcGFyZW50IGNsaWNrIChjYXJkIHN0eWxlKSAtPiBjaGVja2JveCBvciByYWRpbyBjaGFuZ2UgdmFsdWVcbmV4cG9ydCBjbGFzcyBBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQgZXh0ZW5kcyBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIHNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0ge0FYRGlyZWN0aW9ufSB2YWx1ZVxuICAgKi9cbiAgZGlyZWN0aW9uID0gaW5wdXQ8QVhEaXJlY3Rpb24+KCdob3Jpem9udGFsJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIGNvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7VGVtcGxhdGVSZWY8dW5rbm93bj59IGN1c3RvbVRlbXBsYXRlXG4gICAqL1xuICBjdXN0b21UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZcbiAgICogU2V0cyB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgY29udHJvbC5cbiAgICovXG4gIHNob3dDb250cm9sID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxpc3Qgb2YgaXRlbXMuXG4gICAqIEBwYXJhbSB7dm9pZH1cbiAgICovXG4gIGl0ZW1zID0gaW5wdXQ8YW55W10+KFtdKTtcblxuICAjb25JdGVtc0NoYW5nZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5pdGVtcygpO1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb25DYWNoZSgpO1xuICB9KTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZmllbGQgdXNlZCBmb3IgZGlzcGxheWluZyBoaW50cy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZcbiAgICovXG4gIGhpbnRGaWVsZCA9IGlucHV0KCdoaW50Jyk7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbiBpdGVtIGZyb20gdGhlIGxpc3QgYnkgaXRzIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHt1bmtub3dufSBrZXkgLSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXG4gICAqL1xuICBnZXRJdGVtQnlLZXkoa2V5OiB1bmtub3duKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMoKS5maW5kKChjKSA9PiBjID09IHRoaXMudmFsdWUgfHwgY1t0aGlzLnZhbHVlRmllbGRdID09IGtleSk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdmlzdWFsIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbGVjdGlvbiBsaXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlICdzb2xpZCdcbiAgICovXG4gIEBJbnB1dCgpIGxvb2s6IEFYU2VsZWN0aW9uTGlzdExvb2sgPSAnc29saWQnO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlT25JdGVtVmFsdWVDaGFuZ2UoaXRlbTogYW55LCBlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIChlLnRhcmdldCBhcyBhbnkpLmNoZWNrZWQgPyB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pIDogdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBheC1sb29rLSR7dGhpcy5sb29rfWAsXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgJHt0aGlzLnJlYWRvbmx5ID8gJ2F4LXN0YXRlLXJlYWRvbmx5JyA6ICcnfWAsXG4gICAgXTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiYXgte3sgZGlyZWN0aW9uKCkgfX1cIj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgIDxsaSBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgPGxhYmVsIFtjbGFzcy5heC1oaWRlLWNvbnRyb2xdPVwiIXNob3dDb250cm9sKClcIj5cbiAgICAgICAgQGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy0nICsgaVwiXG4gICAgICAgICAgICBjbGFzcz1cImF4LWNoZWNrYm94XCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIl9oYW5kbGVPbkl0ZW1WYWx1ZUNoYW5nZShpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBpdGVtW2Rpc2FibGVkRmllbGRdIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctJyArIGlcIlxuICAgICAgICAgICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW2F0dHIubmFtZV09XCJpZFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIl9oYW5kbGVPbkl0ZW1WYWx1ZUNoYW5nZShpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBpdGVtW2Rpc2FibGVkRmllbGRdIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjdXN0b21UZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21UZW1wbGF0ZSgpOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBkYXRhOiBpdGVtIH0gfVwiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7eyBnZXREaXNwbGF5VGV4dChpdGVtKSB9fVxuICAgICAgICAgICAgQGlmIChpdGVtW2hpbnRGaWVsZCgpXSkge1xuICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LWhpbnQtdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1baGludEZpZWxkKCldIH19XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2xpPlxuICB9XG48L3VsPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3NyYy9saWIvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3NyYy9saWIvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSW5EOzs7O0dBSUc7QUFzQ0gsc0VBQXNFO0FBQ3RFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx5QkFBeUI7SUF0Q3ZFOztRQXVDRTs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFjLFlBQVksQ0FBQyxDQUFDO1FBRTdDOzs7O1dBSUc7UUFDSCxtQkFBYyxHQUFHLEtBQUssRUFBd0IsQ0FBQztRQUUvQyxjQUFjO1FBQ04saUJBQVksR0FBRyxJQUFJLENBQUM7UUFzQjVCLGNBQWM7UUFDTixXQUFNLEdBQVUsRUFBRSxDQUFDO1FBd0IzQixjQUFjO1FBQ04sZUFBVSxHQUFHLE1BQU0sQ0FBQztRQThCNUI7Ozs7V0FJRztRQUNNLFNBQUksR0FBd0IsT0FBTyxDQUFDO0tBcUI5QztJQXRHQzs7O09BR0c7SUFDSCxJQUNXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFdBQVcsQ0FBQyxDQUFVO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7SUFLRDs7O09BR0c7SUFDSCxJQUNXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLEtBQUssQ0FBQyxDQUFRO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUtEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsU0FBUyxDQUFDLENBQVM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsR0FBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFTRCxjQUFjO0lBQ0osd0JBQXdCLENBQUMsSUFBUyxFQUFFLENBQVE7UUFDcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ0wsQ0FBQyxDQUFDLE1BQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFDWSxXQUFXO1FBQ3JCLE9BQU87WUFDTCxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzdDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtTQUM5QyxDQUFDO0lBQ0osQ0FBQzs4R0F0SFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsaTJFQWpCeEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFO1lBQy9ELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtZQUN4RSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7WUFDdkU7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDdkQsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLFFBQVEsRUFBRSx3QkFBd0I7YUFDbkM7U0FDRixpREM5REgsMi9DQTZDQTs7MkZEcUJhLHdCQUF3QjtrQkF0Q3BDLFNBQVM7K0JBQ0UsbUJBQW1CLFVBR3JCO3dCQUNOLElBQUk7d0JBQ0osTUFBTTt3QkFDTixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixNQUFNO3dCQUNOLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixVQUFVO3FCQUNYLFdBQ1EsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLDBCQUEwQixFQUFFO3dCQUMvRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLDBCQUEwQixFQUFFO3dCQUN4RSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDBCQUEwQixFQUFFO3dCQUN2RTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7cUJBQ0Y7OEJBMEJVLFdBQVc7c0JBRHJCLEtBQUs7Z0JBd0JLLEtBQUs7c0JBRGYsS0FBSztnQkFzREcsSUFBSTtzQkFBWixLQUFLO2dCQWNNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWERpcmVjdGlvbixcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOLFxuICBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2UsXG4gIE1YU2VsZWN0aW9uVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgdHlwZSBBWFNlbGVjdGlvbkxpc3RMb29rID0gJ3NvbGlkJyB8ICdkaXZpZGVkJyB8ICdjYXJkJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2VsZWN0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnaWQnLFxuICAgICduYW1lJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAnc2l6ZScsXG4gICAgJ3ZhbHVlJyxcbiAgICAndmFsdWVGaWVsZCcsXG4gICAgJ3RleHRGaWVsZCcsXG4gICAgJ2Rpc2FibGVkRmllbGQnLFxuICAgICdyZWFkb25seUZpZWxkJyxcbiAgICAnbXVsdGlwbGUnLFxuICBdLFxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJywgJ29uQmx1cicsICdvbkZvY3VzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2VsZWN0aW9uTGlzdENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2VsZWN0aW9uTGlzdENvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhfU0VMRUNUSU9OX0RBVEFfVE9LRU4sXG4gICAgICB1c2VDbGFzczogTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG59KVxuXG4vL1RPRE86IG9uIHBhcmVudCBjbGljayAoY2FyZCBzdHlsZSkgLT4gY2hlY2tib3ggb3IgcmFkaW8gY2hhbmdlIHZhbHVlXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50IGV4dGVuZHMgTVhTZWxlY3Rpb25WYWx1ZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBzZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHtBWERpcmVjdGlvbn0gdmFsdWVcbiAgICovXG4gIGRpcmVjdGlvbiA9IGlucHV0PEFYRGlyZWN0aW9uPignaG9yaXpvbnRhbCcpO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHRlbXBsYXRlIHVzZWQgZm9yIHJlbmRlcmluZyBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge1RlbXBsYXRlUmVmPHVua25vd24+fSBjdXN0b21UZW1wbGF0ZVxuICAgKi9cbiAgY3VzdG9tVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9zaG93Q29udHJvbCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7dm9pZH1cbiAgICogR2V0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY29udHJvbCB2aXNpYmlsaXR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaG93Q29udHJvbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0NvbnRyb2w7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtib29sZWFufSB2XG4gICAqIFNldHMgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgc2V0IHNob3dDb250cm9sKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnc2hvd0NvbnRyb2wnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9pdGVtczogYW55W10gPSBbXTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgbGlzdCBvZiBpdGVtcy5cbiAgICogQHBhcmFtIHt2b2lkfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxpc3Qgb2YgaXRlbXMuXG4gICAqXG4gICAqIEBwYXJhbSB7YW55W119IHZcbiAgICovXG4gIHB1YmxpYyBzZXQgaXRlbXModjogYW55W10pIHtcbiAgICB0aGlzLmNsZWFyU2VsZWN0aW9uQ2FjaGUoKTtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnaXRlbXMnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9oaW50RmllbGQgPSAnaGludCc7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkIHVzZWQgZm9yIGRpc3BsYXlpbmcgaGludHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhpbnRGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9oaW50RmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZmllbGQgdXNlZCBmb3IgZGlzcGxheWluZyBoaW50cy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZcbiAgICovXG4gIHB1YmxpYyBzZXQgaGludEZpZWxkKHY6IHN0cmluZykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdoaW50RmllbGQnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIGl0ZW0gZnJvbSB0aGUgbGlzdCBieSBpdHMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3Vua25vd259IGtleSAtIFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cbiAgICovXG4gIGdldEl0ZW1CeUtleShrZXk6IHVua25vd24pOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChjKSA9PiBjID09IHRoaXMudmFsdWUgfHwgY1t0aGlzLnZhbHVlRmllbGRdID09IGtleSk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdmlzdWFsIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbGVjdGlvbiBsaXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlICdzb2xpZCdcbiAgICovXG4gIEBJbnB1dCgpIGxvb2s6IEFYU2VsZWN0aW9uTGlzdExvb2sgPSAnc29saWQnO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlT25JdGVtVmFsdWVDaGFuZ2UoaXRlbTogYW55LCBlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIChlLnRhcmdldCBhcyBhbnkpLmNoZWNrZWQgPyB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pIDogdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBheC1sb29rLSR7dGhpcy5sb29rfWAsXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgJHt0aGlzLnJlYWRvbmx5ID8gJ2F4LXN0YXRlLXJlYWRvbmx5JyA6ICcnfWAsXG4gICAgXTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiYXgte3sgZGlyZWN0aW9uKCkgfX1cIj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICA8bGkgW2NsYXNzLmF4LXN0YXRlLXNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgIDxsYWJlbCBbY2xhc3MuYXgtaGlkZS1jb250cm9sXT1cIiFzaG93Q29udHJvbFwiPlxuICAgICAgICBAaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnLScgKyBpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiX2hhbmRsZU9uSXRlbVZhbHVlQ2hhbmdlKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW1bZGlzYWJsZWRGaWVsZF0gfHwgcmVhZG9ubHlcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy0nICsgaVwiXG4gICAgICAgICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbYXR0ci5uYW1lXT1cImlkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiX2hhbmRsZU9uSXRlbVZhbHVlQ2hhbmdlKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW1bZGlzYWJsZWRGaWVsZF0gfHwgcmVhZG9ubHlcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGN1c3RvbVRlbXBsYXRlKCkpIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVRlbXBsYXRlKCk7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB7IGRhdGE6IGl0ZW0gfSB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHt7IGdldERpc3BsYXlUZXh0KGl0ZW0pIH19XG4gICAgICAgICAgICBAaWYgKGl0ZW1baGludEZpZWxkXSkge1xuICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LWhpbnQtdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1baGludEZpZWxkXSB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9saT5cbiAgfVxuPC91bD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @angular-eslint/no-inputs-metadata-property */
2
2
  import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/components/common';
3
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, ViewChild, ViewEncapsulation, forwardRef, input, } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import IMask from 'imask';
6
6
  import { classes } from 'polytype';
@@ -19,6 +19,12 @@ export class AXTextBoxComponent extends classes((MXInputBaseValueComponent), MXL
19
19
  this._updateOn = 'change';
20
20
  /** @ignore */
21
21
  this._maskOptions = { mask: null };
22
+ /**
23
+ * This will apply 'my-custom-class' and 'another-class' to the component's root element.
24
+ */
25
+ // @Input('class')
26
+ // classNames: string;
27
+ this.classNames = input('', { alias: 'class' });
22
28
  }
23
29
  /**
24
30
  * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.
@@ -78,7 +84,7 @@ export class AXTextBoxComponent extends classes((MXInputBaseValueComponent), MXL
78
84
  this.commitValue(value, true);
79
85
  }
80
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", id: "id", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", look: "look", maskOptions: ["mask-options", "maskOptions"], classNames: ["class", "classNames"] }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoComplete: { classPropertyName: "autoComplete", publicName: "autoComplete", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, maskOptions: { classPropertyName: "maskOptions", publicName: "mask-options", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: "classNames", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
82
88
  { provide: AXComponent, useExisting: AXTextBoxComponent },
83
89
  { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },
84
90
  { provide: AXClearableComponent, useExisting: AXTextBoxComponent },
@@ -88,7 +94,7 @@ export class AXTextBoxComponent extends classes((MXInputBaseValueComponent), MXL
88
94
  useExisting: forwardRef(() => AXTextBoxComponent),
89
95
  multi: true,
90
96
  },
91
- ], queries: [{ propertyName: "_maskOptionsContent", first: true, predicate: AXMaskOptionsDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{ look }} {{ classNames }}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-text-box{width:100%}ax-text-box input::-webkit-outer-spin-button,ax-text-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-text-box input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
+ ], queries: [{ propertyName: "_maskOptionsContent", first: true, predicate: AXMaskOptionsDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{ look }} {{ classNames() }}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-text-box{width:100%}ax-text-box input::-webkit-outer-spin-button,ax-text-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-text-box input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
98
  }
93
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTextBoxComponent, decorators: [{
94
100
  type: Component,
@@ -127,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
127
133
  useExisting: forwardRef(() => AXTextBoxComponent),
128
134
  multi: true,
129
135
  },
130
- ], template: "<div class=\"ax-editor-container ax-look-{{ look }} {{ classNames }}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-text-box{width:100%}ax-text-box input::-webkit-outer-spin-button,ax-text-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-text-box input[type=number]{-moz-appearance:textfield}\n"] }]
136
+ ], template: "<div class=\"ax-editor-container ax-look-{{ look }} {{ classNames() }}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-text-box{width:100%}ax-text-box input::-webkit-outer-spin-button,ax-text-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-text-box input[type=number]{-moz-appearance:textfield}\n"] }]
131
137
  }], propDecorators: { input: [{
132
138
  type: ViewChild,
133
139
  args: ['input', { static: true }]
@@ -140,11 +146,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
140
146
  type: Input
141
147
  }], autoComplete: [{
142
148
  type: Input
143
- }], classNames: [{
144
- type: Input,
145
- args: ['class']
146
149
  }], _maskOptionsContent: [{
147
150
  type: ContentChild,
148
151
  args: [AXMaskOptionsDirective, { static: true }]
149
152
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYm94L3NyYy9saWIvdGV4dC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYm94L3NyYy9saWIvdGV4dC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQW9CLE1BQU0sT0FBTyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFpQixzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFFakY7Ozs7R0FJRztBQThDSCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBaUMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJQTlDckU7O1FBaURFLGNBQWM7UUFDSixjQUFTLEdBQWlDLFFBQVEsQ0FBQztRQVM3RCxjQUFjO1FBQ04saUJBQVksR0FBa0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7S0E4RnREO0lBNUZDOztPQUVHO0lBQ0gsSUFDVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJ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aUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFXTyxLQUFLO3NCQURaLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFhekIsV0FBVztzQkFEckIsS0FBSzt1QkFBQyxjQUFjO2dCQWlCckIsU0FBUztzQkFEUixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO3VCQUFDLE9BQU87Z0JBS0osbUJBQW1CO3NCQUQ1QixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHkgKi9cbmltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IElNYXNrLCB7IElucHV0TWFzayB9IGZyb20gJ2ltYXNrJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWE1hc2tPcHRpb25zLCBBWE1hc2tPcHRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9tYXNrLW9wdGlvbnMuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgVGV4dGJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRleHQtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZXh0LWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyd0ZXh0LWJveC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndmFsdWUnLFxuICAgICdzdGF0ZScsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAnYWxsb3dOdWxsJyxcbiAgICAndHlwZScsXG4gICAgJ2F1dG9Db21wbGV0ZScsXG4gICAgJ2xvb2snLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFRleHRCb3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUZXh0Qm94Q29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4sIE1YTG9va0NvbXBvbmVudClcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0XG57XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfdXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcgPSAnY2hhbmdlJztcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWFza09iajogSW5wdXRNYXNrPGFueT47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWFza09wdGlvbnM6IEFYTWFza09wdGlvbnMgPSB7IG1hc2s6IG51bGwgfTtcblxuICAvKipcbiAgICogVGhpcyBwdWJsaWMgZ2V0dGVyIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYF9tYXNrT3B0aW9uc2AgcHJvcGVydHksIHdoaWNoIGhvbGRzIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtYXNrIGZlYXR1cmUuXG4gICAqL1xuICBASW5wdXQoJ21hc2stb3B0aW9ucycpXG4gIHB1YmxpYyBnZXQgbWFza09wdGlvbnMoKTogQVhNYXNrT3B0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuX21hc2tPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZSB7QVhNYXNrT3B0aW9uc30gLSBUaGUgbmV3IG1hc2sgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIGJlIHNldC5cbiAgICovXG4gIHB1YmxpYyBzZXQgbWFza09wdGlvbnModmFsdWU6IEFYTWFza09wdGlvbnMpIHtcbiAgICB0aGlzLl9tYXNrT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuc2V0TWFzaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IHRoZSBpbnB1dCBmaWVsZCBjYW4gYWNjZXB0LiBJdCBjYW4gYmUgZHluYW1pY2FsbHkgYm91bmQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQgdGVtcGxhdGUgdG8gZW5mb3JjZSBpbnB1dCBsZW5ndGggY29uc3RyYWludHMuXG4gICAqL1xuICBASW5wdXQoKVxuICBtYXhMZW5ndGg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZXRlcm1pbmVzIHRoZSB0eXBlIG9mIHRoZSBpbnB1dCBlbGVtZW50IChlLmcuLCAndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcsIGV0Yy4pLiBJdCBjYW4gYmUgZHluYW1pY2FsbHkgYm91bmQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQgdGVtcGxhdGUgdG8gY2hhbmdlIHRoZSBpbnB1dCBmaWVsZCB0eXBlIGJhc2VkIG9uIGRpZmZlcmVudCBjb25kaXRpb25zIG9yIHJlcXVpcmVtZW50cy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb21wbGV0ZSBlbmFibGVkIGFuZCB3aGF0IHR5cGUgb2YgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb25zIHNob3VsZCBiZSBwcm92aWRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgYXV0b0NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBhcHBseSAnbXktY3VzdG9tLWNsYXNzJyBhbmQgJ2Fub3RoZXItY2xhc3MnIHRvIHRoZSBjb21wb25lbnQncyByb290IGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoJ2NsYXNzJylcbiAgY2xhc3NOYW1lczogc3RyaW5nO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGQoQVhNYXNrT3B0aW9uc0RpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIF9tYXNrT3B0aW9uc0NvbnRlbnQ6IEFYTWFza09wdGlvbnNEaXJlY3RpdmU7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICh0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQ/Lm1hc2spIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIHRoaXMuX21hc2tPcHRpb25zQ29udGVudC5tYXNrID09ICdzdHJpbmcnIHx8XG4gICAgICAgIHRoaXMuX21hc2tPcHRpb25zQ29udGVudC5tYXNrIGluc3RhbmNlb2YgUmVnRXhwXG4gICAgICApIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1hc2tPcHRpb25zLCB7XG4gICAgICAgICAgbWFzazogdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2ssXG4gICAgICAgICAgdW5tYXNrOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHRoaXMuX21hc2tPcHRpb25zQ29udGVudC5tYXNrID09ICdvYmplY3QnKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5tYXNrT3B0aW9ucywgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2spO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIHRoaXMuc2V0TWFzaygpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBzZXRNYXNrKCkge1xuICAgIGlmICh0aGlzLl9tYXNrT2JqKSB0aGlzLl9tYXNrT2JqLmRlc3Ryb3koKTtcbiAgICAvL1xuICAgIGlmICh0aGlzLm1hc2tPcHRpb25zPy5tYXNrKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gSU1hc2sodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCB0aGlzLm1hc2tPcHRpb25zKTtcbiAgICAgIHRoaXMuX3VwZGF0ZU9uID0gJ3N1Ym1pdCc7XG4gICAgICB0aGlzLl9tYXNrT2JqLm9uKCdhY2NlcHQnLCB0aGlzLl9vbkNvbXBsZXRlLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5fbWFza09iai5vbignY29tcGxldGUnLCB0aGlzLl9vbkNvbXBsZXRlLmJpbmQodGhpcykpO1xuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbWFza09iai52YWx1ZSA9IGAke3RoaXMudmFsdWV9YDtcbiAgICAgICAgdGhpcy5fbWFza09iai51cGRhdGVWYWx1ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX29uQ29tcGxldGUoZTogSW5wdXRFdmVudCkge1xuICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy5fbWFza09iai52YWx1ZSwgZT8uaXNUcnVzdGVkID8/IGZhbHNlKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuX21hc2tPcHRpb25zQ29udGVudD8udXBkYXRlVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX21hc2tPcHRpb25zQ29udGVudD8udXBkYXRlVmFsdWUodGhpcy5fbWFza09iai52YWx1ZSwgdGhpcy5fbWFza09iai51bm1hc2tlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5jb21taXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyIGF4LWxvb2ste3sgbG9vayB9fSB7eyBjbGFzc05hbWVzIH19XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIGNsYXNzPVwiYXgtaW5wdXRcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXG4gICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cInsgdXBkYXRlT246IF91cGRhdGVPbiB9XCJcbiAgICAoa2V5ZG93bik9XCJlbWl0T25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxuICAvPlxuICBAaWYgKGlucHV0LnZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gIH1cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYm94L3NyYy9saWIvdGV4dC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYm94L3NyYy9saWIvdGV4dC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxLQUFvQixNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBaUIsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRWpGOzs7O0dBSUc7QUE4Q0gsTUFBTSxPQUFPLGtCQUNYLFNBQVEsT0FBTyxDQUFDLENBQUEseUJBQWlDLENBQUEsRUFBRSxlQUFlLENBQUM7SUE5Q3JFOztRQWlERSxjQUFjO1FBQ0osY0FBUyxHQUFpQyxRQUFRLENBQUM7UUFTN0QsY0FBYztRQUNOLGlCQUFZLEdBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBb0NyRDs7V0FFRztRQUNILGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsZUFBVSxHQUFHLEtB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RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxvQkFBb0IsRUFBRTt3QkFDbEUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxvQkFBb0IsRUFBRTt3QkFDakU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQVdPLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWF6QixXQUFXO3NCQURyQixLQUFLO3VCQUFDLGNBQWM7Z0JBaUJyQixTQUFTO3NCQURSLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFZSSxtQkFBbUI7c0JBRDVCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuaW1wb3J0IHtcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IElNYXNrLCB7IElucHV0TWFzayB9IGZyb20gJ2ltYXNrJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWE1hc2tPcHRpb25zLCBBWE1hc2tPcHRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9tYXNrLW9wdGlvbnMuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgVGV4dGJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRleHQtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZXh0LWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyd0ZXh0LWJveC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndmFsdWUnLFxuICAgICdzdGF0ZScsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAnYWxsb3dOdWxsJyxcbiAgICAndHlwZScsXG4gICAgJ2F1dG9Db21wbGV0ZScsXG4gICAgJ2xvb2snLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFRleHRCb3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUZXh0Qm94Q29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4sIE1YTG9va0NvbXBvbmVudClcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0XG57XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfdXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcgPSAnY2hhbmdlJztcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWFza09iajogSW5wdXRNYXNrPGFueT47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWFza09wdGlvbnM6IEFYTWFza09wdGlvbnMgPSB7IG1hc2s6IG51bGwgfTtcblxuICAvKipcbiAgICogVGhpcyBwdWJsaWMgZ2V0dGVyIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYF9tYXNrT3B0aW9uc2AgcHJvcGVydHksIHdoaWNoIGhvbGRzIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtYXNrIGZlYXR1cmUuXG4gICAqL1xuICBASW5wdXQoJ21hc2stb3B0aW9ucycpXG4gIHB1YmxpYyBnZXQgbWFza09wdGlvbnMoKTogQVhNYXNrT3B0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuX21hc2tPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZSB7QVhNYXNrT3B0aW9uc30gLSBUaGUgbmV3IG1hc2sgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIGJlIHNldC5cbiAgICovXG4gIHB1YmxpYyBzZXQgbWFza09wdGlvbnModmFsdWU6IEFYTWFza09wdGlvbnMpIHtcbiAgICB0aGlzLl9tYXNrT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuc2V0TWFzaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IHRoZSBpbnB1dCBmaWVsZCBjYW4gYWNjZXB0LiBJdCBjYW4gYmUgZHluYW1pY2FsbHkgYm91bmQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQgdGVtcGxhdGUgdG8gZW5mb3JjZSBpbnB1dCBsZW5ndGggY29uc3RyYWludHMuXG4gICAqL1xuICBASW5wdXQoKVxuICBtYXhMZW5ndGg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZXRlcm1pbmVzIHRoZSB0eXBlIG9mIHRoZSBpbnB1dCBlbGVtZW50IChlLmcuLCAndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcsIGV0Yy4pLiBJdCBjYW4gYmUgZHluYW1pY2FsbHkgYm91bmQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQgdGVtcGxhdGUgdG8gY2hhbmdlIHRoZSBpbnB1dCBmaWVsZCB0eXBlIGJhc2VkIG9uIGRpZmZlcmVudCBjb25kaXRpb25zIG9yIHJlcXVpcmVtZW50cy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb21wbGV0ZSBlbmFibGVkIGFuZCB3aGF0IHR5cGUgb2YgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb25zIHNob3VsZCBiZSBwcm92aWRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgYXV0b0NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBhcHBseSAnbXktY3VzdG9tLWNsYXNzJyBhbmQgJ2Fub3RoZXItY2xhc3MnIHRvIHRoZSBjb21wb25lbnQncyByb290IGVsZW1lbnQuXG4gICAqL1xuICAvLyBASW5wdXQoJ2NsYXNzJylcbiAgLy8gY2xhc3NOYW1lczogc3RyaW5nO1xuICBjbGFzc05hbWVzID0gaW5wdXQoJycsIHsgYWxpYXM6ICdjbGFzcycgfSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQENvbnRlbnRDaGlsZChBWE1hc2tPcHRpb25zRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgX21hc2tPcHRpb25zQ29udGVudDogQVhNYXNrT3B0aW9uc0RpcmVjdGl2ZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMuX21hc2tPcHRpb25zQ29udGVudD8ubWFzaykge1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgPT0gJ3N0cmluZycgfHxcbiAgICAgICAgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgaW5zdGFuY2VvZiBSZWdFeHBcbiAgICAgICkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMubWFza09wdGlvbnMsIHtcbiAgICAgICAgICBtYXNrOiB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayxcbiAgICAgICAgICB1bm1hc2s6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1hc2tPcHRpb25zLCB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5zZXRNYXNrKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHNldE1hc2soKSB7XG4gICAgaWYgKHRoaXMuX21hc2tPYmopIHRoaXMuX21hc2tPYmouZGVzdHJveSgpO1xuICAgIC8vXG4gICAgaWYgKHRoaXMubWFza09wdGlvbnM/Lm1hc2spIHtcbiAgICAgIHRoaXMuX21hc2tPYmogPSBJTWFzayh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMubWFza09wdGlvbnMpO1xuICAgICAgdGhpcy5fdXBkYXRlT24gPSAnc3VibWl0JztcbiAgICAgIHRoaXMuX21hc2tPYmoub24oJ2FjY2VwdCcsIHRoaXMuX29uQ29tcGxldGUuYmluZCh0aGlzKSk7XG4gICAgICB0aGlzLl9tYXNrT2JqLm9uKCdjb21wbGV0ZScsIHRoaXMuX29uQ29tcGxldGUuYmluZCh0aGlzKSk7XG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICB0aGlzLl9tYXNrT2JqLnZhbHVlID0gYCR7dGhpcy52YWx1ZX1gO1xuICAgICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZVZhbHVlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb25Db21wbGV0ZShlOiBJbnB1dEV2ZW50KSB7XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLl9tYXNrT2JqLnZhbHVlLCBlPy5pc1RydXN0ZWQgPz8gZmFsc2UpO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Py51cGRhdGVWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Py51cGRhdGVWYWx1ZSh0aGlzLl9tYXNrT2JqLnZhbHVlLCB0aGlzLl9tYXNrT2JqLnVubWFza2VkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17eyBsb29rIH19IHt7IGNsYXNzTmFtZXMoKSB9fVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxuICA8aW5wdXRcbiAgICAjaW5wdXRcbiAgICBjbGFzcz1cImF4LWlucHV0XCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZVwiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZU1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHVwZGF0ZU9uOiBfdXBkYXRlT24gfVwiXG4gICAgKGtleWRvd24pPVwiZW1pdE9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxuICAgIChrZXl1cCk9XCJlbWl0T25LZXl1cEV2ZW50KCRldmVudClcIlxuICAgIChrZXlwcmVzcyk9XCJlbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIlxuICAgIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAgIChibHVyKT1cImVtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCJcbiAgLz5cbiAgQGlmIChpbnB1dC52YWx1ZSAmJiAhZGlzYWJsZWQgJiYgIXJlYWRvbmx5KSB7XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xlYXItYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+XG4iXX0=