@ndwnu/design-system 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/components/card/index.d.ts +2 -2
  2. package/components/dropdown/dropdown.component.d.ts +7 -2
  3. package/components/form-field/checkbox/checkbox.component.d.ts +2 -1
  4. package/components/form-field/file-upload/file-upload.component.d.ts +3 -1
  5. package/components/form-field/form-field.component.d.ts +8 -9
  6. package/components/form-field/index.d.ts +1 -0
  7. package/components/form-field/input/input.directive.d.ts +1 -0
  8. package/components/form-field/input/input.model.d.ts +1 -3
  9. package/components/form-field/month-input/index.d.ts +1 -0
  10. package/components/form-field/month-input/month-input-utils.d.ts +5 -0
  11. package/components/form-field/month-input/month-input.component.d.ts +42 -0
  12. package/components/form-field/option-group/index.d.ts +1 -0
  13. package/components/form-field/option-group/option-group.component.d.ts +11 -3
  14. package/components/form-field/option-group/option-group.model.d.ts +1 -0
  15. package/components/form-field/option-group/option.component.d.ts +2 -1
  16. package/components/form-field/radio-button/radio-button.component.d.ts +2 -1
  17. package/components/form-field/success/index.d.ts +1 -0
  18. package/components/form-field/success/success.component.d.ts +5 -0
  19. package/components/icon/action-icon/index.d.ts +1 -0
  20. package/components/icon/index.d.ts +1 -1
  21. package/components/main-navigation/main-navigation.component.d.ts +18 -6
  22. package/components/main-navigation/main-navigation.imports.d.ts +9 -0
  23. package/components/main-navigation-menu/main-navigation-menu.component.d.ts +4 -1
  24. package/components/popover/popover-trigger.directive.d.ts +1 -1
  25. package/components/removable-pill/removable-pill.component.d.ts +1 -1
  26. package/components/toast/toast.component.d.ts +1 -0
  27. package/components/tooltip/tooltip.directive.d.ts +3 -2
  28. package/core/styles/ndw-styles.scss +24 -40
  29. package/core/styles/nwb-styles.scss +24 -40
  30. package/esm2022/components/alert/alert.component.mjs +5 -4
  31. package/esm2022/components/badge/badge.component.mjs +2 -2
  32. package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +3 -3
  33. package/esm2022/components/button/button.directive.mjs +4 -3
  34. package/esm2022/components/card/card-footer/card-footer.component.mjs +2 -2
  35. package/esm2022/components/card/card.component.mjs +2 -2
  36. package/esm2022/components/dropdown/dropdown.component.mjs +31 -6
  37. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +5 -4
  38. package/esm2022/components/form-field/file-upload/file-upload.component.mjs +11 -4
  39. package/esm2022/components/form-field/form-field.component.mjs +27 -32
  40. package/esm2022/components/form-field/index.mjs +2 -1
  41. package/esm2022/components/form-field/input/input.directive.mjs +4 -1
  42. package/esm2022/components/form-field/input/input.model.mjs +1 -3
  43. package/esm2022/components/form-field/month-input/index.mjs +2 -0
  44. package/esm2022/components/form-field/month-input/month-input-utils.mjs +13 -0
  45. package/esm2022/components/form-field/month-input/month-input.component.mjs +155 -0
  46. package/esm2022/components/form-field/option-group/index.mjs +2 -1
  47. package/esm2022/components/form-field/option-group/option-group.component.mjs +35 -24
  48. package/esm2022/components/form-field/option-group/option-group.model.mjs +2 -0
  49. package/esm2022/components/form-field/option-group/option.component.mjs +3 -2
  50. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +5 -4
  51. package/esm2022/components/form-field/success/index.mjs +2 -0
  52. package/esm2022/components/form-field/success/success.component.mjs +12 -0
  53. package/esm2022/components/icon/action-icon/action-icon.component.mjs +2 -1
  54. package/esm2022/components/icon/action-icon/index.mjs +2 -0
  55. package/esm2022/components/icon/icon.component.mjs +2 -3
  56. package/esm2022/components/icon/index.mjs +2 -2
  57. package/esm2022/components/main-navigation/main-navigation.component.mjs +69 -31
  58. package/esm2022/components/main-navigation/main-navigation.imports.mjs +20 -0
  59. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +10 -4
  60. package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +2 -2
  61. package/esm2022/components/modal/modal-header/modal-header.component.mjs +5 -4
  62. package/esm2022/components/modal/modal.component.mjs +2 -2
  63. package/esm2022/components/modal/modal.service.mjs +2 -2
  64. package/esm2022/components/multi-select/multi-select.component.mjs +2 -2
  65. package/esm2022/components/popover/popover-trigger.directive.mjs +1 -2
  66. package/esm2022/components/removable-pill/removable-pill.component.mjs +3 -3
  67. package/esm2022/components/toast/toast.component.mjs +11 -8
  68. package/esm2022/components/tooltip/tooltip.component.mjs +2 -2
  69. package/esm2022/components/tooltip/tooltip.directive.mjs +7 -3
  70. package/fesm2022/ndwnu-design-system.mjs +547 -277
  71. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  72. package/package.json +1 -1
@@ -14,6 +14,7 @@ export class FileUploadComponent {
14
14
  this.draggingOver = model(false);
15
15
  this.selectedFile = model();
16
16
  this.error = model(false);
17
+ this.success = model(false);
17
18
  this.incorrectFileType = model(false);
18
19
  this.incorrectFileSize = model(false);
19
20
  this.canEdit = computed(() => !this.selectedFile() && !this.disabled() && !this.readonly());
@@ -24,6 +25,9 @@ export class FileUploadComponent {
24
25
  get hasError() {
25
26
  return this.error();
26
27
  }
28
+ get hasSuccess() {
29
+ return this.success();
30
+ }
27
31
  get isDisabled() {
28
32
  return this.disabled();
29
33
  }
@@ -153,13 +157,13 @@ export class FileUploadComponent {
153
157
  // noop
154
158
  }
155
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FileUploadComponent, isStandalone: true, selector: "ndw-file-upload", inputs: { allowedFileTypeRegex: { classPropertyName: "allowedFileTypeRegex", publicName: "allowedFileTypeRegex", isSignal: true, isRequired: false, transformFunction: null }, fileUploadText: { classPropertyName: "fileUploadText", publicName: "fileUploadText", isSignal: true, isRequired: false, transformFunction: null }, uploadDate: { classPropertyName: "uploadDate", publicName: "uploadDate", isSignal: true, isRequired: false, transformFunction: null }, maxFileSizeInBytes: { classPropertyName: "maxFileSizeInBytes", publicName: "maxFileSizeInBytes", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggingOver: { classPropertyName: "draggingOver", publicName: "draggingOver", isSignal: true, isRequired: false, transformFunction: null }, selectedFile: { classPropertyName: "selectedFile", publicName: "selectedFile", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileType: { classPropertyName: "incorrectFileType", publicName: "incorrectFileType", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileSize: { classPropertyName: "incorrectFileSize", publicName: "incorrectFileSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { draggingOver: "draggingOverChange", selectedFile: "selectedFileChange", error: "errorChange", incorrectFileType: "incorrectFileTypeChange", incorrectFileSize: "incorrectFileSizeChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "dragleave": "onDragLeave($event)", "dragover": "onDragOver($event)", "dragenter": "onDragEnter($event)", "drop": "onDrop($event)" }, properties: { "attr.tabindex": "this.tabindexAttr", "class.error": "this.hasError", "class.disabled": "this.isDisabled", "class.readonly": "this.isReadonly", "class.dragging": "this.isDragging", "class.file-selected": "this.hasSelectedFile" } }, providers: [
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FileUploadComponent, isStandalone: true, selector: "ndw-file-upload", inputs: { allowedFileTypeRegex: { classPropertyName: "allowedFileTypeRegex", publicName: "allowedFileTypeRegex", isSignal: true, isRequired: false, transformFunction: null }, fileUploadText: { classPropertyName: "fileUploadText", publicName: "fileUploadText", isSignal: true, isRequired: false, transformFunction: null }, uploadDate: { classPropertyName: "uploadDate", publicName: "uploadDate", isSignal: true, isRequired: false, transformFunction: null }, maxFileSizeInBytes: { classPropertyName: "maxFileSizeInBytes", publicName: "maxFileSizeInBytes", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggingOver: { classPropertyName: "draggingOver", publicName: "draggingOver", isSignal: true, isRequired: false, transformFunction: null }, selectedFile: { classPropertyName: "selectedFile", publicName: "selectedFile", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: "success", publicName: "success", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileType: { classPropertyName: "incorrectFileType", publicName: "incorrectFileType", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileSize: { classPropertyName: "incorrectFileSize", publicName: "incorrectFileSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { draggingOver: "draggingOverChange", selectedFile: "selectedFileChange", error: "errorChange", success: "successChange", incorrectFileType: "incorrectFileTypeChange", incorrectFileSize: "incorrectFileSizeChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "dragleave": "onDragLeave($event)", "dragover": "onDragOver($event)", "dragenter": "onDragEnter($event)", "drop": "onDrop($event)" }, properties: { "attr.tabindex": "this.tabindexAttr", "class.error": "this.hasError", "class.success": "this.hasSuccess", "class.disabled": "this.isDisabled", "class.readonly": "this.isReadonly", "class.dragging": "this.isDragging", "class.file-selected": "this.hasSelectedFile" } }, providers: [
157
161
  {
158
162
  provide: NG_VALUE_ACCESSOR,
159
163
  useExisting: FileUploadComponent,
160
164
  multi: true,
161
165
  },
162
- ], viewQueries: [{ propertyName: "fileInputElement", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!draggingOver() && !selectedFile()) {\n <ndw-icon>cloud_upload</ndw-icon>\n} @else if (draggingOver() && !selectedFile()) {\n <ndw-icon>pageless</ndw-icon>\n}\n\n{{ displayText() }}\n\n@if (selectedFile()) {\n <div class=\"file-name\">\n <button\n class=\"file-name-text\"\n (click)=\"onDownloadFileClick()\"\n (keydown.enter)=\"onDownloadFileClick()\"\n >\n {{ selectedFile()?.name }}\n </button>\n\n <div class=\"file-delete-icon\">\n <button (click)=\"onDeleteClick($event)\" (keydown.enter)=\"onDeleteClick($event)\">\n <ndw-icon>delete</ndw-icon>\n </button>\n </div>\n </div>\n\n <p class=\"file-date\">\n {{ uploadDate() }}\n </p>\n}\n\n<input type=\"file\" #fileInput hidden aria-hidden=\"true\" (change)=\"onFileSelected($event)\" />\n", styles: [":host{display:grid;align-items:center;border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-500);background-color:var(--ndw-color-secondary-050);color:var(--ndw-color-secondary-500);padding:var(--ndw-spacing-lg);text-align:center;cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host ndw-icon{color:var(--ndw-color-secondary-500);font-size:var(--ndw-font-size-md);pointer-events:none}:host.dragging,:host:hover,:host:focus{background-color:var(--ndw-color-secondary-100);outline:none}:host.error{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error ndw-icon{color:var(--ndw-color-critical-500);pointer-events:none}:host.error.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);color:var(--ndw-color-secondary-500)}:host.error.file-selected ndw-icon{color:var(--ndw-color-secondary-500);pointer-events:all}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-grey-500);color:var(--ndw-color-grey-500);cursor:not-allowed}:host.disabled ndw-icon,:host.readonly ndw-icon{color:var(--ndw-color-grey-500);pointer-events:none}:host.disabled.file-selected .file-name,:host.readonly.file-selected .file-name{color:var(--ndw-color-secondary-500)}:host.disabled.file-selected .file-name .file-name-text:hover,:host.readonly.file-selected .file-name .file-name-text:hover{text-decoration:none}:host.disabled.file-selected .file-delete-icon,:host.readonly.file-selected .file-delete-icon{display:none}:host.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-spacing-sm);align-items:baseline;word-break:break-all;cursor:auto;text-align:left}:host.file-selected .file-name{display:flex;align-items:center}:host.file-selected .file-name .file-name-text{background:transparent;border:none;padding:0;color:var(--ndw-color-secondary-500);cursor:pointer}:host.file-selected .file-name .file-name-text:hover,:host.file-selected .file-name .file-name-text:focus{text-decoration:underline;outline:none}:host.file-selected .file-date{font-size:var(--ndw-font-size-xs);color:var(--ndw-color-grey-500);margin:0}:host.file-selected .file-delete-icon{display:flex;flex:1;justify-content:end;pointer-events:all}:host.file-selected .file-delete-icon button{background:transparent;border:none;cursor:pointer;padding:var(--ndw-spacing-2xs);border-radius:var(--ndw-border-radius-md);transition:background-color .15s ease-in-out}:host.file-selected .file-delete-icon button:hover{background-color:var(--ndw-alpha-black-007)}:host.file-selected .file-delete-icon button:active,:host.file-selected .file-delete-icon button:focus,:host.file-selected .file-delete-icon button:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.file-selected .file-delete-icon button:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}:host.file-selected .file-delete-icon ndw-icon{pointer-events:all}:host.file-selected .file-delete-icon ndw-icon:focus{color:var(--ndw-color-secondary-500);outline:none}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }] }); }
166
+ ], viewQueries: [{ propertyName: "fileInputElement", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!draggingOver() && !selectedFile()) {\n <ndw-icon>cloud_upload</ndw-icon>\n} @else if (draggingOver() && !selectedFile()) {\n <ndw-icon>pageless</ndw-icon>\n}\n\n{{ displayText() }}\n\n@if (selectedFile()) {\n <div class=\"file-name\">\n <button\n class=\"file-name-text\"\n (click)=\"onDownloadFileClick()\"\n (keydown.enter)=\"onDownloadFileClick()\"\n >\n {{ selectedFile()?.name }}\n </button>\n\n <div class=\"file-delete-icon\">\n <button (click)=\"onDeleteClick($event)\" (keydown.enter)=\"onDeleteClick($event)\">\n <ndw-icon>delete</ndw-icon>\n </button>\n </div>\n </div>\n\n <p class=\"file-date\">\n {{ uploadDate() }}\n </p>\n}\n\n<input type=\"file\" #fileInput hidden aria-hidden=\"true\" (change)=\"onFileSelected($event)\" />\n", styles: [":host{display:grid;align-items:center;border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-500);background-color:var(--ndw-color-secondary-050);color:var(--ndw-color-secondary-500);padding:var(--ndw-spacing-lg);text-align:center;cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host ndw-icon{color:var(--ndw-color-secondary-500);font-size:var(--ndw-font-size-md);pointer-events:none}:host.dragging,:host:hover,:host:focus{background-color:var(--ndw-color-secondary-100);outline:none}:host.success.file-selected{background-color:var(--ndw-color-positive-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-positive-500);color:var(--ndw-color-positive-500)}:host.error{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error ndw-icon{color:var(--ndw-color-critical-500);pointer-events:none}:host.error.file-selected{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error.file-selected ndw-icon{color:var(--ndw-color-secondary-500);pointer-events:all}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-grey-500);color:var(--ndw-color-grey-500);cursor:not-allowed}:host.disabled ndw-icon,:host.readonly ndw-icon{color:var(--ndw-color-grey-500);pointer-events:none}:host.disabled.file-selected .file-name,:host.readonly.file-selected .file-name{color:var(--ndw-color-secondary-500)}:host.disabled.file-selected .file-name .file-name-text:hover,:host.readonly.file-selected .file-name .file-name-text:hover{text-decoration:none}:host.disabled.file-selected .file-delete-icon,:host.readonly.file-selected .file-delete-icon{display:none}:host.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-spacing-sm);align-items:baseline;word-break:break-all;cursor:auto;text-align:left}:host.file-selected .file-name{display:flex;align-items:center}:host.file-selected .file-name .file-name-text{background:transparent;border:none;padding:0;color:var(--ndw-color-secondary-500);cursor:pointer}:host.file-selected .file-name .file-name-text:hover,:host.file-selected .file-name .file-name-text:focus{text-decoration:underline;outline:none}:host.file-selected .file-date{font-size:var(--ndw-font-size-xs);color:var(--ndw-color-grey-500);margin:0}:host.file-selected .file-delete-icon{display:flex;flex:1;justify-content:end;pointer-events:all}:host.file-selected .file-delete-icon button{background:transparent;border:none;cursor:pointer;padding:var(--ndw-spacing-2xs);border-radius:var(--ndw-border-radius-md);transition:background-color .15s ease-in-out}:host.file-selected .file-delete-icon button:hover{background-color:var(--ndw-alpha-black-007)}:host.file-selected .file-delete-icon button:active,:host.file-selected .file-delete-icon button:focus,:host.file-selected .file-delete-icon button:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.file-selected .file-delete-icon button:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}:host.file-selected .file-delete-icon ndw-icon{pointer-events:all}:host.file-selected .file-delete-icon ndw-icon:focus{color:var(--ndw-color-secondary-500);outline:none}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }] }); }
163
167
  }
164
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FileUploadComponent, decorators: [{
165
169
  type: Component,
@@ -169,13 +173,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
169
173
  useExisting: FileUploadComponent,
170
174
  multi: true,
171
175
  },
172
- ], template: "@if (!draggingOver() && !selectedFile()) {\n <ndw-icon>cloud_upload</ndw-icon>\n} @else if (draggingOver() && !selectedFile()) {\n <ndw-icon>pageless</ndw-icon>\n}\n\n{{ displayText() }}\n\n@if (selectedFile()) {\n <div class=\"file-name\">\n <button\n class=\"file-name-text\"\n (click)=\"onDownloadFileClick()\"\n (keydown.enter)=\"onDownloadFileClick()\"\n >\n {{ selectedFile()?.name }}\n </button>\n\n <div class=\"file-delete-icon\">\n <button (click)=\"onDeleteClick($event)\" (keydown.enter)=\"onDeleteClick($event)\">\n <ndw-icon>delete</ndw-icon>\n </button>\n </div>\n </div>\n\n <p class=\"file-date\">\n {{ uploadDate() }}\n </p>\n}\n\n<input type=\"file\" #fileInput hidden aria-hidden=\"true\" (change)=\"onFileSelected($event)\" />\n", styles: [":host{display:grid;align-items:center;border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-500);background-color:var(--ndw-color-secondary-050);color:var(--ndw-color-secondary-500);padding:var(--ndw-spacing-lg);text-align:center;cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host ndw-icon{color:var(--ndw-color-secondary-500);font-size:var(--ndw-font-size-md);pointer-events:none}:host.dragging,:host:hover,:host:focus{background-color:var(--ndw-color-secondary-100);outline:none}:host.error{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error ndw-icon{color:var(--ndw-color-critical-500);pointer-events:none}:host.error.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);color:var(--ndw-color-secondary-500)}:host.error.file-selected ndw-icon{color:var(--ndw-color-secondary-500);pointer-events:all}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-grey-500);color:var(--ndw-color-grey-500);cursor:not-allowed}:host.disabled ndw-icon,:host.readonly ndw-icon{color:var(--ndw-color-grey-500);pointer-events:none}:host.disabled.file-selected .file-name,:host.readonly.file-selected .file-name{color:var(--ndw-color-secondary-500)}:host.disabled.file-selected .file-name .file-name-text:hover,:host.readonly.file-selected .file-name .file-name-text:hover{text-decoration:none}:host.disabled.file-selected .file-delete-icon,:host.readonly.file-selected .file-delete-icon{display:none}:host.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-spacing-sm);align-items:baseline;word-break:break-all;cursor:auto;text-align:left}:host.file-selected .file-name{display:flex;align-items:center}:host.file-selected .file-name .file-name-text{background:transparent;border:none;padding:0;color:var(--ndw-color-secondary-500);cursor:pointer}:host.file-selected .file-name .file-name-text:hover,:host.file-selected .file-name .file-name-text:focus{text-decoration:underline;outline:none}:host.file-selected .file-date{font-size:var(--ndw-font-size-xs);color:var(--ndw-color-grey-500);margin:0}:host.file-selected .file-delete-icon{display:flex;flex:1;justify-content:end;pointer-events:all}:host.file-selected .file-delete-icon button{background:transparent;border:none;cursor:pointer;padding:var(--ndw-spacing-2xs);border-radius:var(--ndw-border-radius-md);transition:background-color .15s ease-in-out}:host.file-selected .file-delete-icon button:hover{background-color:var(--ndw-alpha-black-007)}:host.file-selected .file-delete-icon button:active,:host.file-selected .file-delete-icon button:focus,:host.file-selected .file-delete-icon button:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.file-selected .file-delete-icon button:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}:host.file-selected .file-delete-icon ndw-icon{pointer-events:all}:host.file-selected .file-delete-icon ndw-icon:focus{color:var(--ndw-color-secondary-500);outline:none}\n"] }]
176
+ ], template: "@if (!draggingOver() && !selectedFile()) {\n <ndw-icon>cloud_upload</ndw-icon>\n} @else if (draggingOver() && !selectedFile()) {\n <ndw-icon>pageless</ndw-icon>\n}\n\n{{ displayText() }}\n\n@if (selectedFile()) {\n <div class=\"file-name\">\n <button\n class=\"file-name-text\"\n (click)=\"onDownloadFileClick()\"\n (keydown.enter)=\"onDownloadFileClick()\"\n >\n {{ selectedFile()?.name }}\n </button>\n\n <div class=\"file-delete-icon\">\n <button (click)=\"onDeleteClick($event)\" (keydown.enter)=\"onDeleteClick($event)\">\n <ndw-icon>delete</ndw-icon>\n </button>\n </div>\n </div>\n\n <p class=\"file-date\">\n {{ uploadDate() }}\n </p>\n}\n\n<input type=\"file\" #fileInput hidden aria-hidden=\"true\" (change)=\"onFileSelected($event)\" />\n", styles: [":host{display:grid;align-items:center;border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-500);background-color:var(--ndw-color-secondary-050);color:var(--ndw-color-secondary-500);padding:var(--ndw-spacing-lg);text-align:center;cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host ndw-icon{color:var(--ndw-color-secondary-500);font-size:var(--ndw-font-size-md);pointer-events:none}:host.dragging,:host:hover,:host:focus{background-color:var(--ndw-color-secondary-100);outline:none}:host.success.file-selected{background-color:var(--ndw-color-positive-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-positive-500);color:var(--ndw-color-positive-500)}:host.error{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error ndw-icon{color:var(--ndw-color-critical-500);pointer-events:none}:host.error.file-selected{background-color:var(--ndw-color-critical-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-critical-500);color:var(--ndw-color-critical-500)}:host.error.file-selected ndw-icon{color:var(--ndw-color-secondary-500);pointer-events:all}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) dashed var(--ndw-color-grey-500);color:var(--ndw-color-grey-500);cursor:not-allowed}:host.disabled ndw-icon,:host.readonly ndw-icon{color:var(--ndw-color-grey-500);pointer-events:none}:host.disabled.file-selected .file-name,:host.readonly.file-selected .file-name{color:var(--ndw-color-secondary-500)}:host.disabled.file-selected .file-name .file-name-text:hover,:host.readonly.file-selected .file-name .file-name-text:hover{text-decoration:none}:host.disabled.file-selected .file-delete-icon,:host.readonly.file-selected .file-delete-icon{display:none}:host.file-selected{background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-spacing-sm);align-items:baseline;word-break:break-all;cursor:auto;text-align:left}:host.file-selected .file-name{display:flex;align-items:center}:host.file-selected .file-name .file-name-text{background:transparent;border:none;padding:0;color:var(--ndw-color-secondary-500);cursor:pointer}:host.file-selected .file-name .file-name-text:hover,:host.file-selected .file-name .file-name-text:focus{text-decoration:underline;outline:none}:host.file-selected .file-date{font-size:var(--ndw-font-size-xs);color:var(--ndw-color-grey-500);margin:0}:host.file-selected .file-delete-icon{display:flex;flex:1;justify-content:end;pointer-events:all}:host.file-selected .file-delete-icon button{background:transparent;border:none;cursor:pointer;padding:var(--ndw-spacing-2xs);border-radius:var(--ndw-border-radius-md);transition:background-color .15s ease-in-out}:host.file-selected .file-delete-icon button:hover{background-color:var(--ndw-alpha-black-007)}:host.file-selected .file-delete-icon button:active,:host.file-selected .file-delete-icon button:focus,:host.file-selected .file-delete-icon button:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.file-selected .file-delete-icon button:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}:host.file-selected .file-delete-icon ndw-icon{pointer-events:all}:host.file-selected .file-delete-icon ndw-icon:focus{color:var(--ndw-color-secondary-500);outline:none}\n"] }]
173
177
  }], propDecorators: { tabindexAttr: [{
174
178
  type: HostBinding,
175
179
  args: ['attr.tabindex']
176
180
  }], hasError: [{
177
181
  type: HostBinding,
178
182
  args: ['class.error']
183
+ }], hasSuccess: [{
184
+ type: HostBinding,
185
+ args: ['class.success']
179
186
  }], isDisabled: [{
180
187
  type: HostBinding,
181
188
  args: ['class.disabled']
@@ -207,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
207
214
  type: HostListener,
208
215
  args: ['drop', ['$event']]
209
216
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFnQnpFLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFla0IscUJBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFDakYseUJBQW9CLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxLQUFLLENBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxlQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsaUJBQVks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QzFCSCw0eUJBK0JBLHF6R0RkWSxhQUFhOzsyRkFXWixtQkFBbUI7a0JBZC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQW9CVSxZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGVBQWU7Z0JBTWpCLFFBQVE7c0JBRGxCLFdBQVc7dUJBQUMsYUFBYTtnQkFNZixVQUFVO3NCQURwQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNbEIsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixlQUFlO3NCQUR6QixXQUFXO3VCQUFDLHFCQUFxQjtnQkFNM0IsU0FBUztzQkFEZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFpQjVCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPO2dCQVFkLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU85QixVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTN0IsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUzlCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIHZpZXdDaGlsZCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBFbGVtZW50UmVmLFxuICBjb21wdXRlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkVGV4dCB9IGZyb20gJy4vZmlsZS11cGxvYWQtdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctZmlsZS11cGxvYWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZUlucHV0RWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZmlsZUlucHV0Jyk7XG4gIHB1YmxpYyByZWFkb25seSBhbGxvd2VkRmlsZVR5cGVSZWdleCA9IGlucHV0PFJlZ0V4cD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGZpbGVVcGxvYWRUZXh0ID0gaW5wdXQ8RmlsZVVwbG9hZFRleHQ+KHsgZHJhZ1RleHQ6ICcnLCBkcmFnT3ZlclRleHQ6ICcnIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBsb2FkRGF0ZSA9IGlucHV0KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IG1heEZpbGVTaXplSW5CeXRlcyA9IGlucHV0KDEwMDAwMDApO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRyYWdnaW5nT3ZlciA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRmlsZSA9IG1vZGVsPEZpbGUgfCBudWxsPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBpbmNvcnJlY3RGaWxlVHlwZSA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGluY29ycmVjdEZpbGVTaXplID0gbW9kZWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbkVkaXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiAhdGhpcy5zZWxlY3RlZEZpbGUoKSAmJiAhdGhpcy5kaXNhYmxlZCgpICYmICF0aGlzLnJlYWRvbmx5KCksXG4gICk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgcHVibGljIGdldCB0YWJpbmRleEF0dHIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gIXRoaXMuY2FuRWRpdCgpID8gLTEgOiAwO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lcnJvcicpXG4gIHB1YmxpYyBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZWQnKVxuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucmVhZG9ubHknKVxuICBwdWJsaWMgZ2V0IGlzUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZ2dpbmcnKVxuICBwdWJsaWMgZ2V0IGlzRHJhZ2dpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZHJhZ2dpbmdPdmVyKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGUtc2VsZWN0ZWQnKVxuICBwdWJsaWMgZ2V0IGhhc1NlbGVjdGVkRmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGUoKSA/IHRydWUgOiBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ0VudGVyJyAmJiBldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0RWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbkVkaXQoKSkge1xuICAgICAgdGhpcy5maWxlSW5wdXRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5kcmFnZ2luZ092ZXIuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmNhbkVkaXQoKSkge1xuICAgICAgdGhpcy5kcmFnZ2luZ092ZXIuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbnRlcicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdFbnRlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICB0aGlzLmRyYWdnaW5nT3Zlci5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICBjb25zdCBmaWxlOiBGaWxlIHwgdW5kZWZpbmVkID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlc1swXTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsZShmaWxlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZHJhZ2dpbmdPdmVyLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRG93bmxvYWRGaWxlQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5zZWxlY3RlZEZpbGUoKSEpO1xuICAgIGNvbnN0IGxpbmtFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmtFbGVtZW50LmhyZWYgPSB1cmw7XG4gICAgbGlua0VsZW1lbnQuZG93bmxvYWQgPSB0aGlzLnNlbGVjdGVkRmlsZSgpIS5uYW1lO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGlua0VsZW1lbnQpO1xuICAgIGxpbmtFbGVtZW50LmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rRWxlbWVudCk7XG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJlc2V0RmlsZSgpO1xuICAgIHRoaXMuaW5jb3JyZWN0RmlsZVR5cGUuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmluY29ycmVjdEZpbGVTaXplLnNldChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheVRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGaWxlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRyYWdnaW5nT3ZlcigpXG4gICAgICAgID8gdGhpcy5maWxlVXBsb2FkVGV4dCgpLmRyYWdPdmVyVGV4dFxuICAgICAgICA6IHRoaXMuZmlsZVVwbG9hZFRleHQoKS5kcmFnVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgaWYgKGlucHV0RWxlbWVudC5maWxlcykge1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gaW5wdXRFbGVtZW50LmZpbGVzWzBdO1xuICAgICAgICB0aGlzLnNlbGVjdEZpbGUoZmlsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RGaWxlKGZpbGU6IEZpbGUpOiB2b2lkIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgaWYgKCF0aGlzLmNvcnJlY3RGaWxlVHlwZShmaWxlLnR5cGUpKSB7XG4gICAgICAgIHRoaXMucmVzZXRGaWxlKCk7XG4gICAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVNpemUuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlVHlwZS5zZXQodHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmNvcnJlY3RGaWxlU2l6ZShmaWxlLnNpemUpKSB7XG4gICAgICAgIHRoaXMucmVzZXRGaWxlKCk7XG4gICAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVR5cGUuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlU2l6ZS5zZXQodHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlU2l6ZS5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlVHlwZS5zZXQoZmFsc2UpO1xuXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQoZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZpbGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc2V0KG51bGwpO1xuICAgIHRoaXMuZmlsZUlucHV0RWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgY29ycmVjdEZpbGVTaXplKGZpbGVTaXplOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXhGaWxlU2l6ZUluQnl0ZXMoKSA+IGZpbGVTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3JyZWN0RmlsZVR5cGUoZmlsZVR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbG93ZWRGaWxlVHlwZVJlZ2V4KCk/LnRlc3QoZmlsZVR5cGUpID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IEZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogRmlsZSB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zdWJzY3JpYmUoZm4pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xuICAgIC8vIG5vb3BcbiAgfVxufVxuIiwiQGlmICghZHJhZ2dpbmdPdmVyKCkgJiYgIXNlbGVjdGVkRmlsZSgpKSB7XG4gIDxuZHctaWNvbj5jbG91ZF91cGxvYWQ8L25kdy1pY29uPlxufSBAZWxzZSBpZiAoZHJhZ2dpbmdPdmVyKCkgJiYgIXNlbGVjdGVkRmlsZSgpKSB7XG4gIDxuZHctaWNvbj5wYWdlbGVzczwvbmR3LWljb24+XG59XG5cbnt7IGRpc3BsYXlUZXh0KCkgfX1cblxuQGlmIChzZWxlY3RlZEZpbGUoKSkge1xuICA8ZGl2IGNsYXNzPVwiZmlsZS1uYW1lXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJmaWxlLW5hbWUtdGV4dFwiXG4gICAgICAoY2xpY2spPVwib25Eb3dubG9hZEZpbGVDbGljaygpXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRG93bmxvYWRGaWxlQ2xpY2soKVwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWRGaWxlKCk/Lm5hbWUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRlbGV0ZS1pY29uXCI+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKCRldmVudClcIiAoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZUNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPG5kdy1pY29uPmRlbGV0ZTwvbmR3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHAgY2xhc3M9XCJmaWxlLWRhdGVcIj5cbiAgICB7eyB1cGxvYWREYXRlKCkgfX1cbiAgPC9wPlxufVxuXG48aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGhpZGRlbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIiAvPlxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFnQnpFLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFla0IscUJBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFDakYseUJBQW9CLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxLQUFLLENBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxlQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsaUJBQVks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LFxuICBIb3N0TGlzdGVuZXIsXG4gIHZpZXdDaGlsZCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBFbGVtZW50UmVmLFxuICBjb21wdXRlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkVGV4dCB9IGZyb20gJy4vZmlsZS11cGxvYWQtdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctZmlsZS11cGxvYWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZUlucHV0RWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZmlsZUlucHV0Jyk7XG4gIHB1YmxpYyByZWFkb25seSBhbGxvd2VkRmlsZVR5cGVSZWdleCA9IGlucHV0PFJlZ0V4cD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGZpbGVVcGxvYWRUZXh0ID0gaW5wdXQ8RmlsZVVwbG9hZFRleHQ+KHsgZHJhZ1RleHQ6ICcnLCBkcmFnT3ZlclRleHQ6ICcnIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBsb2FkRGF0ZSA9IGlucHV0KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IG1heEZpbGVTaXplSW5CeXRlcyA9IGlucHV0KDEwMDAwMDApO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRyYWdnaW5nT3ZlciA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRmlsZSA9IG1vZGVsPEZpbGUgfCBudWxsPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBzdWNjZXNzID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb3JyZWN0RmlsZVR5cGUgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBpbmNvcnJlY3RGaWxlU2l6ZSA9IG1vZGVsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5FZGl0ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gIXRoaXMuc2VsZWN0ZWRGaWxlKCkgJiYgIXRoaXMuZGlzYWJsZWQoKSAmJiAhdGhpcy5yZWFkb25seSgpLFxuICApO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIHB1YmxpYyBnZXQgdGFiaW5kZXhBdHRyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICF0aGlzLmNhbkVkaXQoKSA/IC0xIDogMDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXJyb3InKVxuICBwdWJsaWMgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN1Y2Nlc3MnKVxuICBwdWJsaWMgZ2V0IGhhc1N1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VjY2VzcygpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpXG4gIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZWFkb25seScpXG4gIHB1YmxpYyBnZXQgaXNSZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcmFnZ2luZycpXG4gIHB1YmxpYyBnZXQgaXNEcmFnZ2luZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnZ2luZ092ZXIoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZS1zZWxlY3RlZCcpXG4gIHB1YmxpYyBnZXQgaGFzU2VsZWN0ZWRGaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRmlsZSgpID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnV0dG9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNhbkVkaXQoKSkge1xuICAgICAgdGhpcy5maWxlSW5wdXRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmRyYWdnaW5nT3Zlci5zZXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICB0aGlzLmRyYWdnaW5nT3Zlci5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIHRoaXMuZHJhZ2dpbmdPdmVyLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgfCB1bmRlZmluZWQgPSBldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzWzBdO1xuICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5kcmFnZ2luZ092ZXIuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Eb3dubG9hZEZpbGVDbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLnNlbGVjdGVkRmlsZSgpISk7XG4gICAgY29uc3QgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGlua0VsZW1lbnQuaHJlZiA9IHVybDtcbiAgICBsaW5rRWxlbWVudC5kb3dubG9hZCA9IHRoaXMuc2VsZWN0ZWRGaWxlKCkhLm5hbWU7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rRWxlbWVudCk7XG4gICAgbGlua0VsZW1lbnQuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmtFbGVtZW50KTtcbiAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVzZXRGaWxlKCk7XG4gICAgdGhpcy5pbmNvcnJlY3RGaWxlVHlwZS5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaW5jb3JyZWN0RmlsZVNpemUuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbGUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHJhZ2dpbmdPdmVyKClcbiAgICAgICAgPyB0aGlzLmZpbGVVcGxvYWRUZXh0KCkuZHJhZ092ZXJUZXh0XG4gICAgICAgIDogdGhpcy5maWxlVXBsb2FkVGV4dCgpLmRyYWdUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbkVkaXQoKSkge1xuICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICBpZiAoaW5wdXRFbGVtZW50LmZpbGVzKSB7XG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBpbnB1dEVsZW1lbnQuZmlsZXNbMF07XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsZShmaWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBpZiAoIXRoaXMuY29ycmVjdEZpbGVUeXBlKGZpbGUudHlwZSkpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpbGUoKTtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlU2l6ZS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmluY29ycmVjdEZpbGVUeXBlLnNldCh0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuY29ycmVjdEZpbGVTaXplKGZpbGUuc2l6ZSkpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpbGUoKTtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RGaWxlVHlwZS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmluY29ycmVjdEZpbGVTaXplLnNldCh0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmluY29ycmVjdEZpbGVTaXplLnNldChmYWxzZSk7XG4gICAgICB0aGlzLmluY29ycmVjdEZpbGVUeXBlLnNldChmYWxzZSk7XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnNldChmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmlsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQobnVsbCk7XG4gICAgdGhpcy5maWxlSW5wdXRFbGVtZW50KCkubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3JyZWN0RmlsZVNpemUoZmlsZVNpemU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1heEZpbGVTaXplSW5CeXRlcygpID4gZmlsZVNpemU7XG4gIH1cblxuICBwcml2YXRlIGNvcnJlY3RGaWxlVHlwZShmaWxlVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dlZEZpbGVUeXBlUmVnZXgoKT8udGVzdChmaWxlVHlwZSkgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnNldCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBGaWxlIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnN1YnNjcmliZShmbik7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gICAgLy8gbm9vcFxuICB9XG59XG4iLCJAaWYgKCFkcmFnZ2luZ092ZXIoKSAmJiAhc2VsZWN0ZWRGaWxlKCkpIHtcbiAgPG5kdy1pY29uPmNsb3VkX3VwbG9hZDwvbmR3LWljb24+XG59IEBlbHNlIGlmIChkcmFnZ2luZ092ZXIoKSAmJiAhc2VsZWN0ZWRGaWxlKCkpIHtcbiAgPG5kdy1pY29uPnBhZ2VsZXNzPC9uZHctaWNvbj5cbn1cblxue3sgZGlzcGxheVRleHQoKSB9fVxuXG5AaWYgKHNlbGVjdGVkRmlsZSgpKSB7XG4gIDxkaXYgY2xhc3M9XCJmaWxlLW5hbWVcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImZpbGUtbmFtZS10ZXh0XCJcbiAgICAgIChjbGljayk9XCJvbkRvd25sb2FkRmlsZUNsaWNrKClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwib25Eb3dubG9hZEZpbGVDbGljaygpXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZEZpbGUoKT8ubmFtZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtZGVsZXRlLWljb25cIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uRGVsZXRlQ2xpY2soJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cIm9uRGVsZXRlQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICA8bmR3LWljb24+ZGVsZXRlPC9uZHctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8cCBjbGFzcz1cImZpbGUtZGF0ZVwiPlxuICAgIHt7IHVwbG9hZERhdGUoKSB9fVxuICA8L3A+XG59XG5cbjxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgaGlkZGVuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4iXX0=
@@ -1,31 +1,31 @@
1
- import { CommonModule } from '@angular/common';
1
+ import { NgClass, NgTemplateOutlet } from '@angular/common';
2
2
  import { Component, computed, contentChild, effect, input } from '@angular/core';
3
- import { ActionIconComponent, IconComponent } from '../icon';
3
+ import { ButtonDirective } from '../button';
4
+ import { IconComponent } from '../icon';
4
5
  import { TooltipDirective } from '../tooltip';
5
- import { CheckboxGroupComponent } from './checkbox-group';
6
6
  import { ErrorComponent } from './error';
7
7
  import { FormFieldElement } from './form-field.model';
8
8
  import { InfoComponent } from './info';
9
9
  import { InputDirective, InputType } from './input';
10
- import { RadioGroupComponent } from './radio-group';
10
+ import { MonthInputComponent } from './month-input';
11
+ import { SuccessComponent } from './success';
11
12
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
13
  const inputTypesWithPrefixIcon = [InputType.Search];
14
- const inputTypesWithSuffixIcon = [InputType.Date, InputType.Month, InputType.Time, InputType.Week];
14
+ const inputTypesWithSuffixButton = [InputType.Date, InputType.Time];
15
15
  export class FormFieldComponent {
16
16
  constructor() {
17
- this.input = contentChild(InputDirective);
18
- this.radioGroup = contentChild(RadioGroupComponent);
19
- this.checkboxGroup = contentChild(CheckboxGroupComponent);
17
+ this.monthInput = contentChild(MonthInputComponent);
18
+ this.regularInput = contentChild(InputDirective);
19
+ this.input = computed(() => this.regularInput() ?? this.monthInput()?.input());
20
20
  this.label = input.required();
21
21
  this.clearSearchAriaLabel = input();
22
- this.suffixIconAriaLabel = input();
22
+ this.suffixButtonAriaLabel = input();
23
23
  this.hideLabel = input(false);
24
24
  this.disabled = input(false);
25
25
  this.error = input();
26
+ this.success = input();
26
27
  this.info = input();
27
28
  this.tooltip = input('');
28
- this.required = computed(() => this.setRequiredState());
29
29
  this.inputPrefix = computed(() => this.setInputPrefix());
30
30
  this.inputSuffix = computed(() => this.setInputSuffix());
31
31
  this.uuid = crypto.randomUUID();
@@ -38,6 +38,7 @@ export class FormFieldComponent {
38
38
  this.addInputTypeBasedClass(input);
39
39
  this.setInputDisabledState(input);
40
40
  this.setInputErrorState(input);
41
+ this.setInputSuccessState(input);
41
42
  this.setInputId(input);
42
43
  this.setAriaDescribedBy(input);
43
44
  });
@@ -50,7 +51,7 @@ export class FormFieldComponent {
50
51
  input.element.dispatchEvent(new Event('input'));
51
52
  }
52
53
  }
53
- onSuffixIconClick() {
54
+ onSuffixButtonClick() {
54
55
  const inputElement = this.input()?.element;
55
56
  if (!inputElement) {
56
57
  return;
@@ -68,9 +69,9 @@ export class FormFieldComponent {
68
69
  inputTypesWithPrefixIcon.includes(element.type)
69
70
  ? element.classList.add('prefix-icon')
70
71
  : element.classList.remove('prefix-icon');
71
- inputTypesWithSuffixIcon.includes(element.type)
72
- ? element.classList.add('suffix-icon')
73
- : element.classList.remove('suffix-icon');
72
+ inputTypesWithSuffixButton.includes(element.type)
73
+ ? element.classList.add('suffix-button')
74
+ : element.classList.remove('suffix-button');
74
75
  }
75
76
  setInputDisabledState(input) {
76
77
  input.disabled = this.disabled();
@@ -78,6 +79,9 @@ export class FormFieldComponent {
78
79
  setInputErrorState(input) {
79
80
  input.error = !!this.error()?.length;
80
81
  }
82
+ setInputSuccessState(input) {
83
+ input.success = !!this.success()?.length;
84
+ }
81
85
  setInputId(input) {
82
86
  input.id = `input-${this.uuid}`;
83
87
  }
@@ -100,7 +104,7 @@ export class FormFieldComponent {
100
104
  return;
101
105
  }
102
106
  // Set the input icon for date inputs
103
- if (inputTypesWithSuffixIcon.includes(input.element.type)) {
107
+ if (inputTypesWithSuffixButton.includes(input.element.type)) {
104
108
  return input.element.type === InputType.Time ? 'schedule' : 'calendar_month';
105
109
  }
106
110
  // Set the input icon for select inputs
@@ -109,29 +113,20 @@ export class FormFieldComponent {
109
113
  }
110
114
  return undefined;
111
115
  }
112
- setRequiredState() {
113
- const checkboxGroup = this.checkboxGroup();
114
- const input = this.input();
115
- const radioGroup = this.radioGroup();
116
- const requiredCheckboxes = checkboxGroup?.checkboxes().some((checkbox) => checkbox.required());
117
- const requiredInput = input?.element.required;
118
- const requiredRadioButtons = radioGroup
119
- ?.radioButtons()
120
- .some((radioButton) => radioButton.required());
121
- return requiredInput || requiredCheckboxes || requiredRadioButtons || false;
122
- }
123
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FormFieldComponent, isStandalone: true, selector: "ndw-form-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, clearSearchAriaLabel: { classPropertyName: "clearSearchAriaLabel", publicName: "clearSearchAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, suffixIconAriaLabel: { classPropertyName: "suffixIconAriaLabel", publicName: "suffixIconAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "input", first: true, predicate: InputDirective, descendants: true, isSignal: true }, { propertyName: "radioGroup", first: true, predicate: RadioGroupComponent, descendants: true, isSignal: true }, { propertyName: "checkboxGroup", first: true, predicate: CheckboxGroupComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (input() === undefined) {\n <fieldset>\n <legend ndwLabel [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </legend>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n </fieldset>\n} @else {\n <label ndwLabel [attr.for]=\"input() ? 'input-' + uuid : null\" [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </label>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n}\n\n<ng-template #fieldTemplate>\n @if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\">\n {{ icon }}\n </ndw-icon>\n }\n @if (inputSuffix(); as icon) {\n <ndw-action-icon\n class=\"suffix-input-icon\"\n variant=\"grey\"\n [ngClass]=\"{ disabled: disabled() }\"\n [ariaLabel]=\"suffixIconAriaLabel() ?? ''\"\n (onClick)=\"onSuffixIconClick()\"\n >\n {{ icon }}\n </ndw-action-icon>\n }\n\n @if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-action-icon\n class=\"suffix-input-icon\"\n variant=\"grey\"\n [ariaLabel]=\"clearSearchAriaLabel() ?? ''\"\n (onClick)=\"clearInput()\"\n >\n close\n </ndw-action-icon>\n }\n\n <ng-content />\n\n @if (info(); as info) {\n <ndw-info [id]=\"descriptionUuid\">{{ info }}</ndw-info>\n }\n @if (error(); as error) {\n <ndw-error role=\"alert\" aria-live=\"polite\">{{ error }}</ndw-error>\n }\n</ng-template>\n\n<ng-template #labelTemplate>\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\">info</ndw-icon>\n }\n</ng-template>\n", styles: [":host{position:relative;display:grid;margin-bottom:var(--ndw-spacing-md);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm)}fieldset{border:0;margin:0;padding:0}fieldset legend{padding-inline:0}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{position:absolute;z-index:1;font-size:var(--ndw-font-size-lg)}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}.prefix-input-icon{top:.625rem;left:var(--ndw-spacing-sm);color:var(--ndw-color-grey-400)}label:not(.sr-only)~.prefix-input-icon{top:2.125rem}.suffix-input-icon{top:.2rem;right:var(--ndw-spacing-xs);color:var(--ndw-color-grey-400)}label:not(.sr-only)~.suffix-input-icon{top:1.7rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ErrorComponent, selector: "ndw-error" }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "component", type: InfoComponent, selector: "ndw-info" }, { kind: "directive", type: TooltipDirective, selector: "[ndwTooltip]", inputs: ["ndwTooltip"] }, { kind: "component", type: ActionIconComponent, selector: "ndw-action-icon", inputs: ["ariaLabel", "variant", "buttonType", "disabled", "size"], outputs: ["onClick"] }] }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FormFieldComponent, isStandalone: true, selector: "ndw-form-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, clearSearchAriaLabel: { classPropertyName: "clearSearchAriaLabel", publicName: "clearSearchAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, suffixButtonAriaLabel: { classPropertyName: "suffixButtonAriaLabel", publicName: "suffixButtonAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: "success", publicName: "success", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "monthInput", first: true, predicate: MonthInputComponent, descendants: true, isSignal: true }, { propertyName: "regularInput", first: true, predicate: InputDirective, descendants: true, isSignal: true }], ngImport: i0, template: "@if (input() === undefined) {\n <fieldset>\n <legend ndwLabel [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </legend>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n </fieldset>\n} @else {\n <label ndwLabel [attr.for]=\"input() ? 'input-' + uuid : null\" [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </label>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n}\n\n<ng-template #fieldTemplate>\n @if (inputPrefix(); as icon) {\n <ndw-icon class=\"input-prefix-icon\" [ngClass]=\"{ disabled: disabled() }\">\n {{ icon }}\n </ndw-icon>\n }\n @if (inputSuffix(); as icon) {\n <button\n ndwButton\n extra-small\n tertiary\n class=\"input-suffix-button\"\n [ngClass]=\"{ disabled: disabled() }\"\n [ariaLabel]=\"suffixButtonAriaLabel() ?? ''\"\n (click)=\"onSuffixButtonClick()\"\n >\n <ndw-icon>{{ icon }}</ndw-icon>\n </button>\n }\n\n @if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <button\n ndwButton\n alternative\n extra-small\n tertiary\n class=\"input-suffix-button\"\n [ariaLabel]=\"clearSearchAriaLabel() ?? ''\"\n (click)=\"clearInput()\"\n >\n <ndw-icon>close</ndw-icon>\n </button>\n }\n\n <ng-content />\n\n @if (info(); as info) {\n <ndw-info [id]=\"descriptionUuid\">{{ info }}</ndw-info>\n }\n @if (error(); as error) {\n <ndw-error role=\"alert\" aria-live=\"polite\">{{ error }}</ndw-error>\n }\n @if (success(); as success) {\n <ndw-success role=\"alert\" aria-live=\"polite\">{{ success }}</ndw-success>\n }\n</ng-template>\n\n<ng-template #labelTemplate>\n <span class=\"required-label required\"> * </span>\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\">info</ndw-icon>\n }\n</ng-template>\n", styles: [":host{position:relative;display:grid;margin-bottom:var(--ndw-spacing-md);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm)}:host .required-label{display:none}:host:has([required]) .required-label{display:inline}fieldset{border:0;margin:0;padding:0}fieldset legend{padding-inline:0}ndw-error,ndw-success,ndw-info{margin-top:var(--ndw-spacing-2xs)}.input-prefix-icon,.input-suffix-button{position:absolute;z-index:1}.input-prefix-icon.disabled,.input-suffix-button.disabled{color:var(--ndw-color-grey-300)}.input-prefix-icon{color:var(--ndw-color-grey-400);font-size:var(--ndw-font-size-lg);left:var(--ndw-spacing-sm);top:.625rem}label:not(.sr-only)~.input-prefix-icon{top:2.125rem}.input-suffix-button{top:.5rem;right:var(--ndw-spacing-xs)}label:not(.sr-only)~.input-suffix-button{top:2rem}\n"], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[ndwButton]" }, { kind: "component", type: ErrorComponent, selector: "ndw-error" }, { kind: "component", type: SuccessComponent, selector: "ndw-success" }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "component", type: InfoComponent, selector: "ndw-info" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TooltipDirective, selector: "[ndwTooltip]", inputs: ["ndwTooltip"] }] }); }
125
118
  }
126
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormFieldComponent, decorators: [{
127
120
  type: Component,
128
121
  args: [{ selector: 'ndw-form-field', standalone: true, imports: [
129
- CommonModule,
122
+ ButtonDirective,
130
123
  ErrorComponent,
124
+ SuccessComponent,
131
125
  IconComponent,
132
126
  InfoComponent,
127
+ NgClass,
128
+ NgTemplateOutlet,
133
129
  TooltipDirective,
134
- ActionIconComponent,
135
- ], template: "@if (input() === undefined) {\n <fieldset>\n <legend ndwLabel [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </legend>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n </fieldset>\n} @else {\n <label ndwLabel [attr.for]=\"input() ? 'input-' + uuid : null\" [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </label>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n}\n\n<ng-template #fieldTemplate>\n @if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\">\n {{ icon }}\n </ndw-icon>\n }\n @if (inputSuffix(); as icon) {\n <ndw-action-icon\n class=\"suffix-input-icon\"\n variant=\"grey\"\n [ngClass]=\"{ disabled: disabled() }\"\n [ariaLabel]=\"suffixIconAriaLabel() ?? ''\"\n (onClick)=\"onSuffixIconClick()\"\n >\n {{ icon }}\n </ndw-action-icon>\n }\n\n @if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-action-icon\n class=\"suffix-input-icon\"\n variant=\"grey\"\n [ariaLabel]=\"clearSearchAriaLabel() ?? ''\"\n (onClick)=\"clearInput()\"\n >\n close\n </ndw-action-icon>\n }\n\n <ng-content />\n\n @if (info(); as info) {\n <ndw-info [id]=\"descriptionUuid\">{{ info }}</ndw-info>\n }\n @if (error(); as error) {\n <ndw-error role=\"alert\" aria-live=\"polite\">{{ error }}</ndw-error>\n }\n</ng-template>\n\n<ng-template #labelTemplate>\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\">info</ndw-icon>\n }\n</ng-template>\n", styles: [":host{position:relative;display:grid;margin-bottom:var(--ndw-spacing-md);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm)}fieldset{border:0;margin:0;padding:0}fieldset legend{padding-inline:0}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{position:absolute;z-index:1;font-size:var(--ndw-font-size-lg)}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}.prefix-input-icon{top:.625rem;left:var(--ndw-spacing-sm);color:var(--ndw-color-grey-400)}label:not(.sr-only)~.prefix-input-icon{top:2.125rem}.suffix-input-icon{top:.2rem;right:var(--ndw-spacing-xs);color:var(--ndw-color-grey-400)}label:not(.sr-only)~.suffix-input-icon{top:1.7rem}\n"] }]
130
+ ], template: "@if (input() === undefined) {\n <fieldset>\n <legend ndwLabel [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </legend>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n </fieldset>\n} @else {\n <label ndwLabel [attr.for]=\"input() ? 'input-' + uuid : null\" [class.sr-only]=\"hideLabel()\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </label>\n <ng-container *ngTemplateOutlet=\"fieldTemplate\" />\n}\n\n<ng-template #fieldTemplate>\n @if (inputPrefix(); as icon) {\n <ndw-icon class=\"input-prefix-icon\" [ngClass]=\"{ disabled: disabled() }\">\n {{ icon }}\n </ndw-icon>\n }\n @if (inputSuffix(); as icon) {\n <button\n ndwButton\n extra-small\n tertiary\n class=\"input-suffix-button\"\n [ngClass]=\"{ disabled: disabled() }\"\n [ariaLabel]=\"suffixButtonAriaLabel() ?? ''\"\n (click)=\"onSuffixButtonClick()\"\n >\n <ndw-icon>{{ icon }}</ndw-icon>\n </button>\n }\n\n @if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <button\n ndwButton\n alternative\n extra-small\n tertiary\n class=\"input-suffix-button\"\n [ariaLabel]=\"clearSearchAriaLabel() ?? ''\"\n (click)=\"clearInput()\"\n >\n <ndw-icon>close</ndw-icon>\n </button>\n }\n\n <ng-content />\n\n @if (info(); as info) {\n <ndw-info [id]=\"descriptionUuid\">{{ info }}</ndw-info>\n }\n @if (error(); as error) {\n <ndw-error role=\"alert\" aria-live=\"polite\">{{ error }}</ndw-error>\n }\n @if (success(); as success) {\n <ndw-success role=\"alert\" aria-live=\"polite\">{{ success }}</ndw-success>\n }\n</ng-template>\n\n<ng-template #labelTemplate>\n <span class=\"required-label required\"> * </span>\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\">info</ndw-icon>\n }\n</ng-template>\n", styles: [":host{position:relative;display:grid;margin-bottom:var(--ndw-spacing-md);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm)}:host .required-label{display:none}:host:has([required]) .required-label{display:inline}fieldset{border:0;margin:0;padding:0}fieldset legend{padding-inline:0}ndw-error,ndw-success,ndw-info{margin-top:var(--ndw-spacing-2xs)}.input-prefix-icon,.input-suffix-button{position:absolute;z-index:1}.input-prefix-icon.disabled,.input-suffix-button.disabled{color:var(--ndw-color-grey-300)}.input-prefix-icon{color:var(--ndw-color-grey-400);font-size:var(--ndw-font-size-lg);left:var(--ndw-spacing-sm);top:.625rem}label:not(.sr-only)~.input-prefix-icon{top:2.125rem}.input-suffix-button{top:.5rem;right:var(--ndw-spacing-xs)}label:not(.sr-only)~.input-suffix-button{top:2rem}\n"] }]
136
131
  }], ctorParameters: () => [] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVwRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFB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QUssQ0FBQztJQUM5RSxDQUFDOzhHQXJJVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix1cUNBQ0QsY0FBYyw2RkFDVCxtQkFBbUIsZ0dBQ2hCLHNCQUFzQixnRUNqQzVELDB0REE4REEsOHpCRDFDSSxZQUFZLG9TQUNaLGNBQWMsc0RBQ2QsYUFBYSx1RUFDYixhQUFhLHFEQUNiLGdCQUFnQixpRkFDaEIsbUJBQW1COzsyRkFLVixrQkFBa0I7a0JBZDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25JY29uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5cbmltcG9ydCB7IENoZWNrYm94R3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LWdyb3VwJztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuL2luZm8nO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIElucHV0VHlwZSB9IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tZ3JvdXAnO1xuXG5jb25zdCBpbnB1dFR5cGVzV2l0aFByZWZpeEljb24gPSBbSW5wdXRUeXBlLlNlYXJjaF07XG5jb25zdCBpbnB1dFR5cGVzV2l0aFN1ZmZpeEljb24gPSBbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5Nb250aCwgSW5wdXRUeXBlLlRpbWUsIElucHV0VHlwZS5XZWVrXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWZvcm0tZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIEFjdGlvbkljb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBwdWJsaWMgaW5wdXQgPSBjb250ZW50Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuICBwdWJsaWMgcmFkaW9Hcm91cCA9IGNvbnRlbnRDaGlsZChSYWRpb0dyb3VwQ29tcG9uZW50KTtcbiAgcHVibGljIGNoZWNrYm94R3JvdXAgPSBjb250ZW50Q2hpbGQoQ2hlY2tib3hHcm91cENvbXBvbmVudCk7XG5cbiAgcHVibGljIGxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgY2xlYXJTZWFyY2hBcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBzdWZmaXhJY29uQXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgaGlkZUxhYmVsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGVycm9yID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgaW5mbyA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHRvb2x0aXAgPSBpbnB1dCgnJyk7XG5cbiAgcHVibGljIHJlcXVpcmVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXRSZXF1aXJlZFN0YXRlKCkpO1xuICBwdWJsaWMgaW5wdXRQcmVmaXggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNldElucHV0UHJlZml4KCkpO1xuICBwdWJsaWMgaW5wdXRTdWZmaXggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNldElucHV0U3VmZml4KCkpO1xuXG4gIHB1YmxpYyB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcHVibGljIGRlc2NyaXB0aW9uVXVpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZElucHV0VHlwZUJhc2VkQ2xhc3MoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dElkKGlucHV0KTtcbiAgICAgIHRoaXMuc2V0QXJpYURlc2NyaWJlZEJ5KGlucHV0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dCgpO1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQuZWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgLy8gVHJpZ2dlciAnbmR3LWNoYW5nZWQnIGF0dHJpYnV0ZSB1cGRhdGUgb24gdGhlIGlucHV0IGVsZW1lbnRcbiAgICAgIGlucHV0LmVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvblN1ZmZpeEljb25DbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmlucHV0KCk/LmVsZW1lbnQ7XG4gICAgaWYgKCFpbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcblxuICAgIGlmICgnc2hvd1BpY2tlcicgaW4gaW5wdXRFbGVtZW50KSB7XG4gICAgICBpbnB1dEVsZW1lbnQuc2hvd1BpY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkSW5wdXRUeXBlQmFzZWRDbGFzcyhpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gaW5wdXQuZWxlbWVudDtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpbnB1dFR5cGVzV2l0aFByZWZpeEljb24uaW5jbHVkZXMoZWxlbWVudC50eXBlIGFzIElucHV0VHlwZSlcbiAgICAgID8gZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwcmVmaXgtaWNvbicpXG4gICAgICA6IGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncHJlZml4LWljb24nKTtcblxuICAgIGlucHV0VHlwZXNXaXRoU3VmZml4SWNvbi5pbmNsdWRlcyhlbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3N1ZmZpeC1pY29uJylcbiAgICAgIDogZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzdWZmaXgtaWNvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RXJyb3JTdGF0ZShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5lcnJvciA9ICEhdGhpcy5lcnJvcigpPy5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0SWQoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuaWQgPSBgaW5wdXQtJHt0aGlzLnV1aWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QXJpYURlc2NyaWJlZEJ5KGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlucHV0LmFyaWFEZXNjcmliZWRCeSA9IHRoaXMuZGVzY3JpcHRpb25VdWlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFByZWZpeCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dCgpO1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGlucHV0IGljb24gZm9yIHNlYXJjaCBpbnB1dHNcbiAgICByZXR1cm4gaW5wdXRUeXBlc1dpdGhQcmVmaXhJY29uLmluY2x1ZGVzKGlucHV0LmVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUpXG4gICAgICA/ICdzZWFyY2gnXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRTdWZmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBkYXRlIGlucHV0c1xuICAgIGlmIChpbnB1dFR5cGVzV2l0aFN1ZmZpeEljb24uaW5jbHVkZXMoaW5wdXQuZWxlbWVudC50eXBlIGFzIElucHV0VHlwZSkpIHtcbiAgICAgIHJldHVybiBpbnB1dC5lbGVtZW50LnR5cGUgPT09IElucHV0VHlwZS5UaW1lID8gJ3NjaGVkdWxlJyA6ICdjYWxlbmRhcl9tb250aCc7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBzZWxlY3QgaW5wdXRzXG4gICAgaWYgKGlucHV0LmVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gRm9ybUZpZWxkRWxlbWVudC5TZWxlY3QpIHtcbiAgICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVxdWlyZWRTdGF0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGVja2JveEdyb3VwID0gdGhpcy5jaGVja2JveEdyb3VwKCk7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgY29uc3QgcmFkaW9Hcm91cCA9IHRoaXMucmFkaW9Hcm91cCgpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRDaGVja2JveGVzID0gY2hlY2tib3hHcm91cD8uY2hlY2tib3hlcygpLnNvbWUoKGNoZWNrYm94KSA9PiBjaGVja2JveC5yZXF1aXJlZCgpKTtcbiAgICBjb25zdCByZXF1aXJlZElucHV0ID0gaW5wdXQ/LmVsZW1lbnQucmVxdWlyZWQ7XG4gICAgY29uc3QgcmVxdWlyZWRSYWRpb0J1dHRvbnMgPSByYWRpb0dyb3VwXG4gICAgICA/LnJhZGlvQnV0dG9ucygpXG4gICAgICAuc29tZSgocmFkaW9CdXR0b24pID0+IHJhZGlvQnV0dG9uLnJlcXVpcmVkKCkpO1xuXG4gICAgcmV0dXJuIHJlcXVpcmVkSW5wdXQgfHwgcmVxdWlyZWRDaGVja2JveGVzIHx8IHJlcXVpcmVkUmFkaW9CdXR0b25zIHx8IGZhbHNlO1xuICB9XG59XG4iLCJAaWYgKGlucHV0KCkgPT09IHVuZGVmaW5lZCkge1xuICA8ZmllbGRzZXQ+XG4gICAgPGxlZ2VuZCBuZHdMYWJlbCBbY2xhc3Muc3Itb25seV09XCJoaWRlTGFiZWwoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPlxuICAgIDwvbGVnZW5kPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZFRlbXBsYXRlXCIgLz5cbiAgPC9maWVsZHNldD5cbn0gQGVsc2Uge1xuICA8bGFiZWwgbmR3TGFiZWwgW2F0dHIuZm9yXT1cImlucHV0KCkgPyAnaW5wdXQtJyArIHV1aWQgOiBudWxsXCIgW2NsYXNzLnNyLW9ubHldPVwiaGlkZUxhYmVsKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiIC8+XG4gIDwvbGFiZWw+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZFRlbXBsYXRlXCIgLz5cbn1cblxuPG5nLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlPlxuICBAaWYgKGlucHV0UHJlZml4KCk7IGFzIGljb24pIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJwcmVmaXgtaW5wdXQtaWNvblwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkKCkgfVwiPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbmR3LWljb24+XG4gIH1cbiAgQGlmIChpbnB1dFN1ZmZpeCgpOyBhcyBpY29uKSB7XG4gICAgPG5kdy1hY3Rpb24taWNvblxuICAgICAgY2xhc3M9XCJzdWZmaXgtaW5wdXQtaWNvblwiXG4gICAgICB2YXJpYW50PVwiZ3JleVwiXG4gICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCgpIH1cIlxuICAgICAgW2FyaWFMYWJlbF09XCJzdWZmaXhJY29uQXJpYUxhYmVsKCkgPz8gJydcIlxuICAgICAgKG9uQ2xpY2spPVwib25TdWZmaXhJY29uQ2xpY2soKVwiXG4gICAgPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbmR3LWFjdGlvbi1pY29uPlxuICB9XG5cbiAgQGlmIChpbnB1dCgpPy5lbGVtZW50Py50eXBlID09PSAnc2VhcmNoJyAmJiBpbnB1dCgpPy5lbGVtZW50Py52YWx1ZSAhPT0gJycpIHtcbiAgICA8bmR3LWFjdGlvbi1pY29uXG4gICAgICBjbGFzcz1cInN1ZmZpeC1pbnB1dC1pY29uXCJcbiAgICAgIHZhcmlhbnQ9XCJncmV5XCJcbiAgICAgIFthcmlhTGFiZWxdPVwiY2xlYXJTZWFyY2hBcmlhTGFiZWwoKSA/PyAnJ1wiXG4gICAgICAob25DbGljayk9XCJjbGVhcklucHV0KClcIlxuICAgID5cbiAgICAgIGNsb3NlXG4gICAgPC9uZHctYWN0aW9uLWljb24+XG4gIH1cblxuICA8bmctY29udGVudCAvPlxuXG4gIEBpZiAoaW5mbygpOyBhcyBpbmZvKSB7XG4gICAgPG5kdy1pbmZvIFtpZF09XCJkZXNjcmlwdGlvblV1aWRcIj57eyBpbmZvIH19PC9uZHctaW5mbz5cbiAgfVxuICBAaWYgKGVycm9yKCk7IGFzIGVycm9yKSB7XG4gICAgPG5kdy1lcnJvciByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj57eyBlcnJvciB9fTwvbmR3LWVycm9yPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gIEBpZiAocmVxdWlyZWQoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4gKiA8L3NwYW4+XG4gIH1cbiAge3sgbGFiZWwoKSB9fVxuICBAaWYgKHRvb2x0aXAoKTsgYXMgdG9vbHRpcCkge1xuICAgIDxuZHctaWNvbiBbbmR3VG9vbHRpcF09XCJ0b29sdGlwXCI+aW5mbzwvbmR3LWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRTdDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUks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QUNoQixnQkFBZ0I7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yJztcbmltcG9ydCB7IEZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vaW5mbyc7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSwgSW5wdXRUeXBlIH0gZnJvbSAnLi9pbnB1dCc7XG5pbXBvcnQgeyBNb250aElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9tb250aC1pbnB1dCc7XG5pbXBvcnQgeyBTdWNjZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9zdWNjZXNzJztcblxuY29uc3QgaW5wdXRUeXBlc1dpdGhQcmVmaXhJY29uID0gW0lucHV0VHlwZS5TZWFyY2hdO1xuY29uc3QgaW5wdXRUeXBlc1dpdGhTdWZmaXhCdXR0b24gPSBbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5UaW1lXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWZvcm0tZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQnV0dG9uRGlyZWN0aXZlLFxuICAgIEVycm9yQ29tcG9uZW50LFxuICAgIFN1Y2Nlc3NDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG1vbnRoSW5wdXQgPSBjb250ZW50Q2hpbGQoTW9udGhJbnB1dENvbXBvbmVudCk7XG4gIHB1YmxpYyByZWFkb25seSByZWd1bGFySW5wdXQgPSBjb250ZW50Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuICBwdWJsaWMgaW5wdXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZ3VsYXJJbnB1dCgpID8/IHRoaXMubW9udGhJbnB1dCgpPy5pbnB1dCgpKTtcblxuICBwdWJsaWMgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBjbGVhclNlYXJjaEFyaWFMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHN1ZmZpeEJ1dHRvbkFyaWFMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIGhpZGVMYWJlbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBlcnJvciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHN1Y2Nlc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBpbmZvID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdG9vbHRpcCA9IGlucHV0KCcnKTtcblxuICBwdWJsaWMgaW5wdXRQcmVmaXggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNldElucHV0UHJlZml4KCkpO1xuICBwdWJsaWMgaW5wdXRTdWZmaXggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNldElucHV0U3VmZml4KCkpO1xuXG4gIHB1YmxpYyB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcHVibGljIGRlc2NyaXB0aW9uVXVpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZElucHV0VHlwZUJhc2VkQ2xhc3MoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dFN1Y2Nlc3NTdGF0ZShpbnB1dCk7XG4gICAgICB0aGlzLnNldElucHV0SWQoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRBcmlhRGVzY3JpYmVkQnkoaW5wdXQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsZWFySW5wdXQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dC5lbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAvLyBUcmlnZ2VyICduZHctY2hhbmdlZCcgYXR0cmlidXRlIHVwZGF0ZSBvbiB0aGUgaW5wdXQgZWxlbWVudFxuICAgICAgaW5wdXQuZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3VmZml4QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5pbnB1dCgpPy5lbGVtZW50O1xuICAgIGlmICghaW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaW5wdXRFbGVtZW50LmZvY3VzKCk7XG5cbiAgICBpZiAoJ3Nob3dQaWNrZXInIGluIGlucHV0RWxlbWVudCkge1xuICAgICAgaW5wdXRFbGVtZW50LnNob3dQaWNrZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZElucHV0VHlwZUJhc2VkQ2xhc3MoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGlucHV0LmVsZW1lbnQ7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaW5wdXRUeXBlc1dpdGhQcmVmaXhJY29uLmluY2x1ZGVzKGVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUpXG4gICAgICA/IGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncHJlZml4LWljb24nKVxuICAgICAgOiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ByZWZpeC1pY29uJyk7XG5cbiAgICBpbnB1dFR5cGVzV2l0aFN1ZmZpeEJ1dHRvbi5pbmNsdWRlcyhlbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3N1ZmZpeC1idXR0b24nKVxuICAgICAgOiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3N1ZmZpeC1idXR0b24nKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXREaXNhYmxlZFN0YXRlKGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlucHV0LmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuZXJyb3IgPSAhIXRoaXMuZXJyb3IoKT8ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFN1Y2Nlc3NTdGF0ZShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5zdWNjZXNzID0gISF0aGlzLnN1Y2Nlc3MoKT8ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dElkKGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlucHV0LmlkID0gYGlucHV0LSR7dGhpcy51dWlkfWA7XG4gIH1cblxuICBwcml2YXRlIHNldEFyaWFEZXNjcmliZWRCeShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5hcmlhRGVzY3JpYmVkQnkgPSB0aGlzLmRlc2NyaXB0aW9uVXVpZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRQcmVmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBzZWFyY2ggaW5wdXRzXG4gICAgcmV0dXJuIGlucHV0VHlwZXNXaXRoUHJlZml4SWNvbi5pbmNsdWRlcyhpbnB1dC5lbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyAnc2VhcmNoJ1xuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0U3VmZml4KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgaW5wdXQgaWNvbiBmb3IgZGF0ZSBpbnB1dHNcbiAgICBpZiAoaW5wdXRUeXBlc1dpdGhTdWZmaXhCdXR0b24uaW5jbHVkZXMoaW5wdXQuZWxlbWVudC50eXBlIGFzIElucHV0VHlwZSkpIHtcbiAgICAgIHJldHVybiBpbnB1dC5lbGVtZW50LnR5cGUgPT09IElucHV0VHlwZS5UaW1lID8gJ3NjaGVkdWxlJyA6ICdjYWxlbmRhcl9tb250aCc7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBzZWxlY3QgaW5wdXRzXG4gICAgaWYgKGlucHV0LmVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gRm9ybUZpZWxkRWxlbWVudC5TZWxlY3QpIHtcbiAgICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiQGlmIChpbnB1dCgpID09PSB1bmRlZmluZWQpIHtcbiAgPGZpZWxkc2V0PlxuICAgIDxsZWdlbmQgbmR3TGFiZWwgW2NsYXNzLnNyLW9ubHldPVwiaGlkZUxhYmVsKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlXCIgLz5cbiAgICA8L2xlZ2VuZD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRUZW1wbGF0ZVwiIC8+XG4gIDwvZmllbGRzZXQ+XG59IEBlbHNlIHtcbiAgPGxhYmVsIG5kd0xhYmVsIFthdHRyLmZvcl09XCJpbnB1dCgpID8gJ2lucHV0LScgKyB1dWlkIDogbnVsbFwiIFtjbGFzcy5zci1vbmx5XT1cImhpZGVMYWJlbCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPlxuICA8L2xhYmVsPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRUZW1wbGF0ZVwiIC8+XG59XG5cbjxuZy10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZT5cbiAgQGlmIChpbnB1dFByZWZpeCgpOyBhcyBpY29uKSB7XG4gICAgPG5kdy1pY29uIGNsYXNzPVwiaW5wdXQtcHJlZml4LWljb25cIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCgpIH1cIj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L25kdy1pY29uPlxuICB9XG4gIEBpZiAoaW5wdXRTdWZmaXgoKTsgYXMgaWNvbikge1xuICAgIDxidXR0b25cbiAgICAgIG5kd0J1dHRvblxuICAgICAgZXh0cmEtc21hbGxcbiAgICAgIHRlcnRpYXJ5XG4gICAgICBjbGFzcz1cImlucHV0LXN1ZmZpeC1idXR0b25cIlxuICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQoKSB9XCJcbiAgICAgIFthcmlhTGFiZWxdPVwic3VmZml4QnV0dG9uQXJpYUxhYmVsKCkgPz8gJydcIlxuICAgICAgKGNsaWNrKT1cIm9uU3VmZml4QnV0dG9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPG5kdy1pY29uPnt7IGljb24gfX08L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG5cbiAgQGlmIChpbnB1dCgpPy5lbGVtZW50Py50eXBlID09PSAnc2VhcmNoJyAmJiBpbnB1dCgpPy5lbGVtZW50Py52YWx1ZSAhPT0gJycpIHtcbiAgICA8YnV0dG9uXG4gICAgICBuZHdCdXR0b25cbiAgICAgIGFsdGVybmF0aXZlXG4gICAgICBleHRyYS1zbWFsbFxuICAgICAgdGVydGlhcnlcbiAgICAgIGNsYXNzPVwiaW5wdXQtc3VmZml4LWJ1dHRvblwiXG4gICAgICBbYXJpYUxhYmVsXT1cImNsZWFyU2VhcmNoQXJpYUxhYmVsKCkgPz8gJydcIlxuICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXQoKVwiXG4gICAgPlxuICAgICAgPG5kdy1pY29uPmNsb3NlPC9uZHctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIDxuZy1jb250ZW50IC8+XG5cbiAgQGlmIChpbmZvKCk7IGFzIGluZm8pIHtcbiAgICA8bmR3LWluZm8gW2lkXT1cImRlc2NyaXB0aW9uVXVpZFwiPnt7IGluZm8gfX08L25kdy1pbmZvPlxuICB9XG4gIEBpZiAoZXJyb3IoKTsgYXMgZXJyb3IpIHtcbiAgICA8bmR3LWVycm9yIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPnt7IGVycm9yIH19PC9uZHctZXJyb3I+XG4gIH1cbiAgQGlmIChzdWNjZXNzKCk7IGFzIHN1Y2Nlc3MpIHtcbiAgICA8bmR3LXN1Y2Nlc3Mgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+e3sgc3VjY2VzcyB9fTwvbmR3LXN1Y2Nlc3M+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGFiZWxUZW1wbGF0ZT5cbiAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1sYWJlbCByZXF1aXJlZFwiPiAqIDwvc3Bhbj5cbiAge3sgbGFiZWwoKSB9fVxuICBAaWYgKHRvb2x0aXAoKTsgYXMgdG9vbHRpcCkge1xuICAgIDxuZHctaWNvbiBbbmR3VG9vbHRpcF09XCJ0b29sdGlwXCI+aW5mbzwvbmR3LWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -6,8 +6,9 @@ export * from './form-field.component';
6
6
  export * from './form-field.model';
7
7
  export * from './info';
8
8
  export * from './input';
9
+ export * from './month-input';
9
10
  export * from './option-group';
10
11
  export * from './radio-button';
11
12
  export * from './radio-group';
12
13
  export * from './textarea';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoZWNrYm94JztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uLWdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYSc7XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoZWNrYm94JztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbW9udGgtaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhJztcbiJdfQ==
@@ -15,6 +15,9 @@ export class InputDirective {
15
15
  set error(error) {
16
16
  this.element.toggleAttribute('error', error);
17
17
  }
18
+ set success(success) {
19
+ this.element.toggleAttribute('success', success);
20
+ }
18
21
  set id(id) {
19
22
  this.element.id = id;
20
23
  }
@@ -68,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
68
71
  standalone: true,
69
72
  }]
70
73
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNakMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFxQm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBbURwRTtJQXJFQyxJQUFXLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxlQUFlLENBQUMsRUFBVTtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBTUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUdBLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWE7YUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUVuRCxzRUFBc0U7UUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO2FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLDZCQUE2QjtRQUNuQyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLHFCQUFxQixHQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLHdFQUF3RTtZQUN4RSxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDOzhHQXJFVSxjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVEQUF1RDtvQkFDakUsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbbmR3SW5wdXRdLCBzZWxlY3RbbmR3SW5wdXRdLCB0ZXh0YXJlYVtuZHdJbnB1dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZXJyb3IoZXJyb3I6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdlcnJvcicsIGVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudC5pZCA9IGlkO1xuICB9XG5cbiAgcHVibGljIHNldCBhcmlhRGVzY3JpYmVkQnkoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXNcbiAgICAgIHwgSFRNTElucHV0RWxlbWVudFxuICAgICAgfCBIVE1MU2VsZWN0RWxlbWVudFxuICAgICAgfCBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5nQ29udHJvbCA/IHRoaXMubmdDb250cm9sLmNvbnRyb2wgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUmVxdWlyZWRBdHRyaWJ1dGUoKTtcblxuICAgIHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlUmVxdWlyZWRBdHRyaWJ1dGUoKSk7XG5cbiAgICAvLyBBZGQgbmR3LWNoYW5nZWQgYXR0cmlidXRlIHdoZW4gdGhlIGlucHV0IGlzIGNoYW5nZWQgYW5kIGhhcyBhIHZhbHVlXG4gICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q2hhbmdlZEF0dHJpYnV0ZSgpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdFBsYWNlaG9sZGVyQXR0cmlidXRlKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2V0U2VsZWN0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hhbmdlZEF0dHJpYnV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZHctY2hhbmdlZCcsICEhdGhpcy5lbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICBjb25zdCBpc1BsYWNlaG9sZGVyU2VsZWN0ZWQgPVxuICAgICAgICB0aGlzLmVsZW1lbnQuc2VsZWN0ZWRJbmRleCA9PT0gMCAmJlxuICAgICAgICB0aGlzLmVsZW1lbnQub3B0aW9uc1t0aGlzLmVsZW1lbnQuc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQ7XG4gICAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZHctcGxhY2Vob2xkZXInLCBpc1BsYWNlaG9sZGVyU2VsZWN0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWlyZWRBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgLy8gTWFyayBlbGVtZW50IGFzIHJlcXVpcmVkIHdoZW4gdGhlIGNvbnRyb2wgaGFzIGEgJ3JlcXVpcmVkJyB2YWxpZGF0b3IuXG4gICAgICAvLyBUaGlzIHdpbGwgc2hvdyBhbiBhc3RlcmlzayAoKilcbiAgICAgIHRoaXMuZWxlbWVudC5yZXF1aXJlZCA9IHRoaXMuY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNakMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUF5Qm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBbURwRTtJQXpFQyxJQUFXLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxPQUFnQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcsRUFBRSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLGVBQWUsQ0FBQyxFQUFVO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFNRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBR0EsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYTthQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELHNFQUFzRTtRQUN0RSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7YUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0scUJBQXFCLEdBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsd0VBQXdFO1lBQ3hFLGlDQUFpQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7OEdBekVVLGNBQWM7a0dBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdURBQXVEO29CQUNqRSxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFtuZHdJbnB1dF0sIHNlbGVjdFtuZHdJbnB1dF0sIHRleHRhcmVhW25kd0lucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHNldCBlcnJvcihlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2Vycm9yJywgZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIHNldCBzdWNjZXNzKHN1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdzdWNjZXNzJywgc3VjY2Vzcyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuaWQgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXJpYURlc2NyaWJlZEJ5KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzXG4gICAgICB8IEhUTUxJbnB1dEVsZW1lbnRcbiAgICAgIHwgSFRNTFNlbGVjdEVsZW1lbnRcbiAgICAgIHwgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wgPyB0aGlzLm5nQ29udHJvbC5jb250cm9sIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVJlcXVpcmVkQXR0cmlidXRlKCk7XG5cbiAgICB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVJlcXVpcmVkQXR0cmlidXRlKCkpO1xuXG4gICAgLy8gQWRkIG5kdy1jaGFuZ2VkIGF0dHJpYnV0ZSB3aGVuIHRoZSBpbnB1dCBpcyBjaGFuZ2VkIGFuZCBoYXMgYSB2YWx1ZVxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldENoYW5nZWRBdHRyaWJ1dGUoKTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RQbGFjZWhvbGRlckF0dHJpYnV0ZSgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnNldFNlbGVjdFBsYWNlaG9sZGVyQXR0cmlidXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldENoYW5nZWRBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnbmR3LWNoYW5nZWQnLCAhIXRoaXMuZWxlbWVudC52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdFBsYWNlaG9sZGVyQXR0cmlidXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgY29uc3QgaXNQbGFjZWhvbGRlclNlbGVjdGVkID1cbiAgICAgICAgdGhpcy5lbGVtZW50LnNlbGVjdGVkSW5kZXggPT09IDAgJiZcbiAgICAgICAgdGhpcy5lbGVtZW50Lm9wdGlvbnNbdGhpcy5lbGVtZW50LnNlbGVjdGVkSW5kZXhdLmRpc2FibGVkO1xuICAgICAgdGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnbmR3LXBsYWNlaG9sZGVyJywgaXNQbGFjZWhvbGRlclNlbGVjdGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJlcXVpcmVkQXR0cmlidXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIC8vIE1hcmsgZWxlbWVudCBhcyByZXF1aXJlZCB3aGVuIHRoZSBjb250cm9sIGhhcyBhICdyZXF1aXJlZCcgdmFsaWRhdG9yLlxuICAgICAgLy8gVGhpcyB3aWxsIHNob3cgYW4gYXN0ZXJpc2sgKCopXG4gICAgICB0aGlzLmVsZW1lbnQucmVxdWlyZWQgPSB0aGlzLmNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -2,7 +2,6 @@ export var InputType;
2
2
  (function (InputType) {
3
3
  InputType["Date"] = "date";
4
4
  InputType["Email"] = "email";
5
- InputType["Month"] = "month";
6
5
  InputType["Number"] = "number";
7
6
  InputType["Password"] = "password";
8
7
  InputType["Search"] = "search";
@@ -10,6 +9,5 @@ export var InputType;
10
9
  InputType["Text"] = "text";
11
10
  InputType["Time"] = "time";
12
11
  InputType["Url"] = "url";
13
- InputType["Week"] = "week";
14
12
  })(InputType || (InputType = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC9pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVlYO0FBWkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2YsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDhCQUFpQixDQUFBO0lBQ2pCLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVpXLFNBQVMsS0FBVCxTQUFTLFFBWXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRUeXBlIHtcbiAgRGF0ZSA9ICdkYXRlJyxcbiAgRW1haWwgPSAnZW1haWwnLFxuICBNb250aCA9ICdtb250aCcsXG4gIE51bWJlciA9ICdudW1iZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFNlYXJjaCA9ICdzZWFyY2gnLFxuICBUZWwgPSAndGVsJyxcbiAgVGV4dCA9ICd0ZXh0JyxcbiAgVGltZSA9ICd0aW1lJyxcbiAgVXJsID0gJ3VybCcsXG4gIFdlZWsgPSAnd2VlaycsXG59XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC9pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2YsOEJBQWlCLENBQUE7SUFDakIsa0NBQXFCLENBQUE7SUFDckIsOEJBQWlCLENBQUE7SUFDakIsd0JBQVcsQ0FBQTtJQUNYLDBCQUFhLENBQUE7SUFDYiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtBQUNiLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIElucHV0VHlwZSB7XG4gIERhdGUgPSAnZGF0ZScsXG4gIEVtYWlsID0gJ2VtYWlsJyxcbiAgTnVtYmVyID0gJ251bWJlcicsXG4gIFBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcbiAgU2VhcmNoID0gJ3NlYXJjaCcsXG4gIFRlbCA9ICd0ZWwnLFxuICBUZXh0ID0gJ3RleHQnLFxuICBUaW1lID0gJ3RpbWUnLFxuICBVcmwgPSAndXJsJyxcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './month-input.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9tb250aC1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb250aC1pbnB1dC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,13 @@
1
+ export function createYearRange(minDate, maxDate) {
2
+ const minYear = minDate.getFullYear();
3
+ const maxYear = maxDate.getFullYear();
4
+ const yearCount = maxYear - minYear + 1;
5
+ return Array.from({ length: yearCount }, (_, index) => minYear + index);
6
+ }
7
+ export function createMonthOptions(monthLabels) {
8
+ return monthLabels.map((month, index) => ({
9
+ label: month,
10
+ value: index + 1,
11
+ }));
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtaW5wdXQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9tb250aC1pbnB1dC9tb250aC1pbnB1dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWEsRUFBRSxPQUFhO0lBQzFELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBcUI7SUFDdEQsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztLQUNqQixDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlWWVhclJhbmdlKG1pbkRhdGU6IERhdGUsIG1heERhdGU6IERhdGUpOiBudW1iZXJbXSB7XG4gIGNvbnN0IG1pblllYXIgPSBtaW5EYXRlLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IG1heFllYXIgPSBtYXhEYXRlLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IHllYXJDb3VudCA9IG1heFllYXIgLSBtaW5ZZWFyICsgMTtcbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHllYXJDb3VudCB9LCAoXywgaW5kZXgpID0+IG1pblllYXIgKyBpbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb250aE9wdGlvbnMobW9udGhMYWJlbHM6IHN0cmluZ1tdKTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSB7XG4gIHJldHVybiBtb250aExhYmVscy5tYXAoKG1vbnRoLCBpbmRleCkgPT4gKHtcbiAgICBsYWJlbDogbW9udGgsXG4gICAgdmFsdWU6IGluZGV4ICsgMSxcbiAgfSkpO1xufVxuIl19