@ndwnu/design-system 1.0.1 → 1.0.3

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 (39) hide show
  1. package/components/collapsible/collapsible.component.d.ts +1 -1
  2. package/components/dropdown/dropdown-trigger.directive.d.ts +1 -1
  3. package/components/form-field/form-field.component.d.ts +2 -3
  4. package/components/form-field/input/input.directive.d.ts +1 -0
  5. package/components/form-field/input/input.model.d.ts +3 -1
  6. package/components/main-navigation/main-navigation.component.d.ts +3 -3
  7. package/core/styles/ndw-styles.scss +287 -1
  8. package/core/styles/nwb-styles.scss +287 -1
  9. package/esm2022/components/accordion/accordion.component.mjs +3 -3
  10. package/esm2022/components/accordion/accordion.service.mjs +3 -3
  11. package/esm2022/components/badge/badge.component.mjs +4 -4
  12. package/esm2022/components/button/button.directive.mjs +3 -3
  13. package/esm2022/components/card/card.component.mjs +3 -3
  14. package/esm2022/components/collapsible/collapsible.animation.mjs +14 -24
  15. package/esm2022/components/collapsible/collapsible.component.mjs +5 -5
  16. package/esm2022/components/dropdown/dropdown-trigger.directive.mjs +11 -15
  17. package/esm2022/components/dropdown/dropdown.component.mjs +5 -5
  18. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +6 -6
  19. package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +3 -3
  20. package/esm2022/components/form-field/error/error.component.mjs +3 -3
  21. package/esm2022/components/form-field/form-field.component.mjs +12 -11
  22. package/esm2022/components/form-field/info/info.component.mjs +3 -3
  23. package/esm2022/components/form-field/input/input.directive.mjs +10 -8
  24. package/esm2022/components/form-field/input/input.model.mjs +3 -1
  25. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +3 -3
  26. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +3 -3
  27. package/esm2022/components/icon/icon.component.mjs +3 -3
  28. package/esm2022/components/icon/icon.service.mjs +3 -3
  29. package/esm2022/components/main-navigation/main-navigation.component.mjs +8 -9
  30. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +3 -3
  31. package/esm2022/components/modal/modal-trigger.directive.mjs +3 -3
  32. package/esm2022/components/pill/pill.component.mjs +3 -3
  33. package/esm2022/components/tab/tab.component.mjs +3 -3
  34. package/esm2022/components/tab-group/tab-group.component.mjs +3 -3
  35. package/esm2022/components/tooltip/tooltip.component.mjs +4 -4
  36. package/esm2022/components/tooltip/tooltip.directive.mjs +3 -3
  37. package/fesm2022/ndwnu-design-system.mjs +121 -132
  38. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  39. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, computed, contentChild, effect, contentChildren, input, } from '@angular/core';
2
+ import { Component, computed, contentChild, contentChildren, effect, input } from '@angular/core';
3
3
  import { IconComponent } from '../icon';
4
4
  import { TooltipDirective } from '../tooltip';
5
5
  import { CheckboxComponent } from './checkbox';
@@ -11,7 +11,7 @@ import { RadioGroupComponent } from './radio-group';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/common";
13
13
  const inputTypesWithPrefixIcon = [InputType.Search];
14
- const inputTypesWithSuffixIcon = [InputType.Date, InputType.Time];
14
+ const inputTypesWithSuffixIcon = [InputType.Date, InputType.Month, InputType.Time, InputType.Week];
15
15
  export class FormFieldComponent {
16
16
  constructor() {
17
17
  this.input = contentChild(InputDirective);
@@ -37,12 +37,13 @@ export class FormFieldComponent {
37
37
  this.setInputId(input);
38
38
  });
39
39
  }
40
- ngOnChanges() {
40
+ clearInput() {
41
41
  const input = this.input();
42
- if (!input) {
43
- return;
42
+ if (input) {
43
+ input.element.value = '';
44
+ // Trigger 'ndw-changed' attribute update on the input element
45
+ input.element.dispatchEvent(new Event('input'));
44
46
  }
45
- this.setInputErrorState(input);
46
47
  }
47
48
  addInputTypeBasedClass(input) {
48
49
  const element = input.element;
@@ -101,11 +102,11 @@ export class FormFieldComponent {
101
102
  .some((radioButton) => radioButton.required());
102
103
  return requiredInput || requiredCheckboxes || requiredRadioButtons || false;
103
104
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: FormFieldComponent, isStandalone: true, selector: "ndw-form-field", inputs: { label: { classPropertyName: "label", publicName: "label", 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: "checkboxes", predicate: CheckboxComponent, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n<ng-content />\n\n@if (info(); as info) {\n <ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n <ndw-error>{{ error }}</ndw-error>\n}\n", styles: [":host{display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);margin-bottom:var(--ndw-spacing-md);position:relative}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{pointer-events:none;position:absolute;top:.75rem;width:var(--ndw-font-size-lg);z-index:1}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}label+.prefix-input-icon,label+.suffix-input-icon{top:2.25rem}.prefix-input-icon{color:var(--ndw-color-grey-300);left:var(--ndw-spacing-sm)}.suffix-input-icon{color:var(--ndw-background-primary);right:var(--ndw-spacing-xs)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ErrorComponent, selector: "ndw-error" }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }, { kind: "component", type: InfoComponent, selector: "ndw-info" }, { kind: "directive", type: TooltipDirective, selector: "[ndwTooltip]", inputs: ["ndwTooltip"] }] }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
+ 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: 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: "checkboxes", predicate: CheckboxComponent, isSignal: true }], ngImport: i0, template: "@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n\n@if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-icon\n class=\"suffix-input-icon\"\n [ngClass]=\"{ disabled: disabled(), clickable: !disabled() }\"\n name=\"x\"\n (click)=\"clearInput()\"\n />\n}\n\n<ng-content />\n\n@if (info(); as info) {\n <ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n <ndw-error>{{ error }}</ndw-error>\n}\n", styles: [":host{display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);margin-bottom:var(--ndw-spacing-md);position:relative}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{pointer-events:none;position:absolute;top:.75rem;width:var(--ndw-font-size-lg);z-index:1}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}label~.prefix-input-icon,label~.suffix-input-icon{top:2.25rem}.prefix-input-icon{color:var(--ndw-color-grey-300);left:var(--ndw-spacing-sm)}.suffix-input-icon{color:var(--ndw-background-primary);right:var(--ndw-spacing-xs)}.suffix-input-icon.clickable{pointer-events:initial;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ErrorComponent, selector: "ndw-error" }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }, { kind: "component", type: InfoComponent, selector: "ndw-info" }, { kind: "directive", type: TooltipDirective, selector: "[ndwTooltip]", inputs: ["ndwTooltip"] }] }); }
106
107
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormFieldComponent, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormFieldComponent, decorators: [{
108
109
  type: Component,
109
- args: [{ selector: 'ndw-form-field', standalone: true, imports: [CommonModule, ErrorComponent, IconComponent, InfoComponent, TooltipDirective], template: "@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n<ng-content />\n\n@if (info(); as info) {\n <ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n <ndw-error>{{ error }}</ndw-error>\n}\n", styles: [":host{display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);margin-bottom:var(--ndw-spacing-md);position:relative}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{pointer-events:none;position:absolute;top:.75rem;width:var(--ndw-font-size-lg);z-index:1}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}label+.prefix-input-icon,label+.suffix-input-icon{top:2.25rem}.prefix-input-icon{color:var(--ndw-color-grey-300);left:var(--ndw-spacing-sm)}.suffix-input-icon{color:var(--ndw-background-primary);right:var(--ndw-spacing-xs)}\n"] }]
110
+ args: [{ selector: 'ndw-form-field', standalone: true, imports: [CommonModule, ErrorComponent, IconComponent, InfoComponent, TooltipDirective], template: "@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n\n@if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-icon\n class=\"suffix-input-icon\"\n [ngClass]=\"{ disabled: disabled(), clickable: !disabled() }\"\n name=\"x\"\n (click)=\"clearInput()\"\n />\n}\n\n<ng-content />\n\n@if (info(); as info) {\n <ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n <ndw-error>{{ error }}</ndw-error>\n}\n", styles: [":host{display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);margin-bottom:var(--ndw-spacing-md);position:relative}ndw-error,ndw-info{margin-top:var(--ndw-spacing-2xs)}.prefix-input-icon,.suffix-input-icon{pointer-events:none;position:absolute;top:.75rem;width:var(--ndw-font-size-lg);z-index:1}.prefix-input-icon.disabled,.suffix-input-icon.disabled{color:var(--ndw-color-grey-300)}label~.prefix-input-icon,label~.suffix-input-icon{top:2.25rem}.prefix-input-icon{color:var(--ndw-color-grey-300);left:var(--ndw-spacing-sm)}.suffix-input-icon{color:var(--ndw-background-primary);right:var(--ndw-spacing-xs)}.suffix-input-icon.clickable{pointer-events:initial;cursor:pointer}\n"] }]
110
111
  }], ctorParameters: () => [] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sZUFBZSxFQUNmLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRXBELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBU2xFLE1BQU0sT0FBTyxrQkFBa0I7SUFrQjdCO1FB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USxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDOUMsTUFBTSxvQkFBb0IsR0FBRyxVQUFVO1lBQ3JDLEVBQUUsWUFBWSxFQUFFO2FBQ2YsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVqRCxPQUFPLGFBQWEsSUFBSSxrQkFBa0IsSUFBSSxvQkFBb0IsSUFBSSxLQUFLLENBQUM7SUFDOUUsQ0FBQzs4R0EvR1Usa0JBQWtCO2tHQUFsQixrQkFBa0IsNnRCQUNELGNBQWMsNkZBQ1QsbUJBQW1CLGdGQUNoQixpQkFBaUIsa0VDbEN2RCw4c0JBeUJBLG9yQkRFWSxZQUFZLDZIQUFFLGNBQWMsc0RBQUUsYUFBYSxzRkFBRSxhQUFhLHFEQUFFLGdCQUFnQjs7MkZBSTNFLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkNoYW5nZXMsXG4gIGNvbXB1dGVkLFxuICBjb250ZW50Q2hpbGQsXG4gIGVmZmVjdCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94JztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuL2luZm8nO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIElucHV0VHlwZSB9IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tZ3JvdXAnO1xuXG5jb25zdCBpbnB1dFR5cGVzV2l0aFByZWZpeEljb24gPSBbSW5wdXRUeXBlLlNlYXJjaF07XG5jb25zdCBpbnB1dFR5cGVzV2l0aFN1ZmZpeEljb24gPSBbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5UaW1lXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWZvcm0tZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFcnJvckNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgSW5mb0NvbXBvbmVudCwgVG9vbHRpcERpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwdWJsaWMgaW5wdXQgPSBjb250ZW50Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuICBwdWJsaWMgcmFkaW9Hcm91cCA9IGNvbnRlbnRDaGlsZChSYWRpb0dyb3VwQ29tcG9uZW50KTtcbiAgcHVibGljIGNoZWNrYm94ZXMgPSBjb250ZW50Q2hpbGRyZW4oQ2hlY2tib3hDb21wb25lbnQpO1xuXG4gIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBlcnJvciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIGluZm8gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB0b29sdGlwID0gaW5wdXQoJycpO1xuXG4gIHB1YmxpYyByZXF1aXJlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2V0UmVxdWlyZWRTdGF0ZSgpKTtcbiAgcHVibGljIGlucHV0UHJlZml4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXRJbnB1dFByZWZpeCgpKTtcbiAgcHVibGljIGlucHV0U3VmZml4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXRJbnB1dFN1ZmZpeCgpKTtcblxuICBwdWJsaWMgdXVpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZElucHV0VHlwZUJhc2VkQ2xhc3MoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dElkKGlucHV0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbnB1dFR5cGVCYXNlZENsYXNzKGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBpbnB1dC5lbGVtZW50O1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlucHV0VHlwZXNXaXRoUHJlZml4SWNvbi5pbmNsdWRlcyhlbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ByZWZpeC1pY29uJylcbiAgICAgIDogZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwcmVmaXgtaWNvbicpO1xuXG4gICAgaW5wdXRUeXBlc1dpdGhTdWZmaXhJY29uLmluY2x1ZGVzKGVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUpXG4gICAgICA/IGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc3VmZml4LWljb24nKVxuICAgICAgOiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3N1ZmZpeC1pY29uJyk7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RGlzYWJsZWRTdGF0ZShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRFcnJvclN0YXRlKGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlucHV0LmVycm9yID0gISF0aGlzLmVycm9yKCk/Lmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRJZChpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5pZCA9IGBpbnB1dC0ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFByZWZpeCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dCgpO1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGlucHV0IGljb24gZm9yIHNlYXJjaCBpbnB1dHNcbiAgICByZXR1cm4gaW5wdXRUeXBlc1dpdGhQcmVmaXhJY29uLmluY2x1ZGVzKGlucHV0LmVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUpXG4gICAgICA/ICdzZWFyY2gnXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRTdWZmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBkYXRlIGlucHV0c1xuICAgIGlmIChpbnB1dFR5cGVzV2l0aFN1ZmZpeEljb24uaW5jbHVkZXMoaW5wdXQuZWxlbWVudC50eXBlIGFzIElucHV0VHlwZSkpIHtcbiAgICAgIHJldHVybiBpbnB1dC5lbGVtZW50LnR5cGUgPT09IElucHV0VHlwZS5UaW1lID8gJ2Nsb2NrJyA6ICdjYWxlbmRhcic7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBzZWxlY3QgaW5wdXRzXG4gICAgaWYgKGlucHV0LmVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gRm9ybUZpZWxkRWxlbWVudC5TZWxlY3QpIHtcbiAgICAgIHJldHVybiAnY2hldnJvbi1kb3duJztcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZXF1aXJlZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoZWNrYm94ZXMgPSB0aGlzLmNoZWNrYm94ZXMoKTtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBjb25zdCByYWRpb0dyb3VwID0gdGhpcy5yYWRpb0dyb3VwKCk7XG5cbiAgICBjb25zdCByZXF1aXJlZENoZWNrYm94ZXMgPSBjaGVja2JveGVzPy5zb21lKChjaGVja2JveCkgPT4gY2hlY2tib3gucmVxdWlyZWQoKSk7XG4gICAgY29uc3QgcmVxdWlyZWRJbnB1dCA9IGlucHV0Py5lbGVtZW50LnJlcXVpcmVkO1xuICAgIGNvbnN0IHJlcXVpcmVkUmFkaW9CdXR0b25zID0gcmFkaW9Hcm91cFxuICAgICAgPy5yYWRpb0J1dHRvbnMoKVxuICAgICAgLnNvbWUoKHJhZGlvQnV0dG9uKSA9PiByYWRpb0J1dHRvbi5yZXF1aXJlZCgpKTtcblxuICAgIHJldHVybiByZXF1aXJlZElucHV0IHx8IHJlcXVpcmVkQ2hlY2tib3hlcyB8fCByZXF1aXJlZFJhZGlvQnV0dG9ucyB8fCBmYWxzZTtcbiAgfVxufVxuIiwiQGlmIChyZXF1aXJlZCgpIHx8IGxhYmVsKCkgfHwgdG9vbHRpcCgpKSB7XG4gIDxsYWJlbCBuZHdMYWJlbCBbZm9yXT1cIidpbnB1dC0nICsgdXVpZFwiPlxuICAgIEBpZiAocmVxdWlyZWQoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPiAqIDwvc3Bhbj5cbiAgICB9XG4gICAge3sgbGFiZWwoKSB9fVxuICAgIEBpZiAodG9vbHRpcCgpOyBhcyB0b29sdGlwKSB7XG4gICAgICA8bmR3LWljb24gW25kd1Rvb2x0aXBdPVwidG9vbHRpcFwiIG5hbWU9XCJpbmZvXCIgLz5cbiAgICB9XG4gIDwvbGFiZWw+XG59XG5AaWYgKGlucHV0UHJlZml4KCk7IGFzIGljb24pIHtcbiAgPG5kdy1pY29uIGNsYXNzPVwicHJlZml4LWlucHV0LWljb25cIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCgpIH1cIiBbbmFtZV09XCJpY29uXCIgLz5cbn1cbkBpZiAoaW5wdXRTdWZmaXgoKTsgYXMgaWNvbikge1xuICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXgtaW5wdXQtaWNvblwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkKCkgfVwiIFtuYW1lXT1cImljb25cIiAvPlxufVxuPG5nLWNvbnRlbnQgLz5cblxuQGlmIChpbmZvKCk7IGFzIGluZm8pIHtcbiAgPG5kdy1pbmZvPnt7IGluZm8gfX08L25kdy1pbmZvPlxufVxuQGlmIChlcnJvcigpOyBhcyBlcnJvcikge1xuICA8bmR3LWVycm9yPnt7IGVycm9yIH19PC9uZHctZXJyb3I+XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRXBELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENB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TUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXJDLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDOUMsTUFBTSxvQkFBb0IsR0FBRyxVQUFVO1lBQ3JDLEVBQUUsWUFBWSxFQUFFO2FBQ2YsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVqRCxPQUFPLGFBQWEsSUFBSSxrQkFBa0IsSUFBSSxvQkFBb0IsSUFBSSxLQUFLLENBQUM7SUFDOUUsQ0FBQzs4R0EvR1Usa0JBQWtCO2tHQUFsQixrQkFBa0IsNnRCQUNELGNBQWMsNkZBQ1QsbUJBQW1CLGdGQUNoQixpQkFBaUIsNkNDMUJ2RCwwOEJBbUNBLHV2QkRoQlksWUFBWSw2SEFBRSxjQUFjLHNEQUFFLGFBQWEsc0ZBQUUsYUFBYSxxREFBRSxnQkFBZ0I7OzJGQUkzRSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94JztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuL2luZm8nO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIElucHV0VHlwZSB9IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tZ3JvdXAnO1xuXG5jb25zdCBpbnB1dFR5cGVzV2l0aFByZWZpeEljb24gPSBbSW5wdXRUeXBlLlNlYXJjaF07XG5jb25zdCBpbnB1dFR5cGVzV2l0aFN1ZmZpeEljb24gPSBbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5Nb250aCwgSW5wdXRUeXBlLlRpbWUsIElucHV0VHlwZS5XZWVrXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWZvcm0tZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFcnJvckNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgSW5mb0NvbXBvbmVudCwgVG9vbHRpcERpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBwdWJsaWMgaW5wdXQgPSBjb250ZW50Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuICBwdWJsaWMgcmFkaW9Hcm91cCA9IGNvbnRlbnRDaGlsZChSYWRpb0dyb3VwQ29tcG9uZW50KTtcbiAgcHVibGljIGNoZWNrYm94ZXMgPSBjb250ZW50Q2hpbGRyZW4oQ2hlY2tib3hDb21wb25lbnQpO1xuXG4gIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBlcnJvciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIGluZm8gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB0b29sdGlwID0gaW5wdXQoJycpO1xuXG4gIHB1YmxpYyByZXF1aXJlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2V0UmVxdWlyZWRTdGF0ZSgpKTtcbiAgcHVibGljIGlucHV0UHJlZml4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXRJbnB1dFByZWZpeCgpKTtcbiAgcHVibGljIGlucHV0U3VmZml4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXRJbnB1dFN1ZmZpeCgpKTtcblxuICBwdWJsaWMgdXVpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZElucHV0VHlwZUJhc2VkQ2xhc3MoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dEVycm9yU3RhdGUoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRJbnB1dElkKGlucHV0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dCgpO1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQuZWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgLy8gVHJpZ2dlciAnbmR3LWNoYW5nZWQnIGF0dHJpYnV0ZSB1cGRhdGUgb24gdGhlIGlucHV0IGVsZW1lbnRcbiAgICAgIGlucHV0LmVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkSW5wdXRUeXBlQmFzZWRDbGFzcyhpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gaW5wdXQuZWxlbWVudDtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpbnB1dFR5cGVzV2l0aFByZWZpeEljb24uaW5jbHVkZXMoZWxlbWVudC50eXBlIGFzIElucHV0VHlwZSlcbiAgICAgID8gZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwcmVmaXgtaWNvbicpXG4gICAgICA6IGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncHJlZml4LWljb24nKTtcblxuICAgIGlucHV0VHlwZXNXaXRoU3VmZml4SWNvbi5pbmNsdWRlcyhlbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3N1ZmZpeC1pY29uJylcbiAgICAgIDogZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzdWZmaXgtaWNvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RXJyb3JTdGF0ZShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5lcnJvciA9ICEhdGhpcy5lcnJvcigpPy5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0SWQoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuaWQgPSBgaW5wdXQtJHt0aGlzLnV1aWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRQcmVmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBpbnB1dCBpY29uIGZvciBzZWFyY2ggaW5wdXRzXG4gICAgcmV0dXJuIGlucHV0VHlwZXNXaXRoUHJlZml4SWNvbi5pbmNsdWRlcyhpbnB1dC5lbGVtZW50LnR5cGUgYXMgSW5wdXRUeXBlKVxuICAgICAgPyAnc2VhcmNoJ1xuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0U3VmZml4KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgaW5wdXQgaWNvbiBmb3IgZGF0ZSBpbnB1dHNcbiAgICBpZiAoaW5wdXRUeXBlc1dpdGhTdWZmaXhJY29uLmluY2x1ZGVzKGlucHV0LmVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUpKSB7XG4gICAgICByZXR1cm4gaW5wdXQuZWxlbWVudC50eXBlID09PSBJbnB1dFR5cGUuVGltZSA/ICdjbG9jaycgOiAnY2FsZW5kYXInO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgaW5wdXQgaWNvbiBmb3Igc2VsZWN0IGlucHV0c1xuICAgIGlmIChpbnB1dC5lbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IEZvcm1GaWVsZEVsZW1lbnQuU2VsZWN0KSB7XG4gICAgICByZXR1cm4gJ2NoZXZyb24tZG93bic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVxdWlyZWRTdGF0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGVja2JveGVzID0gdGhpcy5jaGVja2JveGVzKCk7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgY29uc3QgcmFkaW9Hcm91cCA9IHRoaXMucmFkaW9Hcm91cCgpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRDaGVja2JveGVzID0gY2hlY2tib3hlcz8uc29tZSgoY2hlY2tib3gpID0+IGNoZWNrYm94LnJlcXVpcmVkKCkpO1xuICAgIGNvbnN0IHJlcXVpcmVkSW5wdXQgPSBpbnB1dD8uZWxlbWVudC5yZXF1aXJlZDtcbiAgICBjb25zdCByZXF1aXJlZFJhZGlvQnV0dG9ucyA9IHJhZGlvR3JvdXBcbiAgICAgID8ucmFkaW9CdXR0b25zKClcbiAgICAgIC5zb21lKChyYWRpb0J1dHRvbikgPT4gcmFkaW9CdXR0b24ucmVxdWlyZWQoKSk7XG5cbiAgICByZXR1cm4gcmVxdWlyZWRJbnB1dCB8fCByZXF1aXJlZENoZWNrYm94ZXMgfHwgcmVxdWlyZWRSYWRpb0J1dHRvbnMgfHwgZmFsc2U7XG4gIH1cbn1cbiIsIkBpZiAocmVxdWlyZWQoKSB8fCBsYWJlbCgpIHx8IHRvb2x0aXAoKSkge1xuICA8bGFiZWwgbmR3TGFiZWwgW2Zvcl09XCInaW5wdXQtJyArIHV1aWRcIj5cbiAgICBAaWYgKHJlcXVpcmVkKCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4gKiA8L3NwYW4+XG4gICAgfVxuICAgIHt7IGxhYmVsKCkgfX1cbiAgICBAaWYgKHRvb2x0aXAoKTsgYXMgdG9vbHRpcCkge1xuICAgICAgPG5kdy1pY29uIFtuZHdUb29sdGlwXT1cInRvb2x0aXBcIiBuYW1lPVwiaW5mb1wiIC8+XG4gICAgfVxuICA8L2xhYmVsPlxufVxuQGlmIChpbnB1dFByZWZpeCgpOyBhcyBpY29uKSB7XG4gIDxuZHctaWNvbiBjbGFzcz1cInByZWZpeC1pbnB1dC1pY29uXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQoKSB9XCIgW25hbWVdPVwiaWNvblwiIC8+XG59XG5AaWYgKGlucHV0U3VmZml4KCk7IGFzIGljb24pIHtcbiAgPG5kdy1pY29uIGNsYXNzPVwic3VmZml4LWlucHV0LWljb25cIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCgpIH1cIiBbbmFtZV09XCJpY29uXCIgLz5cbn1cblxuQGlmIChpbnB1dCgpPy5lbGVtZW50Py50eXBlID09PSAnc2VhcmNoJyAmJiBpbnB1dCgpPy5lbGVtZW50Py52YWx1ZSAhPT0gJycpIHtcbiAgPG5kdy1pY29uXG4gICAgY2xhc3M9XCJzdWZmaXgtaW5wdXQtaWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQoKSwgY2xpY2thYmxlOiAhZGlzYWJsZWQoKSB9XCJcbiAgICBuYW1lPVwieFwiXG4gICAgKGNsaWNrKT1cImNsZWFySW5wdXQoKVwiXG4gIC8+XG59XG5cbjxuZy1jb250ZW50IC8+XG5cbkBpZiAoaW5mbygpOyBhcyBpbmZvKSB7XG4gIDxuZHctaW5mbz57eyBpbmZvIH19PC9uZHctaW5mbz5cbn1cbkBpZiAoZXJyb3IoKTsgYXMgZXJyb3IpIHtcbiAgPG5kdy1lcnJvcj57eyBlcnJvciB9fTwvbmR3LWVycm9yPlxufVxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class InfoComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: InfoComponent, isStandalone: true, selector: "ndw-info", ngImport: i0, template: "<ng-content />\n", styles: [":host{align-items:center;color:var(--ndw-color-grey-400);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);height:1rem;line-height:100%}\n"] }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: InfoComponent, isStandalone: true, selector: "ndw-info", ngImport: i0, template: "<ng-content />\n", styles: [":host{align-items:center;color:var(--ndw-color-grey-400);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);height:1rem;line-height:100%}\n"] }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InfoComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InfoComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'ndw-info', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{align-items:center;color:var(--ndw-color-grey-400);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);height:1rem;line-height:100%}\n"] }]
10
10
  }] });
@@ -1,9 +1,11 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
1
+ import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
3
  import { fromEvent } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  export class InputDirective {
5
6
  constructor() {
6
7
  this.elementRef = inject(ElementRef);
8
+ this.destroyRef = inject(DestroyRef);
7
9
  }
8
10
  set disabled(disabled) {
9
11
  this.element.disabled = disabled;
@@ -19,18 +21,18 @@ export class InputDirective {
19
21
  }
20
22
  ngOnInit() {
21
23
  // Add ndw-changed attribute when the input is changed and has a value
22
- fromEvent(this.element, 'change').subscribe(() => {
23
- this.element.toggleAttribute('ndw-changed', !!this.element.value);
24
- });
24
+ fromEvent(this.element, 'input')
25
+ .pipe(takeUntilDestroyed(this.destroyRef))
26
+ .subscribe(() => this.element.toggleAttribute('ndw-changed', !!this.element.value));
25
27
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: InputDirective, isStandalone: true, selector: "input[ndwInput], select[ndwInput], textarea[ndwInput]", ngImport: i0 }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: InputDirective, isStandalone: true, selector: "input[ndwInput], select[ndwInput], textarea[ndwInput]", ngImport: i0 }); }
28
30
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InputDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InputDirective, decorators: [{
30
32
  type: Directive,
31
33
  args: [{
32
34
  selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',
33
35
  standalone: true,
34
36
  }]
35
37
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU1qQyxNQUFNLE9BQU8sY0FBYztJQUozQjtRQWlCbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWVsRDtJQTNCQyxJQUFXLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBSUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUdBLENBQUM7SUFDMUIsQ0FBQztJQUVNLFFBQVE7UUFDYixzRUFBc0U7UUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTNCVSxjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVEQUF1RDtvQkFDakUsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W25kd0lucHV0XSwgc2VsZWN0W25kd0lucHV0XSwgdGV4dGFyZWFbbmR3SW5wdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5lbGVtZW50LmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGVycm9yKGVycm9yOiBib29sZWFuKSB7XG4gICAgdGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZXJyb3InLCBlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuaWQgPSBpZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzXG4gICAgICB8IEhUTUxJbnB1dEVsZW1lbnRcbiAgICAgIHwgSFRNTFNlbGVjdEVsZW1lbnRcbiAgICAgIHwgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBBZGQgbmR3LWNoYW5nZWQgYXR0cmlidXRlIHdoZW4gdGhlIGlucHV0IGlzIGNoYW5nZWQgYW5kIGhhcyBhIHZhbHVlXG4gICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ2NoYW5nZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZHctY2hhbmdlZCcsICEhdGhpcy5lbGVtZW50LnZhbHVlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNakMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFpQm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWVsRDtJQTVCQyxJQUFXLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBS0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUdBLENBQUM7SUFDMUIsQ0FBQztJQUVNLFFBQVE7UUFDYixzRUFBc0U7UUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO2FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7OEdBNUJVLGNBQWM7a0dBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdURBQXVEO29CQUNqRSxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbbmR3SW5wdXRdLCBzZWxlY3RbbmR3SW5wdXRdLCB0ZXh0YXJlYVtuZHdJbnB1dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZXJyb3IoZXJyb3I6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdlcnJvcicsIGVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudC5pZCA9IGlkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHVibGljIGdldCBlbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhc1xuICAgICAgfCBIVE1MSW5wdXRFbGVtZW50XG4gICAgICB8IEhUTUxTZWxlY3RFbGVtZW50XG4gICAgICB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQWRkIG5kdy1jaGFuZ2VkIGF0dHJpYnV0ZSB3aGVuIHRoZSBpbnB1dCBpcyBjaGFuZ2VkIGFuZCBoYXMgYSB2YWx1ZVxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnbmR3LWNoYW5nZWQnLCAhIXRoaXMuZWxlbWVudC52YWx1ZSkpO1xuICB9XG59XG4iXX0=
@@ -2,6 +2,7 @@ export var InputType;
2
2
  (function (InputType) {
3
3
  InputType["Date"] = "date";
4
4
  InputType["Email"] = "email";
5
+ InputType["Month"] = "month";
5
6
  InputType["Number"] = "number";
6
7
  InputType["Password"] = "password";
7
8
  InputType["Search"] = "search";
@@ -9,5 +10,6 @@ export var InputType;
9
10
  InputType["Text"] = "text";
10
11
  InputType["Time"] = "time";
11
12
  InputType["Url"] = "url";
13
+ InputType["Week"] = "week";
12
14
  })(InputType || (InputType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC9pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2YsOEJBQWlCLENBQUE7SUFDakIsa0NBQXFCLENBQUE7SUFDckIsOEJBQWlCLENBQUE7SUFDakIsd0JBQVcsQ0FBQTtJQUNYLDBCQUFhLENBQUE7SUFDYiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtBQUNiLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIElucHV0VHlwZSB7XG4gIERhdGUgPSAnZGF0ZScsXG4gIEVtYWlsID0gJ2VtYWlsJyxcbiAgTnVtYmVyID0gJ251bWJlcicsXG4gIFBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcbiAgU2VhcmNoID0gJ3NlYXJjaCcsXG4gIFRlbCA9ICd0ZWwnLFxuICBUZXh0ID0gJ3RleHQnLFxuICBUaW1lID0gJ3RpbWUnLFxuICBVcmwgPSAndXJsJyxcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC9pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVlYO0FBWkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2YsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDhCQUFpQixDQUFBO0lBQ2pCLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVpXLFNBQVMsS0FBVCxTQUFTLFFBWXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRUeXBlIHtcbiAgRGF0ZSA9ICdkYXRlJyxcbiAgRW1haWwgPSAnZW1haWwnLFxuICBNb250aCA9ICdtb250aCcsXG4gIE51bWJlciA9ICdudW1iZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFNlYXJjaCA9ICdzZWFyY2gnLFxuICBUZWwgPSAndGVsJyxcbiAgVGV4dCA9ICd0ZXh0JyxcbiAgVGltZSA9ICd0aW1lJyxcbiAgVXJsID0gJ3VybCcsXG4gIFdlZWsgPSAnd2VlaycsXG59XG4iXX0=
@@ -44,8 +44,8 @@ export class RadioButtonComponent {
44
44
  registerOnTouched() {
45
45
  // noop
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: RadioButtonComponent, isStandalone: true, selector: "ndw-radio-button", inputs: { checked: { classPropertyName: "checked", publicName: "checked", 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 }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", name: "nameChange" }, host: { listeners: { "click": "onClick()", "keydown": "onKeyDown($event)" }, properties: { "class.checked": "this.checkedClass", "class.disabled": "this.disabledClass", "attr.tabindex": "this.tabindexAttr" } }, providers: [
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: RadioButtonComponent, isStandalone: true, selector: "ndw-radio-button", inputs: { checked: { classPropertyName: "checked", publicName: "checked", 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 }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", name: "nameChange" }, host: { listeners: { "click": "onClick()", "keydown": "onKeyDown($event)" }, properties: { "class.checked": "this.checkedClass", "class.disabled": "this.disabledClass", "attr.tabindex": "this.tabindexAttr" } }, providers: [
49
49
  {
50
50
  provide: NG_VALUE_ACCESSOR,
51
51
  useExisting: RadioButtonComponent,
@@ -53,7 +53,7 @@ export class RadioButtonComponent {
53
53
  },
54
54
  ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: "<input #input type=\"radio\" [id]=\"'radio-button-' + uuid\" [name]=\"name()\" />\n<div class=\"radio-button\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <div class=\"check\"></div>\n }\n</div>\n<label\n tabindex=\"-1\"\n [for]=\"'radio-button-' + uuid\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</label>\n", styles: [":host{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ndw-spacing-xs);height:1.375rem;width:fit-content}input{display:none}.radio-button{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);border-radius:50%;color:var(--ndw-color-white);display:flex;height:1.25rem;transition:background-color var(--ndw-animation-speed-fast) ease-in-out,border-color var(--ndw-animation-speed-fast) ease-in-out,box-shadow var(--ndw-animation-speed-fast) ease-in-out;width:1.25rem}.radio-button .check{background-color:var(--ndw-color-white);border-radius:inherit;height:.5rem;margin:auto;width:.5rem}.radio-button.error{background-color:var(--ndw-color-negative-100);border-color:var(--ndw-color-negative-500)}label{font-family:var(--ndw-font-family);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;color:var(--ndw-color-grey-600);cursor:pointer;display:flex;margin-top:var(--ndw-spacing-2xs);width:fit-content}label:focus{outline:none}:host(.checked) .radio-button{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) .radio-button.error{background-color:var(--ndw-color-negative-500);border-color:var(--ndw-color-negative-500)}:host(:hover) .radio-button{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(:not(.checked):hover) .radio-button{background-color:var(--ndw-color-white);border-color:var(--ndw-color-primary-500)}:host(:focus){outline:none}:host(:focus) .radio-button{box-shadow:var(--ndw-elevation-info)}:host(:active) .radio-button,:host(:focus) .radio-button,:host(:not(.checked):active) .radio-button{border-color:var(--ndw-color-info-500)}:host(.checked:focus) .radio-button{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) .radio-button{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) label{color:var(--ndw-color-grey-400)}:host(.checked.disabled) .radio-button{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioButtonComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{ selector: 'ndw-radio-button', standalone: true, imports: [IconComponent, NgClass], providers: [
59
59
  {
@@ -24,10 +24,10 @@ export class RadioGroupComponent {
24
24
  });
25
25
  });
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.1", type: RadioGroupComponent, isStandalone: true, selector: "ndw-radio-group", queries: [{ propertyName: "radioButtons", predicate: RadioButtonComponent, isSignal: true }], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: RadioGroupComponent, isStandalone: true, selector: "ndw-radio-group", queries: [{ propertyName: "radioButtons", predicate: RadioButtonComponent, isSignal: true }], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RadioGroupComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioGroupComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'ndw-radio-group', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }]
33
33
  }] });
@@ -16,10 +16,10 @@ export class IconComponent {
16
16
  this.elementRef.nativeElement.innerHTML = icon.svg;
17
17
  });
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.interactive": "this.interactiveClass" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;height:1rem;position:relative;width:1rem}:host(.interactive){box-sizing:content-box;border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-primary);cursor:pointer;overflow:hidden;padding:var(--ndw-spacing-2xs)}:host(.interactive):before{background-color:var(--ndw-color-grey-300);content:\"\";inset:0;opacity:0;position:absolute;transition:opacity .15s ease-in-out;z-index:-1}:host(.interactive):hover{background-color:transparent}:host(.interactive):hover:before{opacity:var(--ndw-alpha-7)}:host(.interactive):active:before,:host(.interactive):focus:before,:host(.interactive):focus-visible:before{opacity:var(--ndw-alpha-15)}:host(.interactive):focus-visible{background-color:transparent;color:var(--ndw-color-primary);outline-color:var(--ndw-color-info-500)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.interactive": "this.interactiveClass" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;height:1rem;position:relative;width:1rem}:host(.interactive){box-sizing:content-box;border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-primary);cursor:pointer;overflow:hidden;padding:var(--ndw-spacing-2xs)}:host(.interactive):before{background-color:var(--ndw-color-grey-300);content:\"\";inset:0;opacity:0;position:absolute;transition:opacity .15s ease-in-out;z-index:-1}:host(.interactive):hover{background-color:transparent}:host(.interactive):hover:before{opacity:var(--ndw-alpha-7)}:host(.interactive):active:before,:host(.interactive):focus:before,:host(.interactive):focus-visible:before{opacity:var(--ndw-alpha-15)}:host(.interactive):focus-visible{background-color:transparent;color:var(--ndw-color-primary);outline-color:var(--ndw-color-info-500)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'ndw-icon', standalone: true, imports: [CommonModule], template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:flex;height:1rem;position:relative;width:1rem}:host(.interactive){box-sizing:content-box;border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-primary);cursor:pointer;overflow:hidden;padding:var(--ndw-spacing-2xs)}:host(.interactive):before{background-color:var(--ndw-color-grey-300);content:\"\";inset:0;opacity:0;position:absolute;transition:opacity .15s ease-in-out;z-index:-1}:host(.interactive):hover{background-color:transparent}:host(.interactive):hover:before{opacity:var(--ndw-alpha-7)}:host(.interactive):active:before,:host(.interactive):focus:before,:host(.interactive):focus-visible:before{opacity:var(--ndw-alpha-15)}:host(.interactive):focus-visible{background-color:transparent;color:var(--ndw-color-primary);outline-color:var(--ndw-color-info-500)}\n"] }]
25
25
  }], ctorParameters: () => [], propDecorators: { interactiveClass: [{
@@ -14,10 +14,10 @@ export class IconService {
14
14
  setIcons(icons) {
15
15
  this.icons = icons;
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconService, providedIn: 'root' }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconService, providedIn: 'root' }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconService, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconService, decorators: [{
21
21
  type: Injectable,
22
22
  args: [{
23
23
  providedIn: 'root',