@ndwnu/design-system 12.2.0 → 12.3.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.
- package/assets/images/logos/ndw-logo-short.svg +3 -3
- package/assets/images/logos/ndw-logo.svg +3 -3
- package/assets/images/logos/nwb-logo-short.svg +10 -10
- package/assets/images/logos/nwb-logo.svg +4 -4
- package/assets/images/map-button-icons.svg +91 -91
- package/fesm2022/ndwnu-design-system.mjs +411 -413
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/index.d.ts +18 -14
- package/package.json +4 -3
- package/styles/components/_input.scss +2 -2
- package/styles/components/_summary-card.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ndwnu-design-system.mjs","sources":["../tmp-esm2022/lib/components/badge/badge.component.js","../tmp-esm2022/lib/components/form-field/autosuggest/autosuggest.directive.js","../tmp-esm2022/lib/components/icon/icon.component.js","../tmp-esm2022/lib/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.js","../tmp-esm2022/lib/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.js","../tmp-esm2022/lib/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.js","../tmp-esm2022/lib/components/form-field/checkbox/checkbox.component.js","../tmp-esm2022/lib/components/form-field/checkbox-group/checkbox-group.component.js","../tmp-esm2022/lib/components/form-field/datepicker/datepicker-functions.js","../tmp-esm2022/lib/components/form-field/datepicker/calendar/calendar.component.js","../tmp-esm2022/lib/components/popover/popover-trigger.directive.js","../tmp-esm2022/lib/components/tag/tag.component.js","../tmp-esm2022/lib/components/form-field/input/input.directive.js","../tmp-esm2022/lib/components/form-field/datepicker/datepicker.component.js","../tmp-esm2022/lib/components/form-field/error/error.component.js","../tmp-esm2022/lib/components/form-field/file-upload/mime-type-map.js","../tmp-esm2022/lib/components/form-field/file-upload/file-upload.component.js","../tmp-esm2022/lib/components/tooltip/tooltip.component.js","../tmp-esm2022/lib/components/tooltip/tooltip.directive.js","../tmp-esm2022/lib/components/form-field/input-button/input-button.component.js","../tmp-esm2022/lib/components/form-field/clear-search-button/clear-search-button.component.js","../tmp-esm2022/lib/components/form-field/form-field.constant.js","../tmp-esm2022/lib/components/form-field/form-field.model.js","../tmp-esm2022/lib/components/form-field/info/info.component.js","../tmp-esm2022/lib/components/form-field/input-icon/input-icon.component.js","../tmp-esm2022/lib/components/button/button.directive.js","../tmp-esm2022/lib/components/form-field/option-group/option.component.js","../tmp-esm2022/lib/components/form-field/option-group/option-group.component.js","../tmp-esm2022/lib/components/form-field/month-input/date-validators.js","../tmp-esm2022/lib/components/form-field/month-input/month-input-utils.js","../tmp-esm2022/lib/components/form-field/month-input/month-input.component.js","../tmp-esm2022/lib/components/form-field/picker-button/picker-button.component.js","../tmp-esm2022/lib/components/form-field/success/success.component.js","../tmp-esm2022/lib/components/form-field/form-field.component.js","../tmp-esm2022/lib/components/form-field/textarea/auto-grow.directive.js","../tmp-esm2022/lib/components/form-field/textarea/max-char.directive.js","../tmp-esm2022/lib/components/form-field/markdown-editor/markdown-editor.component.js","../tmp-esm2022/lib/components/form-field/radio-button/radio-button.component.js","../tmp-esm2022/lib/components/form-field/radio-group/radio-group.component.js","../tmp-esm2022/lib/components/pill/pill.component.js","../tmp-esm2022/lib/components/list-item/list-item.component.js","../tmp-esm2022/lib/components/collapsible/collapsible.animation.js","../tmp-esm2022/lib/components/collapsible/collapsible.component.js","../tmp-esm2022/lib/components/list/list.component.js","../tmp-esm2022/lib/components/accordion/accordion.service.js","../tmp-esm2022/lib/components/accordion/accordion.component.js","../tmp-esm2022/lib/components/alert/alert.component.js","../tmp-esm2022/lib/components/avatar/avatar.component.js","../tmp-esm2022/lib/components/banner/banner.component.js","../tmp-esm2022/lib/components/breadcrumb/breadcrumb.component.js","../tmp-esm2022/lib/components/breadcrumb-group/breadcrumb-group.component.js","../tmp-esm2022/lib/components/card/card-content/card-content.component.js","../tmp-esm2022/lib/components/card/card-footer/card-footer.component.js","../tmp-esm2022/lib/components/card/card.animation.js","../tmp-esm2022/lib/components/card/card.component.js","../tmp-esm2022/lib/components/card/card-header/card-header.component.js","../tmp-esm2022/lib/components/card/index.js","../tmp-esm2022/lib/components/dashboard-card/dashboard-card.component.js","../tmp-esm2022/lib/components/dropdown/dropdown.component.js","../tmp-esm2022/lib/components/edit-bar/edit-bar.component.js","../tmp-esm2022/lib/components/edit-bar/edit-bar-actions/edit-bar-actions.component.js","../tmp-esm2022/lib/components/edit-bar/edit-bar-message/edit-bar-message.component.js","../tmp-esm2022/lib/components/favorite/favorite.component.js","../tmp-esm2022/lib/components/hoverable-list-item/hoverable-list-item.component.js","../tmp-esm2022/lib/components/key-value-list/key-value-list.component.js","../tmp-esm2022/lib/components/main-navigation/main-navigation-header/main-navigation-header.component.js","../tmp-esm2022/lib/components/main-navigation/main-navigation-menu/main-navigation-menu.component.js","../tmp-esm2022/lib/components/main-navigation/main-navigation.component.js","../tmp-esm2022/lib/components/layout/layout.component.js","../tmp-esm2022/lib/components/layout-banners/layout-banners.component.js","../tmp-esm2022/lib/components/loader/loader.component.js","../tmp-esm2022/lib/components/map-button/map-button.model.js","../tmp-esm2022/lib/components/map-button/map-button.component.js","../tmp-esm2022/lib/components/map-display/map-display-option/map-display-option.component.js","../tmp-esm2022/lib/components/map-display/map-display.component.js","../tmp-esm2022/lib/components/map-display/backgrounds.js","../tmp-esm2022/lib/components/map-display/layers.js","../tmp-esm2022/lib/components/map-legend/map-legend-option/map-legend-option.component.js","../tmp-esm2022/lib/components/map-legend/map-legend-group/map-legend-group.component.js","../tmp-esm2022/lib/components/map-legend/map-legend.component.js","../tmp-esm2022/lib/components/modal/modal-content/modal-content.component.js","../tmp-esm2022/lib/components/modal/modal-footer/modal-footer.component.js","../tmp-esm2022/lib/components/modal/modal.service.js","../tmp-esm2022/lib/components/modal/modal-header/modal-header.component.js","../tmp-esm2022/lib/components/modal/modal.component.js","../tmp-esm2022/lib/components/modal/index.js","../tmp-esm2022/lib/components/multi-select/multi-select.component.js","../tmp-esm2022/lib/components/router-breadcrumbs/router-breadcrumbs.component.js","../tmp-esm2022/lib/components/splitter/splitter.component.js","../tmp-esm2022/lib/components/summary-card/summary-card.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-action/summary-card-action.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-actions/summary-card-actions.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-content/summary-card-content.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-header/summary-card-header.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-tags/summary-card-tags.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-tag/summary-card-tag.component.js","../tmp-esm2022/lib/components/summary-card/summary-card-subtitle/summary-card-subtitle.component.js","../tmp-esm2022/lib/components/switcher/switcher.component.js","../tmp-esm2022/lib/components/tab/tab.component.js","../tmp-esm2022/lib/components/tab-group/tab-group.component.js","../tmp-esm2022/lib/components/table/ag-grid-theme.js","../tmp-esm2022/lib/components/toast/toast.component.js","../tmp-esm2022/lib/components/toast/toast-list/toast-list.component.js","../tmp-esm2022/lib/components/toast/toast.service.js","../tmp-esm2022/ndwnu-design-system.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreBadgeComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class BadgeComponent extends CoreBadgeComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: BadgeComponent, isStandalone: true, selector: \"ndw-badge\", usesInheritance: true, ngImport: i0, template: \"@if (variant() === 'error') {\\n !\\n} @else if (value(); as value) {\\n @if (!displayLargeNumbers() && (value < -9 || value > 99)) {\\n <span class=\\\"dot\\\"></span>\\n } @else {\\n {{ value }}\\n }\\n} @else {\\n {{ value() }}\\n}\\n@if (ariaLabel()) {\\n <span class=\\\"sr-only\\\">{{ ariaLabel() }}</span>\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";:host{align-items:center;background-color:var(--badge-background-color);border:var(--badge-border);border-radius:var(--badge-min-size);box-sizing:border-box;color:var(--badge-color);display:flex;font-size:var(--badge-font-size);height:var(--badge-min-size);justify-content:center;letter-spacing:-1px;max-width:fit-content;min-width:var(--badge-min-size);padding-inline:var(--badge-padding-inline);text-align:center}.dot{display:block;background-color:var(--badge-color);border-radius:50%;height:var(--badge-dot-size);width:var(--badge-dot-size)}.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;--badge-background-color: var(--ndw-color-primary-050);--badge-border: var(--ndw-border-size-sm) solid var(--ndw-color-primary);--badge-color: var(--ndw-color-primary);--badge-dot-size: var(--ndw-spacing-2xs);--badge-min-size: 1.25rem;--badge-padding-inline: var(--ndw-spacing-2xs)}:host(.small){--badge-dot-size: var(--ndw-spacing-1xs);--badge-min-size: 1rem;--badge-padding-inline: var(--ndw-spacing-1xs)}:host(.error){--badge-background-color: var(--ndw-color-critical-500);--badge-border: none;--badge-color: var(--ndw-color-white);letter-spacing:0px}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BadgeComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-badge', template: \"@if (variant() === 'error') {\\n !\\n} @else if (value(); as value) {\\n @if (!displayLargeNumbers() && (value < -9 || value > 99)) {\\n <span class=\\\"dot\\\"></span>\\n } @else {\\n {{ value }}\\n }\\n} @else {\\n {{ value() }}\\n}\\n@if (ariaLabel()) {\\n <span class=\\\"sr-only\\\">{{ ariaLabel() }}</span>\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";:host{align-items:center;background-color:var(--badge-background-color);border:var(--badge-border);border-radius:var(--badge-min-size);box-sizing:border-box;color:var(--badge-color);display:flex;font-size:var(--badge-font-size);height:var(--badge-min-size);justify-content:center;letter-spacing:-1px;max-width:fit-content;min-width:var(--badge-min-size);padding-inline:var(--badge-padding-inline);text-align:center}.dot{display:block;background-color:var(--badge-color);border-radius:50%;height:var(--badge-dot-size);width:var(--badge-dot-size)}.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;--badge-background-color: var(--ndw-color-primary-050);--badge-border: var(--ndw-border-size-sm) solid var(--ndw-color-primary);--badge-color: var(--ndw-color-primary);--badge-dot-size: var(--ndw-spacing-2xs);--badge-min-size: 1.25rem;--badge-padding-inline: var(--ndw-spacing-2xs)}:host(.small){--badge-dot-size: var(--ndw-spacing-1xs);--badge-min-size: 1rem;--badge-padding-inline: var(--ndw-spacing-1xs)}:host(.error){--badge-background-color: var(--ndw-color-critical-500);--badge-border: none;--badge-color: var(--ndw-color-white);letter-spacing:0px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7dUdBQXpDLGNBQWM7MkZBQWQsY0FBYyw0RkNUM0IsdVRBY0E7OzJGRExhLGNBQWM7a0JBTjFCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZUJhZGdlQ29tcG9uZW50IH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmR3LWJhZGdlJyxcbiAgc3R5bGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFkZ2VDb21wb25lbnQge31cbiIsIkBpZiAodmFyaWFudCgpID09PSAnZXJyb3InKSB7XG4gICFcbn0gQGVsc2UgaWYgKHZhbHVlKCk7IGFzIHZhbHVlKSB7XG4gIEBpZiAoIWRpc3BsYXlMYXJnZU51bWJlcnMoKSAmJiAodmFsdWUgPCAtOSB8fCB2YWx1ZSA+IDk5KSkge1xuICAgIDxzcGFuIGNsYXNzPVwiZG90XCI+PC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICB7eyB2YWx1ZSB9fVxuICB9XG59IEBlbHNlIHtcbiAge3sgdmFsdWUoKSB9fVxufVxuQGlmIChhcmlhTGFiZWwoKSkge1xuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBhcmlhTGFiZWwoKSB9fTwvc3Bhbj5cbn1cbiJdfQ==","import { Directive, forwardRef, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CoreAutosuggestDirective } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class AutosuggestDirective extends CoreAutosuggestDirective {\n ndwAutosuggest = input.required(...(ngDevMode ? [{ debugName: \"ndwAutosuggest\" }] : []));\n get autosuggest() {\n return this.ndwAutosuggest();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.2.4\", type: AutosuggestDirective, isStandalone: true, selector: \"input[ndwAutosuggest], textarea[ndwAutosuggest]\", inputs: { ndwAutosuggest: { classPropertyName: \"ndwAutosuggest\", publicName: \"ndwAutosuggest\", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { \"role\": \"combobox\", \"aria-autocomplete\": \"list\", \"aria-haspopup\": \"true\", \"autocomplete\": \"off\" }, listeners: { \"blur\": \"onTouched()\", \"click\": \"handleClick()\", \"focus\": \"handleFocus()\", \"input\": \"handleInput($event)\", \"keydown\": \"handleKeydown($event)\" }, properties: { \"attr.aria-activedescendant\": \"(panelOpen && activeOption) ? activeOption.id : null\", \"attr.aria-expanded\": \"panelOpen.toString()\", \"attr.aria-owns\": \"!panelOpen ? null : ndwAutosuggest()?.id\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutosuggestDirective),\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestDirective, decorators: [{\n type: Directive,\n args: [{\n host: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n autocomplete: 'off',\n '[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',\n '[attr.aria-expanded]': 'panelOpen.toString()',\n '[attr.aria-owns]': '!panelOpen ? null : ndwAutosuggest()?.id',\n '(blur)': 'onTouched()',\n '(click)': 'handleClick()',\n '(focus)': 'handleFocus()',\n '(input)': 'handleInput($event)',\n '(keydown)': 'handleKeydown($event)',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutosuggestDirective),\n multi: true,\n },\n ],\n selector: 'input[ndwAutosuggest], textarea[ndwAutosuggest]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBNEJ2RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQW1EO0lBQzNFLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSx5REFBNkIsQ0FBQztJQUU3RSxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQixDQUFDO3VHQUxVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHV1QkFUcEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUdVLG9CQUFvQjtrQkF4QmhDLFNBQVM7bUJBQUM7b0JBQ1QsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQixlQUFlLEVBQUUsTUFBTTt3QkFDdkIsWUFBWSxFQUFFLEtBQUs7d0JBQ25CLDhCQUE4QixFQUFFLHNEQUFzRDt3QkFDdEYsc0JBQXNCLEVBQUUsc0JBQXNCO3dCQUM5QyxrQkFBa0IsRUFBRSwwQ0FBMEM7d0JBQzlELFFBQVEsRUFBRSxhQUFhO3dCQUN2QixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFNBQVMsRUFBRSxxQkFBcUI7d0JBQ2hDLFdBQVcsRUFBRSx1QkFBdUI7cUJBQ3JDO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFLGlEQUFpRDtpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVBdXRvc3VnZ2VzdERpcmVjdGl2ZSB9IGZyb20gJ0BuZHdudS9jb3JlJztcblxuaW1wb3J0IHsgQXV0b3N1Z2dlc3RQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnY29tYm9ib3gnLFxuICAgICdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0JyxcbiAgICAnYXJpYS1oYXNwb3B1cCc6ICd0cnVlJyxcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICAgICdbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdJzogJyhwYW5lbE9wZW4gJiYgYWN0aXZlT3B0aW9uKSA/IGFjdGl2ZU9wdGlvbi5pZCA6IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdwYW5lbE9wZW4udG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtb3duc10nOiAnIXBhbmVsT3BlbiA/IG51bGwgOiBuZHdBdXRvc3VnZ2VzdCgpPy5pZCcsXG4gICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgJyhjbGljayknOiAnaGFuZGxlQ2xpY2soKScsXG4gICAgJyhmb2N1cyknOiAnaGFuZGxlRm9jdXMoKScsXG4gICAgJyhpbnB1dCknOiAnaGFuZGxlSW5wdXQoJGV2ZW50KScsXG4gICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dG9zdWdnZXN0RGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnaW5wdXRbbmR3QXV0b3N1Z2dlc3RdLCB0ZXh0YXJlYVtuZHdBdXRvc3VnZ2VzdF0nLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdERpcmVjdGl2ZSBleHRlbmRzIENvcmVBdXRvc3VnZ2VzdERpcmVjdGl2ZTxBdXRvc3VnZ2VzdFBhbmVsQ29tcG9uZW50PiB7XG4gIHB1YmxpYyByZWFkb25seSBuZHdBdXRvc3VnZ2VzdCA9IGlucHV0LnJlcXVpcmVkPEF1dG9zdWdnZXN0UGFuZWxDb21wb25lbnQ+KCk7XG5cbiAgZ2V0IGF1dG9zdWdnZXN0KCkge1xuICAgIHJldHVybiB0aGlzLm5kd0F1dG9zdWdnZXN0KCk7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreIconComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class IconComponent extends CoreIconComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: IconComponent, isStandalone: true, selector: \"ndw-icon\", host: { attributes: { \"aria-hidden\": \"true\", \"translate\": \"no\" }, classAttribute: \"material-symbols-rounded notranslate\" }, usesInheritance: true, ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}:host.icon--filled{font-variation-settings:\\\"FILL\\\" 1}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: IconComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-icon', changeDetection: ChangeDetectionStrategy.OnPush, host: {\n 'aria-hidden': 'true',\n class: 'material-symbols-rounded notranslate',\n translate: 'no',\n }, template: \"<ng-content />\\n\", styles: [\":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}:host.icon--filled{font-variation-settings:\\\"FILL\\\" 1}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBYWhELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO3VHQUF2QyxhQUFhOzJGQUFiLGFBQWEsdU5DZDFCLGtCQUNBOzsyRkRhYSxhQUFhO2tCQVh6QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixhQUFhLEVBQUUsTUFBTTt3QkFDckIsS0FBSyxFQUFFLHNDQUFzQzt3QkFDN0MsU0FBUyxFQUFFLElBQUk7cUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZUljb25Db21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaWNvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuICAgIGNsYXNzOiAnbWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIG5vdHJhbnNsYXRlJyxcbiAgICB0cmFuc2xhdGU6ICdubycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgZXh0ZW5kcyBDb3JlSWNvbkNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { CoreAutosuggestOptionComponent, MatchBoldPipe } from '@ndwnu/core';\nimport { IconComponent } from '../../../icon';\nimport * as i0 from \"@angular/core\";\nexport class AutosuggestOptionComponent extends CoreAutosuggestOptionComponent {\n icon = input(...(ngDevMode ? [undefined, { debugName: \"icon\" }] : []));\n image = input(...(ngDevMode ? [undefined, { debugName: \"image\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: AutosuggestOptionComponent, isStandalone: true, selector: \"ndw-autosuggest-option\", inputs: { icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: \"image\", publicName: \"image\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"option\" }, listeners: { \"click\": \"selectViaInteraction()\", \"keydown\": \"handleKeydown($event)\" }, properties: { \"attr.aria-selected\": \"selected()\", \"class.ndw-autosuggest-option--active\": \"active()\", \"class.ndw-autosuggest-option--selected\": \"selected()\", \"id\": \"id\" }, classAttribute: \"ndw-autosuggest-option\" }, usesInheritance: true, ngImport: i0, template: \"@if (icon(); as icon) {\\n <ndw-icon>{{ icon }}</ndw-icon>\\n}\\n@if (image(); as image) {\\n <img [alt]=\\\"image.alt\\\" [src]=\\\"image.src\\\" />\\n}\\n<span class=\\\"ndw-option-text\\\" [innerHTML]=\\\"label() | matchBold: searchTerm()\\\"></span>\\n\", styles: [\":host{align-items:center;box-sizing:border-box;display:flex;gap:var(--ndw-spacing-xs);padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host img{width:var(--ndw-spacing-lg)}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"pipe\", type: MatchBoldPipe, name: \"matchBold\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-autosuggest-option', imports: [IconComponent, MatchBoldPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-autosuggest-option',\n role: 'option',\n '[attr.aria-selected]': 'selected()',\n '[class.ndw-autosuggest-option--active]': 'active()',\n '[class.ndw-autosuggest-option--selected]': 'selected()',\n '[id]': 'id',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n }, template: \"@if (icon(); as icon) {\\n <ndw-icon>{{ icon }}</ndw-icon>\\n}\\n@if (image(); as image) {\\n <img [alt]=\\\"image.alt\\\" [src]=\\\"image.src\\\" />\\n}\\n<span class=\\\"ndw-option-text\\\" [innerHTML]=\\\"label() | matchBold: searchTerm()\\\"></span>\\n\", styles: [\":host{align-items:center;box-sizing:border-box;display:flex;gap:var(--ndw-spacing-xs);padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host img{width:var(--ndw-spacing-lg)}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2F1dG9zdWdnZXN0L2F1dG9zdWdnZXN0LW9wdGlvbi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQVMsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBbUI5QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsOEJBQThCO0lBQzVFLElBQUksR0FBRyxLQUFLLDBEQUFVLENBQUM7SUFDdkIsS0FBSyxHQUFHLEtBQUssMkRBQVMsQ0FBQzt1R0FGWiwwQkFBMEI7MkZBQTFCLDBCQUEwQiwwckJDdEJ2Qyw2T0FPQSxvbUNEQVksYUFBYSxnREFBRSxhQUFhOzsyRkFlM0IsMEJBQTBCO2tCQWpCdEMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSx3QkFBd0I7d0JBQy9CLElBQUksRUFBRSxRQUFRO3dCQUNkLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHdDQUF3QyxFQUFFLFVBQVU7d0JBQ3BELDBDQUEwQyxFQUFFLFlBQVk7d0JBQ3hELE1BQU0sRUFBRSxJQUFJO3dCQUNaLFNBQVMsRUFBRSx3QkFBd0I7d0JBQ25DLFdBQVcsRUFBRSx1QkFBdUI7cUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCwgSW1hZ2UsIE1hdGNoQm9sZFBpcGUgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWF1dG9zdWdnZXN0LW9wdGlvbicsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBNYXRjaEJvbGRQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmR3LWF1dG9zdWdnZXN0LW9wdGlvbicsXG4gICAgcm9sZTogJ29wdGlvbicsXG4gICAgJ1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkKCknLFxuICAgICdbY2xhc3MubmR3LWF1dG9zdWdnZXN0LW9wdGlvbi0tYWN0aXZlXSc6ICdhY3RpdmUoKScsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQoKScsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgICcoY2xpY2spJzogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCknLFxuICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgZXh0ZW5kcyBDb3JlQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQge1xuICBpY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuICBpbWFnZSA9IGlucHV0PEltYWdlPigpO1xufVxuIiwiQGlmIChpY29uKCk7IGFzIGljb24pIHtcbiAgPG5kdy1pY29uPnt7IGljb24gfX08L25kdy1pY29uPlxufVxuQGlmIChpbWFnZSgpOyBhcyBpbWFnZSkge1xuICA8aW1nIFthbHRdPVwiaW1hZ2UuYWx0XCIgW3NyY109XCJpbWFnZS5zcmNcIiAvPlxufVxuPHNwYW4gY2xhc3M9XCJuZHctb3B0aW9uLXRleHRcIiBbaW5uZXJIVE1MXT1cImxhYmVsKCkgfCBtYXRjaEJvbGQ6IHNlYXJjaFRlcm0oKVwiPjwvc3Bhbj5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IconComponent } from '../../../icon';\nimport { CoreAutosuggestAddOptionComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class AutosuggestAddOptionComponent extends CoreAutosuggestAddOptionComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestAddOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: AutosuggestAddOptionComponent, isStandalone: true, selector: \"ndw-autosuggest-add-option\", host: { attributes: { \"role\": \"option\" }, listeners: { \"click\": \"selectViaInteraction()\", \"keydown\": \"handleKeydown($event)\" }, properties: { \"attr.aria-selected\": \"selected()\", \"class.ndw-autosuggest-option--active\": \"active()\", \"class.ndw-autosuggest-option--selected\": \"selected()\" }, classAttribute: \"ndw-autosuggest-option ndw-autosuggest-option--add\" }, usesInheritance: true, ngImport: i0, template: \"<ndw-icon [size]=\\\"'sm'\\\">add</ndw-icon> Voeg <span class=\\\"truncate\\\">'{{ value().label }}'</span> toe\\n\", styles: [\":host{align-items:center;box-sizing:border-box;display:flex;gap:var(--ndw-spacing-xs);padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host img{width:var(--ndw-spacing-lg)}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestAddOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-autosuggest-add-option', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], host: {\n class: 'ndw-autosuggest-option ndw-autosuggest-option--add',\n role: 'option',\n '[attr.aria-selected]': 'selected()',\n '[class.ndw-autosuggest-option--active]': 'active()',\n '[class.ndw-autosuggest-option--selected]': 'selected()',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n }, template: \"<ndw-icon [size]=\\\"'sm'\\\">add</ndw-icon> Voeg <span class=\\\"truncate\\\">'{{ value().label }}'</span> toe\\n\", styles: [\":host{align-items:center;box-sizing:border-box;display:flex;gap:var(--ndw-spacing-xs);padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host img{width:var(--ndw-spacing-lg)}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9hdXRvc3VnZ2VzdC9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbi9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBa0JoRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsaUNBQWlDO3VHQUF2RSw2QkFBNkI7MkZBQTdCLDZCQUE2QixxZENwQjFDLDJHQUNBLG9tQ0RNWSxhQUFhOzsyRkFhWiw2QkFBNkI7a0JBaEJ6QyxTQUFTOytCQUNFLDRCQUE0QixtQkFDckIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsQ0FBQyxRQUdsQjt3QkFDSixLQUFLLEVBQUUsb0RBQW9EO3dCQUMzRCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyx3Q0FBd0MsRUFBRSxVQUFVO3dCQUNwRCwwQ0FBMEMsRUFBRSxZQUFZO3dCQUN4RCxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uJztcbmltcG9ydCB7IENvcmVBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BuZHdudS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWF1dG9zdWdnZXN0LWFkZC1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi4vYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ25kdy1hdXRvc3VnZ2VzdC1vcHRpb24gbmR3LWF1dG9zdWdnZXN0LW9wdGlvbi0tYWRkJyxcbiAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQoKScsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1hY3RpdmVdJzogJ2FjdGl2ZSgpJyxcbiAgICAnW2NsYXNzLm5kdy1hdXRvc3VnZ2VzdC1vcHRpb24tLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCgpJyxcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3RWaWFJbnRlcmFjdGlvbigpJyxcbiAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50IGV4dGVuZHMgQ29yZUF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50IHt9XG4iLCI8bmR3LWljb24gW3NpemVdPVwiJ3NtJ1wiPmFkZDwvbmR3LWljb24+IFZvZWcgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZVwiPid7eyB2YWx1ZSgpLmxhYmVsIH19Jzwvc3Bhbj4gdG9lXG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreAutosuggestPanelComponent } from '@ndwnu/core';\nimport { IconComponent } from '../../../icon';\nimport { AutosuggestAddOptionComponent } from '../autosuggest-add-option';\nimport { AutosuggestOptionComponent } from '../autosuggest-option';\nimport * as i0 from \"@angular/core\";\nexport class AutosuggestPanelComponent extends CoreAutosuggestPanelComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: AutosuggestPanelComponent, isStandalone: true, selector: \"ndw-autosuggest\", usesInheritance: true, ngImport: i0, template: \"<ng-template>\\n @if (suggestions().length === 0 && !enableAddOption()) {\\n <div class=\\\"ndw-autosuggest-panel\\\">\\n <ng-container *ngTemplateOutlet=\\\"emptyResults\\\"></ng-container>\\n </div>\\n } @else {\\n <datalist #panel class=\\\"ndw-autosuggest-panel\\\">\\n @for (option of slicedOptions(); track option) {\\n <ndw-autosuggest-option\\n #option\\n [icon]=\\\"option.icon\\\"\\n [image]=\\\"option.image\\\"\\n [label]=\\\"option.label\\\"\\n [value]=\\\"option\\\"\\n [searchTerm]=\\\"searchTerm()\\\"\\n />\\n }\\n @if (enableAddOption()) {\\n @if (!!searchTerm().trim()) {\\n <ndw-autosuggest-add-option\\n #option\\n [value]=\\\"createNewOption(searchTerm())\\\"\\n (addOption)=\\\"addNewOption($event)\\\"\\n />\\n } @else if (!suggestions().length) {\\n <ng-container *ngTemplateOutlet=\\\"emptyResults\\\"></ng-container>\\n }\\n }\\n @if (hasMoreResults()) {\\n <p class=\\\"ndw-autosuggest-panel__more-results\\\">\\n {{ hiddenResultsText() }}\\n </p>\\n }\\n </datalist>\\n }\\n</ng-template>\\n\\n<ng-template #emptyResults>\\n <div class=\\\"ndw-autosuggest-panel__empty\\\">\\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\\n {{ noResultText() }}\\n </div>\\n</ng-template>\\n\", styles: [\".ndw-autosuggest-panel{--dropdown-line-height: 26px;--dropdown-max-line-items: 7;--dropdown-max-height: calc(var(--dropdown-line-height) * var(--dropdown-max-line-items));display:block;overflow:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:var(--dropdown-max-height);width:100%;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);padding:0;margin-top:2px;background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-popover)}.ndw-autosuggest-panel>ndw-autosuggest-option:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}.ndw-autosuggest-panel__more-results{font-size:var(--ndw-font-size-sm);color:var(--ndw-color-grey-400);padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);text-align:center}.ndw-autosuggest-panel__empty{display:grid;justify-items:center;margin:auto;padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);gap:var(--ndw-spacing-xs);max-width:300px;box-sizing:border-box;font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}\\n\"], dependencies: [{ kind: \"component\", type: AutosuggestAddOptionComponent, selector: \"ndw-autosuggest-add-option\" }, { kind: \"component\", type: AutosuggestOptionComponent, selector: \"ndw-autosuggest-option\", inputs: [\"icon\", \"image\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutosuggestPanelComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n AutosuggestAddOptionComponent,\n AutosuggestOptionComponent,\n IconComponent,\n NgTemplateOutlet,\n ], selector: 'ndw-autosuggest', template: \"<ng-template>\\n @if (suggestions().length === 0 && !enableAddOption()) {\\n <div class=\\\"ndw-autosuggest-panel\\\">\\n <ng-container *ngTemplateOutlet=\\\"emptyResults\\\"></ng-container>\\n </div>\\n } @else {\\n <datalist #panel class=\\\"ndw-autosuggest-panel\\\">\\n @for (option of slicedOptions(); track option) {\\n <ndw-autosuggest-option\\n #option\\n [icon]=\\\"option.icon\\\"\\n [image]=\\\"option.image\\\"\\n [label]=\\\"option.label\\\"\\n [value]=\\\"option\\\"\\n [searchTerm]=\\\"searchTerm()\\\"\\n />\\n }\\n @if (enableAddOption()) {\\n @if (!!searchTerm().trim()) {\\n <ndw-autosuggest-add-option\\n #option\\n [value]=\\\"createNewOption(searchTerm())\\\"\\n (addOption)=\\\"addNewOption($event)\\\"\\n />\\n } @else if (!suggestions().length) {\\n <ng-container *ngTemplateOutlet=\\\"emptyResults\\\"></ng-container>\\n }\\n }\\n @if (hasMoreResults()) {\\n <p class=\\\"ndw-autosuggest-panel__more-results\\\">\\n {{ hiddenResultsText() }}\\n </p>\\n }\\n </datalist>\\n }\\n</ng-template>\\n\\n<ng-template #emptyResults>\\n <div class=\\\"ndw-autosuggest-panel__empty\\\">\\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\\n {{ noResultText() }}\\n </div>\\n</ng-template>\\n\", styles: [\".ndw-autosuggest-panel{--dropdown-line-height: 26px;--dropdown-max-line-items: 7;--dropdown-max-height: calc(var(--dropdown-line-height) * var(--dropdown-max-line-items));display:block;overflow:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:var(--dropdown-max-height);width:100%;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);padding:0;margin-top:2px;background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-popover)}.ndw-autosuggest-panel>ndw-autosuggest-option:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}.ndw-autosuggest-panel__more-results{font-size:var(--ndw-font-size-sm);color:var(--ndw-color-grey-400);padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);text-align:center}.ndw-autosuggest-panel__empty{display:grid;justify-items:center;margin:auto;padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);gap:var(--ndw-spacing-xs);max-width:300px;box-sizing:border-box;font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFjbkUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDZCQUE2Qjt1R0FBL0QseUJBQXlCOzJGQUF6Qix5QkFBeUIsa0dDcEJ0Qyw0ekNBMkNBLDRsQ0RoQ0ksNkJBQTZCLHVFQUM3QiwwQkFBMEIsOEZBQzFCLGFBQWEscURBQ2IsZ0JBQWdCOzsyRkFNUCx5QkFBeUI7a0JBWnJDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCLFlBQ1MsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlQXV0b3N1Z2dlc3RQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BuZHdudS9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgQXV0b3N1Z2dlc3RBZGRPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uJztcbmltcG9ydCB7IEF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b3N1Z2dlc3Qtb3B0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQXV0b3N1Z2dlc3RBZGRPcHRpb25Db21wb25lbnQsXG4gICAgQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1hdXRvc3VnZ2VzdCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRvc3VnZ2VzdC1wYW5lbC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvc3VnZ2VzdC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9zdWdnZXN0UGFuZWxDb21wb25lbnQgZXh0ZW5kcyBDb3JlQXV0b3N1Z2dlc3RQYW5lbENvbXBvbmVudCB7fVxuIiwiPG5nLXRlbXBsYXRlPlxuICBAaWYgKHN1Z2dlc3Rpb25zKCkubGVuZ3RoID09PSAwICYmICFlbmFibGVBZGRPcHRpb24oKSkge1xuICAgIDxkaXYgY2xhc3M9XCJuZHctYXV0b3N1Z2dlc3QtcGFuZWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRhdGFsaXN0ICNwYW5lbCBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbFwiPlxuICAgICAgQGZvciAob3B0aW9uIG9mIHNsaWNlZE9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgIDxuZHctYXV0b3N1Z2dlc3Qtb3B0aW9uXG4gICAgICAgICAgI29wdGlvblxuICAgICAgICAgIFtpY29uXT1cIm9wdGlvbi5pY29uXCJcbiAgICAgICAgICBbaW1hZ2VdPVwib3B0aW9uLmltYWdlXCJcbiAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hUZXJtKClcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgQGlmIChlbmFibGVBZGRPcHRpb24oKSkge1xuICAgICAgICBAaWYgKCEhc2VhcmNoVGVybSgpLnRyaW0oKSkge1xuICAgICAgICAgIDxuZHctYXV0b3N1Z2dlc3QtYWRkLW9wdGlvblxuICAgICAgICAgICAgI29wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cImNyZWF0ZU5ld09wdGlvbihzZWFyY2hUZXJtKCkpXCJcbiAgICAgICAgICAgIChhZGRPcHRpb24pPVwiYWRkTmV3T3B0aW9uKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKCFzdWdnZXN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmIChoYXNNb3JlUmVzdWx0cygpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwibmR3LWF1dG9zdWdnZXN0LXBhbmVsX19tb3JlLXJlc3VsdHNcIj5cbiAgICAgICAgICB7eyBoaWRkZW5SZXN1bHRzVGV4dCgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICA8L2RhdGFsaXN0PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0cz5cbiAgPGRpdiBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbF9fZW1wdHlcIj5cbiAgICA8bmR3LWljb24+c2VudGltZW50X2Rpc3NhdGlzZmllZDwvbmR3LWljb24+XG4gICAge3sgbm9SZXN1bHRUZXh0KCkgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CoreCheckboxComponent } from '@ndwnu/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class CheckboxComponent extends CoreCheckboxComponent {\n switch = input(false, ...(ngDevMode ? [{ debugName: \"switch\" }] : []));\n success = input(false, ...(ngDevMode ? [{ debugName: \"success\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: CheckboxComponent, isStandalone: true, selector: \"ndw-checkbox\", inputs: { switch: { classPropertyName: \"switch\", publicName: \"switch\", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: \"success\", publicName: \"success\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.checked\": \"checked()\", \"class.disabled\": \"disabled()\", \"class.indeterminate\": \"indeterminate()\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<input\\n type=\\\"checkbox\\\"\\n class=\\\"sr-only\\\"\\n [id]=\\\"'checkbox-' + uuid\\\"\\n [checked]=\\\"checked()\\\"\\n [attr.aria-checked]=\\\"indeterminate() ? 'mixed' : checked()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [required]=\\\"required()\\\"\\n [indeterminate]=\\\"indeterminate()\\\"\\n (change)=\\\"onInputChange($event)\\\"\\n/>\\n<label [for]=\\\"'checkbox-' + uuid\\\" [ngClass]=\\\"{ 'switch-text': switch() }\\\">\\n <div\\n aria-hidden=\\\"true\\\"\\n [ngClass]=\\\"{ error: error(), success: success(), checkbox: !switch(), switch: switch() }\\\"\\n >\\n @if (!switch()) {\\n @if (checked()) {\\n <ndw-icon>check</ndw-icon>\\n } @else if (indeterminate()) {\\n <ndw-icon>remove</ndw-icon>\\n }\\n } @else {\\n <span class=\\\"switch-icon\\\">\\n @if (checked()) {\\n <ndw-icon>check</ndw-icon>\\n } @else {\\n <ndw-icon>close</ndw-icon>\\n }\\n </span>\\n }\\n </div>\\n <span id=\\\"checkbox-label-{{ uuid }}\\\">\\n <ng-content />\\n </span>\\n</label>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--checkable-input-size: 1.25rem;cursor:pointer;min-height:1.375rem;width:fit-content}div{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;color:var(--ndw-color-white);display:flex;height:var(--checkable-input-size);position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out;width:var(--checkable-input-size);flex-shrink:0}div.success{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}div.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);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;gap:var(--ndw-spacing-xs);line-height:var(--ndw-line-height-sm);width:fit-content;word-break:break-word}:host(.checked) div,:host(.indeterminate) div{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) div.success,:host(.indeterminate) div.success{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.error,:host(.indeterminate) div.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:focus-within) div{box-shadow:var(--ndw-elevation-info)}:host(:active) div,:host(:focus-within) div,:host(:not(.checked):active) div,:host(:not(.indeterminate):active) div{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus-within) div,:host(.indeterminate:focus-within) div{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) div{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) div{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\\n\", \"div{border-radius:var(--ndw-border-radius-sm)}div.checkbox ndw-icon{font-size:1.25rem;inset:calc(var(--ndw-border-size-sm) * -1);position:absolute}div.switch{width:2.75rem;height:var(--ndw-spacing-lg);border-radius:calc(var(--ndw-spacing-lg) / 2);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-border-size-lg)}div.switch .switch-icon{background-color:var(--ndw-color-grey-400);border-radius:50%;width:var(--ndw-spacing-md);height:var(--ndw-spacing-md);display:flex;align-items:center;justify-content:center;animation:translateToLeft var(--ndw-animation-speed-fast) ease-out forwards}div.switch .switch-icon ndw-icon{color:var(--ndw-color-white);font-size:var(--ndw-spacing-sm)}div.switch.error{background-color:var(--ndw-color-white)}label.switch-text{margin-top:var(--ndw-spacing-2xs)}:host(.checked) div.switch,:host(.indeterminate) div.switch{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.switch .switch-icon,:host(.indeterminate) div.switch .switch-icon{background-color:var(--ndw-color-white);animation:translateToRight var(--ndw-animation-speed-fast) ease-out forwards}:host(.checked) div.switch .switch-icon ndw-icon,:host(.indeterminate) div.switch .switch-icon ndw-icon{color:var(--ndw-color-positive-500)}:host(.checked) div.switch.error,:host(.indeterminate) div.switch.error{background-color:var(--ndw-color-positive-500)}:host(:hover) div{background-color:var(--ndw-color-white)}:host(:hover) div.checkbox{border-color:var(--ndw-color-primary-500)}:host(:hover) div.switch{border-color:var(--ndw-color-grey-500)}:host(:hover) div.switch ndw-icon{color:var(--ndw-color-white)}:host(.checked:hover) div.checkbox,:host(.indeterminate:hover) div.checkbox{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(.checked:hover) div.switch,:host(.indeterminate:hover) div.switch{background-color:var(--ndw-color-positive-600);border-color:var(--ndw-color-positive-600)}:host(.checked:hover) div.switch ndw-icon,:host(.indeterminate:hover) div.switch ndw-icon{color:var(--ndw-color-positive-600)}:host(:focus-within) div.switch{border-color:var(--ndw-color-secondary-500)}:host(.disabled) div.switch{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300)}:host(.disabled) div.switch .switch-icon{background-color:var(--ndw-color-grey-200)}:host(.checked.disabled) div.switch,:host(.indeterminate.disabled) div.switch{background-color:var(--ndw-color-grey-400);border-color:var(--ndw-color-grey-400)}:host(.checked.disabled) div.switch .switch-icon,:host(.indeterminate.disabled) div.switch .switch-icon{background-color:var(--ndw-color-white)}:host(.checked.disabled) div.switch .switch-icon ndw-icon,:host(.indeterminate.disabled) div.switch .switch-icon ndw-icon{background-color:var(--ndw-color-white);color:var(--ndw-color-grey-400)}@keyframes translateToRight{0%{transform:translate(0);background-color:var(--ndw-color-grey-300)}to{transform:translate(20px);background-color:var(--ndw-color-white)}}@keyframes translateToLeft{0%{transform:translate(20px);background-color:var(--ndw-color-white)}to{transform:translate(0);background-color:var(--ndw-color-grey-300)}}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CheckboxComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.checked]': 'checked()',\n '[class.disabled]': 'disabled()',\n '[class.indeterminate]': 'indeterminate()',\n }, imports: [IconComponent, NgClass], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ], selector: 'ndw-checkbox', template: \"<input\\n type=\\\"checkbox\\\"\\n class=\\\"sr-only\\\"\\n [id]=\\\"'checkbox-' + uuid\\\"\\n [checked]=\\\"checked()\\\"\\n [attr.aria-checked]=\\\"indeterminate() ? 'mixed' : checked()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [required]=\\\"required()\\\"\\n [indeterminate]=\\\"indeterminate()\\\"\\n (change)=\\\"onInputChange($event)\\\"\\n/>\\n<label [for]=\\\"'checkbox-' + uuid\\\" [ngClass]=\\\"{ 'switch-text': switch() }\\\">\\n <div\\n aria-hidden=\\\"true\\\"\\n [ngClass]=\\\"{ error: error(), success: success(), checkbox: !switch(), switch: switch() }\\\"\\n >\\n @if (!switch()) {\\n @if (checked()) {\\n <ndw-icon>check</ndw-icon>\\n } @else if (indeterminate()) {\\n <ndw-icon>remove</ndw-icon>\\n }\\n } @else {\\n <span class=\\\"switch-icon\\\">\\n @if (checked()) {\\n <ndw-icon>check</ndw-icon>\\n } @else {\\n <ndw-icon>close</ndw-icon>\\n }\\n </span>\\n }\\n </div>\\n <span id=\\\"checkbox-label-{{ uuid }}\\\">\\n <ng-content />\\n </span>\\n</label>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--checkable-input-size: 1.25rem;cursor:pointer;min-height:1.375rem;width:fit-content}div{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;color:var(--ndw-color-white);display:flex;height:var(--checkable-input-size);position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out;width:var(--checkable-input-size);flex-shrink:0}div.success{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}div.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);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;gap:var(--ndw-spacing-xs);line-height:var(--ndw-line-height-sm);width:fit-content;word-break:break-word}:host(.checked) div,:host(.indeterminate) div{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) div.success,:host(.indeterminate) div.success{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.error,:host(.indeterminate) div.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:focus-within) div{box-shadow:var(--ndw-elevation-info)}:host(:active) div,:host(:focus-within) div,:host(:not(.checked):active) div,:host(:not(.indeterminate):active) div{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus-within) div,:host(.indeterminate:focus-within) div{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) div{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) div{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\\n\", \"div{border-radius:var(--ndw-border-radius-sm)}div.checkbox ndw-icon{font-size:1.25rem;inset:calc(var(--ndw-border-size-sm) * -1);position:absolute}div.switch{width:2.75rem;height:var(--ndw-spacing-lg);border-radius:calc(var(--ndw-spacing-lg) / 2);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-border-size-lg)}div.switch .switch-icon{background-color:var(--ndw-color-grey-400);border-radius:50%;width:var(--ndw-spacing-md);height:var(--ndw-spacing-md);display:flex;align-items:center;justify-content:center;animation:translateToLeft var(--ndw-animation-speed-fast) ease-out forwards}div.switch .switch-icon ndw-icon{color:var(--ndw-color-white);font-size:var(--ndw-spacing-sm)}div.switch.error{background-color:var(--ndw-color-white)}label.switch-text{margin-top:var(--ndw-spacing-2xs)}:host(.checked) div.switch,:host(.indeterminate) div.switch{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.switch .switch-icon,:host(.indeterminate) div.switch .switch-icon{background-color:var(--ndw-color-white);animation:translateToRight var(--ndw-animation-speed-fast) ease-out forwards}:host(.checked) div.switch .switch-icon ndw-icon,:host(.indeterminate) div.switch .switch-icon ndw-icon{color:var(--ndw-color-positive-500)}:host(.checked) div.switch.error,:host(.indeterminate) div.switch.error{background-color:var(--ndw-color-positive-500)}:host(:hover) div{background-color:var(--ndw-color-white)}:host(:hover) div.checkbox{border-color:var(--ndw-color-primary-500)}:host(:hover) div.switch{border-color:var(--ndw-color-grey-500)}:host(:hover) div.switch ndw-icon{color:var(--ndw-color-white)}:host(.checked:hover) div.checkbox,:host(.indeterminate:hover) div.checkbox{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(.checked:hover) div.switch,:host(.indeterminate:hover) div.switch{background-color:var(--ndw-color-positive-600);border-color:var(--ndw-color-positive-600)}:host(.checked:hover) div.switch ndw-icon,:host(.indeterminate:hover) div.switch ndw-icon{color:var(--ndw-color-positive-600)}:host(:focus-within) div.switch{border-color:var(--ndw-color-secondary-500)}:host(.disabled) div.switch{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300)}:host(.disabled) div.switch .switch-icon{background-color:var(--ndw-color-grey-200)}:host(.checked.disabled) div.switch,:host(.indeterminate.disabled) div.switch{background-color:var(--ndw-color-grey-400);border-color:var(--ndw-color-grey-400)}:host(.checked.disabled) div.switch .switch-icon,:host(.indeterminate.disabled) div.switch .switch-icon{background-color:var(--ndw-color-white)}:host(.checked.disabled) div.switch .switch-icon ndw-icon,:host(.indeterminate.disabled) div.switch .switch-icon ndw-icon{background-color:var(--ndw-color-white);color:var(--ndw-color-grey-400)}@keyframes translateToRight{0%{transform:translate(0);background-color:var(--ndw-color-grey-300)}to{transform:translate(20px);background-color:var(--ndw-color-white)}}@keyframes translateToLeft{0%{transform:translate(20px);background-color:var(--ndw-color-white)}to{transform:translate(0);background-color:var(--ndw-color-grey-300)}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFxQjNDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFDbkQsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLGtEQUFDLENBQUM7SUFDdEIsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLG1EQUFDLENBQUM7dUdBRm5CLGlCQUFpQjsyRkFBakIsaUJBQWlCLGtjQVhqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENyQkgscytCQW9DQSxnc09EdEJZLGFBQWEscURBQUUsT0FBTzs7MkZBWXJCLGlCQUFpQjtrQkFuQjdCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixpQkFBaUIsRUFBRSxXQUFXO3dCQUM5QixrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyx1QkFBdUIsRUFBRSxpQkFBaUI7cUJBQzNDLFdBQ1EsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQ3RCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixZQUNTLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jaGVja2VkXSc6ICdjaGVja2VkKCknLFxuICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbY2xhc3MuaW5kZXRlcm1pbmF0ZV0nOiAnaW5kZXRlcm1pbmF0ZSgpJyxcbiAgfSxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnQsIE5nQ2xhc3NdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBDaGVja2JveENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnbmR3LWNoZWNrYm94JyxcbiAgc3R5bGVVcmxzOiBbJy4uL2NoZWNrYWJsZS1pbnB1dC5zY3NzJywgJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBDb3JlQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBzd2l0Y2ggPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBzdWNjZXNzID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGlucHV0XG4gIHR5cGU9XCJjaGVja2JveFwiXG4gIGNsYXNzPVwic3Itb25seVwiXG4gIFtpZF09XCInY2hlY2tib3gtJyArIHV1aWRcIlxuICBbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaW5kZXRlcm1pbmF0ZSgpID8gJ21peGVkJyA6IGNoZWNrZWQoKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKClcIlxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4vPlxuPGxhYmVsIFtmb3JdPVwiJ2NoZWNrYm94LScgKyB1dWlkXCIgW25nQ2xhc3NdPVwieyAnc3dpdGNoLXRleHQnOiBzd2l0Y2goKSB9XCI+XG4gIDxkaXZcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCksIHN1Y2Nlc3M6IHN1Y2Nlc3MoKSwgY2hlY2tib3g6ICFzd2l0Y2goKSwgc3dpdGNoOiBzd2l0Y2goKSB9XCJcbiAgPlxuICAgIEBpZiAoIXN3aXRjaCgpKSB7XG4gICAgICBAaWYgKGNoZWNrZWQoKSkge1xuICAgICAgICA8bmR3LWljb24+Y2hlY2s8L25kdy1pY29uPlxuICAgICAgfSBAZWxzZSBpZiAoaW5kZXRlcm1pbmF0ZSgpKSB7XG4gICAgICAgIDxuZHctaWNvbj5yZW1vdmU8L25kdy1pY29uPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgPHNwYW4gY2xhc3M9XCJzd2l0Y2gtaWNvblwiPlxuICAgICAgICBAaWYgKGNoZWNrZWQoKSkge1xuICAgICAgICAgIDxuZHctaWNvbj5jaGVjazwvbmR3LWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvZGl2PlxuICA8c3BhbiBpZD1cImNoZWNrYm94LWxhYmVsLXt7IHV1aWQgfX1cIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L3NwYW4+XG48L2xhYmVsPlxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreCheckboxGroupComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class CheckboxGroupComponent extends CoreCheckboxGroupComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CheckboxGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: CheckboxGroupComponent, isStandalone: true, selector: \"ndw-checkbox-group\", usesInheritance: true, ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{display:grid;gap:var(--checkbox-group-gap)}:host{--checkbox-group-gap: var(--ndw-spacing-2xs)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CheckboxGroupComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-checkbox-group', template: \"<ng-content />\\n\", styles: [\":host{display:grid;gap:var(--checkbox-group-gap)}:host{--checkbox-group-gap: var(--ndw-spacing-2xs)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBUXpELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwwQkFBMEI7dUdBQXpELHNCQUFzQjsyRkFBdEIsc0JBQXNCLHFHQ1RuQyxrQkFDQTs7MkZEUWEsc0JBQXNCO2tCQU5sQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZUNoZWNrYm94R3JvdXBDb21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctY2hlY2tib3gtZ3JvdXAnLFxuICBzdHlsZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQ29yZUNoZWNrYm94R3JvdXBDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { MatDatepickerIntl, } from '@angular/material/datepicker';\nexport function createDutchDatepickerIntl() {\n const intl = new MatDatepickerIntl();\n intl.calendarLabel = 'Kalender';\n intl.openCalendarLabel = 'Open kalender';\n intl.closeCalendarLabel = 'Sluit kalender';\n intl.comparisonDateLabel = 'Vergelijkingsdatum';\n intl.prevMonthLabel = 'Vorige maand';\n intl.nextMonthLabel = 'Volgende maand';\n intl.nextMultiYearLabel = 'Volgende jaren';\n intl.prevMultiYearLabel = 'Vorige jaren';\n intl.prevYearLabel = 'Vorig jaar';\n intl.nextYearLabel = 'Volgend jaar';\n intl.switchToMonthViewLabel = 'Schakel naar maandweergave';\n intl.switchToMultiYearViewLabel = 'Schakel naar jaartallenweergave';\n return intl;\n}\nfunction datesAreSameYear(d1, d2) {\n return d1.getFullYear() === d2.getFullYear();\n}\nfunction datesAreSameMonth(d1, d2) {\n return datesAreSameYear(d1, d2) && d1.getMonth() === d2.getMonth();\n}\nfunction datesAreSameDay(d1, d2) {\n return datesAreSameMonth(d1, d2) && d1.getDate() === d2.getDate();\n}\nexport function toDateArray(value) {\n return [value].flat().filter((v) => v != null);\n}\nexport function toggleDates(current, toToggle) {\n const toggled = [...current];\n toToggle.forEach((date) => {\n const index = toggled.findIndex((d) => areDatesEqual(d, date));\n if (index > -1) {\n toggled.splice(index, 1);\n }\n else {\n toggled.push(date);\n }\n });\n return toggled;\n}\nexport function getUniqueDates(dates) {\n return dates.filter((date, index) => dates.findIndex((d) => areDatesEqual(d, date)) === index);\n}\nexport function compareDates(a, b) {\n return a.getTime() - b.getTime();\n}\nexport function isDateBefore(a, b) {\n return compareDates(a, b) < 0;\n}\nexport function isDateAfter(a, b) {\n return compareDates(a, b) > 0;\n}\nexport function areDatesEqual(a, b) {\n return compareDates(a, b) === 0;\n}\nexport function areDatesEqualInView(a, b, view) {\n switch (view) {\n case 'month':\n return datesAreSameDay(a, b);\n case 'year':\n return datesAreSameMonth(a, b);\n case 'multi-year':\n return datesAreSameYear(a, b);\n default:\n return false;\n }\n}\nexport function datesToInputValue(dates, mode) {\n if (dates.length === 0) {\n return '';\n }\n switch (mode) {\n case 'month':\n return formatMonth(dates[0]);\n case 'single':\n return formatDate(dates[0]);\n case 'multiple':\n return dates.sort(compareDates).map(formatDate).join(', ');\n case 'range':\n return dates.slice(0, 2).map(formatDate).join(' - ');\n default:\n return '';\n }\n}\nfunction formatDate(date) {\n return new Intl.DateTimeFormat('nl-NL').format(date);\n}\nfunction formatMonth(date) {\n return new Intl.DateTimeFormat('nl-NL', { year: 'numeric', month: 'numeric' }).format(date);\n}\nexport function inputValueToDates(input, mode) {\n const parts = input.split(/[-,]/).map((part) => parseInt(part.trim(), 10));\n const parsed = [];\n if (mode === 'month' && parts.length === 2) {\n const [month, year] = parts;\n parsed.push(createDate(year, month - 1, 1));\n }\n else if (mode === 'single' && parts.length === 3) {\n const [day, month, year] = parts;\n parsed.push(createDate(year, month - 1, day));\n }\n else if (mode === 'multiple' && parts.length % 3 === 0) {\n for (let i = 0; i < parts.length; i += 3) {\n const [day, month, year] = parts.slice(i, i + 3);\n parsed.push(createDate(year, month - 1, day));\n }\n }\n else if (mode === 'range' && parts.length === 6) {\n const [day1, month1, year1, day2, month2, year2] = parts;\n parsed.push(createDate(year1, month1 - 1, day1));\n parsed.push(createDate(year2, month2 - 1, day2));\n }\n return parsed.filter((date) => date != null);\n}\nexport function createDate(year, month, day) {\n const minValidYear = 1000;\n if (isNaN(year) ||\n isNaN(month) ||\n isNaN(day) ||\n year < minValidYear ||\n month < 0 ||\n month > 11 ||\n day < 1 ||\n day > 31) {\n return null;\n }\n const date = new Date(year, month, day);\n return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day\n ? date\n : null;\n}\nexport function datesToOutputValue(dates, mode) {\n const array = toDateArray(dates);\n switch (mode) {\n case 'single':\n case 'month':\n return array[0] ?? null;\n case 'multiple':\n return array;\n case 'range':\n return array.slice(0, 2);\n }\n}\nexport function getDateClassFn(dateWithIndicatorFn, mode, selectedDates) {\n return (cellDate, view) => {\n const classNames = ['ndw-date'];\n if (dateWithIndicatorFn(cellDate)) {\n classNames.push('ndw-date-indicator');\n }\n if (selectedDates.some((selectedDate) => areDatesEqualInView(cellDate, selectedDate, view))) {\n classNames.push('ndw-date-selected');\n }\n if (mode === 'range' && selectedDates.length === 2) {\n if (isDateBefore(selectedDates[0], cellDate) && isDateAfter(selectedDates[1], cellDate)) {\n classNames.push('ndw-date-in-range');\n }\n if (areDatesEqual(selectedDates[0], cellDate)) {\n classNames.push('ndw-date-range-start');\n }\n if (areDatesEqual(selectedDates[1], cellDate)) {\n classNames.push('ndw-date-range-end');\n }\n }\n return classNames;\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9kYXRlcGlja2VyL2RhdGVwaWNrZXItZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUd0QyxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQztJQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUM7SUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztJQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztJQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztJQUNwQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFDM0QsSUFBSSxDQUFDLDBCQUEwQixHQUFHLGlDQUFpQyxDQUFDO0lBQ3BFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsRUFBUSxFQUFFLEVBQVE7SUFDMUMsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQy9D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QztRQUN2QyxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDeEYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24sXG4gIE1hdENhbGVuZGFyVmlldyxcbiAgTWF0RGF0ZXBpY2tlckludGwsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZGUgfSBmcm9tICcuL2RhdGVwaWNrZXIubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRHV0Y2hEYXRlcGlja2VySW50bCgpIHtcbiAgY29uc3QgaW50bCA9IG5ldyBNYXREYXRlcGlja2VySW50bCgpO1xuICBpbnRsLmNhbGVuZGFyTGFiZWwgPSAnS2FsZW5kZXInO1xuICBpbnRsLm9wZW5DYWxlbmRhckxhYmVsID0gJ09wZW4ga2FsZW5kZXInO1xuICBpbnRsLmNsb3NlQ2FsZW5kYXJMYWJlbCA9ICdTbHVpdCBrYWxlbmRlcic7XG4gIGludGwuY29tcGFyaXNvbkRhdGVMYWJlbCA9ICdWZXJnZWxpamtpbmdzZGF0dW0nO1xuICBpbnRsLnByZXZNb250aExhYmVsID0gJ1ZvcmlnZSBtYWFuZCc7XG4gIGludGwubmV4dE1vbnRoTGFiZWwgPSAnVm9sZ2VuZGUgbWFhbmQnO1xuICBpbnRsLm5leHRNdWx0aVllYXJMYWJlbCA9ICdWb2xnZW5kZSBqYXJlbic7XG4gIGludGwucHJldk11bHRpWWVhckxhYmVsID0gJ1ZvcmlnZSBqYXJlbic7XG4gIGludGwucHJldlllYXJMYWJlbCA9ICdWb3JpZyBqYWFyJztcbiAgaW50bC5uZXh0WWVhckxhYmVsID0gJ1ZvbGdlbmQgamFhcic7XG4gIGludGwuc3dpdGNoVG9Nb250aFZpZXdMYWJlbCA9ICdTY2hha2VsIG5hYXIgbWFhbmR3ZWVyZ2F2ZSc7XG4gIGludGwuc3dpdGNoVG9NdWx0aVllYXJWaWV3TGFiZWwgPSAnU2NoYWtlbCBuYWFyIGphYXJ0YWxsZW53ZWVyZ2F2ZSc7XG4gIHJldHVybiBpbnRsO1xufVxuXG5mdW5jdGlvbiBkYXRlc0FyZVNhbWVZZWFyKGQxOiBEYXRlLCBkMjogRGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZDEuZ2V0RnVsbFllYXIoKSA9PT0gZDIuZ2V0RnVsbFllYXIoKTtcbn1cblxuZnVuY3Rpb24gZGF0ZXNBcmVTYW1lTW9udGgoZDE6IERhdGUsIGQyOiBEYXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBkYXRlc0FyZVNhbWVZZWFyKGQxLCBkMikgJiYgZDEuZ2V0TW9udGgoKSA9PT0gZDIuZ2V0TW9udGgoKTtcbn1cblxuZnVuY3Rpb24gZGF0ZXNBcmVTYW1lRGF5KGQxOiBEYXRlLCBkMjogRGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZGF0ZXNBcmVTYW1lTW9udGgoZDEsIGQyKSAmJiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZUFycmF5KHZhbHVlOiBEYXRlIHwgRGF0ZVtdIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGVbXSB7XG4gIHJldHVybiBbdmFsdWVdLmZsYXQoKS5maWx0ZXIoKHYpOiB2IGlzIERhdGUgPT4gdiAhPSBudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZURhdGVzKGN1cnJlbnQ6IERhdGVbXSwgdG9Ub2dnbGU6IERhdGVbXSk6IERhdGVbXSB7XG4gIGNvbnN0IHRvZ2dsZWQgPSBbLi4uY3VycmVudF07XG5cbiAgdG9Ub2dnbGUuZm9yRWFjaCgoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gdG9nZ2xlZC5maW5kSW5kZXgoKGQpID0+IGFyZURhdGVzRXF1YWwoZCwgZGF0ZSkpO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRvZ2dsZWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9nZ2xlZC5wdXNoKGRhdGUpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHRvZ2dsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmlxdWVEYXRlcyhkYXRlczogRGF0ZVtdKTogRGF0ZVtdIHtcbiAgcmV0dXJuIGRhdGVzLmZpbHRlcigoZGF0ZSwgaW5kZXgpID0+IGRhdGVzLmZpbmRJbmRleCgoZCkgPT4gYXJlRGF0ZXNFcXVhbChkLCBkYXRlKSkgPT09IGluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVEYXRlcyhhOiBEYXRlLCBiOiBEYXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGEuZ2V0VGltZSgpIC0gYi5nZXRUaW1lKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVCZWZvcmUoYTogRGF0ZSwgYjogRGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY29tcGFyZURhdGVzKGEsIGIpIDwgMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUFmdGVyKGE6IERhdGUsIGI6IERhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNvbXBhcmVEYXRlcyhhLCBiKSA+IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVEYXRlc0VxdWFsKGE6IERhdGUsIGI6IERhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNvbXBhcmVEYXRlcyhhLCBiKSA9PT0gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZURhdGVzRXF1YWxJblZpZXcoYTogRGF0ZSwgYjogRGF0ZSwgdmlldzogTWF0Q2FsZW5kYXJWaWV3KSB7XG4gIHN3aXRjaCAodmlldykge1xuICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIHJldHVybiBkYXRlc0FyZVNhbWVEYXkoYSwgYik7XG4gICAgY2FzZSAneWVhcic6XG4gICAgICByZXR1cm4gZGF0ZXNBcmVTYW1lTW9udGgoYSwgYik7XG4gICAgY2FzZSAnbXVsdGkteWVhcic6XG4gICAgICByZXR1cm4gZGF0ZXNBcmVTYW1lWWVhcihhLCBiKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlc1RvSW5wdXRWYWx1ZShkYXRlczogRGF0ZVtdLCBtb2RlOiBEYXRlcGlja2VyTW9kZSk6IHN0cmluZyB7XG4gIGlmIChkYXRlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlICdtb250aCc6XG4gICAgICByZXR1cm4gZm9ybWF0TW9udGgoZGF0ZXNbMF0pO1xuICAgIGNhc2UgJ3NpbmdsZSc6XG4gICAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlc1swXSk7XG4gICAgY2FzZSAnbXVsdGlwbGUnOlxuICAgICAgcmV0dXJuIGRhdGVzLnNvcnQoY29tcGFyZURhdGVzKS5tYXAoZm9ybWF0RGF0ZSkuam9pbignLCAnKTtcbiAgICBjYXNlICdyYW5nZSc6XG4gICAgICByZXR1cm4gZGF0ZXMuc2xpY2UoMCwgMikubWFwKGZvcm1hdERhdGUpLmpvaW4oJyAtICcpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdubC1OTCcpLmZvcm1hdChkYXRlKTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0TW9udGgoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnbmwtTkwnLCB7IHllYXI6ICdudW1lcmljJywgbW9udGg6ICdudW1lcmljJyB9KS5mb3JtYXQoZGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnB1dFZhbHVlVG9EYXRlcyhpbnB1dDogc3RyaW5nLCBtb2RlOiBEYXRlcGlja2VyTW9kZSk6IERhdGVbXSB7XG4gIGNvbnN0IHBhcnRzID0gaW5wdXQuc3BsaXQoL1stLF0vKS5tYXAoKHBhcnQpID0+IHBhcnNlSW50KHBhcnQudHJpbSgpLCAxMCkpO1xuXG4gIGNvbnN0IHBhcnNlZDogKERhdGUgfCBudWxsKVtdID0gW107XG5cbiAgaWYgKG1vZGUgPT09ICdtb250aCcgJiYgcGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgY29uc3QgW21vbnRoLCB5ZWFyXSA9IHBhcnRzO1xuICAgIHBhcnNlZC5wdXNoKGNyZWF0ZURhdGUoeWVhciwgbW9udGggLSAxLCAxKSk7XG4gIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3NpbmdsZScgJiYgcGFydHMubGVuZ3RoID09PSAzKSB7XG4gICAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gcGFydHM7XG4gICAgcGFyc2VkLnB1c2goY3JlYXRlRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSkpO1xuICB9IGVsc2UgaWYgKG1vZGUgPT09ICdtdWx0aXBsZScgJiYgcGFydHMubGVuZ3RoICUgMyA9PT0gMCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IHBhcnRzLnNsaWNlKGksIGkgKyAzKTtcbiAgICAgIHBhcnNlZC5wdXNoKGNyZWF0ZURhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3JhbmdlJyAmJiBwYXJ0cy5sZW5ndGggPT09IDYpIHtcbiAgICBjb25zdCBbZGF5MSwgbW9udGgxLCB5ZWFyMSwgZGF5MiwgbW9udGgyLCB5ZWFyMl0gPSBwYXJ0cztcbiAgICBwYXJzZWQucHVzaChjcmVhdGVEYXRlKHllYXIxLCBtb250aDEgLSAxLCBkYXkxKSk7XG4gICAgcGFyc2VkLnB1c2goY3JlYXRlRGF0ZSh5ZWFyMiwgbW9udGgyIC0gMSwgZGF5MikpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlZC5maWx0ZXIoKGRhdGUpOiBkYXRlIGlzIERhdGUgPT4gZGF0ZSAhPSBudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlcik6IERhdGUgfCBudWxsIHtcbiAgY29uc3QgbWluVmFsaWRZZWFyID0gMTAwMDtcblxuICBpZiAoXG4gICAgaXNOYU4oeWVhcikgfHxcbiAgICBpc05hTihtb250aCkgfHxcbiAgICBpc05hTihkYXkpIHx8XG4gICAgeWVhciA8IG1pblZhbGlkWWVhciB8fFxuICAgIG1vbnRoIDwgMCB8fFxuICAgIG1vbnRoID4gMTEgfHxcbiAgICBkYXkgPCAxIHx8XG4gICAgZGF5ID4gMzFcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiYgZGF0ZS5nZXRNb250aCgpID09PSBtb250aCAmJiBkYXRlLmdldERhdGUoKSA9PT0gZGF5XG4gICAgPyBkYXRlXG4gICAgOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZXNUb091dHB1dFZhbHVlKFxuICBkYXRlczogRGF0ZSB8IERhdGVbXSB8IG51bGwsXG4gIG1vZGU6IERhdGVwaWNrZXJNb2RlLFxuKTogRGF0ZSB8IERhdGVbXSB8IG51bGwge1xuICBjb25zdCBhcnJheSA9IHRvRGF0ZUFycmF5KGRhdGVzKTtcblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlICdzaW5nbGUnOlxuICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIHJldHVybiBhcnJheVswXSA/PyBudWxsO1xuICAgIGNhc2UgJ211bHRpcGxlJzpcbiAgICAgIHJldHVybiBhcnJheTtcbiAgICBjYXNlICdyYW5nZSc6XG4gICAgICByZXR1cm4gYXJyYXkuc2xpY2UoMCwgMik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVDbGFzc0ZuKFxuICBkYXRlV2l0aEluZGljYXRvckZuOiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbixcbiAgbW9kZTogRGF0ZXBpY2tlck1vZGUsXG4gIHNlbGVjdGVkRGF0ZXM6IERhdGVbXSxcbik6IE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb248RGF0ZT4ge1xuICByZXR1cm4gKGNlbGxEYXRlOiBEYXRlLCB2aWV3OiBNYXRDYWxlbmRhclZpZXcpID0+IHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gWyduZHctZGF0ZSddO1xuXG4gICAgaWYgKGRhdGVXaXRoSW5kaWNhdG9yRm4oY2VsbERhdGUpKSB7XG4gICAgICBjbGFzc05hbWVzLnB1c2goJ25kdy1kYXRlLWluZGljYXRvcicpO1xuICAgIH1cblxuICAgIGlmIChzZWxlY3RlZERhdGVzLnNvbWUoKHNlbGVjdGVkRGF0ZSkgPT4gYXJlRGF0ZXNFcXVhbEluVmlldyhjZWxsRGF0ZSwgc2VsZWN0ZWREYXRlLCB2aWV3KSkpIHtcbiAgICAgIGNsYXNzTmFtZXMucHVzaCgnbmR3LWRhdGUtc2VsZWN0ZWQnKTtcbiAgICB9XG5cbiAgICBpZiAobW9kZSA9PT0gJ3JhbmdlJyAmJiBzZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgaWYgKGlzRGF0ZUJlZm9yZShzZWxlY3RlZERhdGVzWzBdLCBjZWxsRGF0ZSkgJiYgaXNEYXRlQWZ0ZXIoc2VsZWN0ZWREYXRlc1sxXSwgY2VsbERhdGUpKSB7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbmR3LWRhdGUtaW4tcmFuZ2UnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFyZURhdGVzRXF1YWwoc2VsZWN0ZWREYXRlc1swXSwgY2VsbERhdGUpKSB7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbmR3LWRhdGUtcmFuZ2Utc3RhcnQnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFyZURhdGVzRXF1YWwoc2VsZWN0ZWREYXRlc1sxXSwgY2VsbERhdGUpKSB7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbmR3LWRhdGUtcmFuZ2UtZW5kJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gIH07XG59XG4iXX0=","import { afterRenderEffect, ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, input, model, signal, viewChild, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MAT_DATE_LOCALE, provideNativeDateAdapter } from '@angular/material/core';\nimport { MatCalendar, MatDatepickerIntl, MatDatepickerModule, } from '@angular/material/datepicker';\nimport { noop } from 'rxjs';\nimport { areDatesEqual, compareDates, createDutchDatepickerIntl, datesToOutputValue, getDateClassFn, isDateAfter, isDateBefore, toDateArray, toggleDates, } from '../datepicker-functions';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/datepicker\";\nconst rangePreviewClasses = {\n start: 'ndw-date-range-start-preview',\n end: 'ndw-date-range-end-preview',\n inside: 'ndw-date-in-range-preview',\n};\nexport class CalendarComponent {\n mode = input('single', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n minDate = input(null, ...(ngDevMode ? [{ debugName: \"minDate\" }] : []));\n maxDate = input(null, ...(ngDevMode ? [{ debugName: \"maxDate\" }] : []));\n startAt = input(null, ...(ngDevMode ? [{ debugName: \"startAt\" }] : []));\n dateEnabledFilter = input(() => true, ...(ngDevMode ? [{ debugName: \"dateEnabledFilter\" }] : []));\n dateWithIndicatorFilter = input(() => false, ...(ngDevMode ? [{ debugName: \"dateWithIndicatorFilter\" }] : []));\n elevated = input(true, ...(ngDevMode ? [{ debugName: \"elevated\" }] : []));\n internalDateEnabledFilter = computed(() => {\n const disabled = this.disabled();\n const filter = this.dateEnabledFilter();\n return (date) => !disabled && filter(date);\n }, ...(ngDevMode ? [{ debugName: \"internalDateEnabledFilter\" }] : []));\n calendar = viewChild(MatCalendar, ...(ngDevMode ? [{ debugName: \"calendar\" }] : []));\n calendarElement = viewChild(MatCalendar, ...(ngDevMode ? [{ debugName: \"calendarElement\", read: (ElementRef) }] : [{\n read: (ElementRef),\n }]));\n value = signal([], ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n startView = computed(() => (this.mode() === 'month' ? 'year' : 'month'), ...(ngDevMode ? [{ debugName: \"startView\" }] : []));\n dateClass = computed(() => getDateClassFn(this.dateWithIndicatorFilter(), this.mode(), this.value()), ...(ngDevMode ? [{ debugName: \"dateClass\" }] : []));\n #onChange = noop;\n #mouseMoveListener = null;\n constructor() {\n afterRenderEffect(() => {\n const calendar = this.calendar();\n this.value(); // Depend on value changes.\n // Force the calendar to refresh the calendar view.\n // This is needed to redraw after setting classes on dates.\n calendar?.updateTodaysDate();\n });\n effect(() => {\n const mode = this.mode();\n const element = this.calendarElement()?.nativeElement;\n const calendar = this.calendar();\n this.removeMouseMoveListener();\n if (mode !== 'range' || !element || !calendar) {\n return;\n }\n this.addMouseMoveListener(element, calendar);\n });\n }\n ngOnDestroy() {\n this.removeMouseMoveListener();\n }\n addMouseMoveListener(calendarElement, calendar) {\n this.#mouseMoveListener = () => this.addRangePreviewClasses(calendarElement, calendar);\n calendarElement.addEventListener('mousemove', this.#mouseMoveListener);\n }\n removeMouseMoveListener() {\n if (this.#mouseMoveListener) {\n this.calendarElement()?.nativeElement.removeEventListener('mousemove', this.#mouseMoveListener);\n this.#mouseMoveListener = null;\n }\n }\n addRangePreviewClasses(calendarElement, calendar) {\n const selection = this.value();\n const hovered = calendarElement.querySelector('.ndw-date:hover');\n if (calendar.currentView !== 'month' || selection.length !== 1 || !hovered) {\n calendarElement\n .querySelectorAll('.ndw-date')\n .forEach((btn) => this.removeRangePreviewClasses(btn));\n return;\n }\n const getButtonDate = (el) => {\n return new Date(calendar.activeDate.getFullYear() || 0, calendar.activeDate.getMonth() || 0, parseInt(el.textContent || '0', 10));\n };\n const selectedDate = selection[0];\n const hoveredDate = getButtonDate(hovered);\n // Get all buttons between\n calendarElement.querySelectorAll('.ndw-date').forEach((btn) => {\n const btnDate = getButtonDate(btn);\n this.removeRangePreviewClasses(btn);\n if ((isDateAfter(btnDate, selectedDate) && isDateBefore(btnDate, hoveredDate)) ||\n (isDateBefore(btnDate, selectedDate) && isDateAfter(btnDate, hoveredDate))) {\n btn.classList.add(rangePreviewClasses.inside);\n }\n else if (areDatesEqual(btnDate, selectedDate) && isDateAfter(hoveredDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.start);\n }\n else if (areDatesEqual(btnDate, selectedDate) && isDateBefore(hoveredDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.end);\n }\n else if (areDatesEqual(btnDate, hoveredDate) && isDateAfter(btnDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.end);\n }\n else if (areDatesEqual(btnDate, hoveredDate) && isDateBefore(btnDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.start);\n }\n });\n }\n removeRangePreviewClasses(element) {\n Object.values(rangePreviewClasses).forEach((cssClass) => {\n element.classList.remove(cssClass);\n });\n }\n onDateSelected(date, toggle = true) {\n const mode = this.mode();\n const dates = toDateArray(date);\n let selection;\n if (mode === 'multiple' && toggle) {\n selection = toggleDates(this.value(), dates);\n }\n else if (mode === 'range' && toggle) {\n const toggled = toggleDates(this.value(), dates);\n // When the user selected a third date, start a new range from that date.\n if (toggled.length > 2) {\n selection = toggled.slice(-1);\n }\n else {\n selection = toggled;\n }\n }\n else {\n selection = dates;\n }\n selection = selection.sort(compareDates);\n this.writeValue(selection);\n this.#onChange(datesToOutputValue(selection, mode));\n }\n onMonthSelected(date) {\n if (this.mode() === 'month') {\n this.onDateSelected(date);\n }\n }\n writeValue(value) {\n this.value.set(toDateArray(value));\n }\n registerOnChange(fn) {\n this.#onChange = fn;\n }\n registerOnTouched(_fn) {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: CalendarComponent, isStandalone: true, selector: \"ndw-calendar\", inputs: { mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: \"minDate\", publicName: \"minDate\", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: \"maxDate\", publicName: \"maxDate\", isSignal: true, isRequired: false, transformFunction: null }, startAt: { classPropertyName: \"startAt\", publicName: \"startAt\", isSignal: true, isRequired: false, transformFunction: null }, dateEnabledFilter: { classPropertyName: \"dateEnabledFilter\", publicName: \"dateEnabledFilter\", isSignal: true, isRequired: false, transformFunction: null }, dateWithIndicatorFilter: { classPropertyName: \"dateWithIndicatorFilter\", publicName: \"dateWithIndicatorFilter\", isSignal: true, isRequired: false, transformFunction: null }, elevated: { classPropertyName: \"elevated\", publicName: \"elevated\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: \"disabledChange\" }, host: { properties: { \"class.elevated\": \"elevated()\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalendarComponent),\n multi: true,\n },\n { provide: MAT_DATE_LOCALE, useValue: 'nl-NL' },\n { provide: MatDatepickerIntl, useFactory: createDutchDatepickerIntl },\n provideNativeDateAdapter(),\n ], viewQueries: [{ propertyName: \"calendar\", first: true, predicate: MatCalendar, descendants: true, isSignal: true }, { propertyName: \"calendarElement\", first: true, predicate: MatCalendar, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: \"<mat-calendar\\n panelClass=\\\"ndw-calendar\\\"\\n [minDate]=\\\"minDate()\\\"\\n [maxDate]=\\\"maxDate()\\\"\\n [dateClass]=\\\"dateClass()\\\"\\n [class.range-picker]=\\\"mode() === 'range'\\\"\\n [class.month-picker]=\\\"mode() === 'month'\\\"\\n [startView]=\\\"startView()\\\"\\n [startAt]=\\\"startAt()\\\"\\n [dateFilter]=\\\"internalDateEnabledFilter()\\\"\\n (monthSelected)=\\\"onMonthSelected($event)\\\"\\n (selectedChange)=\\\"onDateSelected($event)\\\"\\n/>\\n\", styles: [\":host{display:block;width:300px;margin:calc(-1 * var(--ndw-spacing-2xs))}:host.elevated{border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatDatepickerModule }, { kind: \"component\", type: i1.MatCalendar, selector: \"mat-calendar\", inputs: [\"headerComponent\", \"startAt\", \"startView\", \"selected\", \"minDate\", \"maxDate\", \"dateFilter\", \"dateClass\", \"comparisonStart\", \"comparisonEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\"], outputs: [\"selectedChange\", \"yearSelected\", \"monthSelected\", \"viewChanged\", \"_userSelection\", \"_userDragDrop\"], exportAs: [\"matCalendar\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CalendarComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatDatepickerModule], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalendarComponent),\n multi: true,\n },\n { provide: MAT_DATE_LOCALE, useValue: 'nl-NL' },\n { provide: MatDatepickerIntl, useFactory: createDutchDatepickerIntl },\n provideNativeDateAdapter(),\n ], selector: 'ndw-calendar', host: {\n '[class.elevated]': 'elevated()',\n }, template: \"<mat-calendar\\n panelClass=\\\"ndw-calendar\\\"\\n [minDate]=\\\"minDate()\\\"\\n [maxDate]=\\\"maxDate()\\\"\\n [dateClass]=\\\"dateClass()\\\"\\n [class.range-picker]=\\\"mode() === 'range'\\\"\\n [class.month-picker]=\\\"mode() === 'month'\\\"\\n [startView]=\\\"startView()\\\"\\n [startAt]=\\\"startAt()\\\"\\n [dateFilter]=\\\"internalDateEnabledFilter()\\\"\\n (monthSelected)=\\\"onMonthSelected($event)\\\"\\n (selectedChange)=\\\"onDateSelected($event)\\\"\\n/>\\n\", styles: [\":host{display:block;width:300px;margin:calc(-1 * var(--ndw-spacing-2xs))}:host.elevated{border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZXBpY2tlci9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9kYXRlcGlja2VyL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFDWix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFdBQVcsRUFDWCxXQUFXLEdBQ1osTUFBTSx5QkFBeUIsQ0FBQzs7O0FBR2pDLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxHQUFHLEVBQUUsNEJBQTRCO0lBQ2pDLE1BQU0sRUFBRSwyQkFBMkI7Q0FD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QS9LVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixxdUNBakJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUMvQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQUU7WUFDckUsd0JBQXdCLEVBQUU7U0FDM0Isb0VBeUJ1QyxXQUFXLGtHQUVqRCxXQUFXLDJCQUVILFVBQVUsNkNDcEZ0QiwrYUFhQSxxT0RnQ1ksbUJBQW1COzsyRkFrQmxCLGlCQUFpQjtrQkFwQjdCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG1CQUFtQixDQUFDLGFBQ25CO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDL0MsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixFQUFFO3dCQUNyRSx3QkFBd0IsRUFBRTtxQkFDM0IsWUFDUyxjQUFjLFFBR2xCO3dCQUNKLGtCQUFrQixFQUFFLFlBQVk7cUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJSZW5kZXJFZmZlY3QsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIFNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSwgcHJvdmlkZU5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBEYXRlRmlsdGVyRm4sXG4gIE1hdENhbGVuZGFyLFxuICBNYXREYXRlcGlja2VySW50bCxcbiAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBhcmVEYXRlc0VxdWFsLFxuICBjb21wYXJlRGF0ZXMsXG4gIGNyZWF0ZUR1dGNoRGF0ZXBpY2tlckludGwsXG4gIGRhdGVzVG9PdXRwdXRWYWx1ZSxcbiAgZ2V0RGF0ZUNsYXNzRm4sXG4gIGlzRGF0ZUFmdGVyLFxuICBpc0RhdGVCZWZvcmUsXG4gIHRvRGF0ZUFycmF5LFxuICB0b2dnbGVEYXRlcyxcbn0gZnJvbSAnLi4vZGF0ZXBpY2tlci1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZGUgfSBmcm9tICcuLi9kYXRlcGlja2VyLm1vZGVsJztcblxuY29uc3QgcmFuZ2VQcmV2aWV3Q2xhc3NlcyA9IHtcbiAgc3RhcnQ6ICduZHctZGF0ZS1yYW5nZS1zdGFydC1wcmV2aWV3JyxcbiAgZW5kOiAnbmR3LWRhdGUtcmFuZ2UtZW5kLXByZXZpZXcnLFxuICBpbnNpZGU6ICduZHctZGF0ZS1pbi1yYW5nZS1wcmV2aWV3Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW01hdERhdGVwaWNrZXJNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENhbGVuZGFyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnbmwtTkwnIH0sXG4gICAgeyBwcm92aWRlOiBNYXREYXRlcGlja2VySW50bCwgdXNlRmFjdG9yeTogY3JlYXRlRHV0Y2hEYXRlcGlja2VySW50bCB9LFxuICAgIHByb3ZpZGVOYXRpdmVEYXRlQWRhcHRlcigpLFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1jYWxlbmRhcicsXG4gIHN0eWxlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmVsZXZhdGVkXSc6ICdlbGV2YXRlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgbW9kZSA9IGlucHV0PERhdGVwaWNrZXJNb2RlPignc2luZ2xlJyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtaW5EYXRlID0gaW5wdXQ8RGF0ZSB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBtYXhEYXRlID0gaW5wdXQ8RGF0ZSB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBzdGFydEF0ID0gaW5wdXQ8RGF0ZSB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBkYXRlRW5hYmxlZEZpbHRlciA9IGlucHV0PERhdGVGaWx0ZXJGbjxEYXRlIHwgbnVsbD4+KCgpID0+IHRydWUpO1xuICByZWFkb25seSBkYXRlV2l0aEluZGljYXRvckZpbHRlciA9IGlucHV0PERhdGVGaWx0ZXJGbjxEYXRlIHwgbnVsbD4+KCgpID0+IGZhbHNlKTtcbiAgcmVhZG9ubHkgZWxldmF0ZWQgPSBpbnB1dCh0cnVlKTtcblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxEYXRlRW5hYmxlZEZpbHRlciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKTtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRhdGVFbmFibGVkRmlsdGVyKCk7XG5cbiAgICByZXR1cm4gKGRhdGU6IERhdGUgfCBudWxsKSA9PiAhZGlzYWJsZWQgJiYgZmlsdGVyKGRhdGUpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXIgPSB2aWV3Q2hpbGQoTWF0Q2FsZW5kYXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJFbGVtZW50OiBTaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkKFxuICAgIE1hdENhbGVuZGFyLFxuICAgIHtcbiAgICAgIHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIH0sXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlID0gc2lnbmFsPERhdGVbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhcnRWaWV3ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubW9kZSgpID09PSAnbW9udGgnID8gJ3llYXInIDogJ21vbnRoJykpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZUNsYXNzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBnZXREYXRlQ2xhc3NGbih0aGlzLmRhdGVXaXRoSW5kaWNhdG9yRmlsdGVyKCksIHRoaXMubW9kZSgpLCB0aGlzLnZhbHVlKCkpLFxuICApO1xuXG4gICNvbkNoYW5nZTogKHZhbHVlOiBEYXRlIHwgRGF0ZVtdIHwgbnVsbCkgPT4gdm9pZCA9IG5vb3A7XG4gICNtb3VzZU1vdmVMaXN0ZW5lcjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJSZW5kZXJFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmNhbGVuZGFyKCk7XG4gICAgICB0aGlzLnZhbHVlKCk7IC8vIERlcGVuZCBvbiB2YWx1ZSBjaGFuZ2VzLlxuXG4gICAgICAvLyBGb3JjZSB0aGUgY2FsZW5kYXIgdG8gcmVmcmVzaCB0aGUgY2FsZW5kYXIgdmlldy5cbiAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHJlZHJhdyBhZnRlciBzZXR0aW5nIGNsYXNzZXMgb24gZGF0ZXMuXG4gICAgICBjYWxlbmRhcj8udXBkYXRlVG9kYXlzRGF0ZSgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGUgPSB0aGlzLm1vZGUoKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNhbGVuZGFyRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmNhbGVuZGFyKCk7XG5cbiAgICAgIHRoaXMucmVtb3ZlTW91c2VNb3ZlTGlzdGVuZXIoKTtcblxuICAgICAgaWYgKG1vZGUgIT09ICdyYW5nZScgfHwgIWVsZW1lbnQgfHwgIWNhbGVuZGFyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZGRNb3VzZU1vdmVMaXN0ZW5lcihlbGVtZW50LCBjYWxlbmRhcik7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZU1vdXNlTW92ZUxpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZE1vdXNlTW92ZUxpc3RlbmVyKGNhbGVuZGFyRWxlbWVudDogSFRNTEVsZW1lbnQsIGNhbGVuZGFyOiBNYXRDYWxlbmRhcjxEYXRlPikge1xuICAgIHRoaXMuI21vdXNlTW92ZUxpc3RlbmVyID0gKCkgPT4gdGhpcy5hZGRSYW5nZVByZXZpZXdDbGFzc2VzKGNhbGVuZGFyRWxlbWVudCwgY2FsZW5kYXIpO1xuICAgIGNhbGVuZGFyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLiNtb3VzZU1vdmVMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU1vdXNlTW92ZUxpc3RlbmVyKCkge1xuICAgIGlmICh0aGlzLiNtb3VzZU1vdmVMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jYWxlbmRhckVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAnbW91c2Vtb3ZlJyxcbiAgICAgICAgdGhpcy4jbW91c2VNb3ZlTGlzdGVuZXIsXG4gICAgICApO1xuICAgICAgdGhpcy4jbW91c2VNb3ZlTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkUmFuZ2VQcmV2aWV3Q2xhc3NlcyhjYWxlbmRhckVsZW1lbnQ6IEVsZW1lbnQsIGNhbGVuZGFyOiBNYXRDYWxlbmRhcjxEYXRlPikge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMudmFsdWUoKTtcbiAgICBjb25zdCBob3ZlcmVkID0gY2FsZW5kYXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZHctZGF0ZTpob3ZlcicpO1xuXG4gICAgaWYgKGNhbGVuZGFyLmN1cnJlbnRWaWV3ICE9PSAnbW9udGgnIHx8IHNlbGVjdGlvbi5sZW5ndGggIT09IDEgfHwgIWhvdmVyZWQpIHtcbiAgICAgIGNhbGVuZGFyRWxlbWVudFxuICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLm5kdy1kYXRlJylcbiAgICAgICAgLmZvckVhY2goKGJ0bikgPT4gdGhpcy5yZW1vdmVSYW5nZVByZXZpZXdDbGFzc2VzKGJ0bikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGdldEJ1dHRvbkRhdGUgPSAoZWw6IEVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgY2FsZW5kYXIuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpIHx8IDAsXG4gICAgICAgIGNhbGVuZGFyLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSB8fCAwLFxuICAgICAgICBwYXJzZUludChlbC50ZXh0Q29udGVudCB8fCAnMCcsIDEwKSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHNlbGVjdGlvblswXTtcbiAgICBjb25zdCBob3ZlcmVkRGF0ZSA9IGdldEJ1dHRvbkRhdGUoaG92ZXJlZCk7XG5cbiAgICAvLyBHZXQgYWxsIGJ1dHRvbnMgYmV0d2VlblxuICAgIGNhbGVuZGFyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubmR3LWRhdGUnKS5mb3JFYWNoKChidG4pID0+IHtcbiAgICAgIGNvbnN0IGJ0bkRhdGUgPSBnZXRCdXR0b25EYXRlKGJ0bik7XG5cbiAgICAgIHRoaXMucmVtb3ZlUmFuZ2VQcmV2aWV3Q2xhc3NlcyhidG4pO1xuXG4gICAgICBpZiAoXG4gICAgICAgIChpc0RhdGVBZnRlcihidG5EYXRlLCBzZWxlY3RlZERhdGUpICYmIGlzRGF0ZUJlZm9yZShidG5EYXRlLCBob3ZlcmVkRGF0ZSkpIHx8XG4gICAgICAgIChpc0RhdGVCZWZvcmUoYnRuRGF0ZSwgc2VsZWN0ZWREYXRlKSAmJiBpc0RhdGVBZnRlcihidG5EYXRlLCBob3ZlcmVkRGF0ZSkpXG4gICAgICApIHtcbiAgICAgICAgYnRuLmNsYXNzTGlzdC5hZGQocmFuZ2VQcmV2aWV3Q2xhc3Nlcy5pbnNpZGUpO1xuICAgICAgfSBlbHNlIGlmIChhcmVEYXRlc0VxdWFsKGJ0bkRhdGUsIHNlbGVjdGVkRGF0ZSkgJiYgaXNEYXRlQWZ0ZXIoaG92ZXJlZERhdGUsIHNlbGVjdGVkRGF0ZSkpIHtcbiAgICAgICAgYnRuLmNsYXNzTGlzdC5hZGQocmFuZ2VQcmV2aWV3Q2xhc3Nlcy5zdGFydCk7XG4gICAgICB9IGVsc2UgaWYgKGFyZURhdGVzRXF1YWwoYnRuRGF0ZSwgc2VsZWN0ZWREYXRlKSAmJiBpc0RhdGVCZWZvcmUoaG92ZXJlZERhdGUsIHNlbGVjdGVkRGF0ZSkpIHtcbiAgICAgICAgYnRuLmNsYXNzTGlzdC5hZGQocmFuZ2VQcmV2aWV3Q2xhc3Nlcy5lbmQpO1xuICAgICAgfSBlbHNlIGlmIChhcmVEYXRlc0VxdWFsKGJ0bkRhdGUsIGhvdmVyZWREYXRlKSAmJiBpc0RhdGVBZnRlcihidG5EYXRlLCBzZWxlY3RlZERhdGUpKSB7XG4gICAgICAgIGJ0bi5jbGFzc0xpc3QuYWRkKHJhbmdlUHJldmlld0NsYXNzZXMuZW5kKTtcbiAgICAgIH0gZWxzZSBpZiAoYXJlRGF0ZXNFcXVhbChidG5EYXRlLCBob3ZlcmVkRGF0ZSkgJiYgaXNEYXRlQmVmb3JlKGJ0bkRhdGUsIHNlbGVjdGVkRGF0ZSkpIHtcbiAgICAgICAgYnRuLmNsYXNzTGlzdC5hZGQocmFuZ2VQcmV2aWV3Q2xhc3Nlcy5zdGFydCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVJhbmdlUHJldmlld0NsYXNzZXMoZWxlbWVudDogRWxlbWVudCkge1xuICAgIE9iamVjdC52YWx1ZXMocmFuZ2VQcmV2aWV3Q2xhc3NlcykuZm9yRWFjaCgoY3NzQ2xhc3MpID0+IHtcbiAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjc3NDbGFzcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EYXRlU2VsZWN0ZWQoZGF0ZTogRGF0ZSB8IERhdGVbXSB8IG51bGwsIHRvZ2dsZSA9IHRydWUpIHtcbiAgICBjb25zdCBtb2RlID0gdGhpcy5tb2RlKCk7XG4gICAgY29uc3QgZGF0ZXMgPSB0b0RhdGVBcnJheShkYXRlKTtcbiAgICBsZXQgc2VsZWN0aW9uOiBEYXRlW107XG5cbiAgICBpZiAobW9kZSA9PT0gJ211bHRpcGxlJyAmJiB0b2dnbGUpIHtcbiAgICAgIHNlbGVjdGlvbiA9IHRvZ2dsZURhdGVzKHRoaXMudmFsdWUoKSwgZGF0ZXMpO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3JhbmdlJyAmJiB0b2dnbGUpIHtcbiAgICAgIGNvbnN0IHRvZ2dsZWQgPSB0b2dnbGVEYXRlcyh0aGlzLnZhbHVlKCksIGRhdGVzKTtcblxuICAgICAgLy8gV2hlbiB0aGUgdXNlciBzZWxlY3RlZCBhIHRoaXJkIGRhdGUsIHN0YXJ0IGEgbmV3IHJhbmdlIGZyb20gdGhhdCBkYXRlLlxuICAgICAgaWYgKHRvZ2dsZWQubGVuZ3RoID4gMikge1xuICAgICAgICBzZWxlY3Rpb24gPSB0b2dnbGVkLnNsaWNlKC0xKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGlvbiA9IHRvZ2dsZWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlbGVjdGlvbiA9IGRhdGVzO1xuICAgIH1cblxuICAgIHNlbGVjdGlvbiA9IHNlbGVjdGlvbi5zb3J0KGNvbXBhcmVEYXRlcyk7XG5cbiAgICB0aGlzLndyaXRlVmFsdWUoc2VsZWN0aW9uKTtcbiAgICB0aGlzLiNvbkNoYW5nZShkYXRlc1RvT3V0cHV0VmFsdWUoc2VsZWN0aW9uLCBtb2RlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Nb250aFNlbGVjdGVkKGRhdGU6IERhdGUpIHtcbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMub25EYXRlU2VsZWN0ZWQoZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IERhdGVbXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlLnNldCh0b0RhdGVBcnJheSh2YWx1ZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBEYXRlIHwgRGF0ZVtdIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cbn1cbiIsIjxtYXQtY2FsZW5kYXJcbiAgcGFuZWxDbGFzcz1cIm5kdy1jYWxlbmRhclwiXG4gIFttaW5EYXRlXT1cIm1pbkRhdGUoKVwiXG4gIFttYXhEYXRlXT1cIm1heERhdGUoKVwiXG4gIFtkYXRlQ2xhc3NdPVwiZGF0ZUNsYXNzKClcIlxuICBbY2xhc3MucmFuZ2UtcGlja2VyXT1cIm1vZGUoKSA9PT0gJ3JhbmdlJ1wiXG4gIFtjbGFzcy5tb250aC1waWNrZXJdPVwibW9kZSgpID09PSAnbW9udGgnXCJcbiAgW3N0YXJ0Vmlld109XCJzdGFydFZpZXcoKVwiXG4gIFtzdGFydEF0XT1cInN0YXJ0QXQoKVwiXG4gIFtkYXRlRmlsdGVyXT1cImludGVybmFsRGF0ZUVuYWJsZWRGaWx0ZXIoKVwiXG4gIChtb250aFNlbGVjdGVkKT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQpXCJcbiAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVNlbGVjdGVkKCRldmVudClcIlxuLz5cbiJdfQ==","import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { DestroyRef, Directive, ElementRef, EventEmitter, inject, input, model, Output, ViewContainerRef, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { take } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class PopoverTriggerDirective {\n popoverToggled = new EventEmitter();\n popoverPosition = input('nextToTriggerButton', ...(ngDevMode ? [{ debugName: \"popoverPosition\" }] : []));\n popoverContent = input.required(...(ngDevMode ? [{ debugName: \"popoverContent\", alias: 'ndwPopoverTrigger' }] : [{ alias: 'ndwPopoverTrigger' }]));\n toggleOnClick = input(true, ...(ngDevMode ? [{ debugName: \"toggleOnClick\" }] : []));\n isOpen = model(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n toggle() {\n if (!this.toggleOnClick()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n this.togglePopover();\n }\n destroyRef = inject(DestroyRef);\n elementRef = inject((ElementRef));\n overlay = inject(Overlay);\n viewContainerRef = inject(ViewContainerRef);\n focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n overlayRef;\n ngOnDestroy() {\n this.isOpen.set(false);\n this.togglePopover();\n }\n togglePopover() {\n if (this.isOpen()) {\n this.open();\n }\n else {\n this.close();\n }\n this.popoverToggled.emit(this.isOpen());\n }\n open() {\n const positions = this.getPopoverPosition(this.popoverPosition());\n const templatePortal = new TemplatePortal(this.popoverContent(), this.viewContainerRef);\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(positions),\n });\n this.overlayRef.attach(templatePortal);\n this.overlayRef.hostElement.addEventListener('click', (event) => {\n const target = event.target;\n if (this.nodeOrParentsHaveAttribute(target, 'ndwPopoverCloseTrigger')) {\n this.isOpen.set(false);\n this.togglePopover();\n }\n });\n this.trapFocus(this.overlayRef);\n this.closeOverlayOnEscapeKey(this.overlayRef);\n this.closeOverlayOnBackdropClick(this.overlayRef);\n }\n trapFocus(overlayRef) {\n this.focusTrapFactory.create(overlayRef.overlayElement);\n }\n closeOverlayOnEscapeKey(overlayRef) {\n overlayRef.overlayElement.onkeydown = (event) => {\n if (event.key === 'Escape') {\n this.isOpen.set(false);\n this.togglePopover();\n }\n };\n }\n nodeOrParentsHaveAttribute(node, attribute) {\n let next = node;\n while (next) {\n if (next.hasAttribute(attribute)) {\n return true;\n }\n next = next.parentElement;\n }\n return false;\n }\n closeOverlayOnBackdropClick(overlayRef) {\n overlayRef\n .backdropClick()\n .pipe(takeUntilDestroyed(this.destroyRef), take(1))\n .subscribe(() => {\n this.isOpen.set(false);\n this.togglePopover();\n });\n }\n close() {\n this.overlayRef?.dispose();\n }\n getPopoverPosition(popoverPosition) {\n let positions;\n if (popoverPosition === 'overTriggerButton') {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n panelClass: 'ndw-popover-panel',\n },\n ];\n }\n else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -4,\n panelClass: 'ndw-popover-panel',\n },\n ];\n }\n return [\n ...positions,\n ...positions.map((position) => ({\n ...position,\n overlayX: 'center',\n overlayY: 'center',\n })),\n ];\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.2.4\", type: PopoverTriggerDirective, isStandalone: true, selector: \"[ndwPopoverTrigger]\", inputs: { popoverPosition: { classPropertyName: \"popoverPosition\", publicName: \"popoverPosition\", isSignal: true, isRequired: false, transformFunction: null }, popoverContent: { classPropertyName: \"popoverContent\", publicName: \"ndwPopoverTrigger\", isSignal: true, isRequired: true, transformFunction: null }, toggleOnClick: { classPropertyName: \"toggleOnClick\", publicName: \"toggleOnClick\", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: \"isOpen\", publicName: \"isOpen\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { popoverToggled: \"popoverToggled\", isOpen: \"isOpenChange\" }, host: { listeners: { \"click\": \"toggle()\" } }, exportAs: [\"ndwPopoverTrigger\"], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PopoverTriggerDirective, decorators: [{\n type: Directive,\n args: [{\n exportAs: 'ndwPopoverTrigger',\n host: {\n '(click)': 'toggle()',\n },\n selector: '[ndwPopoverTrigger]',\n }]\n }], propDecorators: { popoverToggled: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFxQixPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBRU4sZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVzVCLE1BQU0sT0FBTyx1QkFBdUI7SUFDakIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFDdkQsZUFBZSxHQUFHLEtBQUssQ0FBa0IscUJBQXFCLDJEQUFDLENBQUM7SUFDaEUsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUF5QixLQUFLLEVBQUUsbUJBQW1CLE9BQTVCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEdBQUMsQ0FBQztJQUN0RixhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUkseURBQUMsQ0FBQztJQUM1QixNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssa0RBQUMsQ0FBQztJQUV0QixNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBQ0Qs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QkFDWCxVQUFVLEVBQUUsbUJBQW1CO2lCQUNoQztnQkFDRDtvQkFDRSxPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUUsS0FBSztvQkFDZCxRQUFRLEVBQUUsS0FBSztvQkFDZixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQztvQkFDWCxVQUFVLEVBQUUsbUJBQW1CO2lCQUNoQzthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsU0FBUztZQUNaLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FDZCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsQ0FBQztnQkFDQyxHQUFHLFFBQVE7Z0JBQ1gsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQTZCLENBQ2pDO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBeExVLHVCQUF1QjsyRkFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsVUFBVTtxQkFDdEI7b0JBQ0QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OEJBRWtCLGNBQWM7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBQb3BvdmVyUG9zaXRpb24gPSAnbmV4dFRvVHJpZ2dlckJ1dHRvbicgfCAnb3ZlclRyaWdnZXJCdXR0b24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICduZHdQb3BvdmVyVHJpZ2dlcicsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKScsXG4gIH0sXG4gIHNlbGVjdG9yOiAnW25kd1BvcG92ZXJUcmlnZ2VyXScsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHB1YmxpYyBwb3BvdmVyVG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHBvcG92ZXJQb3NpdGlvbiA9IGlucHV0PFBvcG92ZXJQb3NpdGlvbj4oJ25leHRUb1RyaWdnZXJCdXR0b24nKTtcbiAgcHVibGljIHBvcG92ZXJDb250ZW50ID0gaW5wdXQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KHsgYWxpYXM6ICduZHdQb3BvdmVyVHJpZ2dlcicgfSk7XG4gIHB1YmxpYyB0b2dnbGVPbkNsaWNrID0gaW5wdXQodHJ1ZSk7XG4gIHB1YmxpYyBpc09wZW4gPSBtb2RlbChmYWxzZSk7XG5cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG9nZ2xlT25DbGljaygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNPcGVuLnNldCghdGhpcy5pc09wZW4oKSk7XG4gICAgdGhpcy50b2dnbGVQb3BvdmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSBmb2N1c1RyYXBGYWN0b3J5ID0gaW5qZWN0KENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkpO1xuXG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy50b2dnbGVQb3BvdmVyKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5wb3BvdmVyVG9nZ2xlZC5lbWl0KHRoaXMuaXNPcGVuKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuKCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IHRoaXMuZ2V0UG9wb3ZlclBvc2l0aW9uKHRoaXMucG9wb3ZlclBvc2l0aW9uKCkpO1xuICAgIGNvbnN0IHRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucG9wb3ZlckNvbnRlbnQoKSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKHBvc2l0aW9ucyksXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0ZW1wbGF0ZVBvcnRhbCk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgaWYgKHRoaXMubm9kZU9yUGFyZW50c0hhdmVBdHRyaWJ1dGUodGFyZ2V0LCAnbmR3UG9wb3ZlckNsb3NlVHJpZ2dlcicpKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy50cmFwRm9jdXModGhpcy5vdmVybGF5UmVmKTtcbiAgICB0aGlzLmNsb3NlT3ZlcmxheU9uRXNjYXBlS2V5KHRoaXMub3ZlcmxheVJlZik7XG4gICAgdGhpcy5jbG9zZU92ZXJsYXlPbkJhY2tkcm9wQ2xpY2sodGhpcy5vdmVybGF5UmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhcEZvY3VzKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZU92ZXJsYXlPbkVzY2FwZUtleShvdmVybGF5UmVmOiBPdmVybGF5UmVmKTogdm9pZCB7XG4gICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5vbmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG5vZGVPclBhcmVudHNIYXZlQXR0cmlidXRlKG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCwgYXR0cmlidXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgbmV4dCA9IG5vZGU7XG4gICAgd2hpbGUgKG5leHQpIHtcbiAgICAgIGlmIChuZXh0Lmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbmV4dCA9IG5leHQucGFyZW50RWxlbWVudDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZU92ZXJsYXlPbkJhY2tkcm9wQ2xpY2sob3ZlcmxheVJlZjogT3ZlcmxheVJlZik6IHZvaWQge1xuICAgIG92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3BvdmVyUG9zaXRpb24ocG9wb3ZlclBvc2l0aW9uOiBQb3BvdmVyUG9zaXRpb24pOiBDb25uZWN0ZWRQb3NpdGlvbltdIHtcbiAgICBsZXQgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdO1xuXG4gICAgaWYgKHBvcG92ZXJQb3NpdGlvbiA9PT0gJ292ZXJUcmlnZ2VyQnV0dG9uJykge1xuICAgICAgcG9zaXRpb25zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ25kdy1wb3BvdmVyLXBhbmVsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ25kdy1wb3BvdmVyLXBhbmVsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICduZHctcG9wb3Zlci1wYW5lbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICduZHctcG9wb3Zlci1wYW5lbCcsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3NpdGlvbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICBvZmZzZXRZOiA0LFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICduZHctcG9wb3Zlci1wYW5lbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIG9mZnNldFk6IDQsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ25kdy1wb3BvdmVyLXBhbmVsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIG9mZnNldFk6IC00LFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICduZHctcG9wb3Zlci1wYW5lbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIG9mZnNldFk6IC00LFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICduZHctcG9wb3Zlci1wYW5lbCcsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAuLi5wb3NpdGlvbnMsXG4gICAgICAuLi5wb3NpdGlvbnMubWFwKFxuICAgICAgICAocG9zaXRpb24pID0+XG4gICAgICAgICAgKHtcbiAgICAgICAgICAgIC4uLnBvc2l0aW9uLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICAgIH0pIHNhdGlzZmllcyBDb25uZWN0ZWRQb3NpdGlvbixcbiAgICAgICksXG4gICAgXTtcbiAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class TagComponent {\n /**\n * Disables the tag\n */\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n /**\n * Aria label for the interactive button\n */\n suffixAriaLabel = input('Verwijder', ...(ngDevMode ? [{ debugName: \"suffixAriaLabel\" }] : []));\n /**\n * The name of the icon to display\n */\n suffixIcon = input('close', ...(ngDevMode ? [{ debugName: \"suffixIcon\" }] : []));\n clicked = output();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: TagComponent, isStandalone: true, selector: \"ndw-tag\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, suffixAriaLabel: { classPropertyName: \"suffixAriaLabel\", publicName: \"suffixAriaLabel\", isSignal: true, isRequired: false, transformFunction: null }, suffixIcon: { classPropertyName: \"suffixIcon\", publicName: \"suffixIcon\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: \"clicked\" }, host: { properties: { \"class.disabled\": \"disabled()\" } }, ngImport: i0, template: \"<ng-content />\\n<button type=\\\"button\\\" [disabled]=\\\"disabled()\\\" (click)=\\\"clicked.emit($event)\\\">\\n <span class=\\\"sr-only\\\">{{ suffixAriaLabel() }}</span>\\n <ndw-icon>{{ suffixIcon() }}</ndw-icon>\\n</button>\\n\", styles: [\":host{position:relative;overflow:hidden;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;height:1.5rem;padding:0 var(--ndw-spacing-2xs) 0 var(--ndw-spacing-xs);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary);border-radius:45px;outline:none;color:var(--ndw-color-primary);background-color:var(--ndw-color-primary-050);font-size:var(--ndw-font-size-sm);cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-primary);background-color:var(--ndw-color-primary);color:var(--ndw-color-white)}:host:active,:host:focus-within{border:var(--ndw-border-size-sm) solid var(--ndw-color-link-400);background-color:var(--ndw-color-primary-600);color:var(--ndw-color-white)}:host.disabled{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-400);background-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-400);pointer-events:none}:host button{background-color:transparent;border:0;color:inherit;padding:0}:host button:focus{outline:none}:host button:after{content:\\\"\\\";inset:0;position:absolute}:host button ndw-icon{display:grid;font-size:var(--ndw-font-size-sm);width:var(--ndw-spacing-md)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TagComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.disabled]': 'disabled()',\n }, imports: [IconComponent], selector: 'ndw-tag', template: \"<ng-content />\\n<button type=\\\"button\\\" [disabled]=\\\"disabled()\\\" (click)=\\\"clicked.emit($event)\\\">\\n <span class=\\\"sr-only\\\">{{ suffixAriaLabel() }}</span>\\n <ndw-icon>{{ suffixIcon() }}</ndw-icon>\\n</button>\\n\", styles: [\":host{position:relative;overflow:hidden;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;height:1.5rem;padding:0 var(--ndw-spacing-2xs) 0 var(--ndw-spacing-xs);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary);border-radius:45px;outline:none;color:var(--ndw-color-primary);background-color:var(--ndw-color-primary-050);font-size:var(--ndw-font-size-sm);cursor:pointer;transition:var(--ndw-animation-speed-fast) ease-out}:host:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-primary);background-color:var(--ndw-color-primary);color:var(--ndw-color-white)}:host:active,:host:focus-within{border:var(--ndw-border-size-sm) solid var(--ndw-color-link-400);background-color:var(--ndw-color-primary-600);color:var(--ndw-color-white)}:host.disabled{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-400);background-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-400);pointer-events:none}:host button{background-color:transparent;border:0;color:inherit;padding:0}:host button:focus{outline:none}:host button:after{content:\\\"\\\";inset:0;position:absolute}:host button ndw-icon{display:grid;font-size:var(--ndw-font-size-sm);width:var(--ndw-spacing-md)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQVl4QyxNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRztJQUNJLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBRS9COztPQUVHO0lBQ0ksZUFBZSxHQUFHLEtBQUssQ0FBQyxXQUFXLDJEQUFDLENBQUM7SUFFNUM7O09BRUc7SUFDSSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sc0RBQUMsQ0FBQztJQUU1QixPQUFPLEdBQUcsTUFBTSxFQUFTLENBQUM7dUdBaEJ0QixZQUFZOzJGQUFaLFlBQVksd2tCQ2R6Qix1TkFLQSx1dkNESVksYUFBYTs7MkZBS1osWUFBWTtrQkFWeEIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLGtCQUFrQixFQUFFLFlBQVk7cUJBQ2pDLFdBQ1EsQ0FBQyxhQUFhLENBQUMsWUFDZCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICB9LFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LXRhZycsXG4gIHN0eWxlVXJsOiAnLi90YWcuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGFnQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSB0YWdcbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogQXJpYSBsYWJlbCBmb3IgdGhlIGludGVyYWN0aXZlIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIHN1ZmZpeEFyaWFMYWJlbCA9IGlucHV0KCdWZXJ3aWpkZXInKTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheVxuICAgKi9cbiAgcHVibGljIHN1ZmZpeEljb24gPSBpbnB1dCgnY2xvc2UnKTtcblxuICBwdWJsaWMgY2xpY2tlZCA9IG91dHB1dDxFdmVudD4oKTtcbn1cbiIsIjxuZy1jb250ZW50IC8+XG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIChjbGljayk9XCJjbGlja2VkLmVtaXQoJGV2ZW50KVwiPlxuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBzdWZmaXhBcmlhTGFiZWwoKSB9fTwvc3Bhbj5cbiAgPG5kdy1pY29uPnt7IHN1ZmZpeEljb24oKSB9fTwvbmR3LWljb24+XG48L2J1dHRvbj5cbiJdfQ==","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl, Validators } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class InputDirective {\n set disabled(disabled) {\n this.element.disabled = disabled;\n }\n get error() {\n return !!this.element.getAttribute('error');\n }\n set error(error) {\n this.element.toggleAttribute('error', error);\n }\n set success(success) {\n this.element.toggleAttribute('success', success);\n }\n set id(id) {\n this.element.id = id;\n }\n set ariaDescribedBy(id) {\n this.element.setAttribute('aria-describedby', id);\n }\n elementRef = inject(ElementRef);\n destroyRef = inject(DestroyRef);\n ngControl = inject(NgControl, { optional: true });\n get element() {\n return this.elementRef.nativeElement;\n }\n get control() {\n return this.ngControl ? this.ngControl.control : null;\n }\n ngOnInit() {\n this.updateRequiredAttribute();\n this.control?.statusChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateRequiredAttribute();\n });\n fromEvent(this.element, 'blur')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.updateErrorAttribute();\n });\n // Add ndw-changed attribute when the input is changed and has a value\n fromEvent(this.element, 'input')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.setSelectPlaceholderAttribute();\n });\n this.setSelectPlaceholderAttribute();\n }\n updateErrorAttribute(formFieldError) {\n if (this.control) {\n this.error = (this.control.invalid === true && this.control.touched) || !!formFieldError;\n }\n }\n setSelectPlaceholderAttribute() {\n if (this.element instanceof HTMLSelectElement) {\n const isPlaceholderSelected = this.element.selectedIndex === 0 &&\n this.element.options[this.element.selectedIndex].disabled;\n this.element.toggleAttribute('ndw-placeholder', isPlaceholderSelected);\n }\n }\n updateRequiredAttribute() {\n if (this.control) {\n // Mark element as required when the control has a 'required' validator.\n // This will show an asterisk (*)\n this.element.required = this.control.hasValidator(Validators.required);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: InputDirective, isStandalone: true, selector: \"input[ndwInput], select[ndwInput], textarea[ndwInput]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLakMsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBVyxRQUFRLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyxFQUFFLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsZUFBZSxDQUFDLEVBQVU7UUFDbkMsSUFB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bXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFtuZHdJbnB1dF0sIHNlbGVjdFtuZHdJbnB1dF0sIHRleHRhcmVhW25kd0lucHV0XScsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdlcnJvcicpO1xuICB9XG5cbiAgcHVibGljIHNldCBlcnJvcihlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2Vycm9yJywgZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIHNldCBzdWNjZXNzKHN1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdzdWNjZXNzJywgc3VjY2Vzcyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuaWQgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXJpYURlc2NyaWJlZEJ5KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzXG4gICAgICB8IEhUTUxJbnB1dEVsZW1lbnRcbiAgICAgIHwgSFRNTFNlbGVjdEVsZW1lbnRcbiAgICAgIHwgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wgPyB0aGlzLm5nQ29udHJvbC5jb250cm9sIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVJlcXVpcmVkQXR0cmlidXRlKCk7XG5cbiAgICB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlUmVxdWlyZWRBdHRyaWJ1dGUoKTtcbiAgICB9KTtcblxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsICdibHVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlRXJyb3JBdHRyaWJ1dGUoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gQWRkIG5kdy1jaGFuZ2VkIGF0dHJpYnV0ZSB3aGVuIHRoZSBpbnB1dCBpcyBjaGFuZ2VkIGFuZCBoYXMgYSB2YWx1ZVxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFNlbGVjdFBsYWNlaG9sZGVyQXR0cmlidXRlKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2V0U2VsZWN0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVFcnJvckF0dHJpYnV0ZShmb3JtRmllbGRFcnJvcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmVycm9yID0gKHRoaXMuY29udHJvbC5pbnZhbGlkID09PSB0cnVlICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB8fCAhIWZvcm1GaWVsZEVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICBjb25zdCBpc1BsYWNlaG9sZGVyU2VsZWN0ZWQgPVxuICAgICAgICB0aGlzLmVsZW1lbnQuc2VsZWN0ZWRJbmRleCA9PT0gMCAmJlxuICAgICAgICB0aGlzLmVsZW1lbnQub3B0aW9uc1t0aGlzLmVsZW1lbnQuc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQ7XG4gICAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZHctcGxhY2Vob2xkZXInLCBpc1BsYWNlaG9sZGVyU2VsZWN0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWlyZWRBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgLy8gTWFyayBlbGVtZW50IGFzIHJlcXVpcmVkIHdoZW4gdGhlIGNvbnRyb2wgaGFzIGEgJ3JlcXVpcmVkJyB2YWxpZGF0b3IuXG4gICAgICAvLyBUaGlzIHdpbGwgc2hvdyBhbiBhc3RlcmlzayAoKilcbiAgICAgIHRoaXMuZWxlbWVudC5yZXF1aXJlZCA9IHRoaXMuY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, forwardRef, input, model, viewChild, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { noop } from 'rxjs';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { TagComponent } from '../../tag';\nimport { InputDirective } from '../input';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { compareDates, datesToInputValue, datesToOutputValue, getUniqueDates, inputValueToDates, toDateArray, } from './datepicker-functions';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport class DatepickerComponent {\n mode = input('single', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n placeholder = input('Selecteer een datum', ...(ngDevMode ? [{ debugName: \"placeholder\" }] : []));\n openCalendarLabel = input('Open kalender', ...(ngDevMode ? [{ debugName: \"openCalendarLabel\" }] : []));\n minDate = input(null, ...(ngDevMode ? [{ debugName: \"minDate\" }] : []));\n maxDate = input(null, ...(ngDevMode ? [{ debugName: \"maxDate\" }] : []));\n dateEnabledFilter = input(() => true, ...(ngDevMode ? [{ debugName: \"dateEnabledFilter\" }] : []));\n dateWithIndicatorFilter = input(() => false, ...(ngDevMode ? [{ debugName: \"dateWithIndicatorFilter\" }] : []));\n // Used by the FormFieldComponent to set the success and error state.\n input = viewChild.required(InputDirective);\n popoverTrigger = viewChild.required(PopoverTriggerDirective);\n value = model([], ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n startAt = computed(() => {\n const value = this.value();\n return value.length > 0 ? value[value.length - 1] : null;\n }, ...(ngDevMode ? [{ debugName: \"startAt\" }] : []));\n formattedValue = computed(() => datesToInputValue(this.value(), this.mode()), ...(ngDevMode ? [{ debugName: \"formattedValue\" }] : []));\n showTags = computed(() => this.mode() === 'multiple', ...(ngDevMode ? [{ debugName: \"showTags\" }] : []));\n #onChange = noop;\n onDateInput(input) {\n const parsed = inputValueToDates(input, this.mode());\n const merged = this.mode() === 'multiple' ? [...toDateArray(this.value()), ...parsed] : parsed;\n const filtered = getUniqueDates(merged.filter((date) => {\n const dateEnabledFilter = this.dateEnabledFilter();\n const minDate = this.minDate() ?? date;\n const maxDate = this.maxDate() ?? date;\n return (dateEnabledFilter(date) &&\n compareDates(date, minDate) >= 0 &&\n compareDates(date, maxDate) <= 0);\n }));\n if (filtered.length > 0) {\n this.onDateSelected(filtered);\n }\n else {\n this.onDateSelected(null);\n }\n if (filtered.length === 0 || this.mode() === 'multiple') {\n this.input().element.value = '';\n }\n }\n removeDate(date) {\n const filtered = this.value().filter((d) => d.getTime() !== date.getTime());\n this.onDateSelected(filtered);\n }\n onDateSelected(date) {\n const mode = this.mode();\n const dates = toDateArray(date).sort(compareDates);\n this.writeValue(dates);\n this.#onChange(datesToOutputValue(dates, mode));\n if (mode === 'single' || mode === 'month') {\n this.#closeCalendar();\n }\n if (!this.popoverTrigger().isOpen()) {\n this.input().control?.markAllAsTouched();\n this.input().updateErrorAttribute();\n }\n }\n onPopoverOpenChange(isOpen) {\n if (!isOpen) {\n this.input().control?.markAllAsTouched();\n this.input().updateErrorAttribute();\n }\n }\n #closeCalendar() {\n if (this.popoverTrigger().isOpen()) {\n this.popoverTrigger().isOpen.set(false);\n this.popoverTrigger().togglePopover();\n }\n }\n writeValue(value) {\n this.value.set(toDateArray(value));\n }\n registerOnChange(fn) {\n this.#onChange = fn;\n }\n registerOnTouched(_fn) {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: DatepickerComponent, isStandalone: true, selector: \"ndw-datepicker\", inputs: { mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, openCalendarLabel: { classPropertyName: \"openCalendarLabel\", publicName: \"openCalendarLabel\", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: \"minDate\", publicName: \"minDate\", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: \"maxDate\", publicName: \"maxDate\", isSignal: true, isRequired: false, transformFunction: null }, dateEnabledFilter: { classPropertyName: \"dateEnabledFilter\", publicName: \"dateEnabledFilter\", isSignal: true, isRequired: false, transformFunction: null }, dateWithIndicatorFilter: { classPropertyName: \"dateWithIndicatorFilter\", publicName: \"dateWithIndicatorFilter\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: \"disabledChange\", value: \"valueChange\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"input\", first: true, predicate: InputDirective, descendants: true, isSignal: true }, { propertyName: \"popoverTrigger\", first: true, predicate: PopoverTriggerDirective, descendants: true, isSignal: true }], ngImport: i0, template: \"<input\\n ndwInput\\n [value]=\\\"showTags() ? '' : formattedValue()\\\"\\n (blur)=\\\"onDateInput($event.target.value)\\\"\\n [min]=\\\"minDate()\\\"\\n [max]=\\\"maxDate()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n [required]=\\\"required()\\\"\\n [disabled]=\\\"disabled()\\\"\\n/>\\n\\n<button\\n ndwButton\\n class=\\\"calendar-button\\\"\\n type=\\\"button\\\"\\n extra-small\\n tertiary\\n [ndwPopoverTrigger]=\\\"calendarTemplate\\\"\\n [toggleOnClick]=\\\"true\\\"\\n [attr.aria-label]=\\\"openCalendarLabel()\\\"\\n [disabled]=\\\"disabled()\\\"\\n (isOpenChange)=\\\"onPopoverOpenChange($event)\\\"\\n>\\n <ndw-icon>calendar_month</ndw-icon>\\n</button>\\n\\n<ng-template #calendarTemplate>\\n <ndw-calendar\\n [ngModel]=\\\"value()\\\"\\n (ngModelChange)=\\\"onDateSelected($event)\\\"\\n [mode]=\\\"mode()\\\"\\n [minDate]=\\\"minDate()\\\"\\n [maxDate]=\\\"maxDate()\\\"\\n [startAt]=\\\"startAt()\\\"\\n [dateEnabledFilter]=\\\"dateEnabledFilter()\\\"\\n [dateWithIndicatorFilter]=\\\"dateWithIndicatorFilter()\\\"\\n [elevated]=\\\"false\\\"\\n />\\n</ng-template>\\n\\n@if (showTags() && value().length > 0) {\\n <div class=\\\"tag-container\\\">\\n @for (value of value(); track value) {\\n <ndw-tag (clicked)=\\\"removeDate(value)\\\">{{ value | date: 'd-M-yyyy' }}</ndw-tag>\\n }\\n </div>\\n}\\n\", styles: [\":host{position:relative;flex:1}input{padding-right:calc(var(--ndw-spacing-xl) + var(--ndw-spacing-2xs))}.calendar-button{position:absolute;margin:var(--ndw-spacing-xs);right:0;top:0}.calendar-button[disabled]{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-500)}.tag-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--ndw-spacing-xs);padding-left:var(--ndw-spacing-xs);padding-right:var(--ndw-spacing-xs);padding-bottom:var(--ndw-spacing-xs)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: MatDatepickerModule }, { kind: \"directive\", type: InputDirective, selector: \"input[ndwInput], select[ndwInput], textarea[ndwInput]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: PopoverTriggerDirective, selector: \"[ndwPopoverTrigger]\", inputs: [\"popoverPosition\", \"ndwPopoverTrigger\", \"toggleOnClick\", \"isOpen\"], outputs: [\"popoverToggled\", \"isOpenChange\"], exportAs: [\"ndwPopoverTrigger\"] }, { kind: \"component\", type: CalendarComponent, selector: \"ndw-calendar\", inputs: [\"mode\", \"disabled\", \"minDate\", \"maxDate\", \"startAt\", \"dateEnabledFilter\", \"dateWithIndicatorFilter\", \"elevated\"], outputs: [\"disabledChange\"] }, { kind: \"component\", type: TagComponent, selector: \"ndw-tag\", inputs: [\"disabled\", \"suffixAriaLabel\", \"suffixIcon\"], outputs: [\"clicked\"] }, { kind: \"pipe\", type: DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DatepickerComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n FormsModule,\n MatDatepickerModule,\n InputDirective,\n IconComponent,\n PopoverTriggerDirective,\n CalendarComponent,\n TagComponent,\n DatePipe,\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true,\n },\n ], selector: 'ndw-datepicker', template: \"<input\\n ndwInput\\n [value]=\\\"showTags() ? '' : formattedValue()\\\"\\n (blur)=\\\"onDateInput($event.target.value)\\\"\\n [min]=\\\"minDate()\\\"\\n [max]=\\\"maxDate()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n [required]=\\\"required()\\\"\\n [disabled]=\\\"disabled()\\\"\\n/>\\n\\n<button\\n ndwButton\\n class=\\\"calendar-button\\\"\\n type=\\\"button\\\"\\n extra-small\\n tertiary\\n [ndwPopoverTrigger]=\\\"calendarTemplate\\\"\\n [toggleOnClick]=\\\"true\\\"\\n [attr.aria-label]=\\\"openCalendarLabel()\\\"\\n [disabled]=\\\"disabled()\\\"\\n (isOpenChange)=\\\"onPopoverOpenChange($event)\\\"\\n>\\n <ndw-icon>calendar_month</ndw-icon>\\n</button>\\n\\n<ng-template #calendarTemplate>\\n <ndw-calendar\\n [ngModel]=\\\"value()\\\"\\n (ngModelChange)=\\\"onDateSelected($event)\\\"\\n [mode]=\\\"mode()\\\"\\n [minDate]=\\\"minDate()\\\"\\n [maxDate]=\\\"maxDate()\\\"\\n [startAt]=\\\"startAt()\\\"\\n [dateEnabledFilter]=\\\"dateEnabledFilter()\\\"\\n [dateWithIndicatorFilter]=\\\"dateWithIndicatorFilter()\\\"\\n [elevated]=\\\"false\\\"\\n />\\n</ng-template>\\n\\n@if (showTags() && value().length > 0) {\\n <div class=\\\"tag-container\\\">\\n @for (value of value(); track value) {\\n <ndw-tag (clicked)=\\\"removeDate(value)\\\">{{ value | date: 'd-M-yyyy' }}</ndw-tag>\\n }\\n </div>\\n}\\n\", styles: [\":host{position:relative;flex:1}input{padding-right:calc(var(--ndw-spacing-xl) + var(--ndw-spacing-2xs))}.calendar-button{position:absolute;margin:var(--ndw-spacing-xs);right:0;top:0}.calendar-button[disabled]{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-500)}.tag-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--ndw-spacing-xs);padding-left:var(--ndw-spacing-xs);padding-right:var(--ndw-spacing-xs);padding-bottom:var(--ndw-spacing-xs)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLHdCQUF3QixDQUFD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Syx1QkFBdUIsZ0VDakVoRixtdENBK0NBLGtrQkRoQkksV0FBVyw4VkFDWCxtQkFBbUIsK0JBQ25CLGNBQWMsa0dBQ2QsYUFBYSxxREFDYix1QkFBdUIsMk5BQ3ZCLGlCQUFpQixpTkFDakIsWUFBWSw0SEFDWixRQUFROzsyRkFhQyxtQkFBbUI7a0JBdkIvQixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixRQUFRO3FCQUNULGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFlBQ1MsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlRmlsdGVyRm4sIE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlcic7XG5pbXBvcnQgeyBUYWdDb21wb25lbnQgfSBmcm9tICcuLi8uLi90YWcnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIGNvbXBhcmVEYXRlcyxcbiAgZGF0ZXNUb0lucHV0VmFsdWUsXG4gIGRhdGVzVG9PdXRwdXRWYWx1ZSxcbiAgZ2V0VW5pcXVlRGF0ZXMsXG4gIGlucHV0VmFsdWVUb0RhdGVzLFxuICB0b0RhdGVBcnJheSxcbn0gZnJvbSAnLi9kYXRlcGlja2VyLWZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBEYXRlcGlja2VyTW9kZSB9IGZyb20gJy4vZGF0ZXBpY2tlci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgSW5wdXREaXJlY3RpdmUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBDYWxlbmRhckNvbXBvbmVudCxcbiAgICBUYWdDb21wb25lbnQsXG4gICAgRGF0ZVBpcGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1kYXRlcGlja2VyJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHJlYWRvbmx5IG1vZGUgPSBpbnB1dDxEYXRlcGlja2VyTW9kZT4oJ3NpbmdsZScpO1xuICByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignU2VsZWN0ZWVyIGVlbiBkYXR1bScpO1xuICByZWFkb25seSBvcGVuQ2FsZW5kYXJMYWJlbCA9IGlucHV0PHN0cmluZz4oJ09wZW4ga2FsZW5kZXInKTtcbiAgcmVhZG9ubHkgbWluRGF0ZSA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbWF4RGF0ZSA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZGF0ZUVuYWJsZWRGaWx0ZXIgPSBpbnB1dDxEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGw+PigoKSA9PiB0cnVlKTtcbiAgcmVhZG9ubHkgZGF0ZVdpdGhJbmRpY2F0b3JGaWx0ZXIgPSBpbnB1dDxEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGw+PigoKSA9PiBmYWxzZSk7XG5cbiAgLy8gVXNlZCBieSB0aGUgRm9ybUZpZWxkQ29tcG9uZW50IHRvIHNldCB0aGUgc3VjY2VzcyBhbmQgZXJyb3Igc3RhdGUuXG4gIHJlYWRvbmx5IGlucHV0ID0gdmlld0NoaWxkLnJlcXVpcmVkKElucHV0RGlyZWN0aXZlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9wb3ZlclRyaWdnZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQoUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IG1vZGVsPERhdGVbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhcnRBdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCA/IHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdIDogbnVsbDtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IGRhdGVzVG9JbnB1dFZhbHVlKHRoaXMudmFsdWUoKSwgdGhpcy5tb2RlKCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dUYWdzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tb2RlKCkgPT09ICdtdWx0aXBsZScpO1xuXG4gICNvbkNoYW5nZTogKHZhbHVlOiBEYXRlIHwgRGF0ZVtdIHwgbnVsbCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgcHJvdGVjdGVkIG9uRGF0ZUlucHV0KGlucHV0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBpbnB1dFZhbHVlVG9EYXRlcyhpbnB1dCwgdGhpcy5tb2RlKCkpO1xuICAgIGNvbnN0IG1lcmdlZCA9IHRoaXMubW9kZSgpID09PSAnbXVsdGlwbGUnID8gWy4uLnRvRGF0ZUFycmF5KHRoaXMudmFsdWUoKSksIC4uLnBhcnNlZF0gOiBwYXJzZWQ7XG4gICAgY29uc3QgZmlsdGVyZWQgPSBnZXRVbmlxdWVEYXRlcyhcbiAgICAgIG1lcmdlZC5maWx0ZXIoKGRhdGUpID0+IHtcbiAgICAgICAgY29uc3QgZGF0ZUVuYWJsZWRGaWx0ZXIgPSB0aGlzLmRhdGVFbmFibGVkRmlsdGVyKCk7XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUoKSA/PyBkYXRlO1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlKCkgPz8gZGF0ZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBkYXRlRW5hYmxlZEZpbHRlcihkYXRlKSAmJlxuICAgICAgICAgIGNvbXBhcmVEYXRlcyhkYXRlLCBtaW5EYXRlKSA+PSAwICYmXG4gICAgICAgICAgY29tcGFyZURhdGVzKGRhdGUsIG1heERhdGUpIDw9IDBcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVyZWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vbkRhdGVTZWxlY3RlZChmaWx0ZXJlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25EYXRlU2VsZWN0ZWQobnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA9PT0gMCB8fCB0aGlzLm1vZGUoKSA9PT0gJ211bHRpcGxlJykge1xuICAgICAgdGhpcy5pbnB1dCgpLmVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlRGF0ZShkYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLnZhbHVlKCkuZmlsdGVyKChkKSA9PiBkLmdldFRpbWUoKSAhPT0gZGF0ZS5nZXRUaW1lKCkpO1xuICAgIHRoaXMub25EYXRlU2VsZWN0ZWQoZmlsdGVyZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGF0ZVNlbGVjdGVkKGRhdGU6IERhdGUgfCBEYXRlW10gfCBudWxsKSB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMubW9kZSgpO1xuICAgIGNvbnN0IGRhdGVzID0gdG9EYXRlQXJyYXkoZGF0ZSkuc29ydChjb21wYXJlRGF0ZXMpO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKGRhdGVzKTtcbiAgICB0aGlzLiNvbkNoYW5nZShkYXRlc1RvT3V0cHV0VmFsdWUoZGF0ZXMsIG1vZGUpKTtcblxuICAgIGlmIChtb2RlID09PSAnc2luZ2xlJyB8fCBtb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLiNjbG9zZUNhbGVuZGFyKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBvcG92ZXJUcmlnZ2VyKCkuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMuaW5wdXQoKS5jb250cm9sPy5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmlucHV0KCkudXBkYXRlRXJyb3JBdHRyaWJ1dGUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Qb3BvdmVyT3BlbkNoYW5nZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAoIWlzT3Blbikge1xuICAgICAgdGhpcy5pbnB1dCgpLmNvbnRyb2w/Lm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuaW5wdXQoKS51cGRhdGVFcnJvckF0dHJpYnV0ZSgpO1xuICAgIH1cbiAgfVxuXG4gICNjbG9zZUNhbGVuZGFyKCkge1xuICAgIGlmICh0aGlzLnBvcG92ZXJUcmlnZ2VyKCkuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMucG9wb3ZlclRyaWdnZXIoKS5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMucG9wb3ZlclRyaWdnZXIoKS50b2dnbGVQb3BvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IERhdGVbXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlLnNldCh0b0RhdGVBcnJheSh2YWx1ZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBEYXRlIHwgRGF0ZVtdIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICBuZHdJbnB1dFxuICBbdmFsdWVdPVwic2hvd1RhZ3MoKSA/ICcnIDogZm9ybWF0dGVkVmFsdWUoKVwiXG4gIChibHVyKT1cIm9uRGF0ZUlucHV0KCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgW21pbl09XCJtaW5EYXRlKClcIlxuICBbbWF4XT1cIm1heERhdGUoKVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4vPlxuXG48YnV0dG9uXG4gIG5kd0J1dHRvblxuICBjbGFzcz1cImNhbGVuZGFyLWJ1dHRvblwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBleHRyYS1zbWFsbFxuICB0ZXJ0aWFyeVxuICBbbmR3UG9wb3ZlclRyaWdnZXJdPVwiY2FsZW5kYXJUZW1wbGF0ZVwiXG4gIFt0b2dnbGVPbkNsaWNrXT1cInRydWVcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wZW5DYWxlbmRhckxhYmVsKClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIChpc09wZW5DaGFuZ2UpPVwib25Qb3BvdmVyT3BlbkNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgPG5kdy1pY29uPmNhbGVuZGFyX21vbnRoPC9uZHctaWNvbj5cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI2NhbGVuZGFyVGVtcGxhdGU+XG4gIDxuZHctY2FsZW5kYXJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbbW9kZV09XCJtb2RlKClcIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGUoKVwiXG4gICAgW21heERhdGVdPVwibWF4RGF0ZSgpXCJcbiAgICBbc3RhcnRBdF09XCJzdGFydEF0KClcIlxuICAgIFtkYXRlRW5hYmxlZEZpbHRlcl09XCJkYXRlRW5hYmxlZEZpbHRlcigpXCJcbiAgICBbZGF0ZVdpdGhJbmRpY2F0b3JGaWx0ZXJdPVwiZGF0ZVdpdGhJbmRpY2F0b3JGaWx0ZXIoKVwiXG4gICAgW2VsZXZhdGVkXT1cImZhbHNlXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbkBpZiAoc2hvd1RhZ3MoKSAmJiB2YWx1ZSgpLmxlbmd0aCA+IDApIHtcbiAgPGRpdiBjbGFzcz1cInRhZy1jb250YWluZXJcIj5cbiAgICBAZm9yICh2YWx1ZSBvZiB2YWx1ZSgpOyB0cmFjayB2YWx1ZSkge1xuICAgICAgPG5kdy10YWcgKGNsaWNrZWQpPVwicmVtb3ZlRGF0ZSh2YWx1ZSlcIj57eyB2YWx1ZSB8IGRhdGU6ICdkLU0teXl5eScgfX08L25kdy10YWc+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class ErrorComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: ErrorComponent, isStandalone: true, selector: \"ndw-error\", ngImport: i0, template: \"<ndw-icon>warning</ndw-icon>\\n<ng-content />\\n\", styles: [\":host{align-content:center;color:var(--ndw-color-critical-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;align-items:flex-start;word-break:break-word}ndw-icon{font-size:.875rem}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ErrorComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], selector: 'ndw-error', template: \"<ndw-icon>warning</ndw-icon>\\n<ng-content />\\n\", styles: [\":host{align-content:center;color:var(--ndw-color-critical-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;align-items:flex-start;word-break:break-word}ndw-icon{font-size:.875rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjOzJGQUFkLGNBQWMscUVDWDNCLGdEQUVBLG9WRElZLGFBQWE7OzJGQUtaLGNBQWM7a0JBUDFCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsQ0FBQyxZQUNkLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LWVycm9yJyxcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQge31cbiIsIjxuZHctaWNvbj53YXJuaW5nPC9uZHctaWNvbj5cbjxuZy1jb250ZW50IC8+XG4iXX0=","export const MIME_TYPE_MAP = {\n geojson: 'application/geo+json',\n tsv: 'text/tab-separated-values',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWltZS10eXBlLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2ZpbGUtdXBsb2FkL21pbWUtdHlwZS1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQjtJQUNuRCxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLEdBQUcsRUFBRSwyQkFBMkI7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBNSU1FX1RZUEVfTUFQOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBnZW9qc29uOiAnYXBwbGljYXRpb24vZ2VvK2pzb24nLFxuICB0c3Y6ICd0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzJyxcbn07XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, input, model, viewChild, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconComponent } from '../../icon';\nimport { MIME_TYPE_MAP } from './mime-type-map';\nimport * as i0 from \"@angular/core\";\nexport class FileUploadComponent {\n allowedFileTypeRegex = input(...(ngDevMode ? [undefined, { debugName: \"allowedFileTypeRegex\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n fileUploadText = input({\n dragText: 'Klik of sleep je bestanden hierheen',\n dragOverText: 'Laat los om te uploaden',\n }, ...(ngDevMode ? [{ debugName: \"fileUploadText\" }] : []));\n maxFileSizeInBytes = input(1000000, ...(ngDevMode ? [{ debugName: \"maxFileSizeInBytes\" }] : []));\n mimeTypeMap = input({}, ...(ngDevMode ? [{ debugName: \"mimeTypeMap\" }] : []));\n readonly = input(false, ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n uploadDate = input('', ...(ngDevMode ? [{ debugName: \"uploadDate\" }] : []));\n draggingOver = model(false, ...(ngDevMode ? [{ debugName: \"draggingOver\" }] : []));\n error = model(false, ...(ngDevMode ? [{ debugName: \"error\" }] : []));\n incorrectFileSize = model(false, ...(ngDevMode ? [{ debugName: \"incorrectFileSize\" }] : []));\n incorrectFileType = model(false, ...(ngDevMode ? [{ debugName: \"incorrectFileType\" }] : []));\n selectedFile = model(...(ngDevMode ? [undefined, { debugName: \"selectedFile\" }] : []));\n success = model(false, ...(ngDevMode ? [{ debugName: \"success\" }] : []));\n canEdit = computed(() => !this.selectedFile() && !this.disabled() && !this.readonly(), ...(ngDevMode ? [{ debugName: \"canEdit\" }] : []));\n fileInputElement = viewChild.required('fileInput');\n onKeyDown(event) {\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n const target = event.target;\n if (target.tagName.toLowerCase() === 'button') {\n return;\n }\n if (this.canEdit()) {\n this.fileInputElement().nativeElement.click();\n }\n }\n onClick() {\n if (this.canEdit()) {\n this.fileInputElement().nativeElement.click();\n }\n }\n onDragLeave(event) {\n event?.preventDefault();\n this.draggingOver.set(false);\n }\n onDragOver(event) {\n event?.preventDefault();\n if (this.canEdit()) {\n this.draggingOver.set(true);\n }\n }\n onDragEnter(event) {\n event?.preventDefault();\n if (this.canEdit()) {\n this.draggingOver.set(true);\n }\n }\n onDrop(event) {\n event.preventDefault();\n if (this.canEdit()) {\n const file = event.dataTransfer?.files[0];\n if (file) {\n this.selectFile(file);\n }\n this.draggingOver.set(false);\n }\n }\n onDownloadFileClick() {\n const selectedFile = this.selectedFile();\n if (!selectedFile) {\n return;\n }\n const url = window.URL.createObjectURL(selectedFile);\n const linkElement = document.createElement('a');\n linkElement.href = url;\n linkElement.download = selectedFile.name;\n document.body.appendChild(linkElement);\n linkElement.click();\n document.body.removeChild(linkElement);\n window.URL.revokeObjectURL(url);\n }\n onDeleteClick(event) {\n event?.stopPropagation();\n this.resetFile();\n this.incorrectFileType.set(false);\n this.incorrectFileSize.set(false);\n }\n displayText() {\n if (!this.selectedFile()) {\n return this.draggingOver()\n ? this.fileUploadText().dragOverText\n : this.fileUploadText().dragText;\n }\n else {\n return '';\n }\n }\n onFileSelected(event) {\n if (this.canEdit()) {\n const inputElement = event.target;\n if (inputElement.files) {\n const file = inputElement.files[0];\n this.selectFile(file);\n }\n }\n }\n writeValue(value) {\n this.selectedFile.set(value);\n }\n registerOnChange(fn) {\n this.selectedFile.subscribe(fn);\n }\n registerOnTouched() {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n selectFile(file) {\n if (!file) {\n return;\n }\n file = this.ensureFileType(file);\n if (!this.correctFileType(file.type)) {\n this.resetFile();\n this.incorrectFileSize.set(false);\n this.incorrectFileType.set(true);\n return;\n }\n if (!this.correctFileSize(file.size)) {\n this.resetFile();\n this.incorrectFileType.set(false);\n this.incorrectFileSize.set(true);\n return;\n }\n this.incorrectFileSize.set(false);\n this.incorrectFileType.set(false);\n this.selectedFile.set(file);\n }\n resetFile() {\n this.selectedFile.set(null);\n this.fileInputElement().nativeElement.value = '';\n }\n correctFileSize(fileSize) {\n return this.maxFileSizeInBytes() > fileSize;\n }\n correctFileType(fileType) {\n return this.allowedFileTypeRegex()?.test(fileType) ? true : false;\n }\n /**\n * Ensures that the provided File has a valid MIME type.\n *\n * NOTE: Some file extensions are not automatically mapped to a valid MIME type by the operating system.\n * In such cases, the MIME_TYPE_MAP in combination with the mimeTypeMap input is used to assign the correct MIME type.\n */\n ensureFileType(file) {\n if (file.type?.trim()) {\n return file;\n }\n const nameParts = file.name.split('.');\n if (nameParts.length < 2) {\n console.warn(`Unable to determine MIME type for \"${file.name}\". No file extension detected.`);\n return file;\n }\n const extension = nameParts.pop()?.toLowerCase();\n const combinedMimeTypeMap = { ...MIME_TYPE_MAP, ...this.mimeTypeMap() };\n const mimeType = extension && combinedMimeTypeMap[extension];\n if (mimeType) {\n return new File([file], file.name, { type: mimeType, lastModified: file.lastModified });\n }\n console.warn(`Unable to determine MIME type for \"${file.name}\". Unrecognized file extension \"${extension}\".`);\n return file;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: FileUploadComponent, isStandalone: true, selector: \"ndw-file-upload\", inputs: { allowedFileTypeRegex: { classPropertyName: \"allowedFileTypeRegex\", publicName: \"allowedFileTypeRegex\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, fileUploadText: { classPropertyName: \"fileUploadText\", publicName: \"fileUploadText\", isSignal: true, isRequired: false, transformFunction: null }, maxFileSizeInBytes: { classPropertyName: \"maxFileSizeInBytes\", publicName: \"maxFileSizeInBytes\", isSignal: true, isRequired: false, transformFunction: null }, mimeTypeMap: { classPropertyName: \"mimeTypeMap\", publicName: \"mimeTypeMap\", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, uploadDate: { classPropertyName: \"uploadDate\", publicName: \"uploadDate\", isSignal: true, isRequired: false, transformFunction: null }, draggingOver: { classPropertyName: \"draggingOver\", publicName: \"draggingOver\", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: \"error\", publicName: \"error\", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileSize: { classPropertyName: \"incorrectFileSize\", publicName: \"incorrectFileSize\", isSignal: true, isRequired: false, transformFunction: null }, incorrectFileType: { classPropertyName: \"incorrectFileType\", publicName: \"incorrectFileType\", isSignal: true, isRequired: false, transformFunction: null }, selectedFile: { classPropertyName: \"selectedFile\", publicName: \"selectedFile\", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: \"success\", publicName: \"success\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: \"disabledChange\", draggingOver: \"draggingOverChange\", error: \"errorChange\", incorrectFileSize: \"incorrectFileSizeChange\", incorrectFileType: \"incorrectFileTypeChange\", selectedFile: \"selectedFileChange\", success: \"successChange\" }, host: { listeners: { \"click\": \"onClick()\", \"dragenter\": \"onDragEnter($event)\", \"dragleave\": \"onDragLeave($event)\", \"dragover\": \"onDragOver($event)\", \"drop\": \"onDrop($event)\", \"keydown\": \"onKeyDown($event)\" }, properties: { \"attr.tabindex\": \"!this.canEdit() ? -1 : 0\", \"class.disabled\": \"disabled()\", \"class.dragging\": \"draggingOver()\", \"class.error\": \"error()\", \"class.file-selected\": \"!!selectedFile()\", \"class.readonly\": \"readonly()\", \"class.success\": \"success()\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileUploadComponent,\n multi: true,\n },\n ], 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\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FileUploadComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[attr.tabindex]': '!this.canEdit() ? -1 : 0',\n '[class.disabled]': 'disabled()',\n '[class.dragging]': 'draggingOver()',\n '[class.error]': 'error()',\n '[class.file-selected]': '!!selectedFile()',\n '[class.readonly]': 'readonly()',\n '[class.success]': 'success()',\n '(click)': 'onClick()',\n '(dragenter)': 'onDragEnter($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(dragover)': 'onDragOver($event)',\n '(drop)': 'onDrop($event)',\n '(keydown)': 'onKeyDown($event)',\n }, imports: [IconComponent], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileUploadComponent,\n multi: true,\n },\n ], selector: 'ndw-file-upload', 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\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUErQmhELE1BQU0sT0FBTyxtQkFBbUI7SUFDZCxvQkFBb0IsR0FBRyxLQUFLLDBFQUFVLENBQUM7SUFDdkMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDeEIsY0FBYyxHQUFHLEtBQUssQ0FBaUI7UUFDckQsUUFBUSxFQUFFLHFDQUFxQztRQUMvQyxZQUFZLEVBQUUseUJBQXlCO0tBQ3hDLDBEQUFDLENBQUM7SUFDYSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsT0FBTyw4REFBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQXlCLEVBQUUsdURBQUMsQ0FBQztJQUNoRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUN4QixVQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsc0RBQUMsQ0FBQztJQUV2QixZQUFZLEdB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O3dCQUNoQyxpQkFBaUIsRUFBRSxXQUFXO3dCQUM5QixTQUFTLEVBQUUsV0FBVzt3QkFDdEIsYUFBYSxFQUFFLHFCQUFxQjt3QkFDcEMsYUFBYSxFQUFFLHFCQUFxQjt3QkFDcEMsWUFBWSxFQUFFLG9CQUFvQjt3QkFDbEMsUUFBUSxFQUFFLGdCQUFnQjt3QkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtxQkFDakMsV0FDUSxDQUFDLGFBQWEsQ0FBQyxhQUNiO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixZQUNTLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcblxuaW1wb3J0IHsgRmlsZVVwbG9hZFRleHQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLXRleHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1JTUVfVFlQRV9NQVAgfSBmcm9tICcuL21pbWUtdHlwZS1tYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJyF0aGlzLmNhbkVkaXQoKSA/IC0xIDogMCcsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5kcmFnZ2luZ10nOiAnZHJhZ2dpbmdPdmVyKCknLFxuICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yKCknLFxuICAgICdbY2xhc3MuZmlsZS1zZWxlY3RlZF0nOiAnISFzZWxlY3RlZEZpbGUoKScsXG4gICAgJ1tjbGFzcy5yZWFkb25seV0nOiAncmVhZG9ubHkoKScsXG4gICAgJ1tjbGFzcy5zdWNjZXNzXSc6ICdzdWNjZXNzKCknLFxuICAgICcoY2xpY2spJzogJ29uQ2xpY2soKScsXG4gICAgJyhkcmFnZW50ZXIpJzogJ29uRHJhZ0VudGVyKCRldmVudCknLFxuICAgICcoZHJhZ2xlYXZlKSc6ICdvbkRyYWdMZWF2ZSgkZXZlbnQpJyxcbiAgICAnKGRyYWdvdmVyKSc6ICdvbkRyYWdPdmVyKCRldmVudCknLFxuICAgICcoZHJvcCknOiAnb25Ecm9wKCRldmVudCknLFxuICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknLFxuICB9LFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1maWxlLXVwbG9hZCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyByZWFkb25seSBhbGxvd2VkRmlsZVR5cGVSZWdleCA9IGlucHV0PFJlZ0V4cD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZVVwbG9hZFRleHQgPSBpbnB1dDxGaWxlVXBsb2FkVGV4dD4oe1xuICAgIGRyYWdUZXh0OiAnS2xpayBvZiBzbGVlcCBqZSBiZXN0YW5kZW4gaGllcmhlZW4nLFxuICAgIGRyYWdPdmVyVGV4dDogJ0xhYXQgbG9zIG9tIHRlIHVwbG9hZGVuJyxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBtYXhGaWxlU2l6ZUluQnl0ZXMgPSBpbnB1dCgxMDAwMDAwKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pbWVUeXBlTWFwID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oe30pO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSB1cGxvYWREYXRlID0gaW5wdXQoJycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBkcmFnZ2luZ092ZXIgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvciA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGluY29ycmVjdEZpbGVTaXplID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb3JyZWN0RmlsZVR5cGUgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEZpbGUgPSBtb2RlbDxGaWxlIHwgbnVsbD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3MgPSBtb2RlbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYW5FZGl0ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gIXRoaXMuc2VsZWN0ZWRGaWxlKCkgJiYgIXRoaXMuZGlzYWJsZWQoKSAmJiAhdGhpcy5yZWFkb25seSgpLFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBmaWxlSW5wdXRFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdmaWxlSW5wdXQnKTtcblxuICBwdWJsaWMgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ0VudGVyJyAmJiBldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2J1dHRvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0RWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0RWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZHJhZ2dpbmdPdmVyLnNldChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICB0aGlzLmRyYWdnaW5nT3Zlci5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgIHRoaXMuZHJhZ2dpbmdPdmVyLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmNhbkVkaXQoKSkge1xuICAgICAgY29uc3QgZmlsZTogRmlsZSB8IHVuZGVmaW5lZCA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXNbMF07XG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICB0aGlzLnNlbGVjdEZpbGUoZmlsZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmRyYWdnaW5nT3Zlci5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRvd25sb2FkRmlsZUNsaWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsZSA9IHRoaXMuc2VsZWN0ZWRGaWxlKCk7XG4gICAgaWYgKCFzZWxlY3RlZEZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChzZWxlY3RlZEZpbGUpO1xuICAgIGNvbnN0IGxpbmtFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmtFbGVtZW50LmhyZWYgPSB1cmw7XG4gICAgbGlua0VsZW1lbnQuZG93bmxvYWQgPSBzZWxlY3RlZEZpbGUubmFtZTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmtFbGVtZW50KTtcbiAgICBsaW5rRWxlbWVudC5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGlua0VsZW1lbnQpO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5yZXNldEZpbGUoKTtcbiAgICB0aGlzLmluY29ycmVjdEZpbGVUeXBlLnNldChmYWxzZSk7XG4gICAgdGhpcy5pbmNvcnJlY3RGaWxlU2l6ZS5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmlsZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kcmFnZ2luZ092ZXIoKVxuICAgICAgICA/IHRoaXMuZmlsZVVwbG9hZFRleHQoKS5kcmFnT3ZlclRleHRcbiAgICAgICAgOiB0aGlzLmZpbGVVcGxvYWRUZXh0KCkuZHJhZ1RleHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGlmIChpbnB1dEVsZW1lbnQuZmlsZXMpIHtcbiAgICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGlucHV0RWxlbWVudC5maWxlc1swXTtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IEZpbGUgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpbGUgPSB0aGlzLmVuc3VyZUZpbGVUeXBlKGZpbGUpO1xuICAgIGlmICghdGhpcy5jb3JyZWN0RmlsZVR5cGUoZmlsZS50eXBlKSkge1xuICAgICAgdGhpcy5yZXNldEZpbGUoKTtcbiAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVNpemUuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVR5cGUuc2V0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jb3JyZWN0RmlsZVNpemUoZmlsZS5zaXplKSkge1xuICAgICAgdGhpcy5yZXNldEZpbGUoKTtcbiAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVR5cGUuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaW5jb3JyZWN0RmlsZVNpemUuc2V0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5jb3JyZWN0RmlsZVNpemUuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmluY29ycmVjdEZpbGVUeXBlLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQoZmlsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmlsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQobnVsbCk7XG4gICAgdGhpcy5maWxlSW5wdXRFbGVtZW50KCkubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3JyZWN0RmlsZVNpemUoZmlsZVNpemU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1heEZpbGVTaXplSW5CeXRlcygpID4gZmlsZVNpemU7XG4gIH1cblxuICBwcml2YXRlIGNvcnJlY3RGaWxlVHlwZShmaWxlVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dlZEZpbGVUeXBlUmVnZXgoKT8udGVzdChmaWxlVHlwZSkgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGF0IHRoZSBwcm92aWRlZCBGaWxlIGhhcyBhIHZhbGlkIE1JTUUgdHlwZS5cbiAgICpcbiAgICogTk9URTogU29tZSBmaWxlIGV4dGVuc2lvbnMgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IG1hcHBlZCB0byBhIHZhbGlkIE1JTUUgdHlwZSBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbS5cbiAgICogSW4gc3VjaCBjYXNlcywgdGhlIE1JTUVfVFlQRV9NQVAgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgbWltZVR5cGVNYXAgaW5wdXQgaXMgdXNlZCB0byBhc3NpZ24gdGhlIGNvcnJlY3QgTUlNRSB0eXBlLlxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVGaWxlVHlwZShmaWxlOiBGaWxlKTogRmlsZSB7XG4gICAgaWYgKGZpbGUudHlwZT8udHJpbSgpKSB7XG4gICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICBpZiAobmFtZVBhcnRzLmxlbmd0aCA8IDIpIHtcbiAgICAgIGNvbnNvbGUud2FybihgVW5hYmxlIHRvIGRldGVybWluZSBNSU1FIHR5cGUgZm9yIFwiJHtmaWxlLm5hbWV9XCIuIE5vIGZpbGUgZXh0ZW5zaW9uIGRldGVjdGVkLmApO1xuICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gbmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGNvbWJpbmVkTWltZVR5cGVNYXAgPSB7IC4uLk1JTUVfVFlQRV9NQVAsIC4uLnRoaXMubWltZVR5cGVNYXAoKSB9O1xuICAgIGNvbnN0IG1pbWVUeXBlID0gZXh0ZW5zaW9uICYmIGNvbWJpbmVkTWltZVR5cGVNYXBbZXh0ZW5zaW9uXTtcbiAgICBpZiAobWltZVR5cGUpIHtcbiAgICAgIHJldHVybiBuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwgeyB0eXBlOiBtaW1lVHlwZSwgbGFzdE1vZGlmaWVkOiBmaWxlLmxhc3RNb2RpZmllZCB9KTtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgVW5hYmxlIHRvIGRldGVybWluZSBNSU1FIHR5cGUgZm9yIFwiJHtmaWxlLm5hbWV9XCIuIFVucmVjb2duaXplZCBmaWxlIGV4dGVuc2lvbiBcIiR7ZXh0ZW5zaW9ufVwiLmAsXG4gICAgKTtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxufVxuIiwiQGlmICghZHJhZ2dpbmdPdmVyKCkgJiYgIXNlbGVjdGVkRmlsZSgpKSB7XG4gIDxuZHctaWNvbj5jbG91ZF91cGxvYWQ8L25kdy1pY29uPlxufSBAZWxzZSBpZiAoZHJhZ2dpbmdPdmVyKCkgJiYgIXNlbGVjdGVkRmlsZSgpKSB7XG4gIDxuZHctaWNvbj5wYWdlbGVzczwvbmR3LWljb24+XG59XG5cbnt7IGRpc3BsYXlUZXh0KCkgfX1cblxuQGlmIChzZWxlY3RlZEZpbGUoKSkge1xuICA8ZGl2IGNsYXNzPVwiZmlsZS1uYW1lXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJmaWxlLW5hbWUtdGV4dFwiXG4gICAgICAoY2xpY2spPVwib25Eb3dubG9hZEZpbGVDbGljaygpXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRG93bmxvYWRGaWxlQ2xpY2soKVwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWRGaWxlKCk/Lm5hbWUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRlbGV0ZS1pY29uXCI+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKCRldmVudClcIiAoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZUNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPG5kdy1pY29uPmRlbGV0ZTwvbmR3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHAgY2xhc3M9XCJmaWxlLWRhdGVcIj5cbiAgICB7eyB1cGxvYWREYXRlKCkgfX1cbiAgPC9wPlxufVxuXG48aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGhpZGRlbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIiAvPlxuIl19","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TooltipComponent {\n text = input.required(...(ngDevMode ? [{ debugName: \"text\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: TooltipComponent, isStandalone: true, selector: \"ndw-tooltip\", inputs: { text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { \"role\": \"tooltip\" } }, ngImport: i0, template: \"{{ text() }}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;animation:.3s fadeIn;background-color:var(--ndw-color-grey-700);border-radius:var(--ndw-border-radius-sm);box-shadow:0 0 var(--ndw-border-size-md) 0 var(--ndw-alpha-white-040);color:var(--ndw-color-white);display:inline-block;max-width:18.75rem;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-2xs) var(--ndw-spacing-3xs);position:relative;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TooltipComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'tooltip',\n }, selector: 'ndw-tooltip', template: \"{{ text() }}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;animation:.3s fadeIn;background-color:var(--ndw-color-grey-700);border-radius:var(--ndw-border-radius-sm);box-shadow:0 0 var(--ndw-border-size-md) 0 var(--ndw-alpha-white-040);color:var(--ndw-color-white);display:inline-block;max-width:18.75rem;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-2xs) var(--ndw-spacing-3xs);position:relative;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFVLENBQUM7dUdBRDVCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLG9QQ1g3QixnQkFDQTs7MkZEVWEsZ0JBQWdCO2tCQVQ1QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLFlBQ1MsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICd0b29sdGlwJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICduZHctdG9vbHRpcCcsXG4gIHN0eWxlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IHtcbiAgcHVibGljIHRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG59XG4iLCJ7eyB0ZXh0KCkgfX1cbiJdfQ==","import { AriaDescriber } from '@angular/cdk/a11y';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, inject, input, } from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\nimport * as i0 from \"@angular/core\";\nexport class TooltipDirective {\n elementRef = inject(ElementRef);\n overlay = inject(Overlay);\n ariaDescriber = inject(AriaDescriber);\n text = input.required(...(ngDevMode ? [{ debugName: \"text\", alias: 'ndwTooltip' }] : [{ alias: 'ndwTooltip' }]));\n overlayRef = null;\n ngOnInit() {\n const positionStrategy = this.getFlexibleConnectedPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n this.updateAriaDescription();\n }\n ngOnChanges() {\n const positionStrategy = this.getFlexibleConnectedPositionStrategy();\n this.overlayRef?.updatePositionStrategy(positionStrategy);\n }\n ngOnDestroy() {\n this.hide();\n this.overlayRef?.dispose();\n }\n show() {\n if (!this.text().length || this.overlayRef === null || this.overlayRef.hasAttached()) {\n return;\n }\n const portal = new ComponentPortal(TooltipComponent);\n const tooltipRef = this.overlayRef.attach(portal);\n tooltipRef.instance.text = this.text;\n }\n hide() {\n this.overlayRef?.detach();\n }\n hideOnEscape() {\n this.hide();\n }\n updateAriaDescription() {\n const element = this.elementRef.nativeElement;\n this.ariaDescriber.describe(element, this.text());\n }\n getFlexibleConnectedPositionStrategy() {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: -8,\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: 8,\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.2.4\", type: TooltipDirective, isStandalone: true, selector: \"[ndwTooltip]\", inputs: { text: { classPropertyName: \"text\", publicName: \"ndwTooltip\", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { \"aria-hidden\": \"false\", \"tabindex\": \"0\" }, listeners: { \"focus\": \"show()\", \"blur\": \"hide()\", \"document:keydown.escape\": \"hideOnEscape()\", \"keydown.escape\": \"hide()\", \"mouseenter\": \"show()\", \"mouseleave\": \"hide()\" } }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TooltipDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[ndwTooltip]',\n host: {\n 'aria-hidden': 'false',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n '(document:keydown.escape)': 'hideOnEscape()',\n '(keydown.escape)': 'hide()',\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n tabindex: '0',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFxQyxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFldkQsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRWhELElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSx1Q0FBVyxLQUFLLEVBQUUsWUFBWSxPQUFyQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBQyxDQUFDO0lBRXRELFVBQVUsR0FBc0IsSUFBSSxDQUFDO0lBRXRDLFFBQVE7UUFDYixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRVMsSUFBSTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNyRixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQW1DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVTLElBQUk7UUFDWixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxvQ0FBb0M7UUFDMUMsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNoQixRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQzthQUNsRCxhQUFhLENBQUM7WUFDYjtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUMzRCxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNYLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUMzRCxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBdEVVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQWI1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLE9BQU87d0JBQ3RCLFNBQVMsRUFBRSxRQUFRO3dCQUNuQixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsMkJBQTJCLEVBQUUsZ0JBQWdCO3dCQUM3QyxrQkFBa0IsRUFBRSxRQUFRO3dCQUM1QixjQUFjLEVBQUUsUUFBUTt3QkFDeEIsY0FBYyxFQUFFLFFBQVE7d0JBQ3hCLFFBQVEsRUFBRSxHQUFHO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmR3VG9vbHRpcF0nLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtaGlkZGVuJzogJ2ZhbHNlJyxcbiAgICAnKGZvY3VzKSc6ICdzaG93KCknLFxuICAgICcoYmx1ciknOiAnaGlkZSgpJyxcbiAgICAnKGRvY3VtZW50OmtleWRvd24uZXNjYXBlKSc6ICdoaWRlT25Fc2NhcGUoKScsXG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnaGlkZSgpJyxcbiAgICAnKG1vdXNlZW50ZXIpJzogJ3Nob3coKScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdoaWRlKCknLFxuICAgIHRhYmluZGV4OiAnMCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXJpYURlc2NyaWJlciA9IGluamVjdChBcmlhRGVzY3JpYmVyKTtcblxuICBwdWJsaWMgdGV4dCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oeyBhbGlhczogJ25kd1Rvb2x0aXAnIH0pO1xuXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5nZXRGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3koKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHsgcG9zaXRpb25TdHJhdGVneSB9KTtcbiAgICB0aGlzLnVwZGF0ZUFyaWFEZXNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmdldEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSgpO1xuICAgIHRoaXMub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG93KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50ZXh0KCkubGVuZ3RoIHx8IHRoaXMub3ZlcmxheVJlZiA9PT0gbnVsbCB8fCB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9vbHRpcENvbXBvbmVudCk7XG4gICAgY29uc3QgdG9vbHRpcFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+ID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGV4dCA9IHRoaXMudGV4dDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGlkZU9uRXNjYXBlKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBcmlhRGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuYXJpYURlc2NyaWJlci5kZXNjcmliZShlbGVtZW50LCB0aGlzLnRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSgpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldFg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiAtIDE2LFxuICAgICAgICAgIG9mZnNldFk6IC04LFxuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb2Zmc2V0WDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLyAyIC0gMTYsXG4gICAgICAgICAgb2Zmc2V0WTogOCxcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICB9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class InputButtonComponent {\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n input = input(...(ngDevMode ? [undefined, { debugName: \"input\" }] : []));\n ariaLabel = input('', ...(ngDevMode ? [{ debugName: \"ariaLabel\" }] : []));\n alternative = input(false, ...(ngDevMode ? [{ debugName: \"alternative\" }] : []));\n buttonClicked = output();\n onClick() {\n this.input()?.element?.focus();\n this.buttonClicked.emit();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: InputButtonComponent, isStandalone: true, selector: \"ndw-input-button\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, input: { classPropertyName: \"input\", publicName: \"input\", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: true, isRequired: false, transformFunction: null }, alternative: { classPropertyName: \"alternative\", publicName: \"alternative\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: \"buttonClicked\" }, ngImport: i0, template: \"<button\\n ndwButton\\n extra-small\\n tertiary\\n type=\\\"button\\\"\\n [attr.alternative]=\\\"alternative() ? true : null\\\"\\n class=\\\"input-icon\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onClick()\\\"\\n>\\n <span class=\\\"sr-only\\\">{{ ariaLabel() }}</span>\\n <ndw-icon>\\n <ng-content />\\n </ndw-icon>\\n</button>\\n\", dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputButtonComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], selector: 'ndw-input-button', template: \"<button\\n ndwButton\\n extra-small\\n tertiary\\n type=\\\"button\\\"\\n [attr.alternative]=\\\"alternative() ? true : null\\\"\\n class=\\\"input-icon\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onClick()\\\"\\n>\\n <span class=\\\"sr-only\\\">{{ ariaLabel() }}</span>\\n <ndw-icon>\\n <ng-content />\\n </ndw-icon>\\n</button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2lucHV0LWJ1dHRvbi9pbnB1dC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtYnV0dG9uL2lucHV0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUNmLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLDJEQUFrQixDQUFDO0lBQ2hDLFNBQVMsR0FBRyxLQUFLLENBQVMsRUFBRSxxREFBQyxDQUFDO0lBQzlCLFdBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyx1REFBQyxDQUFDO0lBRXBDLGFBQWEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUUvQixPQUFPO1FBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7dUdBWFUsb0JBQW9COzJGQUFwQixvQkFBb0IsNG9CQ1hqQywrVUFlQSw0Q0RSWSxhQUFhOzsyRkFJWixvQkFBb0I7a0JBTmhDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsQ0FBQyxZQUNkLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1pbnB1dC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRCdXR0b25Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBpbnB1dCA9IGlucHV0PElucHV0RGlyZWN0aXZlPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBhbHRlcm5hdGl2ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uQ2xpY2tlZCA9IG91dHB1dCgpO1xuXG4gIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQoKT8uZWxlbWVudD8uZm9jdXMoKTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIG5kd0J1dHRvblxuICBleHRyYS1zbWFsbFxuICB0ZXJ0aWFyeVxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2F0dHIuYWx0ZXJuYXRpdmVdPVwiYWx0ZXJuYXRpdmUoKSA/IHRydWUgOiBudWxsXCJcbiAgY2xhc3M9XCJpbnB1dC1pY29uXCJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+e3sgYXJpYUxhYmVsKCkgfX08L3NwYW4+XG4gIDxuZHctaWNvbj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L25kdy1pY29uPlxuPC9idXR0b24+XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output, signal, } from '@angular/core';\nimport { InputButtonComponent } from '../input-button';\nimport * as i0 from \"@angular/core\";\nexport class ClearSearchButtonComponent {\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n input = input(...(ngDevMode ? [undefined, { debugName: \"input\" }] : []));\n ariaLabel = input('', ...(ngDevMode ? [{ debugName: \"ariaLabel\" }] : []));\n buttonClicked = output();\n inputValue = signal('', ...(ngDevMode ? [{ debugName: \"inputValue\" }] : []));\n onInput = () => {\n this.inputValue.set(this.input()?.element.value ?? '');\n };\n ngOnInit() {\n this.onInput();\n this.input()?.element.addEventListener('input', this.onInput);\n }\n ngOnDestroy() {\n this.input()?.element.removeEventListener('input', this.onInput);\n }\n clear() {\n const inputElement = this.input()?.element;\n if (!inputElement) {\n return;\n }\n inputElement.value = '';\n inputElement.dispatchEvent(new Event('input'));\n this.inputValue.set('');\n this.buttonClicked.emit();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ClearSearchButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: ClearSearchButtonComponent, isStandalone: true, selector: \"ndw-clear-search-button\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, input: { classPropertyName: \"input\", publicName: \"input\", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: \"buttonClicked\" }, ngImport: i0, template: \"@if (inputValue() !== '') {\\n <ndw-input-button [alternative]=\\\"true\\\" (buttonClicked)=\\\"clear()\\\">close</ndw-input-button>\\n}\\n\", styles: [\":host:empty{display:none}\\n\"], dependencies: [{ kind: \"component\", type: InputButtonComponent, selector: \"ndw-input-button\", inputs: [\"disabled\", \"input\", \"ariaLabel\", \"alternative\"], outputs: [\"buttonClicked\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ClearSearchButtonComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [InputButtonComponent], selector: 'ndw-clear-search-button', template: \"@if (inputValue() !== '') {\\n <ndw-input-button [alternative]=\\\"true\\\" (buttonClicked)=\\\"clear()\\\">close</ndw-input-button>\\n}\\n\", styles: [\":host:empty{display:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItc2VhcmNoLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9jbGVhci1zZWFyY2gtYnV0dG9uL2NsZWFyLXNlYXJjaC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2xlYXItc2VhcmNoLWJ1dHRvbi9jbGVhci1zZWFyY2gtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN2RCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLDJEQUFrQixDQUFDO0lBQ2hDLFNBQVMsR0FBRyxLQUFLLENBQVMsRUFBRSxxREFBQyxDQUFDO0lBRTlCLGFBQWEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUU1QixVQUFVLEdBQUcsTUFBTSxDQUFTLEVBQUUsc0RBQUMsQ0FBQztJQUVsQyxPQUFPLEdBQUcsR0FBUyxFQUFFO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQztJQUVLLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFUyxLQUFLO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFFRCxZQUFZLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN4QixZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO3VHQWhDVSwwQkFBMEI7MkZBQTFCLDBCQUEwQix5Z0JDcEJ2QyxtSUFHQSxxRkRZWSxvQkFBb0I7OzJGQUtuQiwwQkFBMEI7a0JBUHRDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG9CQUFvQixDQUFDLFlBQ3JCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uL2lucHV0JztcbmltcG9ydCB7IElucHV0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSW5wdXRCdXR0b25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1jbGVhci1zZWFyY2gtYnV0dG9uJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2xlYXItc2VhcmNoLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2xlYXItc2VhcmNoLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENsZWFyU2VhcmNoQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBpbnB1dCA9IGlucHV0PElucHV0RGlyZWN0aXZlPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJ1dHRvbkNsaWNrZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRWYWx1ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9uSW5wdXQgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5pbnB1dFZhbHVlLnNldCh0aGlzLmlucHV0KCk/LmVsZW1lbnQudmFsdWUgPz8gJycpO1xuICB9O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uSW5wdXQoKTtcbiAgICB0aGlzLmlucHV0KCk/LmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB0aGlzLm9uSW5wdXQpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQoKT8uZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdpbnB1dCcsIHRoaXMub25JbnB1dCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYXIoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5pbnB1dCgpPy5lbGVtZW50O1xuICAgIGlmICghaW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaW5wdXRFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgaW5wdXRFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTtcbiAgICB0aGlzLmlucHV0VmFsdWUuc2V0KCcnKTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xuICB9XG59XG4iLCJAaWYgKGlucHV0VmFsdWUoKSAhPT0gJycpIHtcbiAgPG5kdy1pbnB1dC1idXR0b24gW2FsdGVybmF0aXZlXT1cInRydWVcIiAoYnV0dG9uQ2xpY2tlZCk9XCJjbGVhcigpXCI+Y2xvc2U8L25kdy1pbnB1dC1idXR0b24+XG59XG4iXX0=","export const INPUT_CONTAINER_CLASS = 'input-container';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSU5QVVRfQ09OVEFJTkVSX0NMQVNTID0gJ2lucHV0LWNvbnRhaW5lcic7XG4iXX0=","export var FormFieldElement;\n(function (FormFieldElement) {\n FormFieldElement[\"Dropdown\"] = \"ndw-dropdown\";\n FormFieldElement[\"Input\"] = \"input\";\n FormFieldElement[\"Select\"] = \"select\";\n FormFieldElement[\"Textarea\"] = \"textarea\";\n})(FormFieldElement || (FormFieldElement = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQiw2Q0FBeUIsQ0FBQTtJQUN6QixtQ0FBZSxDQUFBO0lBQ2YscUNBQWlCLENBQUE7SUFDakIseUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUxXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFLM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGb3JtRmllbGRFbGVtZW50IHtcbiAgRHJvcGRvd24gPSAnbmR3LWRyb3Bkb3duJyxcbiAgSW5wdXQgPSAnaW5wdXQnLFxuICBTZWxlY3QgPSAnc2VsZWN0JyxcbiAgVGV4dGFyZWEgPSAndGV4dGFyZWEnLFxufVxuXG5leHBvcnQgdHlwZSBDaGVja1R5cGUgPSAnY2hlY2tib3gnIHwgJ3JhZGlvJztcbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InfoComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: InfoComponent, isStandalone: true, selector: \"ndw-info\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{align-items:center;color:var(--ndw-color-grey-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);word-break:break-word}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InfoComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-info', template: \"<ng-content />\\n\", styles: [\":host{align-items:center;color:var(--ndw-color-grey-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbmZvL2luZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5mby9pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sT0FBTyxhQUFhO3VHQUFiLGFBQWE7MkZBQWIsYUFBYSxvRUNSMUIsa0JBQ0E7OzJGRE9hLGFBQWE7a0JBTnpCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmR3LWluZm8nLFxuICBzdHlsZVVybDogJy4vaW5mby5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb0NvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class InputIconComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: InputIconComponent, isStandalone: true, selector: \"ndw-input-icon\", ngImport: i0, template: \"<ndw-icon class=\\\"input-icon\\\">\\n <ng-content />\\n</ndw-icon>\\n\", styles: [\":host{height:var(--ndw-font-size-lg)}.input-icon{font-size:var(--ndw-font-size-lg)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: InputIconComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], selector: 'ndw-input-icon', template: \"<ndw-icon class=\\\"input-icon\\\">\\n <ng-content />\\n</ndw-icon>\\n\", styles: [\":host{height:var(--ndw-font-size-lg)}.input-icon{font-size:var(--ndw-font-size-lg)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC1pY29uL2lucHV0LWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtaWNvbi9pbnB1dC1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLGtCQUFrQjt1R0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0IsMEVDWC9CLGtFQUdBLCtJREdZLGFBQWE7OzJGQUtaLGtCQUFrQjtrQkFQOUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxDQUFDLFlBQ2QsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1pbnB1dC1pY29uJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtaWNvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0SWNvbkNvbXBvbmVudCB7fVxuIiwiPG5kdy1pY29uIGNsYXNzPVwiaW5wdXQtaWNvblwiPlxuICA8bmctY29udGVudCAvPlxuPC9uZHctaWNvbj5cbiJdfQ==","import { Directive, ElementRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ButtonDirective {\n elementRef = inject(ElementRef);\n get element() {\n return this.elementRef.nativeElement;\n }\n ngOnInit() {\n // If the text content of a child node is longer than 35 characters, truncate it\n if (!this.element.childNodes.length) {\n return;\n }\n this.element.childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (!node.textContent) {\n return;\n }\n const text = node.textContent.trim();\n if (text.length > 35) {\n node.textContent = text.slice(0, 35) + '...';\n }\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: ButtonDirective, isStandalone: true, selector: \"[ndwButton]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ButtonDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[ndwButton]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RFLE1BQU0sT0FBTyxlQUFlO0lBQ1QsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWtDLENBQUM7SUFDNUQsQ0FBQztJQUVNLFFBQVE7UUFDYixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDdEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQy9DLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXpCVSxlQUFlOzJGQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmR3QnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKTogSFRNTEJ1dHRvbkVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgdGV4dCBjb250ZW50IG9mIGEgY2hpbGQgbm9kZSBpcyBsb25nZXIgdGhhbiAzNSBjaGFyYWN0ZXJzLCB0cnVuY2F0ZSBpdFxuICAgIGlmICghdGhpcy5lbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50LmNoaWxkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAgIGlmICghbm9kZS50ZXh0Q29udGVudCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHQgPSBub2RlLnRleHRDb250ZW50LnRyaW0oKTtcbiAgICAgICAgaWYgKHRleHQubGVuZ3RoID4gMzUpIHtcbiAgICAgICAgICBub2RlLnRleHRDb250ZW50ID0gdGV4dC5zbGljZSgwLCAzNSkgKyAnLi4uJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class OptionComponent {\n value = input.required(...(ngDevMode ? [{ debugName: \"value\" }] : []));\n label = input.required(...(ngDevMode ? [{ debugName: \"label\" }] : []));\n description = input(...(ngDevMode ? [undefined, { debugName: \"description\" }] : []));\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: OptionComponent, isStandalone: true, selector: \"ndw-option\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: \"description\", publicName: \"description\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: OptionComponent, decorators: [{\n type: Component,\n args: [{\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-option',\n template: '',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL29wdGlvbi1ncm91cC9vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xRSxNQUFNLE9BQU8sZUFBZTtJQUNuQixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQUUsQ0FBQztJQUN6QixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQVUsQ0FBQztJQUNqQyxXQUFXLEdBQUcsS0FBSyxpRUFBVSxDQUFDO0lBQzlCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO3VHQUxwQixlQUFlOzJGQUFmLGVBQWUsNHNCQUZoQixFQUFFOzsyRkFFRCxlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmR3LW9wdGlvbicsXG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uQ29tcG9uZW50IHtcbiAgcHVibGljIHZhbHVlID0gaW5wdXQucmVxdWlyZWQoKTtcbiAgcHVibGljIGxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgZGVzY3JpcHRpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xufVxuIl19","import { ChangeDetectionStrategy, Component, computed, contentChildren, inject, input, model, } from '@angular/core';\nimport { NgControl, Validators } from '@angular/forms';\nimport { ButtonDirective } from '../../button';\nimport { noop } from 'rxjs';\nimport { OptionComponent } from './option.component';\nimport * as i0 from \"@angular/core\";\nexport class OptionGroupComponent {\n ngControl = inject(NgControl, { optional: true });\n error = input(false, ...(ngDevMode ? [{ debugName: \"error\" }] : []));\n readonly = input(false, ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n fluid = input(false, ...(ngDevMode ? [{ debugName: \"fluid\" }] : []));\n fluidColumns = input(null, ...(ngDevMode ? [{ debugName: \"fluidColumns\" }] : []));\n mode = input('multiple', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n success = input(false, ...(ngDevMode ? [{ debugName: \"success\" }] : []));\n checkedValues = model([], ...(ngDevMode ? [{ debugName: \"checkedValues\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n fluidColumnStyle = computed(() => this.fluidColumns() ? `repeat(${this.fluidColumns()}, 1fr)` : null, ...(ngDevMode ? [{ debugName: \"fluidColumnStyle\" }] : []));\n children = contentChildren(OptionComponent, ...(ngDevMode ? [{ debugName: \"children\" }] : []));\n uuid = crypto.randomUUID();\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n get isRequiredOrHasRequiredValidator() {\n return this.required() || this.ngControl?.control?.hasValidator(Validators.required)\n ? true\n : null;\n }\n onChange = noop;\n toggleValue(value) {\n if (this.mode() === 'single') {\n this.checkedValues.set([value]);\n this.onChange(this.checkedValues());\n }\n else {\n const state = [...this.checkedValues()];\n const index = state.indexOf(value);\n if (index >= 0) {\n state.splice(index, 1);\n }\n else {\n state.push(value);\n }\n this.checkedValues.set(state);\n this.onChange(this.checkedValues());\n }\n }\n writeValue(value) {\n this.checkedValues.set(value ?? []);\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched() {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: OptionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: OptionGroupComponent, isStandalone: true, selector: \"ndw-option-group\", inputs: { error: { classPropertyName: \"error\", publicName: \"error\", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: \"fluid\", publicName: \"fluid\", isSignal: true, isRequired: false, transformFunction: null }, fluidColumns: { classPropertyName: \"fluidColumns\", publicName: \"fluidColumns\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: \"success\", publicName: \"success\", isSignal: true, isRequired: false, transformFunction: null }, checkedValues: { classPropertyName: \"checkedValues\", publicName: \"checkedValues\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedValues: \"checkedValuesChange\", disabled: \"disabledChange\" }, host: { properties: { \"attr.error\": \"error() || null\", \"attr.required\": \"isRequiredOrHasRequiredValidator\", \"attr.success\": \"success() || null\", \"class.grid-columns\": \"fluidColumns() !== null\", \"style.gridTemplateColumns\": \"fluidColumnStyle()\" } }, queries: [{ propertyName: \"children\", predicate: OptionComponent, isSignal: true }], ngImport: i0, template: \"@for (child of children(); track child.value()) {\\n <label\\n ndwButton\\n [class.fluid]=\\\"fluid() && fluidColumns() === null\\\"\\n [class.gridCell]=\\\"fluidColumns() !== null\\\"\\n [attr.disabled]=\\\"child.disabled() || disabled() || readonly() ? 'true' : null\\\"\\n [attr.secondary]=\\\"checkedValues().includes(child.value()) ? null : 'true'\\\"\\n [attr.aria-label]=\\\"child.description() ?? child.label()\\\"\\n >\\n <input\\n [type]=\\\"mode() === 'multiple' ? 'checkbox' : 'radio'\\\"\\n [name]=\\\"mode() === 'multiple' ? 'option-group-radio-' + uuid : null\\\"\\n [value]=\\\"child.value()\\\"\\n [disabled]=\\\"child.disabled() || disabled() || readonly()\\\"\\n [readonly]=\\\"readonly()\\\"\\n [checked]=\\\"checkedValues().includes(child.value())\\\"\\n (change)=\\\"toggleValue(child.value())\\\"\\n />\\n {{ child.label() }}\\n </label>\\n}\\n\", styles: [\":host{display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs)}:host.grid-columns{display:grid}:host .fluid{flex-grow:1;display:flex;justify-content:center}:host .gridCell{width:100%;display:flex;justify-content:center}:host input[type=checkbox],:host input[type=radio]{position:absolute;top:0;left:0;opacity:0}:host label[ndwButton]{background-color:var(--ndw-color-primary-500);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary-500);color:var(--ndw-color-white)}:host label[ndwButton]:hover,:host label[ndwButton]:active{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600);color:var(--ndw-color-white)}:host label[ndwButton]:focus-within{border-color:var(--ndw-color-secondary-500)}:host label[ndwButton][disabled],:host label[ndwButton][readonly]{background-color:var(--ndw-color-grey-300);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-gray-600)}:host label[ndwButton][secondary]{background-color:var(--ndw-color-white);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:hover{background-color:var(--ndw-color-primary-050);border-color:var(--ndw-color-primary-500);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:active,:host label[ndwButton][secondary]:focus-within{background-color:var(--ndw-color-primary-050);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:focus-within{border-color:var(--ndw-color-secondary-500)}:host label[ndwButton][secondary][disabled],:host label[ndwButton][secondary][readonly]{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-gray-400)}:host[error] label[ndwButton][secondary]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500);color:var(--ndw-color-gray-700)}:host[success] label[ndwButton][secondary]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500);color:var(--ndw-color-gray-700)}:host.ng-invalid label[ndwButton][secondary]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500);color:var(--ndw-color-gray-700)}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: OptionGroupComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[attr.error]': 'error() || null',\n '[attr.required]': 'isRequiredOrHasRequiredValidator',\n '[attr.success]': 'success() || null',\n '[class.grid-columns]': 'fluidColumns() !== null',\n '[style.gridTemplateColumns]': 'fluidColumnStyle()',\n }, imports: [ButtonDirective], selector: 'ndw-option-group', template: \"@for (child of children(); track child.value()) {\\n <label\\n ndwButton\\n [class.fluid]=\\\"fluid() && fluidColumns() === null\\\"\\n [class.gridCell]=\\\"fluidColumns() !== null\\\"\\n [attr.disabled]=\\\"child.disabled() || disabled() || readonly() ? 'true' : null\\\"\\n [attr.secondary]=\\\"checkedValues().includes(child.value()) ? null : 'true'\\\"\\n [attr.aria-label]=\\\"child.description() ?? child.label()\\\"\\n >\\n <input\\n [type]=\\\"mode() === 'multiple' ? 'checkbox' : 'radio'\\\"\\n [name]=\\\"mode() === 'multiple' ? 'option-group-radio-' + uuid : null\\\"\\n [value]=\\\"child.value()\\\"\\n [disabled]=\\\"child.disabled() || disabled() || readonly()\\\"\\n [readonly]=\\\"readonly()\\\"\\n [checked]=\\\"checkedValues().includes(child.value())\\\"\\n (change)=\\\"toggleValue(child.value())\\\"\\n />\\n {{ child.label() }}\\n </label>\\n}\\n\", styles: [\":host{display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs)}:host.grid-columns{display:grid}:host .fluid{flex-grow:1;display:flex;justify-content:center}:host .gridCell{width:100%;display:flex;justify-content:center}:host input[type=checkbox],:host input[type=radio]{position:absolute;top:0;left:0;opacity:0}:host label[ndwButton]{background-color:var(--ndw-color-primary-500);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary-500);color:var(--ndw-color-white)}:host label[ndwButton]:hover,:host label[ndwButton]:active{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600);color:var(--ndw-color-white)}:host label[ndwButton]:focus-within{border-color:var(--ndw-color-secondary-500)}:host label[ndwButton][disabled],:host label[ndwButton][readonly]{background-color:var(--ndw-color-grey-300);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-gray-600)}:host label[ndwButton][secondary]{background-color:var(--ndw-color-white);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:hover{background-color:var(--ndw-color-primary-050);border-color:var(--ndw-color-primary-500);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:active,:host label[ndwButton][secondary]:focus-within{background-color:var(--ndw-color-primary-050);color:var(--ndw-color-grey-700)}:host label[ndwButton][secondary]:focus-within{border-color:var(--ndw-color-secondary-500)}:host label[ndwButton][secondary][disabled],:host label[ndwButton][secondary][readonly]{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-gray-400)}:host[error] label[ndwButton][secondary]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500);color:var(--ndw-color-gray-700)}:host[success] label[ndwButton][secondary]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500);color:var(--ndw-color-gray-700)}:host.ng-invalid label[ndwButton][secondary]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500);color:var(--ndw-color-gray-700)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBZ0JyRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVuRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssaURBQUMsQ0FBQztJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssaURBQUMsQ0FBQztJQUNyQixZQUFZLEdBQUcsS0FBSyxDQUFnQixJQUFJLHdEQUFDLENBQUM7SUFDMUMsSUFBSSxHQUFHLEtBQUssQ0FBa0IsVUFBVSxnREFBQyxDQUFDO0lB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RUFBRSx5QkFBeUI7d0JBQ2pELDZCQUE2QixFQUFFLG9CQUFvQjtxQkFDcEQsV0FDUSxDQUFDLGVBQWUsQ0FBQyxZQUNoQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9idXR0b24nO1xuXG5pbXBvcnQgeyBub29wIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cE1vZGUgfSBmcm9tICcuL29wdGlvbi1ncm91cC5tb2RlbCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZXJyb3JdJzogJ2Vycm9yKCkgfHwgbnVsbCcsXG4gICAgJ1thdHRyLnJlcXVpcmVkXSc6ICdpc1JlcXVpcmVkT3JIYXNSZXF1aXJlZFZhbGlkYXRvcicsXG4gICAgJ1thdHRyLnN1Y2Nlc3NdJzogJ3N1Y2Nlc3MoKSB8fCBudWxsJyxcbiAgICAnW2NsYXNzLmdyaWQtY29sdW1uc10nOiAnZmx1aWRDb2x1bW5zKCkgIT09IG51bGwnLFxuICAgICdbc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1uc10nOiAnZmx1aWRDb2x1bW5TdHlsZSgpJyxcbiAgfSxcbiAgaW1wb3J0czogW0J1dHRvbkRpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnbmR3LW9wdGlvbi1ncm91cCcsXG4gIHN0eWxlVXJsczogWycuL29wdGlvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vb3B0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGZsdWlkID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmx1aWRDb2x1bW5zID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBtb2RlID0gaW5wdXQ8T3B0aW9uR3JvdXBNb2RlPignbXVsdGlwbGUnKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VjY2VzcyA9IGlucHV0KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tlZFZhbHVlcyA9IG1vZGVsPHVua25vd25bXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZsdWlkQ29sdW1uU3R5bGUgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuZmx1aWRDb2x1bW5zKCkgPyBgcmVwZWF0KCR7dGhpcy5mbHVpZENvbHVtbnMoKX0sIDFmcilgIDogbnVsbCxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2hpbGRyZW4gPSBjb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXVpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1JlcXVpcmVkT3JIYXNSZXF1aXJlZFZhbGlkYXRvcigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQoKSB8fCB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICA/IHRydWVcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogdW5rbm93bltdKSA9PiB2b2lkID0gbm9vcDtcblxuICBwcm90ZWN0ZWQgdG9nZ2xlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLmNoZWNrZWRWYWx1ZXMuc2V0KFt2YWx1ZV0pO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWRWYWx1ZXMoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gWy4uLnRoaXMuY2hlY2tlZFZhbHVlcygpXTtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuaW5kZXhPZih2YWx1ZSk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICBzdGF0ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUucHVzaCh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2hlY2tlZFZhbHVlcy5zZXQoc3RhdGUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWRWYWx1ZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZFZhbHVlcy5zZXQodmFsdWUgPz8gW10pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93bltdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xuICAgIC8vIG5vb3BcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgfVxufVxuIiwiQGZvciAoY2hpbGQgb2YgY2hpbGRyZW4oKTsgdHJhY2sgY2hpbGQudmFsdWUoKSkge1xuICA8bGFiZWxcbiAgICBuZHdCdXR0b25cbiAgICBbY2xhc3MuZmx1aWRdPVwiZmx1aWQoKSAmJiBmbHVpZENvbHVtbnMoKSA9PT0gbnVsbFwiXG4gICAgW2NsYXNzLmdyaWRDZWxsXT1cImZsdWlkQ29sdW1ucygpICE9PSBudWxsXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJjaGlsZC5kaXNhYmxlZCgpIHx8IGRpc2FibGVkKCkgfHwgcmVhZG9ubHkoKSA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLnNlY29uZGFyeV09XCJjaGVja2VkVmFsdWVzKCkuaW5jbHVkZXMoY2hpbGQudmFsdWUoKSkgPyBudWxsIDogJ3RydWUnXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNoaWxkLmRlc2NyaXB0aW9uKCkgPz8gY2hpbGQubGFiZWwoKVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIFt0eXBlXT1cIm1vZGUoKSA9PT0gJ211bHRpcGxlJyA/ICdjaGVja2JveCcgOiAncmFkaW8nXCJcbiAgICAgIFtuYW1lXT1cIm1vZGUoKSA9PT0gJ211bHRpcGxlJyA/ICdvcHRpb24tZ3JvdXAtcmFkaW8tJyArIHV1aWQgOiBudWxsXCJcbiAgICAgIFt2YWx1ZV09XCJjaGlsZC52YWx1ZSgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjaGlsZC5kaXNhYmxlZCgpIHx8IGRpc2FibGVkKCkgfHwgcmVhZG9ubHkoKVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgICBbY2hlY2tlZF09XCJjaGVja2VkVmFsdWVzKCkuaW5jbHVkZXMoY2hpbGQudmFsdWUoKSlcIlxuICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVWYWx1ZShjaGlsZC52YWx1ZSgpKVwiXG4gICAgLz5cbiAgICB7eyBjaGlsZC5sYWJlbCgpIH19XG4gIDwvbGFiZWw+XG59XG4iXX0=","export const minDateValidator = (min) => {\n return (control) => {\n const value = control.value;\n if (value && value < min) {\n return { minDate: { min } };\n }\n return null;\n };\n};\nexport const maxDateValidator = (max) => {\n return (control) => {\n const value = control.value;\n if (value && value > max) {\n return { maxDate: { max } };\n }\n return null;\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvbW9udGgtaW5wdXQvZGF0ZS12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUErQixDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNqQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBb0IsQ0FBQztRQUMzQyxJQUFJLEtBQUssSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQStCLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDbEUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFvQixDQUFDO1FBQzNDLElBQUksS0FBSyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IG1pbkRhdGVWYWxpZGF0b3I6IChtaW46IERhdGUpID0+IFZhbGlkYXRvckZuID0gKG1pbikgPT4ge1xuICByZXR1cm4gKGNvbnRyb2wpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgRGF0ZSB8IG51bGw7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlIDwgbWluKSB7XG4gICAgICByZXR1cm4geyBtaW5EYXRlOiB7IG1pbiB9IH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1heERhdGVWYWxpZGF0b3I6IChtYXg6IERhdGUpID0+IFZhbGlkYXRvckZuID0gKG1heCkgPT4ge1xuICByZXR1cm4gKGNvbnRyb2wpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgRGF0ZSB8IG51bGw7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlID4gbWF4KSB7XG4gICAgICByZXR1cm4geyBtYXhEYXRlOiB7IG1heCB9IH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xufTtcbiJdfQ==","export function createYearRange(minDate, maxDate) {\n const minYear = minDate.getFullYear();\n const maxYear = maxDate.getFullYear();\n const yearCount = maxYear - minYear + 1;\n return Array.from({ length: yearCount }, (_, index) => minYear + index);\n}\nexport function createMonthOptions(monthLabels, year, minDate, maxDate) {\n return monthLabels.map((month, index) => {\n const monthMaxDate = new Date(year, index + 1, 0, 23, 59, 59, 999);\n const monthMinDate = new Date(year, index, 1);\n const disabled = monthMaxDate < minDate || monthMinDate > maxDate;\n return {\n label: month,\n value: index + 1,\n disabled,\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtaW5wdXQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9tb250aC1pbnB1dC9tb250aC1pbnB1dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWEsRUFBRSxPQUFhO0lBQzFELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFdBQXFCLEVBQ3JCLElBQVksRUFDWixPQUFhLEVBQ2IsT0FBYTtJQUViLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN0QyxNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxZQUFZLEdBQUcsT0FBTyxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUM7UUFFbEUsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDO1lBQ2hCLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVllYXJSYW5nZShtaW5EYXRlOiBEYXRlLCBtYXhEYXRlOiBEYXRlKTogbnVtYmVyW10ge1xuICBjb25zdCBtaW5ZZWFyID0gbWluRGF0ZS5nZXRGdWxsWWVhcigpO1xuICBjb25zdCBtYXhZZWFyID0gbWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xuICBjb25zdCB5ZWFyQ291bnQgPSBtYXhZZWFyIC0gbWluWWVhciArIDE7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB5ZWFyQ291bnQgfSwgKF8sIGluZGV4KSA9PiBtaW5ZZWFyICsgaW5kZXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9udGhPcHRpb25zKFxuICBtb250aExhYmVsczogc3RyaW5nW10sXG4gIHllYXI6IG51bWJlcixcbiAgbWluRGF0ZTogRGF0ZSxcbiAgbWF4RGF0ZTogRGF0ZSxcbik6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IG51bWJlcjsgZGlzYWJsZWQ6IGJvb2xlYW4gfVtdIHtcbiAgcmV0dXJuIG1vbnRoTGFiZWxzLm1hcCgobW9udGgsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgbW9udGhNYXhEYXRlID0gbmV3IERhdGUoeWVhciwgaW5kZXggKyAxLCAwLCAyMywgNTksIDU5LCA5OTkpO1xuICAgIGNvbnN0IG1vbnRoTWluRGF0ZSA9IG5ldyBEYXRlKHllYXIsIGluZGV4LCAxKTtcbiAgICBjb25zdCBkaXNhYmxlZCA9IG1vbnRoTWF4RGF0ZSA8IG1pbkRhdGUgfHwgbW9udGhNaW5EYXRlID4gbWF4RGF0ZTtcblxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogbW9udGgsXG4gICAgICB2YWx1ZTogaW5kZXggKyAxLFxuICAgICAgZGlzYWJsZWQsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject, input, model, viewChild, } from '@angular/core';\nimport { FormsModule, NgControl } from '@angular/forms';\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { InputDirective } from '../input';\nimport { OptionComponent, OptionGroupComponent } from '../option-group';\nimport { maxDateValidator, minDateValidator } from './date-validators';\nimport { createMonthOptions, createYearRange } from './month-input-utils';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, noop } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nconst defaultMonthLabels = [\n 'Jan',\n 'Feb',\n 'Mrt',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dec',\n];\nexport class MonthInputComponent {\n destroyRef = inject(DestroyRef);\n ngControl = inject(NgControl, { optional: true });\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n showMonthPickerLabel = input('Selecteer maand', ...(ngDevMode ? [{ debugName: \"showMonthPickerLabel\" }] : []));\n placeholder = input('JJJJ-MM', ...(ngDevMode ? [{ debugName: \"placeholder\" }] : []));\n yearPlaceholder = input('Jaar', ...(ngDevMode ? [{ debugName: \"yearPlaceholder\" }] : []));\n minDate = input(new Date(2020, 0, 1), ...(ngDevMode ? [{ debugName: \"minDate\" }] : []));\n maxDate = input(new Date(2099, 11, 31), ...(ngDevMode ? [{ debugName: \"maxDate\" }] : []));\n monthLabels = input(defaultMonthLabels, ...(ngDevMode ? [{ debugName: \"monthLabels\" }] : []));\n addValidators = input(true, ...(ngDevMode ? [{ debugName: \"addValidators\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n readonly = input(false, ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n selectedYear = model(new Date().getFullYear(), ...(ngDevMode ? [{ debugName: \"selectedYear\" }] : []));\n selectedMonth = model(null, ...(ngDevMode ? [{ debugName: \"selectedMonth\" }] : []));\n inputElement = computed(() => this.input()?.element, ...(ngDevMode ? [{ debugName: \"inputElement\" }] : []));\n selectedDate = computed(() => {\n const year = this.selectedYear();\n const month = this.selectedMonth();\n return year && month ? new Date(year, month - 1, 1) : null;\n }, ...(ngDevMode ? [{ debugName: \"selectedDate\" }] : []));\n inputValue = computed(() => {\n const year = this.selectedYear();\n const month = this.selectedMonth();\n return year && month ? `${year}-${month.toString().padStart(2, '0')}` : null;\n }, ...(ngDevMode ? [{ debugName: \"inputValue\" }] : []));\n years = computed(() => createYearRange(this.minDate(), this.maxDate()), ...(ngDevMode ? [{ debugName: \"years\" }] : []));\n months = computed(() => createMonthOptions(this.monthLabels(), this.selectedYear(), this.minDate(), this.maxDate()), ...(ngDevMode ? [{ debugName: \"months\" }] : []));\n isYearValid = computed(() => {\n const year = this.selectedYear();\n return year >= this.minDate().getFullYear() && year <= this.maxDate().getFullYear();\n }, ...(ngDevMode ? [{ debugName: \"isYearValid\" }] : []));\n input = viewChild(InputDirective, ...(ngDevMode ? [{ debugName: \"input\" }] : []));\n showMonthPicker = false;\n onChange = noop;\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n ngOnInit() {\n const input = this.input();\n if (input) {\n fromEvent(input.element, 'blur')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.updateErrorAttribute();\n });\n }\n if (this.ngControl?.control && this.addValidators()) {\n if (this.minDate()) {\n this.ngControl.control.addValidators(minDateValidator(this.minDate()));\n }\n if (this.maxDate()) {\n this.ngControl.control.addValidators(maxDateValidator(this.maxDate()));\n }\n this.ngControl.control.updateValueAndValidity();\n }\n }\n updateErrorAttribute(formFieldError) {\n const input = this.input();\n if (input && this.ngControl) {\n this.ngControl.control?.markAsTouched();\n input.error = this.ngControl.invalid === true || !!formFieldError;\n }\n }\n writeValue(value) {\n if (value) {\n this.selectedYear.set(value.getFullYear());\n this.selectedMonth.set(value.getMonth() + 1);\n }\n else {\n this.selectedYear.set(new Date().getFullYear());\n this.selectedMonth.set(null);\n }\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n registerOnTouched() {\n // noop\n }\n onInputChanged(value) {\n const [year, month] = value.split('-');\n this.selectedYear.set(parseInt(year, 10));\n this.selectedMonth.set(parseInt(month, 10));\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n onYearSelected(year) {\n this.selectedYear.set(parseInt(year, 10));\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n onMonthSelected(month) {\n this.selectedMonth.set(month);\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n onKeyDown(event) {\n if (event.key === 'ArrowDown') {\n this.adjustMonth(-1);\n event.preventDefault();\n return;\n }\n else if (event.key === 'ArrowUp') {\n this.adjustMonth(+1);\n event.preventDefault();\n return;\n }\n const currentValue = event.target?.value;\n const validKeys = [];\n if (currentValue.length === 4) {\n validKeys.push('-');\n }\n else {\n validKeys.push('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');\n }\n const isValidKey = validKeys.includes(event.key);\n const isPrintableKey = event.key.length === 1; // Allow pressing special keys like F12, etc.\n if (!isValidKey && isPrintableKey) {\n event.preventDefault();\n }\n }\n adjustMonth(monthIncrement) {\n const now = new Date();\n const date = this.selectedDate() ?? new Date(now.getFullYear(), now.getMonth(), 1);\n const adjustedDate = new Date(date); // Prevent mutating this.selectedDate()\n adjustedDate.setMonth(adjustedDate.getMonth() + monthIncrement);\n if (adjustedDate >= this.minDate() && adjustedDate <= this.maxDate()) {\n this.writeValue(adjustedDate);\n this.onChange(this.selectedDate());\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MonthInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MonthInputComponent, isStandalone: true, selector: \"ndw-month-input\", inputs: { required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, showMonthPickerLabel: { classPropertyName: \"showMonthPickerLabel\", publicName: \"showMonthPickerLabel\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, yearPlaceholder: { classPropertyName: \"yearPlaceholder\", publicName: \"yearPlaceholder\", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: \"minDate\", publicName: \"minDate\", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: \"maxDate\", publicName: \"maxDate\", isSignal: true, isRequired: false, transformFunction: null }, monthLabels: { classPropertyName: \"monthLabels\", publicName: \"monthLabels\", isSignal: true, isRequired: false, transformFunction: null }, addValidators: { classPropertyName: \"addValidators\", publicName: \"addValidators\", 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 }, selectedYear: { classPropertyName: \"selectedYear\", publicName: \"selectedYear\", isSignal: true, isRequired: false, transformFunction: null }, selectedMonth: { classPropertyName: \"selectedMonth\", publicName: \"selectedMonth\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: \"disabledChange\", selectedYear: \"selectedYearChange\", selectedMonth: \"selectedMonthChange\" }, viewQueries: [{ propertyName: \"input\", first: true, predicate: InputDirective, descendants: true, isSignal: true }], ngImport: i0, template: \"<input\\n #input\\n ndwInput\\n type=\\\"text\\\"\\n minlength=\\\"6\\\"\\n maxlength=\\\"7\\\"\\n [disabled]=\\\"disabled()\\\"\\n [readonly]=\\\"readonly()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n [required]=\\\"required()\\\"\\n [value]=\\\"inputValue()\\\"\\n (change)=\\\"onInputChanged(input.value)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n/>\\n\\n<button\\n ndwButton\\n extra-small\\n tertiary\\n class=\\\"input-suffix-button\\\"\\n [attr.aria-label]=\\\"showMonthPickerLabel() || undefined\\\"\\n [disabled]=\\\"disabled() || readonly()\\\"\\n [ndwPopoverTrigger]=\\\"monthPicker\\\"\\n [popoverPosition]=\\\"'nextToTriggerButton'\\\"\\n (click)=\\\"showMonthPicker = !showMonthPicker\\\"\\n>\\n <ndw-icon>calendar_month</ndw-icon>\\n</button>\\n\\n<ng-template #monthPicker>\\n <input\\n ndwInput\\n #yearSelect\\n type=\\\"number\\\"\\n [placeholder]=\\\"yearPlaceholder()\\\"\\n [min]=\\\"minDate().getFullYear()\\\"\\n [max]=\\\"maxDate().getFullYear()\\\"\\n [ngModel]=\\\"selectedYear()\\\"\\n (ngModelChange)=\\\"onYearSelected(yearSelect.value)\\\"\\n [attr.error]=\\\"isYearValid() ? null : true\\\"\\n />\\n\\n <ndw-option-group\\n mode=\\\"single\\\"\\n [fluid]=\\\"true\\\"\\n [fluidColumns]=\\\"4\\\"\\n [ngModel]=\\\"selectedMonth() ? [selectedMonth()] : []\\\"\\n (ngModelChange)=\\\"onMonthSelected($event?.[0])\\\"\\n >\\n @for (month of months(); track month) {\\n <ndw-option [label]=\\\"month.label\\\" [value]=\\\"month.value\\\" [disabled]=\\\"month.disabled\\\">\\n {{ month }}\\n </ndw-option>\\n }\\n </ndw-option-group>\\n</ng-template>\\n\", styles: [\":host{display:block;position:relative;width:100%}.input-suffix-button{position:absolute;z-index:1;top:var(--ndw-spacing-xs);right:var(--ndw-spacing-xs)}.input-suffix-button[disabled]{background-color:transparent;border-color:transparent;color:var(--ndw-color-grey-500)}input[type=number]{margin-bottom:var(--ndw-spacing-xs)}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.MinValidator, selector: \"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]\", inputs: [\"min\"] }, { kind: \"directive\", type: i1.MaxValidator, selector: \"input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]\", inputs: [\"max\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: InputDirective, selector: \"input[ndwInput], select[ndwInput], textarea[ndwInput]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: OptionGroupComponent, selector: \"ndw-option-group\", inputs: [\"error\", \"readonly\", \"fluid\", \"fluidColumns\", \"mode\", \"required\", \"success\", \"checkedValues\", \"disabled\"], outputs: [\"checkedValuesChange\", \"disabledChange\"] }, { kind: \"component\", type: OptionComponent, selector: \"ndw-option\", inputs: [\"value\", \"label\", \"description\", \"required\", \"disabled\"] }, { kind: \"directive\", type: PopoverTriggerDirective, selector: \"[ndwPopoverTrigger]\", inputs: [\"popoverPosition\", \"ndwPopoverTrigger\", \"toggleOnClick\", \"isOpen\"], outputs: [\"popoverToggled\", \"isOpenChange\"], exportAs: [\"ndwPopoverTrigger\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MonthInputComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n ButtonDirective,\n FormsModule,\n InputDirective,\n IconComponent,\n OptionGroupComponent,\n OptionComponent,\n PopoverTriggerDirective,\n ], selector: 'ndw-month-input', template: \"<input\\n #input\\n ndwInput\\n type=\\\"text\\\"\\n minlength=\\\"6\\\"\\n maxlength=\\\"7\\\"\\n [disabled]=\\\"disabled()\\\"\\n [readonly]=\\\"readonly()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n [required]=\\\"required()\\\"\\n [value]=\\\"inputValue()\\\"\\n (change)=\\\"onInputChanged(input.value)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n/>\\n\\n<button\\n ndwButton\\n extra-small\\n tertiary\\n class=\\\"input-suffix-button\\\"\\n [attr.aria-label]=\\\"showMonthPickerLabel() || undefined\\\"\\n [disabled]=\\\"disabled() || readonly()\\\"\\n [ndwPopoverTrigger]=\\\"monthPicker\\\"\\n [popoverPosition]=\\\"'nextToTriggerButton'\\\"\\n (click)=\\\"showMonthPicker = !showMonthPicker\\\"\\n>\\n <ndw-icon>calendar_month</ndw-icon>\\n</button>\\n\\n<ng-template #monthPicker>\\n <input\\n ndwInput\\n #yearSelect\\n type=\\\"number\\\"\\n [placeholder]=\\\"yearPlaceholder()\\\"\\n [min]=\\\"minDate().getFullYear()\\\"\\n [max]=\\\"maxDate().getFullYear()\\\"\\n [ngModel]=\\\"selectedYear()\\\"\\n (ngModelChange)=\\\"onYearSelected(yearSelect.value)\\\"\\n [attr.error]=\\\"isYearValid() ? null : true\\\"\\n />\\n\\n <ndw-option-group\\n mode=\\\"single\\\"\\n [fluid]=\\\"true\\\"\\n [fluidColumns]=\\\"4\\\"\\n [ngModel]=\\\"selectedMonth() ? [selectedMonth()] : []\\\"\\n (ngModelChange)=\\\"onMonthSelected($event?.[0])\\\"\\n >\\n @for (month of months(); track month) {\\n <ndw-option [label]=\\\"month.label\\\" [value]=\\\"month.value\\\" [disabled]=\\\"month.disabled\\\">\\n {{ month }}\\n </ndw-option>\\n }\\n </ndw-option-group>\\n</ng-template>\\n\", styles: [\":host{display:block;position:relative;width:100%}.input-suffix-button{position:absolute;z-index:1;top:var(--ndw-spacing-xs);right:var(--ndw-spacing-xs)}.input-suffix-button[disabled]{background-color:transparent;border-color:transparent;color:var(--ndw-color-grey-500)}input[type=number]{margin-bottom:var(--ndw-spacing-xs)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvbW9udGgtaW5wdXQvbW9udGgtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvbW9udGgtaW5wdXQvbW9udGgtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7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QUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVDQUF1QztRQUM1RSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUVoRSxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzt1R0FqS1UsbUJBQW1COzJGQUFuQixtQkFBbUIsNDJEQXNDSSxjQUFjLGdFQzVGbEQsMDlDQXdEQSxnWURkSSxlQUFlLHVEQUNmLFdBQVcsdW9DQUNYLGNBQWMsa0dBQ2QsYUFBYSxxREFDYixvQkFBb0IscU9BQ3BCLGVBQWUsMEhBQ2YsdUJBQXVCOzsyRkFNZCxtQkFBbUI7a0JBZi9CLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQ3hCLFlBQ1MsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBPbkluaXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlcic7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uL2lucHV0JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCwgT3B0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24tZ3JvdXAnO1xuaW1wb3J0IHsgbWF4RGF0ZVZhbGlkYXRvciwgbWluRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vZGF0ZS12YWxpZGF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZU1vbnRoT3B0aW9ucywgY3JlYXRlWWVhclJhbmdlIH0gZnJvbSAnLi9tb250aC1pbnB1dC11dGlscyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCwgbm9vcCB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBkZWZhdWx0TW9udGhMYWJlbHMgPSBbXG4gICdKYW4nLFxuICAnRmViJyxcbiAgJ01ydCcsXG4gICdBcHInLFxuICAnTWVpJyxcbiAgJ0p1bicsXG4gICdKdWwnLFxuICAnQXVnJyxcbiAgJ1NlcCcsXG4gICdPa3QnLFxuICAnTm92JyxcbiAgJ0RlYycsXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25EaXJlY3RpdmUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXREaXJlY3RpdmUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gIF0sXG4gIHNlbGVjdG9yOiAnbmR3LW1vbnRoLWlucHV0JyxcbiAgc3R5bGVVcmw6ICcuL21vbnRoLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbnRoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9udGhJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dNb250aFBpY2tlckxhYmVsID0gaW5wdXQoJ1NlbGVjdGVlciBtYWFuZCcpO1xuICBwdWJsaWMgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dCgnSkpKSi1NTScpO1xuICBwdWJsaWMgcmVhZG9ubHkgeWVhclBsYWNlaG9sZGVyID0gaW5wdXQoJ0phYXInKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pbkRhdGUgPSBpbnB1dChuZXcgRGF0ZSgyMDIwLCAwLCAxKSk7XG4gIHB1YmxpYyByZWFkb25seSBtYXhEYXRlID0gaW5wdXQobmV3IERhdGUoMjA5OSwgMTEsIDMxKSk7XG4gIHB1YmxpYyByZWFkb25seSBtb250aExhYmVscyA9IGlucHV0KGRlZmF1bHRNb250aExhYmVscyk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRWYWxpZGF0b3JzID0gaW5wdXQodHJ1ZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZFllYXIgPSBtb2RlbChuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWRNb250aCA9IG1vZGVsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEVsZW1lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0KCk/LmVsZW1lbnQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWREYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLnNlbGVjdGVkWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRoKCk7XG4gICAgcmV0dXJuIHllYXIgJiYgbW9udGggPyBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIDEpIDogbnVsbDtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLnNlbGVjdGVkWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRoKCk7XG4gICAgcmV0dXJuIHllYXIgJiYgbW9udGggPyBgJHt5ZWFyfS0ke21vbnRoLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gIDogbnVsbDtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB5ZWFycyA9IGNvbXB1dGVkKCgpID0+IGNyZWF0ZVllYXJSYW5nZSh0aGlzLm1pbkRhdGUoKSwgdGhpcy5tYXhEYXRlKCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vbnRocyA9IGNvbXB1dGVkKCgpID0+XG4gICAgY3JlYXRlTW9udGhPcHRpb25zKHRoaXMubW9udGhMYWJlbHMoKSwgdGhpcy5zZWxlY3RlZFllYXIoKSwgdGhpcy5taW5EYXRlKCksIHRoaXMubWF4RGF0ZSgpKSxcbiAgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzWWVhclZhbGlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLnNlbGVjdGVkWWVhcigpO1xuICAgIHJldHVybiB5ZWFyID49IHRoaXMubWluRGF0ZSgpLmdldEZ1bGxZZWFyKCkgJiYgeWVhciA8PSB0aGlzLm1heERhdGUoKS5nZXRGdWxsWWVhcigpO1xuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXQgPSB2aWV3Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBzaG93TW9udGhQaWNrZXIgPSBmYWxzZTtcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB2b2lkID0gbm9vcDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KCk7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBmcm9tRXZlbnQoaW5wdXQuZWxlbWVudCwgJ2JsdXInKVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVFcnJvckF0dHJpYnV0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgJiYgdGhpcy5hZGRWYWxpZGF0b3JzKCkpIHtcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUoKSkge1xuICAgICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLmFkZFZhbGlkYXRvcnMobWluRGF0ZVZhbGlkYXRvcih0aGlzLm1pbkRhdGUoKSkpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tYXhEYXRlKCkpIHtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5hZGRWYWxpZGF0b3JzKG1heERhdGVWYWxpZGF0b3IodGhpcy5tYXhEYXRlKCkpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZUVycm9yQXR0cmlidXRlKGZvcm1GaWVsZEVycm9yPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dCgpO1xuICAgIGlmIChpbnB1dCAmJiB0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgaW5wdXQuZXJyb3IgPSB0aGlzLm5nQ29udHJvbC5pbnZhbGlkID09PSB0cnVlIHx8ICEhZm9ybUZpZWxkRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQodmFsdWUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KHZhbHVlLmdldE1vbnRoKCkgKyAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXIuc2V0KG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGguc2V0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xuICAgIC8vIG5vb3BcbiAgfVxuXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlZCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgW3llYXIsIG1vbnRoXSA9IHZhbHVlLnNwbGl0KCctJyk7XG4gICAgdGhpcy5zZWxlY3RlZFllYXIuc2V0KHBhcnNlSW50KHllYXIsIDEwKSk7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoLnNldChwYXJzZUludChtb250aCwgMTApKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKCkpO1xuICAgIHRoaXMudXBkYXRlRXJyb3JBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblllYXJTZWxlY3RlZCh5ZWFyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQocGFyc2VJbnQoeWVhciwgMTApKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKCkpO1xuICAgIHRoaXMudXBkYXRlRXJyb3JBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbk1vbnRoU2VsZWN0ZWQobW9udGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aC5zZXQobW9udGgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUoKSk7XG4gICAgdGhpcy51cGRhdGVFcnJvckF0dHJpYnV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLmFkanVzdE1vbnRoKC0xKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5hZGp1c3RNb250aCgrMSk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlO1xuICAgIGNvbnN0IHZhbGlkS2V5cyA9IFtdO1xuXG4gICAgaWYgKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDQpIHtcbiAgICAgIHZhbGlkS2V5cy5wdXNoKCctJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkS2V5cy5wdXNoKCcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNWYWxpZEtleSA9IHZhbGlkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xuICAgIGNvbnN0IGlzUHJpbnRhYmxlS2V5ID0gZXZlbnQua2V5Lmxlbmd0aCA9PT0gMTsgLy8gQWxsb3cgcHJlc3Npbmcgc3BlY2lhbCBrZXlzIGxpa2UgRjEyLCBldGMuXG4gICAgaWYgKCFpc1ZhbGlkS2V5ICYmIGlzUHJpbnRhYmxlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0TW9udGgobW9udGhJbmNyZW1lbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlKCkgPz8gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCAxKTtcblxuICAgIGNvbnN0IGFkanVzdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpOyAvLyBQcmV2ZW50IG11dGF0aW5nIHRoaXMuc2VsZWN0ZWREYXRlKClcbiAgICBhZGp1c3RlZERhdGUuc2V0TW9udGgoYWRqdXN0ZWREYXRlLmdldE1vbnRoKCkgKyBtb250aEluY3JlbWVudCk7XG5cbiAgICBpZiAoYWRqdXN0ZWREYXRlID49IHRoaXMubWluRGF0ZSgpICYmIGFkanVzdGVkRGF0ZSA8PSB0aGlzLm1heERhdGUoKSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKGFkanVzdGVkRGF0ZSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGlucHV0XG4gICNpbnB1dFxuICBuZHdJbnB1dFxuICB0eXBlPVwidGV4dFwiXG4gIG1pbmxlbmd0aD1cIjZcIlxuICBtYXhsZW5ndGg9XCI3XCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuICBbdmFsdWVdPVwiaW5wdXRWYWx1ZSgpXCJcbiAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlZChpbnB1dC52YWx1ZSlcIlxuICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4vPlxuXG48YnV0dG9uXG4gIG5kd0J1dHRvblxuICBleHRyYS1zbWFsbFxuICB0ZXJ0aWFyeVxuICBjbGFzcz1cImlucHV0LXN1ZmZpeC1idXR0b25cIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cInNob3dNb250aFBpY2tlckxhYmVsKCkgfHwgdW5kZWZpbmVkXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgcmVhZG9ubHkoKVwiXG4gIFtuZHdQb3BvdmVyVHJpZ2dlcl09XCJtb250aFBpY2tlclwiXG4gIFtwb3BvdmVyUG9zaXRpb25dPVwiJ25leHRUb1RyaWdnZXJCdXR0b24nXCJcbiAgKGNsaWNrKT1cInNob3dNb250aFBpY2tlciA9ICFzaG93TW9udGhQaWNrZXJcIlxuPlxuICA8bmR3LWljb24+Y2FsZW5kYXJfbW9udGg8L25kdy1pY29uPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjbW9udGhQaWNrZXI+XG4gIDxpbnB1dFxuICAgIG5kd0lucHV0XG4gICAgI3llYXJTZWxlY3RcbiAgICB0eXBlPVwibnVtYmVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwieWVhclBsYWNlaG9sZGVyKClcIlxuICAgIFttaW5dPVwibWluRGF0ZSgpLmdldEZ1bGxZZWFyKClcIlxuICAgIFttYXhdPVwibWF4RGF0ZSgpLmdldEZ1bGxZZWFyKClcIlxuICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkWWVhcigpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblllYXJTZWxlY3RlZCh5ZWFyU2VsZWN0LnZhbHVlKVwiXG4gICAgW2F0dHIuZXJyb3JdPVwiaXNZZWFyVmFsaWQoKSA/IG51bGwgOiB0cnVlXCJcbiAgLz5cblxuICA8bmR3LW9wdGlvbi1ncm91cFxuICAgIG1vZGU9XCJzaW5nbGVcIlxuICAgIFtmbHVpZF09XCJ0cnVlXCJcbiAgICBbZmx1aWRDb2x1bW5zXT1cIjRcIlxuICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkTW9udGgoKSA/IFtzZWxlY3RlZE1vbnRoKCldIDogW11cIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQ/LlswXSlcIlxuICA+XG4gICAgQGZvciAobW9udGggb2YgbW9udGhzKCk7IHRyYWNrIG1vbnRoKSB7XG4gICAgICA8bmR3LW9wdGlvbiBbbGFiZWxdPVwibW9udGgubGFiZWxcIiBbdmFsdWVdPVwibW9udGgudmFsdWVcIiBbZGlzYWJsZWRdPVwibW9udGguZGlzYWJsZWRcIj5cbiAgICAgICAge3sgbW9udGggfX1cbiAgICAgIDwvbmR3LW9wdGlvbj5cbiAgICB9XG4gIDwvbmR3LW9wdGlvbi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, PLATFORM_ID, } from '@angular/core';\nimport { FormFieldElement } from '../form-field.model';\nimport { InputButtonComponent } from '../input-button';\nimport * as i0 from \"@angular/core\";\nexport class PickerButtonComponent {\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n input = input(...(ngDevMode ? [undefined, { debugName: \"input\" }] : []));\n ariaLabel = input('', ...(ngDevMode ? [{ debugName: \"ariaLabel\" }] : []));\n required = input(...(ngDevMode ? [undefined, { debugName: \"required\" }] : []));\n platform = inject(PLATFORM_ID);\n icon = computed(() => this.getIcon(), ...(ngDevMode ? [{ debugName: \"icon\" }] : []));\n onClick() {\n const inputElement = this.input()?.element;\n if (!inputElement) {\n return;\n }\n if ('showPicker' in inputElement) {\n inputElement.showPicker();\n }\n }\n getIcon() {\n let isFirefox = false;\n if (isPlatformBrowser(this.platform)) {\n isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n }\n switch (this.input()?.element.type) {\n case 'date':\n // Firefox always shows its own date picker\n return isFirefox ? undefined : 'calendar_month';\n case 'time':\n // Firefox always shows its own time picker\n return isFirefox ? undefined : 'schedule';\n }\n if (this.input()?.element.nodeName.toLowerCase() === FormFieldElement.Select) {\n return 'keyboard_arrow_down';\n }\n return undefined;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PickerButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: PickerButtonComponent, isStandalone: true, selector: \"ndw-picker-button\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, input: { classPropertyName: \"input\", publicName: \"input\", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (icon(); as icon) {\\n <ndw-input-button (buttonClicked)=\\\"onClick()\\\">{{ icon }}</ndw-input-button>\\n}\\n\", dependencies: [{ kind: \"component\", type: InputButtonComponent, selector: \"ndw-input-button\", inputs: [\"disabled\", \"input\", \"ariaLabel\", \"alternative\"], outputs: [\"buttonClicked\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PickerButtonComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [InputButtonComponent], selector: 'ndw-picker-button', template: \"@if (icon(); as icon) {\\n <ndw-input-button (buttonClicked)=\\\"onClick()\\\">{{ icon }}</ndw-input-button>\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9waWNrZXItYnV0dG9uL3BpY2tlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvcGlja2VyLWJ1dHRvbi9waWNrZXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRdkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQixRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSywyREFBa0IsQ0FBQztJQUNoQyxTQUFTLEdBQUcsS0FBSyxDQUFTLEVBQUUscURBQUMsQ0FBQztJQUM5QixRQUFRLEdBQUcsS0FBSyw4REFBYSxDQUFDO0lBRTdCLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFN0IsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdEQUFDLENBQUM7SUFFL0MsT0FBTztRQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxZQUFZLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3JDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBRUQsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25DLEtBQUssTUFBTTtnQkFDVCwyQ0FBMkM7Z0JBQzNDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELEtBQUssTUFBTTtnQkFDVCwyQ0FBMkM7Z0JBQzNDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RSxPQUFPLHFCQUFxQixDQUFDO1FBQy9CLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO3VHQTFDVSxxQkFBcUI7MkZBQXJCLHFCQUFxQix1bEJDckJsQywrR0FHQSw0Q0RjWSxvQkFBb0I7OzJGQUluQixxQkFBcUI7a0JBTmpDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG9CQUFvQixDQUFDLFlBQ3JCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vaW5wdXQnO1xuaW1wb3J0IHsgSW5wdXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJbnB1dEJ1dHRvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LXBpY2tlci1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBpY2tlckJ1dHRvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGlucHV0ID0gaW5wdXQ8SW5wdXREaXJlY3RpdmU+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8SW5wdXRUeXBlPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm0gPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5nZXRJY29uKCkpO1xuXG4gIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuaW5wdXQoKT8uZWxlbWVudDtcbiAgICBpZiAoIWlucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgnc2hvd1BpY2tlcicgaW4gaW5wdXRFbGVtZW50KSB7XG4gICAgICBpbnB1dEVsZW1lbnQuc2hvd1BpY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SWNvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBpc0ZpcmVmb3ggPSBmYWxzZTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtKSkge1xuICAgICAgaXNGaXJlZm94ID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdmaXJlZm94Jyk7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLmlucHV0KCk/LmVsZW1lbnQudHlwZSkge1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIC8vIEZpcmVmb3ggYWx3YXlzIHNob3dzIGl0cyBvd24gZGF0ZSBwaWNrZXJcbiAgICAgICAgcmV0dXJuIGlzRmlyZWZveCA/IHVuZGVmaW5lZCA6ICdjYWxlbmRhcl9tb250aCc7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgLy8gRmlyZWZveCBhbHdheXMgc2hvd3MgaXRzIG93biB0aW1lIHBpY2tlclxuICAgICAgICByZXR1cm4gaXNGaXJlZm94ID8gdW5kZWZpbmVkIDogJ3NjaGVkdWxlJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dCgpPy5lbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IEZvcm1GaWVsZEVsZW1lbnQuU2VsZWN0KSB7XG4gICAgICByZXR1cm4gJ2tleWJvYXJkX2Fycm93X2Rvd24nO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsIkBpZiAoaWNvbigpOyBhcyBpY29uKSB7XG4gIDxuZHctaW5wdXQtYnV0dG9uIChidXR0b25DbGlja2VkKT1cIm9uQ2xpY2soKVwiPnt7IGljb24gfX08L25kdy1pbnB1dC1idXR0b24+XG59XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class SuccessComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SuccessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SuccessComponent, isStandalone: true, selector: \"ndw-success\", ngImport: i0, template: \"<ndw-icon>check</ndw-icon>\\n<ng-content />\\n\", styles: [\":host{align-content:center;color:var(--ndw-color-positive-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;align-items:flex-start;word-break:break-word}ndw-icon{font-size:.875rem}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SuccessComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], selector: 'ndw-success', template: \"<ndw-icon>check</ndw-icon>\\n<ng-content />\\n\", styles: [\":host{align-content:center;color:var(--ndw-color-positive-500);display:grid;font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;align-items:flex-start;word-break:break-word}ndw-icon{font-size:.875rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VjY2Vzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9zdWNjZXNzL3N1Y2Nlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvc3VjY2Vzcy9zdWNjZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsdUVDWDdCLDhDQUVBLG9WRElZLGFBQWE7OzJGQUtaLGdCQUFnQjtrQkFQNUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxDQUFDLFlBQ2QsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICduZHctc3VjY2VzcycsXG4gIHN0eWxlVXJsOiAnLi9zdWNjZXNzLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Y2Nlc3MuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTdWNjZXNzQ29tcG9uZW50IHt9XG4iLCI8bmR3LWljb24+Y2hlY2s8L25kdy1pY29uPlxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, effect, input, output, } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { TooltipDirective } from '../tooltip';\nimport { ClearSearchButtonComponent } from './clear-search-button';\nimport { DatepickerComponent } from './datepicker';\nimport { ErrorComponent } from './error';\nimport { INPUT_CONTAINER_CLASS } from './form-field.constant';\nimport { FormFieldElement } from './form-field.model';\nimport { InfoComponent } from './info';\nimport { InputDirective } from './input';\nimport { InputIconComponent } from './input-icon';\nimport { MonthInputComponent } from './month-input';\nimport { PickerButtonComponent } from './picker-button';\nimport { SuccessComponent } from './success';\nimport * as i0 from \"@angular/core\";\nexport class FormFieldComponent {\n label = input.required(...(ngDevMode ? [{ debugName: \"label\" }] : []));\n suffixAriaLabel = input('', ...(ngDevMode ? [{ debugName: \"suffixAriaLabel\" }] : []));\n hideLabel = input(false, ...(ngDevMode ? [{ debugName: \"hideLabel\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n error = input(...(ngDevMode ? [undefined, { debugName: \"error\" }] : []));\n success = input(...(ngDevMode ? [undefined, { debugName: \"success\" }] : []));\n info = input(...(ngDevMode ? [undefined, { debugName: \"info\" }] : []));\n tooltip = input('', ...(ngDevMode ? [{ debugName: \"tooltip\" }] : []));\n clearButtonClicked = output();\n monthInput = contentChild(MonthInputComponent, ...(ngDevMode ? [{ debugName: \"monthInput\" }] : []));\n dateInput = contentChild(DatepickerComponent, ...(ngDevMode ? [{ debugName: \"dateInput\" }] : []));\n regularInput = contentChild(InputDirective, ...(ngDevMode ? [{ debugName: \"regularInput\" }] : []));\n input = computed(() => this.regularInput() ?? this.monthInput()?.input() ?? this.dateInput()?.input(), ...(ngDevMode ? [{ debugName: \"input\" }] : []));\n inputType = computed(() => this.input()?.element.type, ...(ngDevMode ? [{ debugName: \"inputType\" }] : []));\n isSearchInput = computed(() => this.inputType() === 'search', ...(ngDevMode ? [{ debugName: \"isSearchInput\" }] : []));\n hasPickerButton = computed(() => this.inputType() === 'date' ||\n this.inputType() === 'time' ||\n this.input()?.element.nodeName.toLowerCase() === FormFieldElement.Select, ...(ngDevMode ? [{ debugName: \"hasPickerButton\" }] : []));\n uuid = crypto.randomUUID();\n descriptionUuid = crypto.randomUUID();\n inputContainerClass = INPUT_CONTAINER_CLASS;\n constructor() {\n effect(() => {\n const input = this.input();\n if (!input) {\n return;\n }\n this.setInputDisabledState(input);\n this.setInputErrorState();\n this.setInputSuccessState(input);\n this.setInputId(input);\n this.setAriaDescribedBy(input);\n });\n }\n setInputDisabledState(input) {\n input.disabled = this.disabled() || !!this.input()?.element.disabled;\n }\n setInputErrorState() {\n this.input()?.updateErrorAttribute(!!this.error()?.length);\n }\n setInputSuccessState(input) {\n input.success = !!this.success()?.length;\n }\n setInputId(input) {\n input.id = `input-${this.uuid}`;\n }\n setAriaDescribedBy(input) {\n input.ariaDescribedBy = this.descriptionUuid;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: FormFieldComponent, isStandalone: true, selector: \"ndw-form-field\", inputs: { label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: true, transformFunction: null }, suffixAriaLabel: { classPropertyName: \"suffixAriaLabel\", publicName: \"suffixAriaLabel\", 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 } }, outputs: { clearButtonClicked: \"clearButtonClicked\" }, queries: [{ propertyName: \"monthInput\", first: true, predicate: MonthInputComponent, descendants: true, isSignal: true }, { propertyName: \"dateInput\", first: true, predicate: DatepickerComponent, 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 <div\\n [class]=\\\"inputContainerClass\\\"\\n [attr.success]=\\\"success() ? true : null\\\"\\n [attr.error]=\\\"error() ? true : null\\\"\\n >\\n @if (isSearchInput()) {\\n <ndw-input-icon>search</ndw-input-icon>\\n }\\n\\n <ng-content />\\n\\n @if (isSearchInput()) {\\n <ndw-clear-search-button\\n [input]=\\\"input()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [ariaLabel]=\\\"suffixAriaLabel()\\\"\\n (buttonClicked)=\\\"clearButtonClicked.emit()\\\"\\n />\\n }\\n @if (hasPickerButton()) {\\n <ndw-picker-button\\n [input]=\\\"input()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [ariaLabel]=\\\"suffixAriaLabel()\\\"\\n />\\n }\\n </div>\\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;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;word-break:break-word}label{word-break:break-word}ndw-error,ndw-success,ndw-info{margin-top:var(--ndw-spacing-2xs)}\\n\"], dependencies: [{ kind: \"component\", type: ClearSearchButtonComponent, selector: \"ndw-clear-search-button\", inputs: [\"disabled\", \"input\", \"ariaLabel\"], outputs: [\"buttonClicked\"] }, { kind: \"component\", type: ErrorComponent, selector: \"ndw-error\" }, { kind: \"component\", type: InfoComponent, selector: \"ndw-info\" }, { kind: \"component\", type: InputIconComponent, selector: \"ndw-input-icon\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: PickerButtonComponent, selector: \"ndw-picker-button\", inputs: [\"disabled\", \"input\", \"ariaLabel\", \"required\"] }, { kind: \"component\", type: SuccessComponent, selector: \"ndw-success\" }, { kind: \"directive\", type: TooltipDirective, selector: \"[ndwTooltip]\", inputs: [\"ndwTooltip\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FormFieldComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n ClearSearchButtonComponent,\n ErrorComponent,\n InfoComponent,\n InputIconComponent,\n IconComponent,\n NgTemplateOutlet,\n PickerButtonComponent,\n SuccessComponent,\n TooltipDirective,\n ], selector: 'ndw-form-field', 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 <div\\n [class]=\\\"inputContainerClass\\\"\\n [attr.success]=\\\"success() ? true : null\\\"\\n [attr.error]=\\\"error() ? true : null\\\"\\n >\\n @if (isSearchInput()) {\\n <ndw-input-icon>search</ndw-input-icon>\\n }\\n\\n <ng-content />\\n\\n @if (isSearchInput()) {\\n <ndw-clear-search-button\\n [input]=\\\"input()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [ariaLabel]=\\\"suffixAriaLabel()\\\"\\n (buttonClicked)=\\\"clearButtonClicked.emit()\\\"\\n />\\n }\\n @if (hasPickerButton()) {\\n <ndw-picker-button\\n [input]=\\\"input()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [ariaLabel]=\\\"suffixAriaLabel()\\\"\\n />\\n }\\n </div>\\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;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;word-break:break-word}label{word-break:break-word}ndw-error,ndw-success,ndw-info{margin-top:var(--ndw-spacing-2xs)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFP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QUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBcUI7UUFDaEQsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQXFCO1FBQ3RDLEtBQUssQ0FBQyxFQUFFLEdBQUcsU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQXFCO1FBQzlDLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO3VHQW5FVSxrQkFBa0I7MkZBQWxCLGtCQUFrQixnckNBYWdCLG1CQUFtQiw0RkFDcEIsbUJBQW1CLCtGQUNoQixjQUFjLGdFQzNEL0QsNnREQTZEQSw0ZEQvQkksMEJBQTBCLDRJQUMxQixjQUFjLHNEQUNkLGFBQWEscURBQ2Isa0JBQWtCLDJEQUNsQixhQUFhLHFEQUNiLGdCQUFnQixvSkFDaEIscUJBQXFCLHNIQUNyQixnQkFBZ0Isd0RBQ2hCLGdCQUFnQjs7MkZBTVAsa0JBQWtCO2tCQWpCOUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLDBCQUEwQjt3QkFDMUIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ2pCLFlBQ1MsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5cbmltcG9ydCB7IENsZWFyU2VhcmNoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jbGVhci1zZWFyY2gtYnV0dG9uJztcbmltcG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yJztcbmltcG9ydCB7IElOUFVUX0NPTlRBSU5FUl9DTEFTUyB9IGZyb20gJy4vZm9ybS1maWVsZC5jb25zdGFudCc7XG5pbXBvcnQgeyBGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuL2luZm8nO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2lucHV0JztcbmltcG9ydCB7IElucHV0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtaWNvbic7XG5pbXBvcnQgeyBNb250aElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9tb250aC1pbnB1dCc7XG5pbXBvcnQgeyBQaWNrZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3BpY2tlci1idXR0b24nO1xuaW1wb3J0IHsgU3VjY2Vzc0NvbXBvbmVudCB9IGZyb20gJy4vc3VjY2Vzcyc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENsZWFyU2VhcmNoQnV0dG9uQ29tcG9uZW50LFxuICAgIEVycm9yQ29tcG9uZW50LFxuICAgIEluZm9Db21wb25lbnQsXG4gICAgSW5wdXRJY29uQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBQaWNrZXJCdXR0b25Db21wb25lbnQsXG4gICAgU3VjY2Vzc0NvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1mb3JtLWZpZWxkJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHN1ZmZpeEFyaWFMYWJlbCA9IGlucHV0KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IGhpZGVMYWJlbCA9IGlucHV0KGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZWFkb25seSBpbmZvID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHRpcCA9IGlucHV0KCcnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2xlYXJCdXR0b25DbGlja2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vbnRoSW5wdXQgPSBjb250ZW50Q2hpbGQoTW9udGhJbnB1dENvbXBvbmVudCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRlSW5wdXQgPSBjb250ZW50Q2hpbGQoRGF0ZXBpY2tlckNvbXBvbmVudCk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZWd1bGFySW5wdXQgPSBjb250ZW50Q2hpbGQoSW5wdXREaXJlY3RpdmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnJlZ3VsYXJJbnB1dCgpID8/IHRoaXMubW9udGhJbnB1dCgpPy5pbnB1dCgpID8/IHRoaXMuZGF0ZUlucHV0KCk/LmlucHV0KCksXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFR5cGUgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmlucHV0KCk/LmVsZW1lbnQudHlwZSBhcyBJbnB1dFR5cGUgfCB1bmRlZmluZWQsXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1NlYXJjaElucHV0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbnB1dFR5cGUoKSA9PT0gJ3NlYXJjaCcpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzUGlja2VyQnV0dG9uID0gY29tcHV0ZWQoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuaW5wdXRUeXBlKCkgPT09ICdkYXRlJyB8fFxuICAgICAgdGhpcy5pbnB1dFR5cGUoKSA9PT0gJ3RpbWUnIHx8XG4gICAgICB0aGlzLmlucHV0KCk/LmVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gRm9ybUZpZWxkRWxlbWVudC5TZWxlY3QsXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHV1aWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzY3JpcHRpb25VdWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0Q29udGFpbmVyQ2xhc3MgPSBJTlBVVF9DT05UQUlORVJfQ0xBU1M7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXQoKTtcbiAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldElucHV0RGlzYWJsZWRTdGF0ZShpbnB1dCk7XG4gICAgICB0aGlzLnNldElucHV0RXJyb3JTdGF0ZSgpO1xuICAgICAgdGhpcy5zZXRJbnB1dFN1Y2Nlc3NTdGF0ZShpbnB1dCk7XG4gICAgICB0aGlzLnNldElucHV0SWQoaW5wdXQpO1xuICAgICAgdGhpcy5zZXRBcmlhRGVzY3JpYmVkQnkoaW5wdXQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dERpc2FibGVkU3RhdGUoaW5wdXQ6IElucHV0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaW5wdXQuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKCkgfHwgISF0aGlzLmlucHV0KCk/LmVsZW1lbnQuZGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0RXJyb3JTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0KCk/LnVwZGF0ZUVycm9yQXR0cmlidXRlKCEhdGhpcy5lcnJvcigpPy5sZW5ndGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFN1Y2Nlc3NTdGF0ZShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5zdWNjZXNzID0gISF0aGlzLnN1Y2Nlc3MoKT8ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dElkKGlucHV0OiBJbnB1dERpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlucHV0LmlkID0gYGlucHV0LSR7dGhpcy51dWlkfWA7XG4gIH1cblxuICBwcml2YXRlIHNldEFyaWFEZXNjcmliZWRCeShpbnB1dDogSW5wdXREaXJlY3RpdmUpOiB2b2lkIHtcbiAgICBpbnB1dC5hcmlhRGVzY3JpYmVkQnkgPSB0aGlzLmRlc2NyaXB0aW9uVXVpZDtcbiAgfVxufVxuIiwiQGlmIChpbnB1dCgpID09PSB1bmRlZmluZWQpIHtcbiAgPGZpZWxkc2V0PlxuICAgIDxsZWdlbmQgbmR3TGFiZWwgW2NsYXNzLnNyLW9ubHldPVwiaGlkZUxhYmVsKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlXCIgLz5cbiAgICA8L2xlZ2VuZD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRUZW1wbGF0ZVwiIC8+XG4gIDwvZmllbGRzZXQ+XG59IEBlbHNlIHtcbiAgPGxhYmVsIG5kd0xhYmVsIFthdHRyLmZvcl09XCJpbnB1dCgpID8gJ2lucHV0LScgKyB1dWlkIDogbnVsbFwiIFtjbGFzcy5zci1vbmx5XT1cImhpZGVMYWJlbCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPlxuICA8L2xhYmVsPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRUZW1wbGF0ZVwiIC8+XG59XG5cbjxuZy10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIFtjbGFzc109XCJpbnB1dENvbnRhaW5lckNsYXNzXCJcbiAgICBbYXR0ci5zdWNjZXNzXT1cInN1Y2Nlc3MoKSA/IHRydWUgOiBudWxsXCJcbiAgICBbYXR0ci5lcnJvcl09XCJlcnJvcigpID8gdHJ1ZSA6IG51bGxcIlxuICA+XG4gICAgQGlmIChpc1NlYXJjaElucHV0KCkpIHtcbiAgICAgIDxuZHctaW5wdXQtaWNvbj5zZWFyY2g8L25kdy1pbnB1dC1pY29uPlxuICAgIH1cblxuICAgIDxuZy1jb250ZW50IC8+XG5cbiAgICBAaWYgKGlzU2VhcmNoSW5wdXQoKSkge1xuICAgICAgPG5kdy1jbGVhci1zZWFyY2gtYnV0dG9uXG4gICAgICAgIFtpbnB1dF09XCJpbnB1dCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cInN1ZmZpeEFyaWFMYWJlbCgpXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiY2xlYXJCdXR0b25DbGlja2VkLmVtaXQoKVwiXG4gICAgICAvPlxuICAgIH1cbiAgICBAaWYgKGhhc1BpY2tlckJ1dHRvbigpKSB7XG4gICAgICA8bmR3LXBpY2tlci1idXR0b25cbiAgICAgICAgW2lucHV0XT1cImlucHV0KClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwic3VmZml4QXJpYUxhYmVsKClcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoaW5mbygpOyBhcyBpbmZvKSB7XG4gICAgPG5kdy1pbmZvIFtpZF09XCJkZXNjcmlwdGlvblV1aWRcIj57eyBpbmZvIH19PC9uZHctaW5mbz5cbiAgfVxuICBAaWYgKGVycm9yKCk7IGFzIGVycm9yKSB7XG4gICAgPG5kdy1lcnJvciByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj57eyBlcnJvciB9fTwvbmR3LWVycm9yPlxuICB9XG4gIEBpZiAoc3VjY2VzcygpOyBhcyBzdWNjZXNzKSB7XG4gICAgPG5kdy1zdWNjZXNzIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPnt7IHN1Y2Nlc3MgfX08L25kdy1zdWNjZXNzPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtbGFiZWwgcmVxdWlyZWRcIj4gKiA8L3NwYW4+XG4gIHt7IGxhYmVsKCkgfX1cbiAgQGlmICh0b29sdGlwKCk7IGFzIHRvb2x0aXApIHtcbiAgICA8bmR3LWljb24gW25kd1Rvb2x0aXBdPVwidG9vbHRpcFwiPmluZm88L25kdy1pY29uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { Directive, ElementRef, inject, DestroyRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { startWith } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive that automatically grows a textarea element to fit its content.\n *\n * Note that at this moment (2024-09-06) there is an experimental CSS property\n * `field-sizing: content;` that can be used to achieve the same effect. At this\n * moment not all browsers support this property (FF and Safari do not for example).\n *\n * So for now a directive is used to achieve the same effect.\n */\nexport class AutoGrowDirective {\n elementRef = inject(ElementRef);\n ngControl = inject(NgControl, { optional: true });\n destroyRef = inject(DestroyRef);\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n this.element.style.resize = 'none';\n this.element.style.overflow = 'hidden';\n // Use set timeout to make sure the textarea is rendered before\n // we set the initial height. This is needed for Firefox.\n setTimeout(() => this.fitContentInTextArea());\n this.updateHeightOnNgControlUpdate();\n }\n fitContentInTextArea() {\n this.element.style.height = 'auto'; // Make the textarea shrink when a lot of text is removed.\n this.element.style.height = `${this.element.scrollHeight}px`;\n }\n updateHeightOnNgControlUpdate() {\n if (!this.ngControl?.control) {\n return;\n }\n this.ngControl.control.valueChanges\n .pipe(startWith(this.ngControl.value), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.fitContentInTextArea());\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutoGrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: AutoGrowDirective, isStandalone: true, selector: \"textarea[ndwAutoGrow]\", host: { listeners: { \"input\": \"fitContentInTextArea()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AutoGrowDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'textarea[ndwAutoGrow]',\n host: {\n '(input)': 'fitContentInTextArea()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1ncm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL3RleHRhcmVhL2F1dG8tZ3Jvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWhFOzs7Ozs7OztHQVFHO0FBT0gsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWpELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBb0MsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFdkMsK0RBQStEO1FBQy9ELHlEQUF5RDtRQUN6RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQywwREFBMEQ7UUFDOUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQztJQUMvRCxDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWTthQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7dUdBakNVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsd0JBQXdCO3FCQUNwQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBEZXN0cm95UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBhdXRvbWF0aWNhbGx5IGdyb3dzIGEgdGV4dGFyZWEgZWxlbWVudCB0byBmaXQgaXRzIGNvbnRlbnQuXG4gKlxuICogTm90ZSB0aGF0IGF0IHRoaXMgbW9tZW50ICgyMDI0LTA5LTA2KSB0aGVyZSBpcyBhbiBleHBlcmltZW50YWwgQ1NTIHByb3BlcnR5XG4gKiBgZmllbGQtc2l6aW5nOiBjb250ZW50O2AgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBzYW1lIGVmZmVjdC4gQXQgdGhpc1xuICogbW9tZW50IG5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCB0aGlzIHByb3BlcnR5IChGRiBhbmQgU2FmYXJpIGRvIG5vdCBmb3IgZXhhbXBsZSkuXG4gKlxuICogU28gZm9yIG5vdyBhIGRpcmVjdGl2ZSBpcyB1c2VkIHRvIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd0ZXh0YXJlYVtuZHdBdXRvR3Jvd10nLFxuICBob3N0OiB7XG4gICAgJyhpbnB1dCknOiAnZml0Q29udGVudEluVGV4dEFyZWEoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Hcm93RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHVibGljIGdldCBlbGVtZW50KCk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUucmVzaXplID0gJ25vbmUnO1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gICAgLy8gVXNlIHNldCB0aW1lb3V0IHRvIG1ha2Ugc3VyZSB0aGUgdGV4dGFyZWEgaXMgcmVuZGVyZWQgYmVmb3JlXG4gICAgLy8gd2Ugc2V0IHRoZSBpbml0aWFsIGhlaWdodC4gVGhpcyBpcyBuZWVkZWQgZm9yIEZpcmVmb3guXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpdENvbnRlbnRJblRleHRBcmVhKCkpO1xuXG4gICAgdGhpcy51cGRhdGVIZWlnaHRPbk5nQ29udHJvbFVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIGZpdENvbnRlbnRJblRleHRBcmVhKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7IC8vIE1ha2UgdGhlIHRleHRhcmVhIHNocmluayB3aGVuIGEgbG90IG9mIHRleHQgaXMgcmVtb3ZlZC5cbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5lbGVtZW50LnNjcm9sbEhlaWdodH1weGA7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUhlaWdodE9uTmdDb250cm9sVXBkYXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLnZhbHVlKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZml0Q29udGVudEluVGV4dEFyZWEoKSk7XG4gIH1cbn1cbiJdfQ==","import { DestroyRef, Directive, ElementRef, Renderer2, afterNextRender, effect, inject, input, signal, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nexport class MaxCharDirective {\n ndwMaxChar = input(0, ...(ngDevMode ? [{ debugName: \"ndwMaxChar\" }] : []));\n maxCharText = input('', ...(ngDevMode ? [{ debugName: \"maxCharText\" }] : []));\n elementRef = inject(ElementRef);\n renderer = inject(Renderer2);\n destroyRef = inject(DestroyRef);\n counterElement = null;\n originalParentStyle = null;\n originalElementStyle = null;\n get element() {\n return this.elementRef.nativeElement;\n }\n get parentStyle() {\n if (!this.element.parentElement) {\n throw new Error('ndwMaxChar parent element not found');\n }\n return this.element.parentElement.style;\n }\n isRendered = signal(false, ...(ngDevMode ? [{ debugName: \"isRendered\" }] : []));\n isDisabled = signal(false, ...(ngDevMode ? [{ debugName: \"isDisabled\" }] : []));\n ngControl = inject(NgControl, { optional: true });\n disabledAttrObserver = null;\n constructor() {\n afterNextRender(() => this.isRendered.set(true));\n effect(() => {\n const isDisabled = this.isDisabled();\n const maxChars = this.ndwMaxChar();\n const isRendered = this.isRendered();\n if (!isRendered || !this.element.parentNode) {\n return;\n }\n if (maxChars > 0 && !isDisabled) {\n if (!this.counterElement) {\n this.addCounterElement();\n this.onInput();\n }\n }\n else {\n this.removeCounterElement();\n }\n });\n }\n ngOnInit() {\n this.monitorDisabledState();\n this.isDisabled.set(this.element.disabled ?? this.ngControl?.disabled);\n }\n ngOnDestroy() {\n this.disabledAttrObserver?.disconnect();\n }\n onInput() {\n if (!this.counterElement) {\n return;\n }\n this.counterElement.textContent = `${this.element.value.length} /\n ${this.ndwMaxChar()} ${this.maxCharText()}`;\n if (this.element.value.length > this.ndwMaxChar()) {\n this.renderer.setStyle(this.counterElement, 'color', 'var(--ndw-color-critical-500)');\n }\n else {\n this.renderer.setStyle(this.counterElement, 'color', 'var(--ndw-color-grey-500)');\n }\n }\n monitorDisabledState() {\n this.disabledAttrObserver = new MutationObserver(() => {\n this.isDisabled.set(this.element.disabled);\n });\n this.disabledAttrObserver.observe(this.element, {\n attributes: true,\n attributeFilter: ['disabled'],\n });\n this.ngControl?.statusChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isDisabled.set(this.element.disabled);\n });\n }\n addCounterElement() {\n this.originalElementStyle = { ...this.element.style };\n this.originalParentStyle = { ...this.parentStyle };\n const counterElement = this.renderer.createElement('span');\n counterElement.style.boxSizing = 'border-box';\n counterElement.style.paddingBlockEnd = 'var(--ndw-spacing-xs)';\n counterElement.style.marginInline = 'var(--ndw-spacing-sm)';\n counterElement.style.position = 'absolute';\n counterElement.style.width = 'calc(100% - 2 * var(--ndw-spacing-sm))';\n counterElement.style.backgroundColor = 'var(--ndw-color-white)';\n counterElement.style.bottom = '0';\n this.parentStyle.display = 'block';\n this.parentStyle.position = 'relative';\n this.element.style.minHeight = 'calc(4rem)';\n this.element.style.paddingBottom = 'var(--ndw-spacing-xl)';\n this.element.style.scrollPaddingBottom = 'var(--ndw-spacing-lg)';\n this.renderer.appendChild(this.element.parentNode, counterElement);\n this.counterElement = counterElement;\n }\n removeCounterElement() {\n this.renderer.removeChild(this.element.parentNode, this.counterElement);\n this.counterElement = null;\n this.parentStyle.display = this.originalParentStyle?.display ?? '';\n this.parentStyle.position = this.originalParentStyle?.position ?? '';\n this.element.style.minHeight = this.originalElementStyle?.minHeight ?? '';\n this.element.style.paddingBottom = this.originalElementStyle?.paddingBottom ?? '';\n this.element.style.scrollPaddingBottom = this.originalElementStyle?.scrollPaddingBottom ?? '';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MaxCharDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.2.4\", type: MaxCharDirective, isStandalone: true, selector: \"textarea[ndwMaxChar]\", inputs: { ndwMaxChar: { classPropertyName: \"ndwMaxChar\", publicName: \"ndwMaxChar\", isSignal: true, isRequired: false, transformFunction: null }, maxCharText: { classPropertyName: \"maxCharText\", publicName: \"maxCharText\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"input\": \"onInput()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MaxCharDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'textarea[ndwMaxChar]',\n host: {\n '(input)': 'onInput()',\n },\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWNoYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvdGV4dGFyZWEvbWF4LWNoYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFHVixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBUyxDQUFDLHNEQUFDLENBQUM7SUFDOUIsV0FBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLHVEQUFDLENBQUM7SUFFdEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsY0FBYyxHQUF1QixJQUFJLENBQUM7SUFDMUMsbUJBQW1CLEdBQStCLElBQUksQ0FBQztJQUN2RCxvQkFBb0IsR0FBK0IsSUFBSSxDQUFDO0lBRWhFLElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBb0MsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxD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RkFBaEIsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsV0FBVztxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd0ZXh0YXJlYVtuZHdNYXhDaGFyXScsXG4gIGhvc3Q6IHtcbiAgICAnKGlucHV0KSc6ICdvbklucHV0KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNYXhDaGFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgbmR3TWF4Q2hhciA9IGlucHV0PG51bWJlcj4oMCk7XG4gIHB1YmxpYyBtYXhDaGFyVGV4dCA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHJpdmF0ZSBjb3VudGVyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmlnaW5hbFBhcmVudFN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb3JpZ2luYWxFbGVtZW50U3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGdldCBlbGVtZW50KCk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcGFyZW50U3R5bGUoKSB7XG4gICAgaWYgKCF0aGlzLmVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCduZHdNYXhDaGFyIHBhcmVudCBlbGVtZW50IG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQuc3R5bGU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGlzUmVuZGVyZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSBkaXNhYmxlZEF0dHJPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4gdGhpcy5pc1JlbmRlcmVkLnNldCh0cnVlKSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZCgpO1xuICAgICAgY29uc3QgbWF4Q2hhcnMgPSB0aGlzLm5kd01heENoYXIoKTtcbiAgICAgIGNvbnN0IGlzUmVuZGVyZWQgPSB0aGlzLmlzUmVuZGVyZWQoKTtcblxuICAgICAgaWYgKCFpc1JlbmRlcmVkIHx8ICF0aGlzLmVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXhDaGFycyA+IDAgJiYgIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvdW50ZXJFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5hZGRDb3VudGVyRWxlbWVudCgpO1xuICAgICAgICAgIHRoaXMub25JbnB1dCgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUNvdW50ZXJFbGVtZW50KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb25pdG9yRGlzYWJsZWRTdGF0ZSgpO1xuICAgIHRoaXMuaXNEaXNhYmxlZC5zZXQodGhpcy5lbGVtZW50LmRpc2FibGVkID8/IHRoaXMubmdDb250cm9sPy5kaXNhYmxlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZEF0dHJPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHVibGljIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvdW50ZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb3VudGVyRWxlbWVudC50ZXh0Q29udGVudCA9IGAke3RoaXMuZWxlbWVudC52YWx1ZS5sZW5ndGh9IC9cbiAgICAke3RoaXMubmR3TWF4Q2hhcigpfSAke3RoaXMubWF4Q2hhclRleHQoKX1gO1xuICAgIGlmICh0aGlzLmVsZW1lbnQudmFsdWUubGVuZ3RoID4gdGhpcy5uZHdNYXhDaGFyKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb3VudGVyRWxlbWVudCwgJ2NvbG9yJywgJ3ZhcigtLW5kdy1jb2xvci1jcml0aWNhbC01MDApJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb3VudGVyRWxlbWVudCwgJ2NvbG9yJywgJ3ZhcigtLW5kdy1jb2xvci1ncmV5LTUwMCknKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1vbml0b3JEaXNhYmxlZFN0YXRlKCkge1xuICAgIHRoaXMuZGlzYWJsZWRBdHRyT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KHRoaXMuZWxlbWVudC5kaXNhYmxlZCk7XG4gICAgfSk7XG4gICAgdGhpcy5kaXNhYmxlZEF0dHJPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCddLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uZ0NvbnRyb2w/LnN0YXR1c0NoYW5nZXM/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KHRoaXMuZWxlbWVudC5kaXNhYmxlZCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZENvdW50ZXJFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMub3JpZ2luYWxFbGVtZW50U3R5bGUgPSB7IC4uLnRoaXMuZWxlbWVudC5zdHlsZSB9O1xuICAgIHRoaXMub3JpZ2luYWxQYXJlbnRTdHlsZSA9IHsgLi4udGhpcy5wYXJlbnRTdHlsZSB9O1xuXG4gICAgY29uc3QgY291bnRlckVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgY291bnRlckVsZW1lbnQuc3R5bGUuYm94U2l6aW5nID0gJ2JvcmRlci1ib3gnO1xuICAgIGNvdW50ZXJFbGVtZW50LnN0eWxlLnBhZGRpbmdCbG9ja0VuZCA9ICd2YXIoLS1uZHctc3BhY2luZy14cyknO1xuICAgIGNvdW50ZXJFbGVtZW50LnN0eWxlLm1hcmdpbklubGluZSA9ICd2YXIoLS1uZHctc3BhY2luZy1zbSknO1xuICAgIGNvdW50ZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBjb3VudGVyRWxlbWVudC5zdHlsZS53aWR0aCA9ICdjYWxjKDEwMCUgLSAyICogdmFyKC0tbmR3LXNwYWNpbmctc20pKSc7XG4gICAgY291bnRlckVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3ZhcigtLW5kdy1jb2xvci13aGl0ZSknO1xuICAgIGNvdW50ZXJFbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcwJztcblxuICAgIHRoaXMucGFyZW50U3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgdGhpcy5wYXJlbnRTdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG5cbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUubWluSGVpZ2h0ID0gJ2NhbGMoNHJlbSknO1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5wYWRkaW5nQm90dG9tID0gJ3ZhcigtLW5kdy1zcGFjaW5nLXhsKSc7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLnNjcm9sbFBhZGRpbmdCb3R0b20gPSAndmFyKC0tbmR3LXNwYWNpbmctbGcpJztcblxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50LnBhcmVudE5vZGUsIGNvdW50ZXJFbGVtZW50KTtcbiAgICB0aGlzLmNvdW50ZXJFbGVtZW50ID0gY291bnRlckVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNvdW50ZXJFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50LnBhcmVudE5vZGUsIHRoaXMuY291bnRlckVsZW1lbnQpO1xuICAgIHRoaXMuY291bnRlckVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5wYXJlbnRTdHlsZS5kaXNwbGF5ID0gdGhpcy5vcmlnaW5hbFBhcmVudFN0eWxlPy5kaXNwbGF5ID8/ICcnO1xuICAgIHRoaXMucGFyZW50U3R5bGUucG9zaXRpb24gPSB0aGlzLm9yaWdpbmFsUGFyZW50U3R5bGU/LnBvc2l0aW9uID8/ICcnO1xuXG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9IHRoaXMub3JpZ2luYWxFbGVtZW50U3R5bGU/Lm1pbkhlaWdodCA/PyAnJztcbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUucGFkZGluZ0JvdHRvbSA9IHRoaXMub3JpZ2luYWxFbGVtZW50U3R5bGU/LnBhZGRpbmdCb3R0b20gPz8gJyc7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLnNjcm9sbFBhZGRpbmdCb3R0b20gPSB0aGlzLm9yaWdpbmFsRWxlbWVudFN0eWxlPy5zY3JvbGxQYWRkaW5nQm90dG9tID8/ICcnO1xuICB9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, inject, input, model, } from '@angular/core';\nimport { FormsModule, NgControl, ReactiveFormsModule, Validators, } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { AutoGrowDirective } from '../textarea';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport class MarkdownEditorComponent {\n ngControl = inject(NgControl, { optional: true });\n uuid = input(crypto.randomUUID(), ...(ngDevMode ? [{ debugName: \"uuid\" }] : []));\n value = model('', ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n error = input(false, ...(ngDevMode ? [{ debugName: \"error\" }] : []));\n readonly = input(false, ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n success = input(false, ...(ngDevMode ? [{ debugName: \"success\" }] : []));\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n toolbar = input([\n 'bold',\n 'header',\n 'italic',\n 'unordered-list',\n 'ordered-list',\n 'task-list',\n ], ...(ngDevMode ? [{ debugName: \"toolbar\" }] : []));\n bold = computed(() => this.toolbar().includes('bold'), ...(ngDevMode ? [{ debugName: \"bold\" }] : []));\n header = computed(() => this.toolbar().includes('header'), ...(ngDevMode ? [{ debugName: \"header\" }] : []));\n italic = computed(() => this.toolbar().includes('italic'), ...(ngDevMode ? [{ debugName: \"italic\" }] : []));\n quote = computed(() => this.toolbar().includes('quote'), ...(ngDevMode ? [{ debugName: \"quote\" }] : []));\n unorderedList = computed(() => this.toolbar().includes('unordered-list'), ...(ngDevMode ? [{ debugName: \"unorderedList\" }] : []));\n orderedList = computed(() => this.toolbar().includes('ordered-list'), ...(ngDevMode ? [{ debugName: \"orderedList\" }] : []));\n taskList = computed(() => this.toolbar().includes('task-list'), ...(ngDevMode ? [{ debugName: \"taskList\" }] : []));\n get isRequiredOrHasRequiredValidator() {\n return this.required() || this.ngControl?.control?.hasValidator(Validators.required)\n ? true\n : null;\n }\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n if (!customElements.get('markdown-toolbar')) {\n import('@github/markdown-toolbar-element');\n }\n }\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this.value.subscribe(fn);\n }\n registerOnTouched() {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MarkdownEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MarkdownEditorComponent, isStandalone: true, selector: \"ndw-markdown-editor\", inputs: { uuid: { classPropertyName: \"uuid\", publicName: \"uuid\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", 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 }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, success: { classPropertyName: \"success\", publicName: \"success\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: \"toolbar\", publicName: \"toolbar\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", disabled: \"disabledChange\" }, host: { properties: { \"class.disabled\": \"disabled()\", \"class.error\": \"error()\", \"class.readonly\": \"readonly()\", \"class.success\": \"success()\", \"class.required\": \"isRequiredOrHasRequiredValidator\" } }, ngImport: i0, template: \"<markdown-toolbar [attr.for]=\\\"uuid()\\\" [attr.inert]=\\\"disabled() || readonly() ? '' : null\\\">\\n @if (bold()) {\\n <md-bold>\\n <button ndwButton tertiary alternative title=\\\"Bold\\\" aria-label=\\\"Bold\\\">\\n <ndw-icon>format_bold</ndw-icon>\\n </button>\\n </md-bold>\\n }\\n @if (header()) {\\n <md-header>\\n <button ndwButton tertiary alternative title=\\\"Title\\\" aria-label=\\\"Title\\\">\\n <ndw-icon>title</ndw-icon>\\n </button>\\n </md-header>\\n }\\n @if (italic()) {\\n <md-italic>\\n <button ndwButton tertiary alternative title=\\\"Italic\\\" aria-label=\\\"Italic\\\">\\n <ndw-icon>format_italic</ndw-icon>\\n </button>\\n </md-italic>\\n }\\n @if (quote()) {\\n <md-quote>\\n <button ndwButton tertiary alternative title=\\\"Quote\\\" aria-label=\\\"Quote\\\">\\n <ndw-icon>format_quote</ndw-icon>\\n </button>\\n </md-quote>\\n }\\n @if (unorderedList()) {\\n <md-unordered-list>\\n <button ndwButton tertiary alternative title=\\\"Unordered list\\\" aria-label=\\\"Unordered list\\\">\\n <ndw-icon>format_list_bulleted</ndw-icon>\\n </button>\\n </md-unordered-list>\\n }\\n @if (orderedList()) {\\n <md-ordered-list>\\n <button ndwButton tertiary alternative title=\\\"Ordered list\\\" aria-label=\\\"Ordered list\\\">\\n <ndw-icon>format_list_numbered</ndw-icon>\\n </button>\\n </md-ordered-list>\\n }\\n @if (taskList()) {\\n <md-task-list>\\n <button ndwButton tertiary alternative title=\\\"Task list\\\" aria-label=\\\"Task list\\\">\\n <ndw-icon>checklist</ndw-icon>\\n </button>\\n </md-task-list>\\n }\\n</markdown-toolbar>\\n\\n<textarea\\n [id]=\\\"uuid()\\\"\\n class=\\\"markdown-editor\\\"\\n [(ngModel)]=\\\"value\\\"\\n [disabled]=\\\"disabled()\\\"\\n [readonly]=\\\"readonly()\\\"\\n ndwAutoGrow\\n></textarea>\\n\", styles: [\":host{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-shadow:0 0 0 1px var(--ndw-color-grey-300);border-radius:var(--ndw-border-radius-sm);outline:none;background:var(--ndw-color-white);display:flex;flex-direction:column}:host.error,:host.ng-invalid{border:var(--ndw-border-size-sm) solid var(--ndw-color-critical-500)}:host.success{border:var(--ndw-border-size-sm) solid var(--ndw-color-positive-500)}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);cursor:not-allowed}:host.disabled .markdown-editor,:host.readonly .markdown-editor{background-color:var(--ndw-color-grey-100);cursor:not-allowed}:host.disabled markdown-toolbar>*,:host.readonly markdown-toolbar>*{pointer-events:none}:host .markdown-editor{padding-left:var(--ndw-spacing-md);padding-right:var(--ndw-spacing-md);resize:none;border:none;overflow-y:hidden}:host .markdown-editor:focus{outline:none;border:none}:host.focus{border:var(--ndw-border-size-sm) solid var(--ndw-color-info-500);box-shadow:0 0 0 var(--ndw-border-size-sm) var(--ndw-color-info-500)}:host markdown-toolbar{display:flex;padding:var(--ndw-spacing-2xs);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);margin-bottom:var(--ndw-spacing-sm)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: AutoGrowDirective, selector: \"textarea[ndwAutoGrow]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MarkdownEditorComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, CommonModule, ReactiveFormsModule, FormsModule, AutoGrowDirective], selector: 'ndw-markdown-editor', host: {\n '[class.disabled]': 'disabled()',\n '[class.error]': 'error()',\n '[class.readonly]': 'readonly()',\n '[class.success]': 'success()',\n '[class.required]': 'isRequiredOrHasRequiredValidator',\n }, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: \"<markdown-toolbar [attr.for]=\\\"uuid()\\\" [attr.inert]=\\\"disabled() || readonly() ? '' : null\\\">\\n @if (bold()) {\\n <md-bold>\\n <button ndwButton tertiary alternative title=\\\"Bold\\\" aria-label=\\\"Bold\\\">\\n <ndw-icon>format_bold</ndw-icon>\\n </button>\\n </md-bold>\\n }\\n @if (header()) {\\n <md-header>\\n <button ndwButton tertiary alternative title=\\\"Title\\\" aria-label=\\\"Title\\\">\\n <ndw-icon>title</ndw-icon>\\n </button>\\n </md-header>\\n }\\n @if (italic()) {\\n <md-italic>\\n <button ndwButton tertiary alternative title=\\\"Italic\\\" aria-label=\\\"Italic\\\">\\n <ndw-icon>format_italic</ndw-icon>\\n </button>\\n </md-italic>\\n }\\n @if (quote()) {\\n <md-quote>\\n <button ndwButton tertiary alternative title=\\\"Quote\\\" aria-label=\\\"Quote\\\">\\n <ndw-icon>format_quote</ndw-icon>\\n </button>\\n </md-quote>\\n }\\n @if (unorderedList()) {\\n <md-unordered-list>\\n <button ndwButton tertiary alternative title=\\\"Unordered list\\\" aria-label=\\\"Unordered list\\\">\\n <ndw-icon>format_list_bulleted</ndw-icon>\\n </button>\\n </md-unordered-list>\\n }\\n @if (orderedList()) {\\n <md-ordered-list>\\n <button ndwButton tertiary alternative title=\\\"Ordered list\\\" aria-label=\\\"Ordered list\\\">\\n <ndw-icon>format_list_numbered</ndw-icon>\\n </button>\\n </md-ordered-list>\\n }\\n @if (taskList()) {\\n <md-task-list>\\n <button ndwButton tertiary alternative title=\\\"Task list\\\" aria-label=\\\"Task list\\\">\\n <ndw-icon>checklist</ndw-icon>\\n </button>\\n </md-task-list>\\n }\\n</markdown-toolbar>\\n\\n<textarea\\n [id]=\\\"uuid()\\\"\\n class=\\\"markdown-editor\\\"\\n [(ngModel)]=\\\"value\\\"\\n [disabled]=\\\"disabled()\\\"\\n [readonly]=\\\"readonly()\\\"\\n ndwAutoGrow\\n></textarea>\\n\", styles: [\":host{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-shadow:0 0 0 1px var(--ndw-color-grey-300);border-radius:var(--ndw-border-radius-sm);outline:none;background:var(--ndw-color-white);display:flex;flex-direction:column}:host.error,:host.ng-invalid{border:var(--ndw-border-size-sm) solid var(--ndw-color-critical-500)}:host.success{border:var(--ndw-border-size-sm) solid var(--ndw-color-positive-500)}:host.disabled,:host.readonly{background-color:var(--ndw-color-grey-100);cursor:not-allowed}:host.disabled .markdown-editor,:host.readonly .markdown-editor{background-color:var(--ndw-color-grey-100);cursor:not-allowed}:host.disabled markdown-toolbar>*,:host.readonly markdown-toolbar>*{pointer-events:none}:host .markdown-editor{padding-left:var(--ndw-spacing-md);padding-right:var(--ndw-spacing-md);resize:none;border:none;overflow-y:hidden}:host .markdown-editor:focus{outline:none;border:none}:host.focus{border:var(--ndw-border-size-sm) solid var(--ndw-color-info-500);box-shadow:0 0 0 var(--ndw-border-size-sm) var(--ndw-color-info-500)}:host markdown-toolbar{display:flex;padding:var(--ndw-spacing-2xs);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);margin-bottom:var(--ndw-spacing-sm)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL21hcmtkb3duLWVkaXRvci9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvbWFya2Rvd24tZWRpdG9yL21hcmtkb3duLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQWlCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNqQixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTFELElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxnREFBQyxDQUFDO0lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxpREFBQyxDQUFDO0lBQ2xCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FB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aUIsQ0FBQyxZQUNqRixxQkFBcUIsUUFHekI7d0JBQ0osa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsZUFBZSxFQUFFLFNBQVM7d0JBQzFCLGtCQUFrQixFQUFFLFlBQVk7d0JBQ2hDLGlCQUFpQixFQUFFLFdBQVc7d0JBQzlCLGtCQUFrQixFQUFFLGtDQUFrQztxQkFDdkQsV0FDUSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3Jtc01vZHVsZSxcbiAgTmdDb250cm9sLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBdXRvR3Jvd0RpcmVjdGl2ZSB9IGZyb20gJy4uL3RleHRhcmVhJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSwgQXV0b0dyb3dEaXJlY3RpdmVdLFxuICBzZWxlY3RvcjogJ25kdy1tYXJrZG93bi1lZGl0b3InLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmVycm9yXSc6ICdlcnJvcigpJyxcbiAgICAnW2NsYXNzLnJlYWRvbmx5XSc6ICdyZWFkb25seSgpJyxcbiAgICAnW2NsYXNzLnN1Y2Nlc3NdJzogJ3N1Y2Nlc3MoKScsXG4gICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAnaXNSZXF1aXJlZE9ySGFzUmVxdWlyZWRWYWxpZGF0b3InLFxuICB9LFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdXVpZCA9IGlucHV0KGNyeXB0by5yYW5kb21VVUlEKCkpO1xuICByZWFkb25seSB2YWx1ZSA9IG1vZGVsKCcnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgc3VjY2VzcyA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHRvb2xiYXIgPSBpbnB1dChbXG4gICAgJ2JvbGQnLFxuICAgICdoZWFkZXInLFxuICAgICdpdGFsaWMnLFxuICAgICd1bm9yZGVyZWQtbGlzdCcsXG4gICAgJ29yZGVyZWQtbGlzdCcsXG4gICAgJ3Rhc2stbGlzdCcsXG4gIF0pO1xuXG4gIHJlYWRvbmx5IGJvbGQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvb2xiYXIoKS5pbmNsdWRlcygnYm9sZCcpKTtcbiAgcmVhZG9ubHkgaGVhZGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50b29sYmFyKCkuaW5jbHVkZXMoJ2hlYWRlcicpKTtcbiAgcmVhZG9ubHkgaXRhbGljID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50b29sYmFyKCkuaW5jbHVkZXMoJ2l0YWxpYycpKTtcbiAgcmVhZG9ubHkgcXVvdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvb2xiYXIoKS5pbmNsdWRlcygncXVvdGUnKSk7XG4gIHJlYWRvbmx5IHVub3JkZXJlZExpc3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvb2xiYXIoKS5pbmNsdWRlcygndW5vcmRlcmVkLWxpc3QnKSk7XG4gIHJlYWRvbmx5IG9yZGVyZWRMaXN0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50b29sYmFyKCkuaW5jbHVkZXMoJ29yZGVyZWQtbGlzdCcpKTtcbiAgcmVhZG9ubHkgdGFza0xpc3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvb2xiYXIoKS5pbmNsdWRlcygndGFzay1saXN0JykpO1xuXG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZE9ySGFzUmVxdWlyZWRWYWxpZGF0b3IoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkKCkgfHwgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgPyB0cnVlXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnbWFya2Rvd24tdG9vbGJhcicpKSB7XG4gICAgICBpbXBvcnQoJ0BnaXRodWIvbWFya2Rvd24tdG9vbGJhci1lbGVtZW50Jyk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zdWJzY3JpYmUoZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoKSB7XG4gICAgLy8gbm9vcFxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICB9XG59XG4iLCI8bWFya2Rvd24tdG9vbGJhciBbYXR0ci5mb3JdPVwidXVpZCgpXCIgW2F0dHIuaW5lcnRdPVwiZGlzYWJsZWQoKSB8fCByZWFkb25seSgpID8gJycgOiBudWxsXCI+XG4gIEBpZiAoYm9sZCgpKSB7XG4gICAgPG1kLWJvbGQ+XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiB0ZXJ0aWFyeSBhbHRlcm5hdGl2ZSB0aXRsZT1cIkJvbGRcIiBhcmlhLWxhYmVsPVwiQm9sZFwiPlxuICAgICAgICA8bmR3LWljb24+Zm9ybWF0X2JvbGQ8L25kdy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tZC1ib2xkPlxuICB9XG4gIEBpZiAoaGVhZGVyKCkpIHtcbiAgICA8bWQtaGVhZGVyPlxuICAgICAgPGJ1dHRvbiBuZHdCdXR0b24gdGVydGlhcnkgYWx0ZXJuYXRpdmUgdGl0bGU9XCJUaXRsZVwiIGFyaWEtbGFiZWw9XCJUaXRsZVwiPlxuICAgICAgICA8bmR3LWljb24+dGl0bGU8L25kdy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tZC1oZWFkZXI+XG4gIH1cbiAgQGlmIChpdGFsaWMoKSkge1xuICAgIDxtZC1pdGFsaWM+XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiB0ZXJ0aWFyeSBhbHRlcm5hdGl2ZSB0aXRsZT1cIkl0YWxpY1wiIGFyaWEtbGFiZWw9XCJJdGFsaWNcIj5cbiAgICAgICAgPG5kdy1pY29uPmZvcm1hdF9pdGFsaWM8L25kdy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tZC1pdGFsaWM+XG4gIH1cbiAgQGlmIChxdW90ZSgpKSB7XG4gICAgPG1kLXF1b3RlPlxuICAgICAgPGJ1dHRvbiBuZHdCdXR0b24gdGVydGlhcnkgYWx0ZXJuYXRpdmUgdGl0bGU9XCJRdW90ZVwiIGFyaWEtbGFiZWw9XCJRdW90ZVwiPlxuICAgICAgICA8bmR3LWljb24+Zm9ybWF0X3F1b3RlPC9uZHctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWQtcXVvdGU+XG4gIH1cbiAgQGlmICh1bm9yZGVyZWRMaXN0KCkpIHtcbiAgICA8bWQtdW5vcmRlcmVkLWxpc3Q+XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiB0ZXJ0aWFyeSBhbHRlcm5hdGl2ZSB0aXRsZT1cIlVub3JkZXJlZCBsaXN0XCIgYXJpYS1sYWJlbD1cIlVub3JkZXJlZCBsaXN0XCI+XG4gICAgICAgIDxuZHctaWNvbj5mb3JtYXRfbGlzdF9idWxsZXRlZDwvbmR3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21kLXVub3JkZXJlZC1saXN0PlxuICB9XG4gIEBpZiAob3JkZXJlZExpc3QoKSkge1xuICAgIDxtZC1vcmRlcmVkLWxpc3Q+XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiB0ZXJ0aWFyeSBhbHRlcm5hdGl2ZSB0aXRsZT1cIk9yZGVyZWQgbGlzdFwiIGFyaWEtbGFiZWw9XCJPcmRlcmVkIGxpc3RcIj5cbiAgICAgICAgPG5kdy1pY29uPmZvcm1hdF9saXN0X251bWJlcmVkPC9uZHctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWQtb3JkZXJlZC1saXN0PlxuICB9XG4gIEBpZiAodGFza0xpc3QoKSkge1xuICAgIDxtZC10YXNrLWxpc3Q+XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiB0ZXJ0aWFyeSBhbHRlcm5hdGl2ZSB0aXRsZT1cIlRhc2sgbGlzdFwiIGFyaWEtbGFiZWw9XCJUYXNrIGxpc3RcIj5cbiAgICAgICAgPG5kdy1pY29uPmNoZWNrbGlzdDwvbmR3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21kLXRhc2stbGlzdD5cbiAgfVxuPC9tYXJrZG93bi10b29sYmFyPlxuXG48dGV4dGFyZWFcbiAgW2lkXT1cInV1aWQoKVwiXG4gIGNsYXNzPVwibWFya2Rvd24tZWRpdG9yXCJcbiAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxuICBuZHdBdXRvR3Jvd1xuPjwvdGV4dGFyZWE+XG4iXX0=","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, model, signal } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nexport class RadioButtonComponent {\n checked = model(false, ...(ngDevMode ? [{ debugName: \"checked\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n error = input(false, ...(ngDevMode ? [{ debugName: \"error\" }] : []));\n success = input(false, ...(ngDevMode ? [{ debugName: \"success\" }] : []));\n required = input(false, ...(ngDevMode ? [{ debugName: \"required\" }] : []));\n value = model(...(ngDevMode ? [undefined, { debugName: \"value\" }] : []));\n name = signal(undefined, ...(ngDevMode ? [{ debugName: \"name\" }] : []));\n uuid = crypto.randomUUID();\n onInputChange(event) {\n const input = event.target;\n this.checked.set(input.checked);\n }\n writeValue(value) {\n this.checked.set(value);\n }\n registerOnChange(fn) {\n this.checked.subscribe(fn);\n }\n registerOnTouched() {\n // noop\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", 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 }, success: { classPropertyName: \"success\", publicName: \"success\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: \"checkedChange\", disabled: \"disabledChange\", value: \"valueChange\" }, host: { properties: { \"class.checked\": \"checked()\", \"class.disabled\": \"disabled()\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true,\n },\n ], ngImport: i0, template: \"<input\\n type=\\\"radio\\\"\\n class=\\\"sr-only\\\"\\n [id]=\\\"'radio-button-' + uuid\\\"\\n [name]=\\\"name()\\\"\\n [checked]=\\\"checked()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [required]=\\\"required()\\\"\\n (change)=\\\"onInputChange($event)\\\"\\n/>\\n<label tabindex=\\\"-1\\\" id=\\\"radio-button-label-{{ uuid }}\\\" [for]=\\\"'radio-button-' + uuid\\\">\\n <div class=\\\"radio-button\\\" aria-hidden=\\\"true\\\" [ngClass]=\\\"{ error: error(), success: success() }\\\">\\n @if (checked()) {\\n <span class=\\\"check\\\"></span>\\n }\\n </div>\\n <ng-content />\\n</label>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--checkable-input-size: 1.25rem;cursor:pointer;min-height:1.375rem;width:fit-content}div{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;color:var(--ndw-color-white);display:flex;height:var(--checkable-input-size);position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out;width:var(--checkable-input-size);flex-shrink:0}div.success{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}div.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);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;gap:var(--ndw-spacing-xs);line-height:var(--ndw-line-height-sm);width:fit-content;word-break:break-word}:host(.checked) div,:host(.indeterminate) div{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) div.success,:host(.indeterminate) div.success{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.error,:host(.indeterminate) div.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:focus-within) div{box-shadow:var(--ndw-elevation-info)}:host(:active) div,:host(:focus-within) div,:host(:not(.checked):active) div,:host(:not(.indeterminate):active) div{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus-within) div,:host(.indeterminate:focus-within) div{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) div{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) div{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\\n\", \".radio-button{border-radius:50%}.radio-button .check{background-color:var(--ndw-color-white);border-radius:inherit;height:.5rem;margin:auto;width:.5rem}: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)}\\n\"], dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RadioButtonComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.checked]': 'checked()',\n '[class.disabled]': 'disabled()',\n }, imports: [NgClass], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true,\n },\n ], selector: 'ndw-radio-button', template: \"<input\\n type=\\\"radio\\\"\\n class=\\\"sr-only\\\"\\n [id]=\\\"'radio-button-' + uuid\\\"\\n [name]=\\\"name()\\\"\\n [checked]=\\\"checked()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [required]=\\\"required()\\\"\\n (change)=\\\"onInputChange($event)\\\"\\n/>\\n<label tabindex=\\\"-1\\\" id=\\\"radio-button-label-{{ uuid }}\\\" [for]=\\\"'radio-button-' + uuid\\\">\\n <div class=\\\"radio-button\\\" aria-hidden=\\\"true\\\" [ngClass]=\\\"{ error: error(), success: success() }\\\">\\n @if (checked()) {\\n <span class=\\\"check\\\"></span>\\n }\\n </div>\\n <ng-content />\\n</label>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--checkable-input-size: 1.25rem;cursor:pointer;min-height:1.375rem;width:fit-content}div{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;color:var(--ndw-color-white);display:flex;height:var(--checkable-input-size);position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out;width:var(--checkable-input-size);flex-shrink:0}div.success{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}div.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);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;gap:var(--ndw-spacing-xs);line-height:var(--ndw-line-height-sm);width:fit-content;word-break:break-word}:host(.checked) div,:host(.indeterminate) div{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) div.success,:host(.indeterminate) div.success{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) div.error,:host(.indeterminate) div.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:focus-within) div{box-shadow:var(--ndw-elevation-info)}:host(:active) div,:host(:focus-within) div,:host(:not(.checked):active) div,:host(:not(.indeterminate):active) div{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus-within) div,:host(.indeterminate:focus-within) div{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) div{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) div{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\\n\", \".radio-button{border-radius:50%}.radio-button .check{background-color:var(--ndw-color-white);border-radius:inherit;height:.5rem;margin:auto;width:.5rem}: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)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBcUJ6RSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxpREFBQyxDQUFDO0lBQ3JCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLDJEQUFFLENBQUM7SUFFaEIsSUFBSSxHQUFHLE1BQU0sQ0FBcUIsU0FBUyxnREFBQyxDQUFDO0lBRTdDLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFM0IsYUFBYSxDQUFDLEtBQVk7UUFDL0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBNEI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPO0lBQ1QsQ0FBQztJQUVNLGdCQUFnQixDQUFFLFVBQW1CO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7dUdBL0JVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDArQkFYcEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDbEJILDBoQkFrQkEsKzVJRFBZLE9BQU87OzJGQVlOLG9CQUFvQjtrQkFsQmhDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixpQkFBaUIsRUFBRSxXQUFXO3dCQUM5QixrQkFBa0IsRUFBRSxZQUFZO3FCQUNqQyxXQUNRLENBQUMsT0FBTyxDQUFDLGFBQ1A7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFlBQ1Msa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hlY2thYmxlQ29tcG9uZW50IH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmNoZWNrZWRdJzogJ2NoZWNrZWQoKScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ25kdy1yYWRpby1idXR0b24nLFxuICBzdHlsZVVybHM6IFsnLi4vY2hlY2thYmxlLWlucHV0LnNjc3MnLCAnLi9yYWRpby1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIENoZWNrYWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBjaGVja2VkID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyBlcnJvciA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHN1Y2Nlc3MgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHZhbHVlID0gbW9kZWwoKTtcblxuICBwdWJsaWMgbmFtZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIHV1aWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuXG4gIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5jaGVja2VkLnNldChpbnB1dC5jaGVja2VkKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnN1YnNjcmliZShmbik7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gICAgLy8gbm9vcFxuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgfVxufVxuIiwiPGlucHV0XG4gIHR5cGU9XCJyYWRpb1wiXG4gIGNsYXNzPVwic3Itb25seVwiXG4gIFtpZF09XCIncmFkaW8tYnV0dG9uLScgKyB1dWlkXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbi8+XG48bGFiZWwgdGFiaW5kZXg9XCItMVwiIGlkPVwicmFkaW8tYnV0dG9uLWxhYmVsLXt7IHV1aWQgfX1cIiBbZm9yXT1cIidyYWRpby1idXR0b24tJyArIHV1aWRcIj5cbiAgPGRpdiBjbGFzcz1cInJhZGlvLWJ1dHRvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCksIHN1Y2Nlc3M6IHN1Y2Nlc3MoKSB9XCI+XG4gICAgQGlmIChjaGVja2VkKCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tcIj48L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvbGFiZWw+XG4iXX0=","import { ChangeDetectionStrategy, Component, contentChildren, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { checkRadioItems, setRadioItemsName } from '@ndwnu/core';\nimport { noop } from 'rxjs';\nimport { RadioButtonComponent } from '../radio-button';\nimport * as i0 from \"@angular/core\";\nexport class RadioGroupComponent {\n radioButtons = contentChildren(RadioButtonComponent, ...(ngDevMode ? [{ debugName: \"radioButtons\" }] : []));\n uuid = crypto.randomUUID();\n onChange = noop;\n ngAfterContentInit() {\n const radioButtons = [...this.radioButtons()];\n setRadioItemsName(radioButtons, this.uuid);\n checkRadioItems(radioButtons, this.onChange);\n }\n writeValue(value) {\n this.radioButtons().forEach((radio) => {\n radio.checked.set(radio.value() === value);\n });\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched() {\n // noop\n }\n setDisabledState(isDisabled) {\n this.radioButtons().forEach((radio) => radio.disabled.set(isDisabled));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: RadioGroupComponent, isStandalone: true, selector: \"ndw-radio-group\", host: { attributes: { \"role\": \"radiogroup\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioGroupComponent,\n multi: true,\n },\n ], queries: [{ propertyName: \"radioButtons\", predicate: RadioButtonComponent, isSignal: true }], ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{display:grid;gap:var(--ndw-spacing-2xs)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RadioGroupComponent, decorators: [{\n type: Component,\n args: [{ host: {\n role: 'radiogroup',\n }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioGroupComponent,\n multi: true,\n },\n ], selector: 'ndw-radio-group', template: \"<ng-content />\\n\", styles: [\":host{display:grid;gap:var(--ndw-spacing-2xs)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWtCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixZQUFZLEdBQUcsZUFBZSxDQUFDLG9CQUFvQix3REFBQyxDQUFDO0lBRXBELElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsUUFBUSxHQUE2QixJQUFJLENBQUM7SUFFM0Msa0JBQWtCO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM5QyxpQkFBaUIsQ0FBdUIsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxlQUFlLENBQXVCLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBNEI7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPO0lBQ1QsQ0FBQztJQUVNLGdCQUFnQixDQUFFLFVBQW1CO1FBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzt1R0E1QlUsbUJBQW1COzJGQUFuQixtQkFBbUIsOEdBWG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHVEQU1xQyxvQkFBb0IsNkNDN0I1RCxrQkFDQTs7MkZEMkJhLG1CQUFtQjtrQkFoQi9CLFNBQVM7MkJBQ0Y7d0JBQ0osSUFBSSxFQUFFLFlBQVk7cUJBQ25CLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixZQUNTLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjaGVja1JhZGlvSXRlbXMsIHNldFJhZGlvSXRlbXNOYW1lIH0gZnJvbSAnQG5kd251L2NvcmUnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgcm9sZTogJ3JhZGlvZ3JvdXAnLFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9Hcm91cENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnbmR3LXJhZGlvLWdyb3VwJyxcbiAgc3R5bGVVcmw6ICcuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIHJhZGlvQnV0dG9ucyA9IGNvbnRlbnRDaGlsZHJlbihSYWRpb0J1dHRvbkNvbXBvbmVudCk7XG5cbiAgcHJpdmF0ZSB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gbm9vcDtcblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJhZGlvQnV0dG9ucyA9IFsuLi50aGlzLnJhZGlvQnV0dG9ucygpXTtcbiAgICBzZXRSYWRpb0l0ZW1zTmFtZTxSYWRpb0J1dHRvbkNvbXBvbmVudD4ocmFkaW9CdXR0b25zLCB0aGlzLnV1aWQpO1xuICAgIGNoZWNrUmFkaW9JdGVtczxSYWRpb0J1dHRvbkNvbXBvbmVudD4ocmFkaW9CdXR0b25zLCB0aGlzLm9uQ2hhbmdlKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5yYWRpb0J1dHRvbnMoKS5mb3JFYWNoKChyYWRpbykgPT4ge1xuICAgICAgcmFkaW8uY2hlY2tlZC5zZXQocmFkaW8udmFsdWUoKSA9PT0gdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmFkaW9CdXR0b25zKCkuZm9yRWFjaCgocmFkaW8pID0+IHJhZGlvLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CorePillComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class PillComponent extends CorePillComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PillComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: PillComponent, isStandalone: true, selector: \"ndw-pill\", host: { classAttribute: \"ndw-paragraph-md\" }, usesInheritance: true, ngImport: i0, template: \"<div>\\n <ng-content />\\n</div>\\n\", styles: [\":host{display:inline-block;line-height:1rem;border-radius:var(--pill-border-radius);font-weight:var(--pill-font-weight);padding:var(--pill-padding-vertical) var(--pill-padding-horizontal);max-width:20rem}:host>div{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host.green{color:var(--pill-green-color);background-color:var(--pill-green-background-color)}:host.gray{color:var(--pill-gray-color);background-color:var(--pill-gray-background-color)}:host.blue{color:var(--pill-blue-color);background-color:var(--pill-blue-background-color)}:host.purple{color:var(--pill-purple-color);background-color:var(--pill-purple-background-color)}:host.yellow{color:var(--pill-yellow-color);background-color:var(--pill-yellow-background-color)}:host.red{color:var(--pill-red-color);background-color:var(--pill-red-background-color)}:host{--pill-border-radius: var(--ndw-border-radius-sm);--pill-padding-vertical: var(--ndw-spacing-3xs);--pill-padding-horizontal: var(--ndw-spacing-2xs);--pill-font-weight: var(--ndw-font-weight-regular);--pill-green-color: var(--ndw-color-positive-600);--pill-green-background-color: var(--ndw-color-positive-100);--pill-gray-color: var(--ndw-color-grey-600);--pill-gray-background-color: var(--ndw-color-grey-200);--pill-blue-color: var(--ndw-color-info-500);--pill-blue-background-color: var(--ndw-color-info-100);--pill-purple-color: var(--ndw-color-alternative-500);--pill-purple-background-color: var(--ndw-color-alternative-100);--pill-yellow-color: var(--ndw-color-grey-600);--pill-yellow-background-color: var(--ndw-color-warning-100);--pill-red-color: var(--ndw-color-critical-500);--pill-red-background-color: var(--ndw-color-critical-100)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: PillComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-paragraph-md',\n }, selector: 'ndw-pill', template: \"<div>\\n <ng-content />\\n</div>\\n\", styles: [\":host{display:inline-block;line-height:1rem;border-radius:var(--pill-border-radius);font-weight:var(--pill-font-weight);padding:var(--pill-padding-vertical) var(--pill-padding-horizontal);max-width:20rem}:host>div{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host.green{color:var(--pill-green-color);background-color:var(--pill-green-background-color)}:host.gray{color:var(--pill-gray-color);background-color:var(--pill-gray-background-color)}:host.blue{color:var(--pill-blue-color);background-color:var(--pill-blue-background-color)}:host.purple{color:var(--pill-purple-color);background-color:var(--pill-purple-background-color)}:host.yellow{color:var(--pill-yellow-color);background-color:var(--pill-yellow-background-color)}:host.red{color:var(--pill-red-color);background-color:var(--pill-red-background-color)}:host{--pill-border-radius: var(--ndw-border-radius-sm);--pill-padding-vertical: var(--ndw-spacing-3xs);--pill-padding-horizontal: var(--ndw-spacing-2xs);--pill-font-weight: var(--ndw-font-weight-regular);--pill-green-color: var(--ndw-color-positive-600);--pill-green-background-color: var(--ndw-color-positive-100);--pill-gray-color: var(--ndw-color-grey-600);--pill-gray-background-color: var(--ndw-color-grey-200);--pill-blue-color: var(--ndw-color-info-500);--pill-blue-background-color: var(--ndw-color-info-100);--pill-purple-color: var(--ndw-color-alternative-500);--pill-purple-background-color: var(--ndw-color-alternative-100);--pill-yellow-color: var(--ndw-color-grey-600);--pill-yellow-background-color: var(--ndw-color-warning-100);--pill-red-color: var(--ndw-color-critical-500);--pill-red-background-color: var(--ndw-color-critical-100)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvcGlsbC9waWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9waWxsL3BpbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBV2hELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO3VHQUF2QyxhQUFhOzJGQUFiLGFBQWEseUlDYjFCLG1DQUdBOzsyRkRVYSxhQUFhO2tCQVR6QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsWUFDUyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb3JlUGlsbENvbXBvbmVudCB9IGZyb20gJ0BuZHdudS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICduZHctcGFyYWdyYXBoLW1kJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICduZHctcGlsbCcsXG4gIHN0eWxlVXJsOiAnLi9waWxsLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpbGwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQaWxsQ29tcG9uZW50IGV4dGVuZHMgQ29yZVBpbGxDb21wb25lbnQge31cbiIsIjxkaXY+XG4gIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, model, output, signal, viewChild, } from '@angular/core';\nimport { BadgeComponent } from '../badge';\nimport { CheckboxComponent, RadioButtonComponent } from '../form-field';\nimport { IconComponent } from '../icon';\nimport { PillComponent } from '../pill';\nimport * as i0 from \"@angular/core\";\nexport class ListItemComponent {\n active = model(false, ...(ngDevMode ? [{ debugName: \"active\" }] : []));\n badgeValue = input(...(ngDevMode ? [undefined, { debugName: \"badgeValue\" }] : []));\n buttonIcon = input(...(ngDevMode ? [undefined, { debugName: \"buttonIcon\" }] : []));\n buttonLabel = input(...(ngDevMode ? [undefined, { debugName: \"buttonLabel\" }] : []));\n checkable = input(false, ...(ngDevMode ? [{ debugName: \"checkable\" }] : []));\n checkType = input('checkbox', ...(ngDevMode ? [{ debugName: \"checkType\" }] : []));\n collapsible = input(false, ...(ngDevMode ? [{ debugName: \"collapsible\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n indented = input(false, ...(ngDevMode ? [{ debugName: \"indented\" }] : []));\n pillColor = input('green', ...(ngDevMode ? [{ debugName: \"pillColor\" }] : []));\n pillLabel = input(...(ngDevMode ? [undefined, { debugName: \"pillLabel\" }] : []));\n prefixIcon = input(...(ngDevMode ? [undefined, { debugName: \"prefixIcon\" }] : []));\n showButton = input(false, ...(ngDevMode ? [{ debugName: \"showButton\" }] : []));\n subtitle = input(...(ngDevMode ? [undefined, { debugName: \"subtitle\" }] : []));\n title = input(...(ngDevMode ? [undefined, { debugName: \"title\" }] : []));\n buttonClicked = output();\n checked = model(false, ...(ngDevMode ? [{ debugName: \"checked\" }] : []));\n expanded = model(false, ...(ngDevMode ? [{ debugName: \"expanded\" }] : []));\n radioButton = viewChild(RadioButtonComponent, ...(ngDevMode ? [{ debugName: \"radioButton\" }] : []));\n name = signal(undefined, ...(ngDevMode ? [{ debugName: \"name\" }] : []));\n actionable = computed(() => this.checkable() || this.collapsible(), ...(ngDevMode ? [{ debugName: \"actionable\" }] : []));\n constructor() {\n effect(() => {\n const name = this.name();\n if (name) {\n this.radioButton()?.name.set(name);\n }\n });\n }\n onButtonClick(event) {\n event.stopPropagation();\n this.buttonClicked.emit();\n }\n onCheckClick(event) {\n event.stopPropagation();\n }\n onListItemSelect() {\n if (this.collapsible()) {\n this.#toggleExpanded();\n return;\n }\n if (!this.indented()) {\n this.#toggleChecked();\n }\n }\n #toggleChecked() {\n this.checked.update((checked) => !checked);\n }\n #toggleExpanded() {\n this.expanded.update((expanded) => !expanded);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: ListItemComponent, isStandalone: true, selector: \"ndw-list-item\", inputs: { active: { classPropertyName: \"active\", publicName: \"active\", isSignal: true, isRequired: false, transformFunction: null }, badgeValue: { classPropertyName: \"badgeValue\", publicName: \"badgeValue\", isSignal: true, isRequired: false, transformFunction: null }, buttonIcon: { classPropertyName: \"buttonIcon\", publicName: \"buttonIcon\", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: \"buttonLabel\", publicName: \"buttonLabel\", isSignal: true, isRequired: false, transformFunction: null }, checkable: { classPropertyName: \"checkable\", publicName: \"checkable\", isSignal: true, isRequired: false, transformFunction: null }, checkType: { classPropertyName: \"checkType\", publicName: \"checkType\", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: \"collapsible\", publicName: \"collapsible\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, indented: { classPropertyName: \"indented\", publicName: \"indented\", isSignal: true, isRequired: false, transformFunction: null }, pillColor: { classPropertyName: \"pillColor\", publicName: \"pillColor\", isSignal: true, isRequired: false, transformFunction: null }, pillLabel: { classPropertyName: \"pillLabel\", publicName: \"pillLabel\", isSignal: true, isRequired: false, transformFunction: null }, prefixIcon: { classPropertyName: \"prefixIcon\", publicName: \"prefixIcon\", isSignal: true, isRequired: false, transformFunction: null }, showButton: { classPropertyName: \"showButton\", publicName: \"showButton\", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: \"subtitle\", publicName: \"subtitle\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: \"checked\", publicName: \"checked\", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: \"expanded\", publicName: \"expanded\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: \"activeChange\", buttonClicked: \"buttonClicked\", checked: \"checkedChange\", expanded: \"expandedChange\" }, host: { attributes: { \"role\": \"listitem\" } }, viewQueries: [{ propertyName: \"radioButton\", first: true, predicate: RadioButtonComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@if (actionable()) {\\n <button\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.active]=\\\"active() || undefined\\\"\\n [attr.aria-expanded]=\\\"expanded()\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n [class.indented]=\\\"indented()\\\"\\n (click)=\\\"onListItemSelect()\\\"\\n >\\n @if (checkable()) {\\n @if (checkType() === 'radio') {\\n <ndw-radio-button\\n [disabled]=\\\"disabled()\\\"\\n [class.readonly]=\\\"!collapsible() && !indented()\\\"\\n [(checked)]=\\\"checked\\\"\\n (click)=\\\"onCheckClick($event)\\\"\\n />\\n } @else {\\n <ndw-checkbox\\n [disabled]=\\\"disabled()\\\"\\n [class.readonly]=\\\"!collapsible() && !indented()\\\"\\n [(checked)]=\\\"checked\\\"\\n (click)=\\\"onCheckClick($event)\\\"\\n />\\n }\\n }\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </button>\\n} @else {\\n <div ndw-list-item [class.indented]=\\\"indented()\\\">\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </div>\\n}\\n\\n<ng-template #listItem>\\n @if (prefixIcon(); as prefix) {\\n <ndw-icon class=\\\"affix\\\">{{ prefix }}</ndw-icon>\\n }\\n <ng-content />\\n <div class=\\\"content\\\">\\n @if (title(); as title) {\\n <span class=\\\"title\\\">{{ title }}</span>\\n }\\n @if (subtitle(); as subtitle) {\\n {{ subtitle }}\\n }\\n </div>\\n @if (pillLabel(); as pillLabel) {\\n <ndw-pill [color]=\\\"pillColor()\\\">{{ pillLabel }}</ndw-pill>\\n }\\n @if (badgeValue(); as badgeValue) {\\n <ndw-badge [value]=\\\"badgeValue\\\" />\\n }\\n @if (showButton()) {\\n <button\\n ndwButton\\n tertiary\\n class=\\\"suffix-button\\\"\\n [attr.aria-label]=\\\"buttonLabel()\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onButtonClick($event)\\\"\\n >\\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\\n </button>\\n }\\n @if (collapsible()) {\\n <ndw-icon class=\\\"affix\\\" [class.expanded]=\\\"expanded()\\\">keyboard_arrow_down</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"[ndw-list-item]{align-items:center;background-color:var(--list-item-background-color);border:none;border-radius:var(--list-item-border-radius);color:var(--list-item-color);display:flex;font-size:var(--list-item-font-size);gap:var(--list-item-gap);min-height:var(--list-item-min-height);padding:var(--list-item-padding);text-decoration:none;transition:background-color var(--list-item-animation-speed) ease-in-out}[ndw-list-item]:hover,[ndw-list-item][active]{background-color:var(--list-item-hover-background-color)}[ndw-list-item][disabled],[ndw-list-item][aria-disabled]{color:var(--list-item-disabled-color);pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item]{--list-item-animation-speed: var(--ndw-animation-speed-fast);--list-item-background-color: var(--ndw-color-white);--list-item-border-radius: var(--ndw-border-radius-sm);--list-item-color: var(--ndw-color-grey-700);--list-item-disabled-background-color: var(--ndw-color-grey-100);--list-item-disabled-color: var(--ndw-color-grey-400);--list-item-font-size: initial;--list-item-gap: var(--ndw-spacing-sm);--list-item-hover-background-color: var(--ndw-color-grey-100);--list-item-min-height: var(--ndw-spacing-2xl);--list-item-padding: var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%}[ndw-list-item]:not(.actionable){--list-item-hover-background-color: var(--ndw-color-white)}[ndw-list-item] ndw-checkbox.readonly,[ndw-list-item] ndw-radio-button.readonly{pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item] .affix{color:var(--ndw-color-primary);transition:transform var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .affix.expanded{transform:var(--ndw-rotate-half)}[ndw-list-item] .content{display:grid;justify-content:stretch;text-align:left;width:100%}[ndw-list-item] .content .title{font-weight:var(--ndw-font-weight-bold)}[ndw-list-item] .suffix-button{padding-inline:var(--ndw-spacing-3xs)}[ndw-list-item] .suffix-button ndw-icon{font-size:var(--ndw-spacing-lg)}[ndw-list-item] .suffix-button[disabled]{background-color:transparent;border-color:transparent}[ndw-list-item].indented{background-color:var(--ndw-color-grey-100);border-radius:0;padding-inline-start:var(--ndw-spacing-3xl)}[ndw-list-item].indented:hover{background-color:var(--ndw-color-grey-300)}[ndw-list-item][disabled] ndw-icon{color:var(--list-item-disabled-color)}\\n\"], dependencies: [{ kind: \"component\", type: BadgeComponent, selector: \"ndw-badge\" }, { kind: \"component\", type: CheckboxComponent, selector: \"ndw-checkbox\", inputs: [\"switch\", \"success\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: PillComponent, selector: \"ndw-pill\" }, { kind: \"component\", type: RadioButtonComponent, selector: \"ndw-radio-button\", inputs: [\"checked\", \"disabled\", \"error\", \"success\", \"required\", \"value\"], outputs: [\"checkedChange\", \"disabledChange\", \"valueChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ListItemComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'listitem',\n }, imports: [\n BadgeComponent,\n CheckboxComponent,\n IconComponent,\n NgTemplateOutlet,\n PillComponent,\n RadioButtonComponent,\n ], selector: 'ndw-list-item', template: \"@if (actionable()) {\\n <button\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.active]=\\\"active() || undefined\\\"\\n [attr.aria-expanded]=\\\"expanded()\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n [class.indented]=\\\"indented()\\\"\\n (click)=\\\"onListItemSelect()\\\"\\n >\\n @if (checkable()) {\\n @if (checkType() === 'radio') {\\n <ndw-radio-button\\n [disabled]=\\\"disabled()\\\"\\n [class.readonly]=\\\"!collapsible() && !indented()\\\"\\n [(checked)]=\\\"checked\\\"\\n (click)=\\\"onCheckClick($event)\\\"\\n />\\n } @else {\\n <ndw-checkbox\\n [disabled]=\\\"disabled()\\\"\\n [class.readonly]=\\\"!collapsible() && !indented()\\\"\\n [(checked)]=\\\"checked\\\"\\n (click)=\\\"onCheckClick($event)\\\"\\n />\\n }\\n }\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </button>\\n} @else {\\n <div ndw-list-item [class.indented]=\\\"indented()\\\">\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </div>\\n}\\n\\n<ng-template #listItem>\\n @if (prefixIcon(); as prefix) {\\n <ndw-icon class=\\\"affix\\\">{{ prefix }}</ndw-icon>\\n }\\n <ng-content />\\n <div class=\\\"content\\\">\\n @if (title(); as title) {\\n <span class=\\\"title\\\">{{ title }}</span>\\n }\\n @if (subtitle(); as subtitle) {\\n {{ subtitle }}\\n }\\n </div>\\n @if (pillLabel(); as pillLabel) {\\n <ndw-pill [color]=\\\"pillColor()\\\">{{ pillLabel }}</ndw-pill>\\n }\\n @if (badgeValue(); as badgeValue) {\\n <ndw-badge [value]=\\\"badgeValue\\\" />\\n }\\n @if (showButton()) {\\n <button\\n ndwButton\\n tertiary\\n class=\\\"suffix-button\\\"\\n [attr.aria-label]=\\\"buttonLabel()\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onButtonClick($event)\\\"\\n >\\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\\n </button>\\n }\\n @if (collapsible()) {\\n <ndw-icon class=\\\"affix\\\" [class.expanded]=\\\"expanded()\\\">keyboard_arrow_down</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"[ndw-list-item]{align-items:center;background-color:var(--list-item-background-color);border:none;border-radius:var(--list-item-border-radius);color:var(--list-item-color);display:flex;font-size:var(--list-item-font-size);gap:var(--list-item-gap);min-height:var(--list-item-min-height);padding:var(--list-item-padding);text-decoration:none;transition:background-color var(--list-item-animation-speed) ease-in-out}[ndw-list-item]:hover,[ndw-list-item][active]{background-color:var(--list-item-hover-background-color)}[ndw-list-item][disabled],[ndw-list-item][aria-disabled]{color:var(--list-item-disabled-color);pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item]{--list-item-animation-speed: var(--ndw-animation-speed-fast);--list-item-background-color: var(--ndw-color-white);--list-item-border-radius: var(--ndw-border-radius-sm);--list-item-color: var(--ndw-color-grey-700);--list-item-disabled-background-color: var(--ndw-color-grey-100);--list-item-disabled-color: var(--ndw-color-grey-400);--list-item-font-size: initial;--list-item-gap: var(--ndw-spacing-sm);--list-item-hover-background-color: var(--ndw-color-grey-100);--list-item-min-height: var(--ndw-spacing-2xl);--list-item-padding: var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%}[ndw-list-item]:not(.actionable){--list-item-hover-background-color: var(--ndw-color-white)}[ndw-list-item] ndw-checkbox.readonly,[ndw-list-item] ndw-radio-button.readonly{pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item] .affix{color:var(--ndw-color-primary);transition:transform var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .affix.expanded{transform:var(--ndw-rotate-half)}[ndw-list-item] .content{display:grid;justify-content:stretch;text-align:left;width:100%}[ndw-list-item] .content .title{font-weight:var(--ndw-font-weight-bold)}[ndw-list-item] .suffix-button{padding-inline:var(--ndw-spacing-3xs)}[ndw-list-item] .suffix-button ndw-icon{font-size:var(--ndw-spacing-lg)}[ndw-list-item] .suffix-button[disabled]{background-color:transparent;border-color:transparent}[ndw-list-item].indented{background-color:var(--ndw-color-grey-100);border-radius:0;padding-inline-start:var(--ndw-spacing-3xl)}[ndw-list-item].indented:hover{background-color:var(--ndw-color-grey-300)}[ndw-list-item][disabled] ndw-icon{color:var(--list-item-disabled-color)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBYSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBbUJ4QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxrREFBQyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLGdFQUFVLENBQUM7SUFDN0IsVUFBVSxHQUFHLEtBQUssZ0VBQVUsQ0FBQztJQUM3QixXQUFXLEdBQUcsS0FBSyxpRUFBVSxDQUFDO0lBQzlCLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxxREFBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBRyxLQUFLLENBQVksVUFBVSxxREFBQyxDQUFDO0lBQ3pDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyx1REFBQyxDQUFDO0lBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLFNBQVMsR0FBRyxLQUFLLENBQVksT0FBTyxxREFBQyxDQUFDO0lBQ3RDLFNBQVMsR0FBRyxLQUFLLCtEQUFVLENBQUM7SUFDNUIsVUFBVSxHQUFHLEtBQUssZ0VBQVUsQ0FBQztJQUM3QixVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssc0RBQUMsQ0FBQztJQUMxQixRQUFRLEdBQUcsS0FBSyw4REFBVSxDQUFDO0lBQzNCLEtBQUssR0FBRyxLQUFLLDJEQUFVLENBQUM7SUFFeEIsYUFBYSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBRS9CLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBRXhCLFdBQVcsR0FBRyxTQUFTLENBQUMsb0JBQW9CLHVEQUFDLENBQUM7SUFFOUMsSUFBSSxHQUFHLE1BQU0sQ0FBcUIsU0FBUyxnREFBQyxDQUFDO0lBRTdDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsc0RBQUMsQ0FBQztJQUVwRTtRQUNFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDeEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt1R0EvRFUsaUJBQWlCOzJGQUFqQixpQkFBaUIsZytFQXNCSixvQkFBb0IsZ0VDMUQ5Qyx1OERBc0VBLDQzRUQ3Q0ksY0FBYyxzREFDZCxpQkFBaUIsd0ZBQ2pCLGFBQWEscURBQ2IsZ0JBQWdCLG9KQUNoQixhQUFhLHFEQUNiLG9CQUFvQjs7MkZBTVgsaUJBQWlCO2tCQWpCN0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLElBQUksRUFBRSxVQUFVO3FCQUNqQixXQUNRO3dCQUNQLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3JCLFlBQ1MsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrYWJsZUNvbXBvbmVudCwgUGlsbENvbG9yIH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50LCBDaGVja1R5cGUsIFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBQaWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGlsbCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0aXRlbScsXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgUGlsbENvbXBvbmVudCxcbiAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgc2VsZWN0b3I6ICduZHctbGlzdC1pdGVtJyxcbiAgc3R5bGVVcmw6ICcuL2xpc3QtaXRlbS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIENoZWNrYWJsZUNvbXBvbmVudCB7XG4gIGFjdGl2ZSA9IG1vZGVsKGZhbHNlKTtcbiAgYmFkZ2VWYWx1ZSA9IGlucHV0PG51bWJlcj4oKTtcbiAgYnV0dG9uSWNvbiA9IGlucHV0PHN0cmluZz4oKTtcbiAgYnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGNoZWNrYWJsZSA9IGlucHV0KGZhbHNlKTtcbiAgY2hlY2tUeXBlID0gaW5wdXQ8Q2hlY2tUeXBlPignY2hlY2tib3gnKTtcbiAgY29sbGFwc2libGUgPSBpbnB1dChmYWxzZSk7XG4gIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuICBpbmRlbnRlZCA9IGlucHV0KGZhbHNlKTtcbiAgcGlsbENvbG9yID0gaW5wdXQ8UGlsbENvbG9yPignZ3JlZW4nKTtcbiAgcGlsbExhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwcmVmaXhJY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuICBzaG93QnV0dG9uID0gaW5wdXQoZmFsc2UpO1xuICBzdWJ0aXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgYnV0dG9uQ2xpY2tlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIGNoZWNrZWQgPSBtb2RlbChmYWxzZSk7XG4gIGV4cGFuZGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIHJhZGlvQnV0dG9uID0gdmlld0NoaWxkKFJhZGlvQnV0dG9uQ29tcG9uZW50KTtcblxuICBuYW1lID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBhY3Rpb25hYmxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jaGVja2FibGUoKSB8fCB0aGlzLmNvbGxhcHNpYmxlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lKCk7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnJhZGlvQnV0dG9uKCk/Lm5hbWUuc2V0KG5hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xuICB9XG5cbiAgb25DaGVja0NsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25MaXN0SXRlbVNlbGVjdCgpIHtcbiAgICBpZiAodGhpcy5jb2xsYXBzaWJsZSgpKSB7XG4gICAgICB0aGlzLiN0b2dnbGVFeHBhbmRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbmRlbnRlZCgpKSB7XG4gICAgICB0aGlzLiN0b2dnbGVDaGVja2VkKCk7XG4gICAgfVxuICB9XG5cbiAgI3RvZ2dsZUNoZWNrZWQoKSB7XG4gICAgdGhpcy5jaGVja2VkLnVwZGF0ZSgoY2hlY2tlZCkgPT4gIWNoZWNrZWQpO1xuICB9XG5cbiAgI3RvZ2dsZUV4cGFuZGVkKCkge1xuICAgIHRoaXMuZXhwYW5kZWQudXBkYXRlKChleHBhbmRlZCkgPT4gIWV4cGFuZGVkKTtcbiAgfVxufVxuIiwiQGlmIChhY3Rpb25hYmxlKCkpIHtcbiAgPGJ1dHRvblxuICAgIG5kdy1saXN0LWl0ZW1cbiAgICBjbGFzcz1cImFjdGlvbmFibGVcIlxuICAgIFthdHRyLmFjdGl2ZV09XCJhY3RpdmUoKSB8fCB1bmRlZmluZWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQoKVwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxuICAgIFtjbGFzcy5pbmRlbnRlZF09XCJpbmRlbnRlZCgpXCJcbiAgICAoY2xpY2spPVwib25MaXN0SXRlbVNlbGVjdCgpXCJcbiAgPlxuICAgIEBpZiAoY2hlY2thYmxlKCkpIHtcbiAgICAgIEBpZiAoY2hlY2tUeXBlKCkgPT09ICdyYWRpbycpIHtcbiAgICAgICAgPG5kdy1yYWRpby1idXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cIiFjb2xsYXBzaWJsZSgpICYmICFpbmRlbnRlZCgpXCJcbiAgICAgICAgICBbKGNoZWNrZWQpXT1cImNoZWNrZWRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPG5kdy1jaGVja2JveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICBbY2xhc3MucmVhZG9ubHldPVwiIWNvbGxhcHNpYmxlKCkgJiYgIWluZGVudGVkKClcIlxuICAgICAgICAgIFsoY2hlY2tlZCldPVwiY2hlY2tlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tDbGljaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICB9XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtXCIgLz5cbiAgPC9idXR0b24+XG59IEBlbHNlIHtcbiAgPGRpdiBuZHctbGlzdC1pdGVtIFtjbGFzcy5pbmRlbnRlZF09XCJpbmRlbnRlZCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtXCIgLz5cbiAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW0+XG4gIEBpZiAocHJlZml4SWNvbigpOyBhcyBwcmVmaXgpIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJhZmZpeFwiPnt7IHByZWZpeCB9fTwvbmR3LWljb24+XG4gIH1cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICBAaWYgKHRpdGxlKCk7IGFzIHRpdGxlKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoc3VidGl0bGUoKTsgYXMgc3VidGl0bGUpIHtcbiAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmIChwaWxsTGFiZWwoKTsgYXMgcGlsbExhYmVsKSB7XG4gICAgPG5kdy1waWxsIFtjb2xvcl09XCJwaWxsQ29sb3IoKVwiPnt7IHBpbGxMYWJlbCB9fTwvbmR3LXBpbGw+XG4gIH1cbiAgQGlmIChiYWRnZVZhbHVlKCk7IGFzIGJhZGdlVmFsdWUpIHtcbiAgICA8bmR3LWJhZGdlIFt2YWx1ZV09XCJiYWRnZVZhbHVlXCIgLz5cbiAgfVxuICBAaWYgKHNob3dCdXR0b24oKSkge1xuICAgIDxidXR0b25cbiAgICAgIG5kd0J1dHRvblxuICAgICAgdGVydGlhcnlcbiAgICAgIGNsYXNzPVwic3VmZml4LWJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkxhYmVsKClcIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG5kdy1pY29uPnt7IGJ1dHRvbkljb24oKSB9fTwvbmR3LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbiAgQGlmIChjb2xsYXBzaWJsZSgpKSB7XG4gICAgPG5kdy1pY29uIGNsYXNzPVwiYWZmaXhcIiBbY2xhc3MuZXhwYW5kZWRdPVwiZXhwYW5kZWQoKVwiPmtleWJvYXJkX2Fycm93X2Rvd248L25kdy1pY29uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { animate, state, style, transition, trigger } from '@angular/animations';\nexport const collapsibleAnimation = [\n trigger('collapsible', [\n state('open', style({\n maxHeight: '100vh',\n opacity: '1',\n })),\n state('closed', style({\n maxHeight: '0',\n opacity: '0',\n })),\n transition('open => closed', [\n animate('200ms ease-in-out', style({\n maxHeight: '0px',\n opacity: '0',\n })),\n ]),\n transition('closed => open', [\n animate('200ms ease-in-out', style({\n maxHeight: '100vh',\n opacity: '1',\n })),\n ]),\n ]),\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxDQUNILE1BQU0sRUFDTixLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsR0FBRztTQUNiLENBQUMsQ0FDSDtRQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLEdBQUc7WUFDZCxPQUFPLEVBQUUsR0FBRztTQUNiLENBQUMsQ0FDSDtRQUNELFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUMzQixPQUFPLENBQ0wsbUJBQW1CLEVBQ25CLEtBQUssQ0FBQztnQkFDSixTQUFTLEVBQUUsS0FBSztnQkFDaEIsT0FBTyxFQUFFLEdBQUc7YUFDYixDQUFDLENBQ0g7U0FDRixDQUFDO1FBQ0YsVUFBVSxDQUFDLGdCQUFnQixFQUFFO1lBQzNCLE9BQU8sQ0FDTCxtQkFBbUIsRUFDbkIsS0FBSyxDQUFDO2dCQUNKLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixPQUFPLEVBQUUsR0FBRzthQUNiLENBQUMsQ0FDSDtTQUNGLENBQUM7S0FDSCxDQUFDO0NBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgY29sbGFwc2libGVBbmltYXRpb24gPSBbXG4gIHRyaWdnZXIoJ2NvbGxhcHNpYmxlJywgW1xuICAgIHN0YXRlKFxuICAgICAgJ29wZW4nLFxuICAgICAgc3R5bGUoe1xuICAgICAgICBtYXhIZWlnaHQ6ICcxMDB2aCcsXG4gICAgICAgIG9wYWNpdHk6ICcxJyxcbiAgICAgIH0pLFxuICAgICksXG4gICAgc3RhdGUoXG4gICAgICAnY2xvc2VkJyxcbiAgICAgIHN0eWxlKHtcbiAgICAgICAgbWF4SGVpZ2h0OiAnMCcsXG4gICAgICAgIG9wYWNpdHk6ICcwJyxcbiAgICAgIH0pLFxuICAgICksXG4gICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbXG4gICAgICBhbmltYXRlKFxuICAgICAgICAnMjAwbXMgZWFzZS1pbi1vdXQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAnMHB4JyxcbiAgICAgICAgICBvcGFjaXR5OiAnMCcsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFtcbiAgICAgIGFuaW1hdGUoXG4gICAgICAgICcyMDBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBtYXhIZWlnaHQ6ICcxMDB2aCcsXG4gICAgICAgICAgb3BhY2l0eTogJzEnLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgXSksXG4gIF0pLFxuXTtcbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, inject, input, model } from '@angular/core';\nimport { AccordionService } from '../accordion';\nimport { ListItemComponent } from '../list-item';\nimport { collapsibleAnimation } from './collapsible.animation';\nimport * as i0 from \"@angular/core\";\nexport class CollapsibleComponent {\n index = input.required(...(ngDevMode ? [{ debugName: \"index\" }] : []));\n title = input.required(...(ngDevMode ? [{ debugName: \"title\" }] : []));\n checkable = input(false, ...(ngDevMode ? [{ debugName: \"checkable\" }] : []));\n subtitle = input(...(ngDevMode ? [undefined, { debugName: \"subtitle\" }] : []));\n value = input(...(ngDevMode ? [undefined, { debugName: \"value\" }] : []));\n expanded = model(false, ...(ngDevMode ? [{ debugName: \"expanded\" }] : []));\n accordionService = inject(AccordionService);\n uuid = crypto.randomUUID();\n toggleUuid = `toggle-${this.uuid}`;\n sectionUuid = `section-${this.uuid}`;\n animationState = computed(() => (this.expanded() ? 'open' : 'closed'), ...(ngDevMode ? [{ debugName: \"animationState\" }] : []));\n toggle() {\n this.expanded.set(!this.expanded());\n if (this.expanded()) {\n this.accordionService.setExpandedCollapsible(this.index());\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: CollapsibleComponent, isStandalone: true, selector: \"ndw-collapsible\", inputs: { index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: true, transformFunction: null }, checkable: { classPropertyName: \"checkable\", publicName: \"checkable\", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: \"subtitle\", publicName: \"subtitle\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: \"expanded\", publicName: \"expanded\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: \"expandedChange\" }, host: { properties: { \"class.expanded\": \"expanded()\" } }, ngImport: i0, template: \"<ndw-list-item\\n [attr.aria-controls]=\\\"sectionUuid\\\"\\n [badgeValue]=\\\"value()\\\"\\n [checkable]=\\\"checkable()\\\"\\n [collapsible]=\\\"true\\\"\\n [expanded]=\\\"expanded()\\\"\\n [subtitle]=\\\"subtitle()\\\"\\n [title]=\\\"title()\\\"\\n (expandedChange)=\\\"toggle()\\\"\\n>\\n <ng-content select=\\\"custom-header-content\\\" />\\n</ndw-list-item>\\n<section\\n role=\\\"region\\\"\\n class=\\\"content\\\"\\n [id]=\\\"sectionUuid\\\"\\n [attr.aria-labelledby]=\\\"toggleUuid\\\"\\n [@collapsible]=\\\"animationState()\\\"\\n>\\n <ng-content />\\n</section>\\n\", styles: [\":host{display:block}:host .content{border-block-start:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);border-bottom-left-radius:var(--ndw-border-radius-sm);border-bottom-right-radius:var(--ndw-border-radius-sm);display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-fast) ease-in-out}:host.expanded .content{display:block}\\n\"], dependencies: [{ kind: \"component\", type: ListItemComponent, selector: \"ndw-list-item\", inputs: [\"active\", \"badgeValue\", \"buttonIcon\", \"buttonLabel\", \"checkable\", \"checkType\", \"collapsible\", \"disabled\", \"indented\", \"pillColor\", \"pillLabel\", \"prefixIcon\", \"showButton\", \"subtitle\", \"title\", \"checked\", \"expanded\"], outputs: [\"activeChange\", \"buttonClicked\", \"checkedChange\", \"expandedChange\"] }], animations: [collapsibleAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CollapsibleComponent, decorators: [{\n type: Component,\n args: [{ animations: [collapsibleAnimation], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.expanded]': 'expanded()',\n }, imports: [ListItemComponent], selector: 'ndw-collapsible', template: \"<ndw-list-item\\n [attr.aria-controls]=\\\"sectionUuid\\\"\\n [badgeValue]=\\\"value()\\\"\\n [checkable]=\\\"checkable()\\\"\\n [collapsible]=\\\"true\\\"\\n [expanded]=\\\"expanded()\\\"\\n [subtitle]=\\\"subtitle()\\\"\\n [title]=\\\"title()\\\"\\n (expandedChange)=\\\"toggle()\\\"\\n>\\n <ng-content select=\\\"custom-header-content\\\" />\\n</ndw-list-item>\\n<section\\n role=\\\"region\\\"\\n class=\\\"content\\\"\\n [id]=\\\"sectionUuid\\\"\\n [attr.aria-labelledby]=\\\"toggleUuid\\\"\\n [@collapsible]=\\\"animationState()\\\"\\n>\\n <ng-content />\\n</section>\\n\", styles: [\":host{display:block}:host .content{border-block-start:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);border-bottom-left-radius:var(--ndw-border-radius-sm);border-bottom-right-radius:var(--ndw-border-radius-sm);display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-fast) ease-in-out}:host.expanded .content{display:block}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9jb2xsYXBzaWJsZS9jb2xsYXBzaWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWEvRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxnREFBVSxDQUFDO0lBQ2pDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxnREFBVSxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxxREFBQyxDQUFDO0lBQ3pCLFFBQVEsR0FBRyxLQUFLLDhEQUFVLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssMkRBQVUsQ0FBQztJQUV4QixRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUVQLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsVUFBVSxHQUFHLFVBQVUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLFdBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU5QyxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQywwREFBQyxDQUFDO0lBRXZFLE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO3VHQXZCVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixzNkJDbEJqQyxvZ0JBcUJBLDRiRFJZLGlCQUFpQiw2VkFMZixDQUFDLG9CQUFvQixDQUFDOzsyRkFVdkIsb0JBQW9CO2tCQVhoQyxTQUFTO2lDQUNJLENBQUMsb0JBQW9CLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osa0JBQWtCLEVBQUUsWUFBWTtxQkFDakMsV0FDUSxDQUFDLGlCQUFpQixDQUFDLFlBQ2xCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY2NvcmRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWNjb3JkaW9uJztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC1pdGVtJztcblxuaW1wb3J0IHsgY29sbGFwc2libGVBbmltYXRpb24gfSBmcm9tICcuL2NvbGxhcHNpYmxlLmFuaW1hdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbY29sbGFwc2libGVBbmltYXRpb25dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZXhwYW5kZWRdJzogJ2V4cGFuZGVkKCknLFxuICB9LFxuICBpbXBvcnRzOiBbTGlzdEl0ZW1Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1jb2xsYXBzaWJsZScsXG4gIHN0eWxlVXJsOiAnLi9jb2xsYXBzaWJsZS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsYXBzaWJsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbGxhcHNpYmxlQ29tcG9uZW50IHtcbiAgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBjaGVja2FibGUgPSBpbnB1dChmYWxzZSk7XG4gIHN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2YWx1ZSA9IGlucHV0PG51bWJlcj4oKTtcblxuICBleHBhbmRlZCA9IG1vZGVsKGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFjY29yZGlvblNlcnZpY2UgPSBpbmplY3QoQWNjb3JkaW9uU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcmVhZG9ubHkgdG9nZ2xlVXVpZCA9IGB0b2dnbGUtJHt0aGlzLnV1aWR9YDtcbiAgcmVhZG9ubHkgc2VjdGlvblV1aWQgPSBgc2VjdGlvbi0ke3RoaXMudXVpZH1gO1xuXG4gIGFuaW1hdGlvblN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuZXhwYW5kZWQoKSA/ICdvcGVuJyA6ICdjbG9zZWQnKSk7XG5cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KCF0aGlzLmV4cGFuZGVkKCkpO1xuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWQoKSkge1xuICAgICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnNldEV4cGFuZGVkQ29sbGFwc2libGUodGhpcy5pbmRleCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZHctbGlzdC1pdGVtXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwic2VjdGlvblV1aWRcIlxuICBbYmFkZ2VWYWx1ZV09XCJ2YWx1ZSgpXCJcbiAgW2NoZWNrYWJsZV09XCJjaGVja2FibGUoKVwiXG4gIFtjb2xsYXBzaWJsZV09XCJ0cnVlXCJcbiAgW2V4cGFuZGVkXT1cImV4cGFuZGVkKClcIlxuICBbc3VidGl0bGVdPVwic3VidGl0bGUoKVwiXG4gIFt0aXRsZV09XCJ0aXRsZSgpXCJcbiAgKGV4cGFuZGVkQ2hhbmdlKT1cInRvZ2dsZSgpXCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY3VzdG9tLWhlYWRlci1jb250ZW50XCIgLz5cbjwvbmR3LWxpc3QtaXRlbT5cbjxzZWN0aW9uXG4gIHJvbGU9XCJyZWdpb25cIlxuICBjbGFzcz1cImNvbnRlbnRcIlxuICBbaWRdPVwic2VjdGlvblV1aWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidG9nZ2xlVXVpZFwiXG4gIFtAY29sbGFwc2libGVdPVwiYW5pbWF0aW9uU3RhdGUoKVwiXG4+XG4gIDxuZy1jb250ZW50IC8+XG48L3NlY3Rpb24+XG4iXX0=","import { ChangeDetectionStrategy, Component, contentChildren, input, } from '@angular/core';\nimport { checkRadioItems, setRadioItemsName } from '@ndwnu/core';\nimport { ListItemComponent } from '../list-item';\nimport * as i0 from \"@angular/core\";\nexport class ListComponent {\n elevated = input(false, ...(ngDevMode ? [{ debugName: \"elevated\" }] : []));\n listItems = contentChildren(ListItemComponent, ...(ngDevMode ? [{ debugName: \"listItems\" }] : []));\n #uuid = crypto.randomUUID();\n ngAfterContentInit() {\n const items = [...this.listItems()];\n if (items.some((item) => !item.checkable() || item.checkType() !== 'radio')) {\n return;\n }\n setRadioItemsName(items, this.#uuid);\n checkRadioItems(items);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: ListComponent, isStandalone: true, selector: \"ndw-list\", inputs: { elevated: { classPropertyName: \"elevated\", publicName: \"elevated\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"list\" }, properties: { \"class.elevated\": \"elevated()\" } }, queries: [{ propertyName: \"listItems\", predicate: ListItemComponent, isSignal: true }], ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--list-background-color);border:var(--list-border);border-radius:var(--list-border-radius);display:grid;overflow:hidden}:host{--list-border-radius: var(--ndw-border-radius-md);padding:var(--ndw-spacing-xs)}:host.elevated{box-shadow:var(--ndw-elevation-popover)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ListComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'list',\n '[class.elevated]': 'elevated()',\n }, selector: 'ndw-list', template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--list-background-color);border:var(--list-border);border-radius:var(--list-border-radius);display:grid;overflow:hidden}:host{--list-border-radius: var(--ndw-border-radius-md);padding:var(--ndw-spacing-xs)}:host.elevated{box-shadow:var(--ndw-elevation-popover)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFFeEIsU0FBUyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIscURBQUMsQ0FBQztJQUUvQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTVCLGtCQUFrQjtRQUNoQixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDcEMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxPQUFPO1FBQ1QsQ0FBQztRQUVELGlCQUFpQixDQUFvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELGVBQWUsQ0FBb0IsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0FmVSxhQUFhOzJGQUFiLGFBQWEscVVBR0ksaUJBQWlCLDZDQ3hCL0Msa0JBQ0E7OzJGRG9CYSxhQUFhO2tCQVZ6QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLE1BQU07d0JBQ1osa0JBQWtCLEVBQUUsWUFBWTtxQkFDakMsWUFDUyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjaGVja1JhZGlvSXRlbXMsIHNldFJhZGlvSXRlbXNOYW1lIH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0JyxcbiAgICAnW2NsYXNzLmVsZXZhdGVkXSc6ICdlbGV2YXRlZCgpJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICduZHctbGlzdCcsXG4gIHN0eWxlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIGVsZXZhdGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gIGxpc3RJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihMaXN0SXRlbUNvbXBvbmVudCk7XG5cbiAgI3V1aWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLmxpc3RJdGVtcygpXTtcbiAgICBpZiAoaXRlbXMuc29tZSgoaXRlbSkgPT4gIWl0ZW0uY2hlY2thYmxlKCkgfHwgaXRlbS5jaGVja1R5cGUoKSAhPT0gJ3JhZGlvJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRSYWRpb0l0ZW1zTmFtZTxMaXN0SXRlbUNvbXBvbmVudD4oaXRlbXMsIHRoaXMuI3V1aWQpO1xuICAgIGNoZWNrUmFkaW9JdGVtczxMaXN0SXRlbUNvbXBvbmVudD4oaXRlbXMpO1xuICB9XG59XG4iLCI8bmctY29udGVudCAvPlxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AccordionService {\n expanded$ = new Subject();\n setExpandedCollapsible(index) {\n this.expanded$.next(index);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AccordionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AccordionService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AccordionService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUVsQyxzQkFBc0IsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7dUdBTFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25TZXJ2aWNlIHtcbiAgcHVibGljIGV4cGFuZGVkJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICBwdWJsaWMgc2V0RXhwYW5kZWRDb2xsYXBzaWJsZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZCQubmV4dChpbmRleCk7XG4gIH1cbn1cbiJdfQ==","import { Component, contentChildren, inject, input, DestroyRef, ChangeDetectionStrategy, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CollapsibleComponent } from '../collapsible';\nimport { ListComponent } from '../list';\nimport { AccordionService } from './accordion.service';\nimport * as i0 from \"@angular/core\";\nexport class AccordionComponent extends ListComponent {\n #accordionService = inject(AccordionService);\n #destroyRef = inject(DestroyRef);\n collapseOthers = input(false, ...(ngDevMode ? [{ debugName: \"collapseOthers\" }] : []));\n collapsibles = contentChildren(CollapsibleComponent, ...(ngDevMode ? [{ debugName: \"collapsibles\" }] : []));\n ngOnInit() {\n this.#accordionService.expanded$\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((index) => {\n if (!this.collapseOthers()) {\n return;\n }\n this.collapsibles().forEach((collapsible) => {\n collapsible.expanded.set(collapsible.index() === index);\n });\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: AccordionComponent, isStandalone: true, selector: \"ndw-accordion\", inputs: { collapseOthers: { classPropertyName: \"collapseOthers\", publicName: \"collapseOthers\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [AccordionService], queries: [{ propertyName: \"collapsibles\", predicate: CollapsibleComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<ng-content />\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AccordionComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [AccordionService], selector: 'ndw-accordion', template: \"<ng-content />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsVUFBVSxFQUNWLHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVF2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQUMxQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSywwREFBQyxDQUFDO0lBRTlCLFlBQVksR0FBRyxlQUFlLENBQUMsb0JBQW9CLHdEQUFDLENBQUM7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO2FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUMzQixPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFpQyxFQUFFLEVBQUU7Z0JBQ2hFLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt1R0FwQlUsa0JBQWtCOzJGQUFsQixrQkFBa0IsMk5BSmxCLENBQUMsZ0JBQWdCLENBQUMsdURBVUUsb0JBQW9CLG9FQzVCckQsa0JBQ0E7OzJGRHFCYSxrQkFBa0I7a0JBTjlCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDLFlBQ25CLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBEZXN0cm95UmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IENvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sbGFwc2libGUnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QnO1xuXG5pbXBvcnQgeyBBY2NvcmRpb25TZXJ2aWNlIH0gZnJvbSAnLi9hY2NvcmRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbQWNjb3JkaW9uU2VydmljZV0sXG4gIHNlbGVjdG9yOiAnbmR3LWFjY29yZGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnQgZXh0ZW5kcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgI2FjY29yZGlvblNlcnZpY2UgPSBpbmplY3QoQWNjb3JkaW9uU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbGxhcHNlT3RoZXJzID0gaW5wdXQoZmFsc2UpO1xuXG4gIGNvbGxhcHNpYmxlcyA9IGNvbnRlbnRDaGlsZHJlbihDb2xsYXBzaWJsZUNvbXBvbmVudCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy4jYWNjb3JkaW9uU2VydmljZS5leHBhbmRlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbGxhcHNlT3RoZXJzKCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbGxhcHNpYmxlcygpLmZvckVhY2goKGNvbGxhcHNpYmxlOiBDb2xsYXBzaWJsZUNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgIGNvbGxhcHNpYmxlLmV4cGFuZGVkLnNldChjb2xsYXBzaWJsZS5pbmRleCgpID09PSBpbmRleCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class AlertComponent {\n /**\n * Whether the alert is actionable, shows a close icon and a title.\n */\n actionable = input(false, ...(ngDevMode ? [{ debugName: \"actionable\" }] : []));\n /**\n * The title of the alert. Only used when actionable is true.\n */\n title = input(...(ngDevMode ? [undefined, { debugName: \"title\" }] : []));\n /**\n * Use info, info-grey, warning or critical to indicate the type of alert.\n */\n type = input('info-grey', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n /**\n * Use polite, assertive or off to indicate whether the alert is\n * announced automatically by the screen reader.\n */\n ariaLive = input('off', ...(ngDevMode ? [{ debugName: \"ariaLive\" }] : []));\n // eslint-disable-next-line @angular-eslint/no-output-native\n close = output();\n onClose() {\n this.close.emit();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: AlertComponent, isStandalone: true, selector: \"ndw-alert\", inputs: { actionable: { classPropertyName: \"actionable\", publicName: \"actionable\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, ariaLive: { classPropertyName: \"ariaLive\", publicName: \"ariaLive\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: \"close\" }, host: { attributes: { \"role\": \"alert\" }, properties: { \"attr.aria-live\": \"ariaLive()\", \"class\": \"type()\", \"class.actionable\": \"actionable()\" } }, ngImport: i0, template: \"<section>\\n <ndw-icon class=\\\"info-icon\\\">info</ndw-icon>\\n @if (actionable()) {\\n @if (title(); as title) {\\n <h2>{{ title }}</h2>\\n }\\n\\n <button ndwButton alternative extra-small tertiary class=\\\"close-button\\\" (click)=\\\"onClose()\\\">\\n <span class=\\\"sr-only\\\">Sluit melding</span>\\n <ndw-icon>close</ndw-icon>\\n </button>\\n }\\n</section>\\n<ng-content />\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:flex-start;background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-400);border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-grey-600);display:grid;column-gap:var(--ndw-spacing-xs);grid-template-columns:auto 1fr;padding-block:var(--ndw-spacing-xs) var(--ndw-spacing-2xs);padding-inline:var(--ndw-spacing-xs);word-break:break-word}:host section{align-items:center;display:grid;gap:var(--ndw-spacing-xs);grid-template-columns:1fr;min-height:var(--ndw-spacing-lg);margin-top:-.125rem}:host section .info-icon{font-size:var(--ndw-spacing-md);margin-top:-.125rem}:host section .close-button{margin-left:auto;margin-top:calc(var(--ndw-spacing-2xs) * -1);margin-right:calc(var(--ndw-spacing-xs) * -1)}:host section h2{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;line-height:100%;margin:0}:host.actionable{grid-template-columns:1fr;padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm)}:host.actionable section{grid-template-columns:auto 1fr auto}:host.actionable section .info-icon{color:var(--ndw-color-grey-700)}:host.info{background-color:var(--ndw-color-info-100);border-color:var(--ndw-color-info-500)}:host.info section .info-icon{color:var(--ndw-color-info-500)}:host.warning{background-color:var(--ndw-color-warning-100);border-color:var(--ndw-color-warning-500)}:host.warning section .info-icon{color:var(--ndw-color-warning-500)}:host.critical{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}:host.critical section .info-icon{color:var(--ndw-color-critical-500)}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AlertComponent, decorators: [{\n type: Component,\n args: [{ host: {\n '[attr.aria-live]': 'ariaLive()',\n '[class]': 'type()',\n '[class.actionable]': 'actionable()',\n role: 'alert',\n }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonDirective, IconComponent], selector: 'ndw-alert', template: \"<section>\\n <ndw-icon class=\\\"info-icon\\\">info</ndw-icon>\\n @if (actionable()) {\\n @if (title(); as title) {\\n <h2>{{ title }}</h2>\\n }\\n\\n <button ndwButton alternative extra-small tertiary class=\\\"close-button\\\" (click)=\\\"onClose()\\\">\\n <span class=\\\"sr-only\\\">Sluit melding</span>\\n <ndw-icon>close</ndw-icon>\\n </button>\\n }\\n</section>\\n<ng-content />\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:flex-start;background-color:var(--ndw-color-grey-100);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-400);border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-grey-600);display:grid;column-gap:var(--ndw-spacing-xs);grid-template-columns:auto 1fr;padding-block:var(--ndw-spacing-xs) var(--ndw-spacing-2xs);padding-inline:var(--ndw-spacing-xs);word-break:break-word}:host section{align-items:center;display:grid;gap:var(--ndw-spacing-xs);grid-template-columns:1fr;min-height:var(--ndw-spacing-lg);margin-top:-.125rem}:host section .info-icon{font-size:var(--ndw-spacing-md);margin-top:-.125rem}:host section .close-button{margin-left:auto;margin-top:calc(var(--ndw-spacing-2xs) * -1);margin-right:calc(var(--ndw-spacing-xs) * -1)}:host section h2{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;line-height:100%;margin:0}:host.actionable{grid-template-columns:1fr;padding:var(--ndw-spacing-xs) var(--ndw-spacing-sm)}:host.actionable section{grid-template-columns:auto 1fr auto}:host.actionable section .info-icon{color:var(--ndw-color-grey-700)}:host.info{background-color:var(--ndw-color-info-100);border-color:var(--ndw-color-info-500)}:host.info section .info-icon{color:var(--ndw-color-info-500)}:host.warning{background-color:var(--ndw-color-warning-100);border-color:var(--ndw-color-warning-500)}:host.warning section .info-icon{color:var(--ndw-color-warning-500)}:host.critical{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}:host.critical section .info-icon{color:var(--ndw-color-critical-500)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQWlCeEMsTUFBTSxPQUFPLGNBQWM7SUFDekI7O09BRUc7SUFDSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssc0RBQUMsQ0FBQztJQUVqQzs7T0FFRztJQUNJLEtBQUssR0FBRyxLQUFLLDJEQUFVLENBQUM7SUFFL0I7O09BRUc7SUFDSSxJQUFJLEdBQUcsS0FBSyxDQUFZLFdBQVcsZ0RBQUMsQ0FBQztJQUU1Qzs7O09BR0c7SUFDSSxRQUFRLEdBQUcsS0FBSyxDQUFXLEtBQUssb0RBQUMsQ0FBQztJQUV6Qyw0REFBNEQ7SUFDckQsS0FBSyxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBRXZCLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7dUdBM0JVLGNBQWM7MkZBQWQsY0FBYyxxdkJDckIzQixzWUFjQSw2bkhERVksZUFBZSx3REFBRSxhQUFhOzsyRkFLN0IsY0FBYztrQkFiMUIsU0FBUzsyQkFDRjt3QkFDSixrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyxTQUFTLEVBQUUsUUFBUTt3QkFDbkIsb0JBQW9CLEVBQUUsY0FBYzt3QkFDcEMsSUFBSSxFQUFFLE9BQU87cUJBQ2QsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQy9CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFyaWFMaXZlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IEFsZXJ0VHlwZSB9IGZyb20gJy4vYWxlcnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWxpdmVdJzogJ2FyaWFMaXZlKCknLFxuICAgICdbY2xhc3NdJzogJ3R5cGUoKScsXG4gICAgJ1tjbGFzcy5hY3Rpb25hYmxlXSc6ICdhY3Rpb25hYmxlKCknLFxuICAgIHJvbGU6ICdhbGVydCcsXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQnV0dG9uRGlyZWN0aXZlLCBJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICduZHctYWxlcnQnLFxuICBzdHlsZVVybDogJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhbGVydCBpcyBhY3Rpb25hYmxlLCBzaG93cyBhIGNsb3NlIGljb24gYW5kIGEgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYWN0aW9uYWJsZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBhbGVydC4gT25seSB1c2VkIHdoZW4gYWN0aW9uYWJsZSBpcyB0cnVlLlxuICAgKi9cbiAgcHVibGljIHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBVc2UgaW5mbywgaW5mby1ncmV5LCB3YXJuaW5nIG9yIGNyaXRpY2FsIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGFsZXJ0LlxuICAgKi9cbiAgcHVibGljIHR5cGUgPSBpbnB1dDxBbGVydFR5cGU+KCdpbmZvLWdyZXknKTtcblxuICAvKipcbiAgICogVXNlIHBvbGl0ZSwgYXNzZXJ0aXZlIG9yIG9mZiB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBhbGVydCBpc1xuICAgKiBhbm5vdW5jZWQgYXV0b21hdGljYWxseSBieSB0aGUgc2NyZWVuIHJlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhcmlhTGl2ZSA9IGlucHV0PEFyaWFMaXZlPignb2ZmJyk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHB1YmxpYyBjbG9zZSA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHB1YmxpYyBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG59XG4iLCI8c2VjdGlvbj5cbiAgPG5kdy1pY29uIGNsYXNzPVwiaW5mby1pY29uXCI+aW5mbzwvbmR3LWljb24+XG4gIEBpZiAoYWN0aW9uYWJsZSgpKSB7XG4gICAgQGlmICh0aXRsZSgpOyBhcyB0aXRsZSkge1xuICAgICAgPGgyPnt7IHRpdGxlIH19PC9oMj5cbiAgICB9XG5cbiAgICA8YnV0dG9uIG5kd0J1dHRvbiBhbHRlcm5hdGl2ZSBleHRyYS1zbWFsbCB0ZXJ0aWFyeSBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlNsdWl0IG1lbGRpbmc8L3NwYW4+XG4gICAgICA8bmR3LWljb24+Y2xvc2U8L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L3NlY3Rpb24+XG48bmctY29udGVudCAvPlxuIl19","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { NgClass } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class AvatarComponent {\n status = input('none', ...(ngDevMode ? [{ debugName: \"status\" }] : []));\n initials = input(false, ...(ngDevMode ? [{ debugName: \"initials\" }] : []));\n color = input(...(ngDevMode ? [undefined, { debugName: \"color\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: AvatarComponent, isStandalone: true, selector: \"ndw-avatar\", inputs: { status: { classPropertyName: \"status\", publicName: \"status\", isSignal: true, isRequired: false, transformFunction: null }, initials: { classPropertyName: \"initials\", publicName: \"initials\", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: \"color\", publicName: \"color\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"attr.color\": \"color()\" } }, ngImport: i0, template: \"<div class=\\\"content-wrapper\\\" role=\\\"img\\\" [attr.color]=\\\"color()\\\">\\n <ng-content />\\n</div>\\n\\n@if (status() !== 'none') {\\n <div class=\\\"status-circle\\\" [ngClass]=\\\"{ approved: status() === 'approved' }\\\">\\n @if (status() === 'approved') {\\n <ndw-icon>check</ndw-icon>\\n }\\n </div>\\n}\\n\", styles: [\":host{position:relative;display:flex;width:fit-content}:host .content-wrapper{overflow:hidden;display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;font-weight:var(--ndw-font-weight-bold);color:var(--ndw-color-grey-700);background-color:var(--ndw-color-grey-300)}:host .content-wrapper[color=blue]{color:var(--ndw-color-info-500);background-color:var(--ndw-color-info-100)}:host .content-wrapper[color=orange]{color:var(--ndw-color-primary-700);background-color:var(--ndw-color-primary-050)}:host .content-wrapper[color=green]{color:var(--ndw-color-positive-500);background-color:var(--ndw-color-positive-100)}:host .content-wrapper[color=red]{color:var(--ndw-color-critical-500);background-color:var(--ndw-color-critical-100)}:host .content-wrapper[color=yellow]{color:var(--ndw-color-warning-500);background-color:var(--ndw-color-warning-100)}:host .content-wrapper[color=purple]{color:var(--ndw-color-alternative-500);background-color:var(--ndw-color-alternative-100)}:host .content-wrapper ndw-icon{font-size:var(--ndw-font-size-lg)}:host .status-circle{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-500);background-color:var(--ndw-color-white)}:host .status-circle ndw-icon{font-size:var(--ndw-icon-size-md)}:host .status-circle.approved{border-color:var(--ndw-color-positive-500);background-color:var(--ndw-color-positive-500);color:var(--ndw-color-white)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: AvatarComponent, decorators: [{\n type: Component,\n args: [{ host: {\n '[attr.color]': 'color()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-avatar', imports: [IconComponent, NgClass], template: \"<div class=\\\"content-wrapper\\\" role=\\\"img\\\" [attr.color]=\\\"color()\\\">\\n <ng-content />\\n</div>\\n\\n@if (status() !== 'none') {\\n <div class=\\\"status-circle\\\" [ngClass]=\\\"{ approved: status() === 'approved' }\\\">\\n @if (status() === 'approved') {\\n <ndw-icon>check</ndw-icon>\\n }\\n </div>\\n}\\n\", styles: [\":host{position:relative;display:flex;width:fit-content}:host .content-wrapper{overflow:hidden;display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;font-weight:var(--ndw-font-weight-bold);color:var(--ndw-color-grey-700);background-color:var(--ndw-color-grey-300)}:host .content-wrapper[color=blue]{color:var(--ndw-color-info-500);background-color:var(--ndw-color-info-100)}:host .content-wrapper[color=orange]{color:var(--ndw-color-primary-700);background-color:var(--ndw-color-primary-050)}:host .content-wrapper[color=green]{color:var(--ndw-color-positive-500);background-color:var(--ndw-color-positive-100)}:host .content-wrapper[color=red]{color:var(--ndw-color-critical-500);background-color:var(--ndw-color-critical-100)}:host .content-wrapper[color=yellow]{color:var(--ndw-color-warning-500);background-color:var(--ndw-color-warning-100)}:host .content-wrapper[color=purple]{color:var(--ndw-color-alternative-500);background-color:var(--ndw-color-alternative-100)}:host .content-wrapper ndw-icon{font-size:var(--ndw-font-size-lg)}:host .status-circle{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-500);background-color:var(--ndw-color-white)}:host .status-circle ndw-icon{font-size:var(--ndw-icon-size-md)}:host .status-circle.approved{border-color:var(--ndw-color-positive-500);background-color:var(--ndw-color-positive-500);color:var(--ndw-color-white)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWExQyxNQUFNLE9BQU8sZUFBZTtJQUNuQixNQUFNLEdBQUcsS0FBSyxDQUFlLE1BQU0sa0RBQUMsQ0FBQztJQUNyQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSywyREFBZSxDQUFDO3VHQUh6QixlQUFlOzJGQUFmLGVBQWUseWZDZjVCLGtUQVdBLHFoRERBWSxhQUFhLHFEQUFFLE9BQU87OzJGQUlyQixlQUFlO2tCQVYzQixTQUFTOzJCQUNGO3dCQUNKLGNBQWMsRUFBRSxTQUFTO3FCQUMxQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxZQUFZLFdBQ2IsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXZhdGFyU3RhdHVzLCBBdmF0YXJDb2xvciB9IGZyb20gJy4vYXZhdGFyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuY29sb3JdJzogJ2NvbG9yKCknLFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctYXZhdGFyJyxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnQsIE5nQ2xhc3NdLFxuICBzdHlsZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCB7XG4gIHB1YmxpYyBzdGF0dXMgPSBpbnB1dDxBdmF0YXJTdGF0dXM+KCdub25lJyk7XG4gIHB1YmxpYyBpbml0aWFscyA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGNvbG9yID0gaW5wdXQ8QXZhdGFyQ29sb3I+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGVudC13cmFwcGVyXCIgcm9sZT1cImltZ1wiIFthdHRyLmNvbG9yXT1cImNvbG9yKClcIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuXG5AaWYgKHN0YXR1cygpICE9PSAnbm9uZScpIHtcbiAgPGRpdiBjbGFzcz1cInN0YXR1cy1jaXJjbGVcIiBbbmdDbGFzc109XCJ7IGFwcHJvdmVkOiBzdGF0dXMoKSA9PT0gJ2FwcHJvdmVkJyB9XCI+XG4gICAgQGlmIChzdGF0dXMoKSA9PT0gJ2FwcHJvdmVkJykge1xuICAgICAgPG5kdy1pY29uPmNoZWNrPC9uZHctaWNvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19","import { ChangeDetectionStrategy, Component, input, output, viewChild, } from '@angular/core';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class BannerComponent {\n /**\n * The title of the banner.\n */\n title = input.required(...(ngDevMode ? [{ debugName: \"title\" }] : []));\n /**\n * The message of the banner.\n */\n message = input.required(...(ngDevMode ? [{ debugName: \"message\" }] : []));\n /**\n * The read more label if the message is truncated.\n */\n readMoreLabel = input('lees verder', ...(ngDevMode ? [{ debugName: \"readMoreLabel\" }] : []));\n /**\n * Use info, info-grey, warning, positive or critical to indicate the type of banner.\n */\n type = input('info', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n /**\n * Use polite, assertive or off to indicate whether the alert is\n * announced automatically by the screen reader.\n */\n ariaLive = input('off', ...(ngDevMode ? [{ debugName: \"ariaLive\" }] : []));\n /**\n * Emits when the banner close button is clicked.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n close = output();\n textContent = viewChild('textContent', ...(ngDevMode ? [{ debugName: \"textContent\" }] : []));\n showReadMore = false;\n ngAfterViewInit() {\n this.setReadMore();\n }\n onClose(event) {\n event.stopPropagation();\n this.close.emit();\n }\n setReadMore() {\n this.showReadMore =\n this.textContent()?.nativeElement.scrollWidth > this.textContent()?.nativeElement.clientWidth;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: BannerComponent, isStandalone: true, selector: \"ndw-banner\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: true, transformFunction: null }, message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null }, readMoreLabel: { classPropertyName: \"readMoreLabel\", publicName: \"readMoreLabel\", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, ariaLive: { classPropertyName: \"ariaLive\", publicName: \"ariaLive\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: \"close\" }, host: { attributes: { \"role\": \"button\", \"tabindex\": \"0\" }, listeners: { \"window:resize\": \"setReadMore()\" }, properties: { \"attr.aria-live\": \"ariaLive()\", \"attr.title\": \"message()\", \"class\": \"type()\" } }, viewQueries: [{ propertyName: \"textContent\", first: true, predicate: [\"textContent\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<section>\\n <ndw-icon class=\\\"info-icon\\\">info</ndw-icon>\\n <p #textContent>\\n <strong>{{ title() }}:</strong>\\n {{ message() }}\\n </p>\\n @if (showReadMore) {\\n <p>{{ readMoreLabel() }}</p>\\n }\\n</section>\\n<button ndwButton alternative extra-small tertiary class=\\\"close-button\\\" (click)=\\\"onClose($event)\\\">\\n <span class=\\\"sr-only\\\">Sluit melding</span>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;background-color:var(--ndw-color-secondary-050);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-alpha-black-015);color:var(--ndw-color-info-500);cursor:pointer;display:grid;gap:var(--ndw-spacing-xs);grid-template-columns:1fr auto;height:var(--ndw-spacing-xl);padding-inline:var(--ndw-spacing-2xs);transition:background-color var(--ndw-animation-speed-default) ease-out}:host section{align-items:center;display:grid;gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr auto;justify-content:center;text-align:center}:host section .info-icon{font-size:var(--ndw-font-size-lg)}:host section p{font-size:var(--ndw-font-size-sm);line-height:var(--ndw-line-height-md);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host section p strong{font-weight:var(--ndw-font-weight-bold)}:host button ndw-icon{color:var(--ndw-color-info-500)}:host:hover{background-color:var(--ndw-color-info-200)}:host:active,:host:focus{background-color:var(--ndw-color-info-300)}:host.critical{background-color:var(--ndw-color-critical-100);color:var(--ndw-color-critical-500)}:host.critical section .info-icon,:host.critical button ndw-icon{color:var(--ndw-color-critical-500)}:host.critical:hover{background-color:var(--ndw-color-critical-200)}:host.critical:active,:host.critical:focus{background-color:var(--ndw-color-critical-300)}:host.positive{background-color:var(--ndw-color-positive-100);color:var(--ndw-color-grey-600)}:host.positive section .info-icon,:host.positive button ndw-icon{color:var(--ndw-color-positive-500)}:host.positive:hover{background-color:var(--ndw-color-positive-200)}:host.positive:active,:host.positive:focus{background-color:var(--ndw-color-positive-300)}:host.info-grey{background-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-500)}:host.info-grey section .info-icon,:host.info-grey button ndw-icon{color:var(--ndw-color-grey-500)}:host.info-grey:hover{background-color:var(--ndw-color-grey-200)}:host.info-grey:active,:host.info-grey:focus{background-color:var(--ndw-color-grey-300)}:host.warning{background-color:var(--ndw-color-warning-100);color:var(--ndw-color-grey-600)}:host.warning section .info-icon,:host.warning button ndw-icon{color:var(--ndw-color-warning-500)}:host.warning:hover{background-color:var(--ndw-color-warning-200)}:host.warning:active,:host.warning:focus{background-color:var(--ndw-color-warning-300)}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BannerComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[attr.aria-live]': 'ariaLive()',\n '[attr.title]': 'message()',\n '[class]': 'type()',\n '(window:resize)': 'setReadMore()',\n role: 'button',\n tabindex: '0',\n }, imports: [ButtonDirective, IconComponent], selector: 'ndw-banner', template: \"<section>\\n <ndw-icon class=\\\"info-icon\\\">info</ndw-icon>\\n <p #textContent>\\n <strong>{{ title() }}:</strong>\\n {{ message() }}\\n </p>\\n @if (showReadMore) {\\n <p>{{ readMoreLabel() }}</p>\\n }\\n</section>\\n<button ndwButton alternative extra-small tertiary class=\\\"close-button\\\" (click)=\\\"onClose($event)\\\">\\n <span class=\\\"sr-only\\\">Sluit melding</span>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;background-color:var(--ndw-color-secondary-050);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-alpha-black-015);color:var(--ndw-color-info-500);cursor:pointer;display:grid;gap:var(--ndw-spacing-xs);grid-template-columns:1fr auto;height:var(--ndw-spacing-xl);padding-inline:var(--ndw-spacing-2xs);transition:background-color var(--ndw-animation-speed-default) ease-out}:host section{align-items:center;display:grid;gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr auto;justify-content:center;text-align:center}:host section .info-icon{font-size:var(--ndw-font-size-lg)}:host section p{font-size:var(--ndw-font-size-sm);line-height:var(--ndw-line-height-md);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host section p strong{font-weight:var(--ndw-font-weight-bold)}:host button ndw-icon{color:var(--ndw-color-info-500)}:host:hover{background-color:var(--ndw-color-info-200)}:host:active,:host:focus{background-color:var(--ndw-color-info-300)}:host.critical{background-color:var(--ndw-color-critical-100);color:var(--ndw-color-critical-500)}:host.critical section .info-icon,:host.critical button ndw-icon{color:var(--ndw-color-critical-500)}:host.critical:hover{background-color:var(--ndw-color-critical-200)}:host.critical:active,:host.critical:focus{background-color:var(--ndw-color-critical-300)}:host.positive{background-color:var(--ndw-color-positive-100);color:var(--ndw-color-grey-600)}:host.positive section .info-icon,:host.positive button ndw-icon{color:var(--ndw-color-positive-500)}:host.positive:hover{background-color:var(--ndw-color-positive-200)}:host.positive:active,:host.positive:focus{background-color:var(--ndw-color-positive-300)}:host.info-grey{background-color:var(--ndw-color-grey-100);color:var(--ndw-color-grey-500)}:host.info-grey section .info-icon,:host.info-grey button ndw-icon{color:var(--ndw-color-grey-500)}:host.info-grey:hover{background-color:var(--ndw-color-grey-200)}:host.info-grey:active,:host.info-grey:focus{background-color:var(--ndw-color-grey-300)}:host.warning{background-color:var(--ndw-color-warning-100);color:var(--ndw-color-grey-600)}:host.warning section .info-icon,:host.warning button ndw-icon{color:var(--ndw-color-warning-500)}:host.warning:hover{background-color:var(--ndw-color-warning-200)}:host.warning:active,:host.warning:focus{background-color:var(--ndw-color-warning-300)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFtQnhDLE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO0lBQ0ksS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7SUFFeEM7O09BRUc7SUFDSSxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVUsQ0FBQztJQUUxQzs7T0FFRztJQUNJLGFBQWEsR0FBRyxLQUFLLENBQVMsYUFBYSx5REFBQyxDQUFDO0lBRXBEOztPQUVHO0lBQ0ksSUFBSSxHQUFHLEtBQUssQ0FBYSxNQUFNLGdEQUFDLENBQUM7SUFFeEM7OztPQUdHO0lBQ0ksUUFBUSxHQUFHLEtBQUssQ0FBVyxLQUFLLG9EQUFDLENBQUM7SUFFekM7O09BRUc7SUFDSCw0REFBNEQ7SUFDckQsS0FBSyxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBRXZCLFdBQVcsR0FBRyxTQUFTLENBQWEsYUFBYSx1REFBQyxDQUFDO0lBRW5ELFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFpQjtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ2xHLENBQUM7dUdBakRVLGVBQWU7MkZBQWYsZUFBZSxpakNDL0I1QixnYUFjQSw4MklEWVksZUFBZSx3REFBRSxhQUFhOzsyRkFLN0IsZUFBZTtrQkFmM0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLGtCQUFrQixFQUFFLFlBQVk7d0JBQ2hDLGNBQWMsRUFBRSxXQUFXO3dCQUMzQixTQUFTLEVBQUUsUUFBUTt3QkFDbkIsaUJBQWlCLEVBQUUsZUFBZTt3QkFDbEMsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsUUFBUSxFQUFFLEdBQUc7cUJBQ2QsV0FDUSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsWUFDL0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFyaWFMaXZlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IEJhbm5lclR5cGUgfSBmcm9tICcuL2Jhbm5lci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWxpdmVdJzogJ2FyaWFMaXZlKCknLFxuICAgICdbYXR0ci50aXRsZV0nOiAnbWVzc2FnZSgpJyxcbiAgICAnW2NsYXNzXSc6ICd0eXBlKCknLFxuICAgICcod2luZG93OnJlc2l6ZSknOiAnc2V0UmVhZE1vcmUoKScsXG4gICAgcm9sZTogJ2J1dHRvbicsXG4gICAgdGFiaW5kZXg6ICcwJyxcbiAgfSxcbiAgaW1wb3J0czogW0J1dHRvbkRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LWJhbm5lcicsXG4gIHN0eWxlVXJsOiAnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGJhbm5lci5cbiAgICovXG4gIHB1YmxpYyB0aXRsZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2Ugb2YgdGhlIGJhbm5lci5cbiAgICovXG4gIHB1YmxpYyBtZXNzYWdlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVhZCBtb3JlIGxhYmVsIGlmIHRoZSBtZXNzYWdlIGlzIHRydW5jYXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkTW9yZUxhYmVsID0gaW5wdXQ8c3RyaW5nPignbGVlcyB2ZXJkZXInKTtcblxuICAvKipcbiAgICogVXNlIGluZm8sIGluZm8tZ3JleSwgd2FybmluZywgcG9zaXRpdmUgb3IgY3JpdGljYWwgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgYmFubmVyLlxuICAgKi9cbiAgcHVibGljIHR5cGUgPSBpbnB1dDxCYW5uZXJUeXBlPignaW5mbycpO1xuXG4gIC8qKlxuICAgKiBVc2UgcG9saXRlLCBhc3NlcnRpdmUgb3Igb2ZmIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGFsZXJ0IGlzXG4gICAqIGFubm91bmNlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBzY3JlZW4gcmVhZGVyLlxuICAgKi9cbiAgcHVibGljIGFyaWFMaXZlID0gaW5wdXQ8QXJpYUxpdmU+KCdvZmYnKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYmFubmVyIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHB1YmxpYyBjbG9zZSA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHB1YmxpYyB0ZXh0Q29udGVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPigndGV4dENvbnRlbnQnKTtcblxuICBwdWJsaWMgc2hvd1JlYWRNb3JlID0gZmFsc2U7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFJlYWRNb3JlKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZWFkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dSZWFkTW9yZSA9XG4gICAgICB0aGlzLnRleHRDb250ZW50KCk/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGggPiB0aGlzLnRleHRDb250ZW50KCk/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIH1cbn1cbiIsIjxzZWN0aW9uPlxuICA8bmR3LWljb24gY2xhc3M9XCJpbmZvLWljb25cIj5pbmZvPC9uZHctaWNvbj5cbiAgPHAgI3RleHRDb250ZW50PlxuICAgIDxzdHJvbmc+e3sgdGl0bGUoKSB9fTo8L3N0cm9uZz5cbiAgICB7eyBtZXNzYWdlKCkgfX1cbiAgPC9wPlxuICBAaWYgKHNob3dSZWFkTW9yZSkge1xuICAgIDxwPnt7IHJlYWRNb3JlTGFiZWwoKSB9fTwvcD5cbiAgfVxuPC9zZWN0aW9uPlxuPGJ1dHRvbiBuZHdCdXR0b24gYWx0ZXJuYXRpdmUgZXh0cmEtc21hbGwgdGVydGlhcnkgY2xhc3M9XCJjbG9zZS1idXR0b25cIiAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCI+XG4gIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlNsdWl0IG1lbGRpbmc8L3NwYW4+XG4gIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG48L2J1dHRvbj5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreBreadcrumbComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class BreadcrumbComponent extends CoreBreadcrumbComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BreadcrumbComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: BreadcrumbComponent, isStandalone: true, selector: \"ndw-breadcrumb\", host: { attributes: { \"role\": \"link\" } }, usesInheritance: true, ngImport: i0, template: \"<ng-template #content>\\n <ng-content />\\n</ng-template>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BreadcrumbComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'link',\n }, selector: 'ndw-breadcrumb', template: \"<ng-template #content>\\n <ng-content />\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVXRELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7dUdBQW5ELG1CQUFtQjsyRkFBbkIsbUJBQW1CLDJJQ1hoQyw0REFHQTs7MkZEUWEsbUJBQW1CO2tCQVIvQixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLE1BQU07cUJBQ2IsWUFDUyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJ0BuZHdudS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2xpbmsnLFxuICB9LFxuICBzZWxlY3RvcjogJ25kdy1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJyZWFkY3J1bWJDb21wb25lbnQge31cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { CoreBreadcrumbGroupComponent } from '@ndwnu/core';\nimport { BreadcrumbComponent } from '../breadcrumb';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class BreadcrumbGroupComponent extends CoreBreadcrumbGroupComponent {\n breadcrumbs = contentChildren(BreadcrumbComponent, ...(ngDevMode ? [{ debugName: \"breadcrumbs\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BreadcrumbGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: BreadcrumbGroupComponent, isStandalone: true, selector: \"ndw-breadcrumb-group\", queries: [{ propertyName: \"breadcrumbs\", predicate: BreadcrumbComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"@for (breadcrumb of breadcrumbs(); track breadcrumb.link()) {\\n @if ($count > 1 && $index === $count - 2) {\\n <ndw-icon class=\\\"icon-back\\\" aria-hidden=\\\"true\\\">chevron_left</ndw-icon>\\n }\\n\\n <a\\n class=\\\"breadcrumb\\\"\\n [class.current-page]=\\\"$last\\\"\\n [class.show-on-small-screen]=\\\"$count === 1 || $index === $count - 2\\\"\\n [attr.aria-current]=\\\"$last ? 'page' : null\\\"\\n [routerLink]=\\\"$last ? null : breadcrumb.link()\\\"\\n >\\n <ng-template [ngTemplateOutlet]=\\\"breadcrumb.content()\\\"></ng-template>\\n </a>\\n\\n @if (!$last) {\\n <ndw-icon class=\\\"icon-forward\\\" aria-hidden=\\\"true\\\">chevron_right</ndw-icon>\\n }\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.breadcrumb{color:var(--breadcrumb-color);cursor:pointer;font-family:var(--breadcrumb-font-family);font-size:var(--breadcrumb-font-size);font-weight:var(--breadcrumb-font-weight);line-height:var(--breadcrumb-line-height);position:relative;text-decoration:none}.breadcrumb.current-page{color:var(--breadcrumb-current-page-color);cursor:default;font-weight:var(--breadcrumb-current-page-font-weight);pointer-events:none}.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--breadcrumb-color: var(--ndw-color-grey-500);--breadcrumb-current-page-color: var(--ndw-color-grey-700);--breadcrumb-current-page-font-weight: var(--ndw-font-weight-bold);--breadcrumb-font-family: var(--ndw-font-family-body);--breadcrumb-font-size: var(--ndw-font-size-sm);--breadcrumb-font-weight: var(--ndw-font-weight-bold);--breadcrumb-line-height: 100%}.breadcrumb{background-color:inherit;padding:calc(var(--ndw-spacing-3xs) * 2.5) var(--ndw-spacing-xs);border-radius:var(--ndw-border-radius-sm);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.breadcrumb:hover{color:var(--ndw-color-grey-600);background-color:var(--ndw-color-grey-100);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.breadcrumb:focus:not(:active){color:var(--ndw-color-grey-500);outline:var(--ndw-border-size-sm) solid var(--ndw-color-secondary-500)}.breadcrumb:active{color:var(--ndw-color-grey-700);background-color:var(--ndw-color-grey-300);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}\\n\", \":host{align-items:center;background-color:var(--breadcrumb-group-background-color);color:var(--breadcrumb-group-color);display:flex;padding:var(--breadcrumb-group-padding)}.icon-back,.icon-forward{font-size:var(--breadcrumb-group-chevron-size)}.icon-back{display:none}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{--breadcrumb-group-background-color: var(--ndw-color-white);--breadcrumb-group-chevron-size: var(--ndw-font-size-md);--breadcrumb-group-color: var(--ndw-color-primary-500);--breadcrumb-group-padding: var(--ndw-spacing-md)}.icon-back,.icon-forward{margin-block-end:var(--ndw-spacing-3xs)}@media screen and (max-width: 1024px){.breadcrumb:not(.show-on-small-screen){display:none}.icon-back{display:block}.icon-forward{display:none}}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: BreadcrumbGroupComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, NgTemplateOutlet, RouterLink], selector: 'ndw-breadcrumb-group', template: \"@for (breadcrumb of breadcrumbs(); track breadcrumb.link()) {\\n @if ($count > 1 && $index === $count - 2) {\\n <ndw-icon class=\\\"icon-back\\\" aria-hidden=\\\"true\\\">chevron_left</ndw-icon>\\n }\\n\\n <a\\n class=\\\"breadcrumb\\\"\\n [class.current-page]=\\\"$last\\\"\\n [class.show-on-small-screen]=\\\"$count === 1 || $index === $count - 2\\\"\\n [attr.aria-current]=\\\"$last ? 'page' : null\\\"\\n [routerLink]=\\\"$last ? null : breadcrumb.link()\\\"\\n >\\n <ng-template [ngTemplateOutlet]=\\\"breadcrumb.content()\\\"></ng-template>\\n </a>\\n\\n @if (!$last) {\\n <ndw-icon class=\\\"icon-forward\\\" aria-hidden=\\\"true\\\">chevron_right</ndw-icon>\\n }\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.breadcrumb{color:var(--breadcrumb-color);cursor:pointer;font-family:var(--breadcrumb-font-family);font-size:var(--breadcrumb-font-size);font-weight:var(--breadcrumb-font-weight);line-height:var(--breadcrumb-line-height);position:relative;text-decoration:none}.breadcrumb.current-page{color:var(--breadcrumb-current-page-color);cursor:default;font-weight:var(--breadcrumb-current-page-font-weight);pointer-events:none}.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--breadcrumb-color: var(--ndw-color-grey-500);--breadcrumb-current-page-color: var(--ndw-color-grey-700);--breadcrumb-current-page-font-weight: var(--ndw-font-weight-bold);--breadcrumb-font-family: var(--ndw-font-family-body);--breadcrumb-font-size: var(--ndw-font-size-sm);--breadcrumb-font-weight: var(--ndw-font-weight-bold);--breadcrumb-line-height: 100%}.breadcrumb{background-color:inherit;padding:calc(var(--ndw-spacing-3xs) * 2.5) var(--ndw-spacing-xs);border-radius:var(--ndw-border-radius-sm);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.breadcrumb:hover{color:var(--ndw-color-grey-600);background-color:var(--ndw-color-grey-100);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.breadcrumb:focus:not(:active){color:var(--ndw-color-grey-500);outline:var(--ndw-border-size-sm) solid var(--ndw-color-secondary-500)}.breadcrumb:active{color:var(--ndw-color-grey-700);background-color:var(--ndw-color-grey-300);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}\\n\", \":host{align-items:center;background-color:var(--breadcrumb-group-background-color);color:var(--breadcrumb-group-color);display:flex;padding:var(--breadcrumb-group-padding)}.icon-back,.icon-forward{font-size:var(--breadcrumb-group-chevron-size)}.icon-back{display:none}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{--breadcrumb-group-background-color: var(--ndw-color-white);--breadcrumb-group-chevron-size: var(--ndw-font-size-md);--breadcrumb-group-color: var(--ndw-color-primary-500);--breadcrumb-group-padding: var(--ndw-spacing-md)}.icon-back,.icon-forward{margin-block-end:var(--ndw-spacing-3xs)}@media screen and (max-width: 1024px){.breadcrumb:not(.show-on-small-screen){display:none}.icon-back{display:block}.icon-forward{display:none}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iLWdyb3VwL2JyZWFkY3J1bWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFTeEMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLDRCQUFpRDtJQUNuRixXQUFXLEdBQUcsZUFBZSxDQUFDLG1CQUFtQix1REFBQyxDQUFDO3VHQURsRCx3QkFBd0I7MkZBQXhCLHdCQUF3Qiw0R0FDSyxtQkFBbUIsb0VDaEI3RCwyb0JBbUJBLGcvTERUWSxhQUFhLHFEQUFFLGdCQUFnQixvSkFBRSxVQUFVOzsyRkFLMUMsd0JBQXdCO2tCQVBwQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFlBQzVDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29udGVudENoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvcmVCcmVhZGNydW1iR3JvdXBDb21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldCwgUm91dGVyTGlua10sXG4gIHNlbGVjdG9yOiAnbmR3LWJyZWFkY3J1bWItZ3JvdXAnLFxuICBzdHlsZVVybHM6IFsnLi4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJywgJy4vYnJlYWRjcnVtYi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJHcm91cENvbXBvbmVudCBleHRlbmRzIENvcmVCcmVhZGNydW1iR3JvdXBDb21wb25lbnQ8QnJlYWRjcnVtYkNvbXBvbmVudD4ge1xuICBwcm90ZWN0ZWQgYnJlYWRjcnVtYnMgPSBjb250ZW50Q2hpbGRyZW4oQnJlYWRjcnVtYkNvbXBvbmVudCk7XG59XG4iLCJAZm9yIChicmVhZGNydW1iIG9mIGJyZWFkY3J1bWJzKCk7IHRyYWNrIGJyZWFkY3J1bWIubGluaygpKSB7XG4gIEBpZiAoJGNvdW50ID4gMSAmJiAkaW5kZXggPT09ICRjb3VudCAtIDIpIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJpY29uLWJhY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5jaGV2cm9uX2xlZnQ8L25kdy1pY29uPlxuICB9XG5cbiAgPGFcbiAgICBjbGFzcz1cImJyZWFkY3J1bWJcIlxuICAgIFtjbGFzcy5jdXJyZW50LXBhZ2VdPVwiJGxhc3RcIlxuICAgIFtjbGFzcy5zaG93LW9uLXNtYWxsLXNjcmVlbl09XCIkY291bnQgPT09IDEgfHwgJGluZGV4ID09PSAkY291bnQgLSAyXCJcbiAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiJGxhc3QgPyAncGFnZScgOiBudWxsXCJcbiAgICBbcm91dGVyTGlua109XCIkbGFzdCA/IG51bGwgOiBicmVhZGNydW1iLmxpbmsoKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnJlYWRjcnVtYi5jb250ZW50KClcIj48L25nLXRlbXBsYXRlPlxuICA8L2E+XG5cbiAgQGlmICghJGxhc3QpIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJpY29uLWZvcndhcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5jaGV2cm9uX3JpZ2h0PC9uZHctaWNvbj5cbiAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CardContentComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: CardContentComponent, isStandalone: true, selector: \"ndw-card-content\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto;word-break:break-word}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardContentComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-card-content', template: \"<ng-content />\\n\", styles: [\":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto;word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQtY29udGVudC9jYXJkLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC1jb250ZW50L2NhcmQtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFuRSxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQiw0RUNSakMsa0JBQ0E7OzJGRE9hLG9CQUFvQjtrQkFOaEMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ25kdy1jYXJkLWNvbnRlbnQnLFxuICBzdHlsZVVybDogJy4vY2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb250ZW50Q29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudCAvPlxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CardFooterComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: CardFooterComponent, isStandalone: true, selector: \"ndw-card-footer\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{align-items:center;display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md);margin-top:var(--ndw-spacing-xs);word-break:break-word}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardFooterComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-card-footer', template: \"<ng-content />\\n\", styles: [\":host{align-items:center;display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md);margin-top:var(--ndw-spacing-xs);word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC1mb290ZXIvY2FyZC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC1mb290ZXIvY2FyZC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLG1CQUFtQjt1R0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUIsMkVDUmhDLGtCQUNBOzsyRkRPYSxtQkFBbUI7a0JBTi9CLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctY2FyZC1mb290ZXInLFxuICBzdHlsZVVybDogJy4vY2FyZC1mb290ZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkRm9vdGVyQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudCAvPlxuIl19","import { animate, state, style, transition, trigger } from '@angular/animations';\nexport const CARD_ANIMATION = trigger('cardAnimation', [\n state('closed', style({\n height: '{{ headerHeight }}px',\n }), { params: { headerHeight: 0 } }),\n state('open', style({\n height: '*',\n })),\n transition('closed <=> open', [animate('200ms ease-in-out')]),\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO0lBQ3JELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1FBQ0osTUFBTSxFQUFFLHNCQUFzQjtLQUMvQixDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDaEM7SUFDRCxLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztRQUNKLE1BQU0sRUFBRSxHQUFHO0tBQ1osQ0FBQyxDQUNIO0lBQ0QsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztDQUM5RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IENBUkRfQU5JTUFUSU9OID0gdHJpZ2dlcignY2FyZEFuaW1hdGlvbicsIFtcbiAgc3RhdGUoXG4gICAgJ2Nsb3NlZCcsXG4gICAgc3R5bGUoe1xuICAgICAgaGVpZ2h0OiAne3sgaGVhZGVySGVpZ2h0IH19cHgnLFxuICAgIH0pLFxuICAgIHsgcGFyYW1zOiB7IGhlYWRlckhlaWdodDogMCB9IH0sXG4gICksXG4gIHN0YXRlKFxuICAgICdvcGVuJyxcbiAgICBzdHlsZSh7XG4gICAgICBoZWlnaHQ6ICcqJyxcbiAgICB9KSxcbiAgKSxcbiAgdHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgW2FuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JyldKSxcbl0pO1xuIl19","import { ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, model, signal, } from '@angular/core';\nimport { CardHeaderComponent } from './card-header';\nimport { CARD_ANIMATION } from './card.animation';\nimport * as i0 from \"@angular/core\";\nexport const CARD_ID_TOKEN = new InjectionToken('CARD_ID_TOKEN');\nexport class CardComponent {\n header = contentChild(CardHeaderComponent, ...(ngDevMode ? [{ debugName: \"header\" }] : []));\n headerHeight = signal(0, ...(ngDevMode ? [{ debugName: \"headerHeight\" }] : []));\n cardId = inject(CARD_ID_TOKEN);\n isCollapsable = computed(() => this.header()?.isCollapsible() ?? false, ...(ngDevMode ? [{ debugName: \"isCollapsable\" }] : []));\n isCollapsed = model(false, ...(ngDevMode ? [{ debugName: \"isCollapsed\" }] : []));\n ngAfterContentInit() {\n const header = this.header();\n if (header) {\n header.isCollapsed.subscribe(() => {\n this.isCollapsed.set(!this.isCollapsed());\n });\n this.headerHeight.set(header.height);\n }\n }\n animationState = computed(() => ({\n value: this.isCollapsed() ? 'closed' : 'open',\n params: { headerHeight: this.headerHeight() },\n }), ...(ngDevMode ? [{ debugName: \"animationState\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: CardComponent, isStandalone: true, selector: \"ndw-card\", inputs: { isCollapsed: { classPropertyName: \"isCollapsed\", publicName: \"isCollapsed\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: \"isCollapsedChange\" }, host: { attributes: { \"id\": \"cardId\" }, properties: { \"@cardAnimation\": \"animationState()\", \"class.collapsible\": \"isCollapsable()\" } }, providers: [\n {\n provide: CARD_ID_TOKEN,\n useFactory: () => `ndw-card-${crypto.randomUUID()}`,\n },\n ], queries: [{ propertyName: \"header\", first: true, predicate: CardHeaderComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-md);padding:var(--ndw-spacing-lg)}:host.collapsible{box-sizing:content-box}\\n\"], animations: [CARD_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardComponent, decorators: [{\n type: Component,\n args: [{ animations: [CARD_ANIMATION], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-card', providers: [\n {\n provide: CARD_ID_TOKEN,\n useFactory: () => `ndw-card-${crypto.randomUUID()}`,\n },\n ], host: {\n id: 'cardId',\n '[@cardAnimation]': 'animationState()',\n '[class.collapsible]': 'isCollapsable()',\n }, template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-md);padding:var(--ndw-spacing-lg)}:host.collapsible{box-sizing:content-box}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFTLGVBQWUsQ0FBQyxDQUFDO0FBb0J6RSxNQUFNLE9BQU8sYUFBYTtJQUNQLE1BQU0sR0FBRyxZQUFZLENBQXNCLG1CQUFtQixrREFBQyxDQUFDO0lBQ2hFLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyx3REFBQyxDQUFDO0lBQzFCLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFL0IsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksS0FBSyx5REFBQyxDQUFDO0lBQ3hFLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyx1REFBQyxDQUFDO0lBRTNDLGtCQUFrQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU07UUFDN0MsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtLQUM5QyxDQUFDLDBEQUFDLENBQUM7dUdBckJPLGFBQWE7MkZBQWIsYUFBYSxvWUFaYjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7YUFDcEQ7U0FDRiw4REFRMkQsbUJBQW1CLGdFQ25DakYsa0JBQ0EsNFFEZ0JjLENBQUMsY0FBYyxDQUFDOzsyRkFpQmpCLGFBQWE7a0JBbEJ6QixTQUFTO2lDQUNJLENBQUMsY0FBYyxDQUFDLG1CQUNYLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsVUFBVSxhQUdUO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7eUJBQ3BEO3FCQUNGLFFBQ0s7d0JBQ0osRUFBRSxFQUFFLFFBQVE7d0JBQ1osa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxxQkFBcUIsRUFBRSxpQkFBaUI7cUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLWhlYWRlcic7XG5pbXBvcnQgeyBDQVJEX0FOSU1BVElPTiB9IGZyb20gJy4vY2FyZC5hbmltYXRpb24nO1xuXG5leHBvcnQgY29uc3QgQ0FSRF9JRF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdDQVJEX0lEX1RPS0VOJyk7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbQ0FSRF9BTklNQVRJT05dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctY2FyZCcsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBDQVJEX0lEX1RPS0VOLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gYG5kdy1jYXJkLSR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBpZDogJ2NhcmRJZCcsXG4gICAgJ1tAY2FyZEFuaW1hdGlvbl0nOiAnYW5pbWF0aW9uU3RhdGUoKScsXG4gICAgJ1tjbGFzcy5jb2xsYXBzaWJsZV0nOiAnaXNDb2xsYXBzYWJsZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRlciA9IGNvbnRlbnRDaGlsZDxDYXJkSGVhZGVyQ29tcG9uZW50PihDYXJkSGVhZGVyQ29tcG9uZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJIZWlnaHQgPSBzaWduYWwoMCk7XG4gIHB1YmxpYyByZWFkb25seSBjYXJkSWQgPSBpbmplY3QoQ0FSRF9JRF9UT0tFTik7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQ29sbGFwc2FibGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmhlYWRlcigpPy5pc0NvbGxhcHNpYmxlKCkgPz8gZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNDb2xsYXBzZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuaGVhZGVyKCk7XG4gICAgaWYgKGhlYWRlcikge1xuICAgICAgaGVhZGVyLmlzQ29sbGFwc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KCF0aGlzLmlzQ29sbGFwc2VkKCkpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmhlYWRlckhlaWdodC5zZXQoaGVhZGVyLmhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIHZhbHVlOiB0aGlzLmlzQ29sbGFwc2VkKCkgPyAnY2xvc2VkJyA6ICdvcGVuJyxcbiAgICBwYXJhbXM6IHsgaGVhZGVySGVpZ2h0OiB0aGlzLmhlYWRlckhlaWdodCgpIH0sXG4gIH0pKTtcbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ChangeDetectionStrategy, Component, ElementRef, inject, input, model, } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport { CARD_ID_TOKEN } from '../card.component';\nimport * as i0 from \"@angular/core\";\nexport class CardHeaderComponent {\n cardId = inject(CARD_ID_TOKEN, { optional: true });\n isCollapsible = input(false, ...(ngDevMode ? [{ debugName: \"isCollapsible\" }] : []));\n isCollapsed = model(false, ...(ngDevMode ? [{ debugName: \"isCollapsed\" }] : []));\n elementRef = inject(ElementRef);\n get height() {\n return this.elementRef.nativeElement.offsetHeight;\n }\n toggleCollapsed() {\n this.isCollapsed.set(!this.isCollapsed());\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: CardHeaderComponent, isStandalone: true, selector: \"ndw-card-header\", inputs: { isCollapsible: { classPropertyName: \"isCollapsible\", publicName: \"isCollapsible\", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: \"isCollapsed\", publicName: \"isCollapsed\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: \"isCollapsedChange\" }, ngImport: i0, template: \"@if (isCollapsible()) {\\n <button\\n class=\\\"float\\\"\\n type=\\\"button\\\"\\n ndwButton\\n extra-small\\n tertiary\\n [attr.aria-controls]=\\\"cardId\\\"\\n [attr.aria-expanded]=\\\"!isCollapsed()\\\"\\n [class.collapsed]=\\\"isCollapsed()\\\"\\n (click)=\\\"toggleCollapsed()\\\"\\n >\\n <ndw-icon>keyboard_arrow_down</ndw-icon>\\n </button>\\n}\\n<ng-content />\\n\", styles: [\":host{display:block;align-items:center;font-family:var(--ndw-font-family-heading);font-size:var(--ndw-font-size-lg);font-weight:700;word-break:break-word}.float{float:right;margin-left:var(--ndw-spacing-sm);transition:transform var(--ndw-animation-speed-fast) ease-in-out}.float.collapsed{transform:rotate(180deg)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: CardHeaderComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-card-header', imports: [IconComponent], template: \"@if (isCollapsible()) {\\n <button\\n class=\\\"float\\\"\\n type=\\\"button\\\"\\n ndwButton\\n extra-small\\n tertiary\\n [attr.aria-controls]=\\\"cardId\\\"\\n [attr.aria-expanded]=\\\"!isCollapsed()\\\"\\n [class.collapsed]=\\\"isCollapsed()\\\"\\n (click)=\\\"toggleCollapsed()\\\"\\n >\\n <ndw-icon>keyboard_arrow_down</ndw-icon>\\n </button>\\n}\\n<ng-content />\\n\", styles: [\":host{display:block;align-items:center;font-family:var(--ndw-font-family-heading);font-size:var(--ndw-font-size-lg);font-weight:700;word-break:break-word}.float{float:right;margin-left:var(--ndw-spacing-sm);transition:transform var(--ndw-animation-speed-fast) ease-in-out}.float.collapsed{transform:rotate(180deg)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC1oZWFkZXIvY2FyZC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC1oZWFkZXIvY2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVNsRCxNQUFNLE9BQU8sbUJBQW1CO0lBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUsseURBQUMsQ0FBQztJQUM3QixXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssdURBQUMsQ0FBQztJQUUxQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWpELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO3VHQWJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLGdhQ2xCaEMsK1dBZ0JBLHNYREZZLGFBQWE7OzJGQUlaLG1CQUFtQjtrQkFQL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQixXQUNsQixDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IENBUkRfSURfVE9LRU4gfSBmcm9tICcuLi9jYXJkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctY2FyZC1oZWFkZXInLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHN0eWxlVXJsOiAnLi9jYXJkLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRIZWFkZXJDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgY2FyZElkID0gaW5qZWN0KENBUkRfSURfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBpc0NvbGxhcHNpYmxlID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNDb2xsYXBzZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgdG9nZ2xlQ29sbGFwc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KCF0aGlzLmlzQ29sbGFwc2VkKCkpO1xuICB9XG59XG4iLCJAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJmbG9hdFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgbmR3QnV0dG9uXG4gICAgZXh0cmEtc21hbGxcbiAgICB0ZXJ0aWFyeVxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY2FyZElkXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFpc0NvbGxhcHNlZCgpXCJcbiAgICBbY2xhc3MuY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZWQoKVwiXG4gID5cbiAgICA8bmR3LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbmR3LWljb24+XG4gIDwvYnV0dG9uPlxufVxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { CardContentComponent } from './card-content';\nimport { CardFooterComponent } from './card-footer';\nimport { CardHeaderComponent } from './card-header';\nimport { CardComponent } from './card.component';\nexport * from './card-content';\nexport * from './card-footer';\nexport * from './card-header';\nexport * from './card.component';\nexport const CARD_COMPONENTS = [\n CardComponent,\n CardHeaderComponent,\n CardContentComponent,\n CardFooterComponent,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FyZENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtY29udGVudCc7XG5pbXBvcnQgeyBDYXJkRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLWZvb3Rlcic7XG5pbXBvcnQgeyBDYXJkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLWhlYWRlcic7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1mb290ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWhlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IENBUkRfQ09NUE9ORU5UUyA9IFtcbiAgQ2FyZENvbXBvbmVudCxcbiAgQ2FyZEhlYWRlckNvbXBvbmVudCxcbiAgQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gIENhcmRGb290ZXJDb21wb25lbnQsXG5dO1xuIl19","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { CardComponent, CardContentComponent } from '../card';\nimport * as i0 from \"@angular/core\";\nexport class DashboardCardComponent {\n /**\n * The title of the card.\n */\n title = input.required(...(ngDevMode ? [{ debugName: \"title\" }] : []));\n /**\n * The URL to the icon to display on the card. The icon is assumed to be rectangular.\n */\n imgSource = input.required(...(ngDevMode ? [{ debugName: \"imgSource\" }] : []));\n /**\n * The url to open in a new window when the card is clicked.\n */\n link = input.required(...(ngDevMode ? [{ debugName: \"link\" }] : []));\n /**\n * Specifies where to open the linked document.\n * Valid values are `_blank`, `_parent`, `_self`, or `_top`.\n */\n linkTarget = input('_blank', ...(ngDevMode ? [{ debugName: \"linkTarget\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DashboardCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: DashboardCardComponent, isStandalone: true, selector: \"ndw-dashboard-card\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: true, transformFunction: null }, imgSource: { classPropertyName: \"imgSource\", publicName: \"imgSource\", isSignal: true, isRequired: true, transformFunction: null }, link: { classPropertyName: \"link\", publicName: \"link\", isSignal: true, isRequired: true, transformFunction: null }, linkTarget: { classPropertyName: \"linkTarget\", publicName: \"linkTarget\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<a [href]=\\\"link()\\\" [target]=\\\"linkTarget()\\\" rel=\\\"noreferrer noopener\\\" [title]=\\\"title()\\\">\\n <ndw-card class=\\\"card\\\">\\n <ndw-card-content class=\\\"card-content\\\">\\n <img [src]=\\\"imgSource()\\\" [alt]=\\\"title()\\\" />\\n <span class=\\\"ndw-heading-sm title\\\">{{ title() }}</span>\\n <div class=\\\"ndw-paragraph-md description\\\"><ng-content /></div>\\n </ndw-card-content>\\n </ndw-card>\\n</a>\\n\", styles: [\":host{display:block}a{text-decoration:none}.card{padding:var(--ndw-spacing-3xl);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:hover{background-color:var(--ndw-color-secondary-050);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:hover .title{color:var(--ndw-color-secondary-500);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active{background-color:var(--ndw-color-secondary-100);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active .title{color:var(--ndw-color-secondary-600);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active .description{color:var(--ndw-color-grey-700);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card-content{display:flex;flex-direction:column;align-items:center;gap:var(--ndw-spacing-xs)}.card-content img{height:50px;width:50px;object-fit:contain}.card-content .title{text-align:center;color:var(--ndw-color-grey-700);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-content .description{text-align:center;color:var(--ndw-color-grey-500);width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2}\\n\"], dependencies: [{ kind: \"component\", type: CardComponent, selector: \"ndw-card\", inputs: [\"isCollapsed\"], outputs: [\"isCollapsedChange\"] }, { kind: \"component\", type: CardContentComponent, selector: \"ndw-card-content\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DashboardCardComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CardComponent, CardContentComponent], selector: 'ndw-dashboard-card', template: \"<a [href]=\\\"link()\\\" [target]=\\\"linkTarget()\\\" rel=\\\"noreferrer noopener\\\" [title]=\\\"title()\\\">\\n <ndw-card class=\\\"card\\\">\\n <ndw-card-content class=\\\"card-content\\\">\\n <img [src]=\\\"imgSource()\\\" [alt]=\\\"title()\\\" />\\n <span class=\\\"ndw-heading-sm title\\\">{{ title() }}</span>\\n <div class=\\\"ndw-paragraph-md description\\\"><ng-content /></div>\\n </ndw-card-content>\\n </ndw-card>\\n</a>\\n\", styles: [\":host{display:block}a{text-decoration:none}.card{padding:var(--ndw-spacing-3xl);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:hover{background-color:var(--ndw-color-secondary-050);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:hover .title{color:var(--ndw-color-secondary-500);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active{background-color:var(--ndw-color-secondary-100);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active .title{color:var(--ndw-color-secondary-600);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card:active .description{color:var(--ndw-color-grey-700);transition-property:color,background-color;transition-duration:var(--ndw-animation-speed-fast);transition-timing-function:ease-out}.card-content{display:flex;flex-direction:column;align-items:center;gap:var(--ndw-spacing-xs)}.card-content img{height:50px;width:50px;object-fit:contain}.card-content .title{text-align:center;color:var(--ndw-color-grey-700);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-content .description{text-align:center;color:var(--ndw-color-grey-500);width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC1jYXJkL2Rhc2hib2FyZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQtY2FyZC9kYXNoYm9hcmQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQVM5RCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDOztPQUVHO0lBQ2EsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7SUFFakQ7O09BRUc7SUFDYSxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsb0RBQVUsQ0FBQztJQUVyRDs7T0FFRztJQUNhLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSwrQ0FBVSxDQUFDO0lBRWhEOzs7T0FHRztJQUNhLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxzREFBQyxDQUFDO3VHQXBCbEMsc0JBQXNCOzJGQUF0QixzQkFBc0IsK2tCQ1huQyw2WkFTQSx5ckRESFksYUFBYSw4R0FBRSxvQkFBb0I7OzJGQUtsQyxzQkFBc0I7a0JBUGxDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxZQUNwQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50LCBDYXJkQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDYXJkQ29tcG9uZW50LCBDYXJkQ29udGVudENvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LWRhc2hib2FyZC1jYXJkJyxcbiAgc3R5bGVVcmw6ICcuL2Rhc2hib2FyZC1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkQ2FyZENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGNhcmQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgdG8gdGhlIGljb24gdG8gZGlzcGxheSBvbiB0aGUgY2FyZC4gVGhlIGljb24gaXMgYXNzdW1lZCB0byBiZSByZWN0YW5ndWxhci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbWdTb3VyY2UgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSB1cmwgdG8gb3BlbiBpbiBhIG5ldyB3aW5kb3cgd2hlbiB0aGUgY2FyZCBpcyBjbGlja2VkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxpbmsgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGVyZSB0byBvcGVuIHRoZSBsaW5rZWQgZG9jdW1lbnQuXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgYF9ibGFua2AsIGBfcGFyZW50YCwgYF9zZWxmYCwgb3IgYF90b3BgLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxpbmtUYXJnZXQgPSBpbnB1dCgnX2JsYW5rJyk7XG59XG4iLCI8YSBbaHJlZl09XCJsaW5rKClcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXQoKVwiIHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIiBbdGl0bGVdPVwidGl0bGUoKVwiPlxuICA8bmR3LWNhcmQgY2xhc3M9XCJjYXJkXCI+XG4gICAgPG5kdy1jYXJkLWNvbnRlbnQgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIj5cbiAgICAgIDxpbWcgW3NyY109XCJpbWdTb3VyY2UoKVwiIFthbHRdPVwidGl0bGUoKVwiIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm5kdy1oZWFkaW5nLXNtIHRpdGxlXCI+e3sgdGl0bGUoKSB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuZHctcGFyYWdyYXBoLW1kIGRlc2NyaXB0aW9uXCI+PG5nLWNvbnRlbnQgLz48L2Rpdj5cbiAgICA8L25kdy1jYXJkLWNvbnRlbnQ+XG4gIDwvbmR3LWNhcmQ+XG48L2E+XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, input, output, viewChild, } from '@angular/core';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\nimport { PopoverTriggerDirective } from '../popover';\nimport { TagComponent } from '../tag';\nimport * as i0 from \"@angular/core\";\nexport class DropdownComponent {\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n chevron = input(true, ...(ngDevMode ? [{ debugName: \"chevron\" }] : []));\n buttonText = input.required(...(ngDevMode ? [{ debugName: \"buttonText\" }] : []));\n prefixIcon = input('', ...(ngDevMode ? [{ debugName: \"prefixIcon\" }] : []));\n selectAmount = input(0, ...(ngDevMode ? [{ debugName: \"selectAmount\" }] : []));\n tagClicked = output();\n isOpenChange = output();\n popoverTrigger = viewChild.required(PopoverTriggerDirective);\n dropdownButton = viewChild.required('dropdownButton');\n buttonIcon = computed(() => this.popoverTrigger().isOpen() ? 'keyboard_arrow_up' : 'keyboard_arrow_down', ...(ngDevMode ? [{ debugName: \"buttonIcon\" }] : []));\n onTagClicked($event) {\n $event.stopPropagation();\n this.tagClicked.emit();\n }\n onKeyDown(event) {\n if (event.key === 'Escape') {\n this.popoverTrigger().isOpen.set(false);\n this.popoverTrigger().togglePopover();\n }\n else if (event.key === 'Enter' && !this.disabled()) {\n this.popoverTrigger().toggle();\n }\n }\n closeDropdown() {\n this.dropdownButton().nativeElement.focus();\n }\n onTagKeyDown(event) {\n if (event.key !== 'Enter' || this.disabled()) {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n this.tagClicked.emit();\n setTimeout(() => {\n this.dropdownButton().nativeElement.focus();\n });\n }\n isOpenChanged(isOpen) {\n this.isOpenChange.emit(isOpen);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: DropdownComponent, isStandalone: true, selector: \"ndw-dropdown\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, chevron: { classPropertyName: \"chevron\", publicName: \"chevron\", isSignal: true, isRequired: false, transformFunction: null }, buttonText: { classPropertyName: \"buttonText\", publicName: \"buttonText\", isSignal: true, isRequired: true, transformFunction: null }, prefixIcon: { classPropertyName: \"prefixIcon\", publicName: \"prefixIcon\", isSignal: true, isRequired: false, transformFunction: null }, selectAmount: { classPropertyName: \"selectAmount\", publicName: \"selectAmount\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagClicked: \"tagClicked\", isOpenChange: \"isOpenChange\" }, viewQueries: [{ propertyName: \"popoverTrigger\", first: true, predicate: PopoverTriggerDirective, descendants: true, isSignal: true }, { propertyName: \"dropdownButton\", first: true, predicate: [\"dropdownButton\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<button\\n type=\\\"button\\\"\\n #dropdownButton\\n ndwButton\\n filter\\n [ndwPopoverTrigger]=\\\"dropdownContent\\\"\\n (isOpenChange)=\\\"isOpenChanged($event)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n [disabled]=\\\"disabled()\\\"\\n aria-haspopup=\\\"dialog\\\"\\n>\\n @if (prefixIcon(); as prefixIconName) {\\n <ndw-icon class=\\\"dropdown-prefix-icon\\\">{{ prefixIconName }}</ndw-icon>\\n }\\n\\n {{ buttonText() }}\\n\\n @if (selectAmount()) {\\n <ndw-tag\\n [attr.disabled]=\\\"disabled() ? true : null\\\"\\n (keydown)=\\\"onTagKeyDown($event)\\\"\\n (clicked)=\\\"onTagClicked($event)\\\"\\n >\\n {{ selectAmount() }}\\n </ndw-tag>\\n }\\n @if (chevron()) {\\n <div class=\\\"button-end\\\">\\n <ndw-icon class=\\\"button-icon\\\">{{ buttonIcon() }}</ndw-icon>\\n </div>\\n }\\n</button>\\n\\n<ng-template #dropdownContent>\\n <div role=\\\"dialog\\\" (keydown.escape)=\\\"closeDropdown()\\\">\\n <ng-content />\\n </div>\\n</ng-template>\\n\", styles: [\":host{display:inline-block}button{width:100%;display:flex}.button-end{display:flex;justify-content:flex-end;flex-grow:1;gap:var(--ndw-spacing-2xs)}.button-end ndw-icon{display:flex;align-items:center}.dropdown-prefix-icon{color:var(--ndw-color-grey-300)}div[role=dialog]{max-height:70vh;display:flex;flex-direction:column}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: PopoverTriggerDirective, selector: \"[ndwPopoverTrigger]\", inputs: [\"popoverPosition\", \"ndwPopoverTrigger\", \"toggleOnClick\", \"isOpen\"], outputs: [\"popoverToggled\", \"isOpenChange\"], exportAs: [\"ndwPopoverTrigger\"] }, { kind: \"component\", type: TagComponent, selector: \"ndw-tag\", inputs: [\"disabled\", \"suffixAriaLabel\", \"suffixIcon\"], outputs: [\"clicked\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: DropdownComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonDirective, IconComponent, PopoverTriggerDirective, TagComponent], selector: 'ndw-dropdown', template: \"<button\\n type=\\\"button\\\"\\n #dropdownButton\\n ndwButton\\n filter\\n [ndwPopoverTrigger]=\\\"dropdownContent\\\"\\n (isOpenChange)=\\\"isOpenChanged($event)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n [disabled]=\\\"disabled()\\\"\\n aria-haspopup=\\\"dialog\\\"\\n>\\n @if (prefixIcon(); as prefixIconName) {\\n <ndw-icon class=\\\"dropdown-prefix-icon\\\">{{ prefixIconName }}</ndw-icon>\\n }\\n\\n {{ buttonText() }}\\n\\n @if (selectAmount()) {\\n <ndw-tag\\n [attr.disabled]=\\\"disabled() ? true : null\\\"\\n (keydown)=\\\"onTagKeyDown($event)\\\"\\n (clicked)=\\\"onTagClicked($event)\\\"\\n >\\n {{ selectAmount() }}\\n </ndw-tag>\\n }\\n @if (chevron()) {\\n <div class=\\\"button-end\\\">\\n <ndw-icon class=\\\"button-icon\\\">{{ buttonIcon() }}</ndw-icon>\\n </div>\\n }\\n</button>\\n\\n<ng-template #dropdownContent>\\n <div role=\\\"dialog\\\" (keydown.escape)=\\\"closeDropdown()\\\">\\n <ng-content />\\n </div>\\n</ng-template>\\n\", styles: [\":host{display:inline-block}button{width:100%;display:flex}.button-end{display:flex;justify-content:flex-end;flex-grow:1;gap:var(--ndw-spacing-2xs)}.button-end ndw-icon{display:flex;align-items:center}.dropdown-prefix-icon{color:var(--ndw-color-grey-300)}div[role=dialog]{max-height:70vh;display:flex;flex-direction:column}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQVN0QyxNQUFNLE9BQU8saUJBQWlCO0lBQ1osUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDeEIsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLG1EQUFDLENBQUM7SUFDdEIsVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLHFEQUFVLENBQUM7SUFDdEMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFFLHNEQUFDLENBQUM7SUFDdkIsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLHdEQUFDLENBQUM7SUFFeEIsVUFBVSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBQzVCLFlBQVksR0FBRyxNQUFNLEVBQVcsQ0FBQztJQUVqQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdELGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFhLGdCQUFnQixDQUFDLENBQUM7SUFFbEUsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLHNEQUM3RSxDQUFDO0lBRUssWUFBWSxDQUFDLE1BQWE7UUFDL0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsTUFBZTtRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO3VHQW5EVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixrMkJBVXdCLHVCQUF1QixtTENoQzdFLGs2QkFzQ0EsOFhEckJZLGVBQWUsd0RBQUUsYUFBYSxxREFBRSx1QkFBdUIsMk5BQUUsWUFBWTs7MkZBS3BFLGlCQUFpQjtrQkFQN0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLENBQUMsWUFDdEUsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi9idXR0b24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyJztcbmltcG9ydCB7IFRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL3RhZyc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0J1dHRvbkRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudCwgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsIFRhZ0NvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LWRyb3Bkb3duJyxcbiAgc3R5bGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGNoZXZyb24gPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGJ1dHRvblRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZWFkb25seSBwcmVmaXhJY29uID0gaW5wdXQoJycpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QW1vdW50ID0gaW5wdXQoMCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRhZ0NsaWNrZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzT3BlbkNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3BvdmVyVHJpZ2dlciA9IHZpZXdDaGlsZC5yZXF1aXJlZChQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSk7XG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkJ1dHRvbiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignZHJvcGRvd25CdXR0b24nKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uSWNvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLmlzT3BlbigpID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJyxcbiAgKTtcblxuICBwdWJsaWMgb25UYWdDbGlja2VkKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50YWdDbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLnRvZ2dsZVBvcG92ZXIoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiAhdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLnBvcG92ZXJUcmlnZ2VyKCkudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bkJ1dHRvbigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhZ0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInIHx8IHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLnRhZ0NsaWNrZWQuZW1pdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kcm9wZG93bkJ1dHRvbigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wZW5DaGFuZ2VkKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwiYnV0dG9uXCJcbiAgI2Ryb3Bkb3duQnV0dG9uXG4gIG5kd0J1dHRvblxuICBmaWx0ZXJcbiAgW25kd1BvcG92ZXJUcmlnZ2VyXT1cImRyb3Bkb3duQ29udGVudFwiXG4gIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlZCgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuPlxuICBAaWYgKHByZWZpeEljb24oKTsgYXMgcHJlZml4SWNvbk5hbWUpIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJkcm9wZG93bi1wcmVmaXgtaWNvblwiPnt7IHByZWZpeEljb25OYW1lIH19PC9uZHctaWNvbj5cbiAgfVxuXG4gIHt7IGJ1dHRvblRleHQoKSB9fVxuXG4gIEBpZiAoc2VsZWN0QW1vdW50KCkpIHtcbiAgICA8bmR3LXRhZ1xuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSA/IHRydWUgOiBudWxsXCJcbiAgICAgIChrZXlkb3duKT1cIm9uVGFnS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChjbGlja2VkKT1cIm9uVGFnQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RBbW91bnQoKSB9fVxuICAgIDwvbmR3LXRhZz5cbiAgfVxuICBAaWYgKGNoZXZyb24oKSkge1xuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZW5kXCI+XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJidXR0b24taWNvblwiPnt7IGJ1dHRvbkljb24oKSB9fTwvbmR3LWljb24+XG4gICAgPC9kaXY+XG4gIH1cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cbiAgPGRpdiByb2xlPVwiZGlhbG9nXCIgKGtleWRvd24uZXNjYXBlKT1cImNsb3NlRHJvcGRvd24oKVwiPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input, signal, viewChild, } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class EditBarComponent {\n grid = input(false, ...(ngDevMode ? [{ debugName: \"grid\" }] : []));\n position = input('fixed', ...(ngDevMode ? [{ debugName: \"position\" }] : []));\n positionFixedWidth = input('layout', ...(ngDevMode ? [{ debugName: \"positionFixedWidth\" }] : []));\n editBar = viewChild.required('editBar');\n height = signal(null, ...(ngDevMode ? [{ debugName: \"height\" }] : []));\n #changeDetectorRef = inject(ChangeDetectorRef);\n #resizeObserver;\n ngAfterViewInit() {\n if (this.position() === 'fixed') {\n this.#observeEditBarHeightAndUpdateHostHeight();\n }\n }\n ngOnDestroy() {\n if (this.#resizeObserver) {\n this.#resizeObserver.unobserve(this.editBar().nativeElement);\n }\n }\n #observeEditBarHeightAndUpdateHostHeight() {\n this.#resizeObserver = new ResizeObserver((entries) => {\n this.height.set(entries[0].contentRect.height);\n this.#changeDetectorRef.markForCheck();\n });\n this.#resizeObserver.observe(this.editBar().nativeElement);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: EditBarComponent, isStandalone: true, selector: \"ndw-edit-bar\", inputs: { grid: { classPropertyName: \"grid\", publicName: \"grid\", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: \"position\", publicName: \"position\", isSignal: true, isRequired: false, transformFunction: null }, positionFixedWidth: { classPropertyName: \"positionFixedWidth\", publicName: \"positionFixedWidth\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"style.height\": \"height() + \\\"px\\\"\" } }, viewQueries: [{ propertyName: \"editBar\", first: true, predicate: [\"editBar\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div\\n #editBar\\n class=\\\"ndw-edit-bar\\\"\\n [class.ndw-edit-bar--grid]=\\\"grid()\\\"\\n [class.ndw-edit-bar--fixed]=\\\"position() === 'fixed'\\\"\\n [class.ndw-edit-bar--absolute]=\\\"position() === 'absolute'\\\"\\n [class.ndw-edit-bar--static]=\\\"position() === 'static'\\\"\\n [class.ndw-edit-bar--sticky]=\\\"position() === 'sticky'\\\"\\n [class.ndw-edit-bar--full-width]=\\\"positionFixedWidth() === 'full'\\\"\\n [class.ndw-edit-bar--layout-width]=\\\"positionFixedWidth() === 'layout'\\\"\\n>\\n @if (grid()) {\\n <div class=\\\"ndw-grid\\\">\\n <div class=\\\"column-12\\\">\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n </div>\\n </div>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n }\\n</div>\\n\\n<ng-template #content>\\n <div class=\\\"ndw-edit-bar__inner\\\">\\n <ng-content select=\\\"ndw-edit-bar-message\\\" />\\n <ng-content select=\\\"ndw-edit-bar-actions\\\" />\\n </div>\\n</ng-template>\\n\", styles: [\":host:has(.ndw-edit-bar--fixed){display:block;padding-block:var(--ndw-spacing-md)}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-edit-bar', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[style.height]': 'height() + \"px\"',\n }, template: \"<div\\n #editBar\\n class=\\\"ndw-edit-bar\\\"\\n [class.ndw-edit-bar--grid]=\\\"grid()\\\"\\n [class.ndw-edit-bar--fixed]=\\\"position() === 'fixed'\\\"\\n [class.ndw-edit-bar--absolute]=\\\"position() === 'absolute'\\\"\\n [class.ndw-edit-bar--static]=\\\"position() === 'static'\\\"\\n [class.ndw-edit-bar--sticky]=\\\"position() === 'sticky'\\\"\\n [class.ndw-edit-bar--full-width]=\\\"positionFixedWidth() === 'full'\\\"\\n [class.ndw-edit-bar--layout-width]=\\\"positionFixedWidth() === 'layout'\\\"\\n>\\n @if (grid()) {\\n <div class=\\\"ndw-grid\\\">\\n <div class=\\\"column-12\\\">\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n </div>\\n </div>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n }\\n</div>\\n\\n<ng-template #content>\\n <div class=\\\"ndw-edit-bar__inner\\\">\\n <ng-content select=\\\"ndw-edit-bar-message\\\" />\\n <ng-content select=\\\"ndw-edit-bar-actions\\\" />\\n </div>\\n</ng-template>\\n\", styles: [\":host:has(.ndw-edit-bar--fixed){display:block;padding-block:var(--ndw-spacing-md)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2VkaXQtYmFyL2VkaXQtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWJhci9lZGl0LWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVluRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLElBQUksR0FBRyxLQUFLLENBQVUsS0FBSyxnREFBQyxDQUFDO0lBQzdCLFFBQVEsR0FBRyxLQUFLLENBQWtCLE9BQU8sb0RBQUMsQ0FBQztJQUMzQyxrQkFBa0IsR0FBRyxLQUFLLENBQWUsUUFBUSw4REFBQyxDQUFDO0lBRW5ELE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUE2QixTQUFTLENBQUMsQ0FBQztJQUVwRSxNQUFNLEdBQUcsTUFBTSxDQUFnQixJQUFJLGtEQUFDLENBQUM7SUFFckMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFeEQsZUFBZSxDQUE2QjtJQUU1QyxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdDQUF3QyxFQUFFLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUE4QixFQUFRLEVBQUU7WUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQzt1R0FoQ1UsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsNHBCQ3pCN0IsODZCQTRCQSw4SURYWSxnQkFBZ0I7OzJGQVFmLGdCQUFnQjtrQkFWNUIsU0FBUzsrQkFDRSxjQUFjLFdBQ2YsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLGdCQUFnQixFQUFFLGlCQUFpQjtxQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0QmFyUG9zaXRpb24sIEVkaXRCYXJXaWR0aCB9IGZyb20gJy4vZWRpdC1iYXIubW9kZWwnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1lZGl0LWJhcicsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2VkaXQtYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLmhlaWdodF0nOiAnaGVpZ2h0KCkgKyBcInB4XCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgZ3JpZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxFZGl0QmFyUG9zaXRpb24+KCdmaXhlZCcpO1xuICByZWFkb25seSBwb3NpdGlvbkZpeGVkV2lkdGggPSBpbnB1dDxFZGl0QmFyV2lkdGg+KCdsYXlvdXQnKTtcblxuICByZWFkb25seSBlZGl0QmFyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignZWRpdEJhcicpO1xuXG4gIHJlYWRvbmx5IGhlaWdodCA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICNyZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvc2l0aW9uKCkgPT09ICdmaXhlZCcpIHtcbiAgICAgIHRoaXMuI29ic2VydmVFZGl0QmFySGVpZ2h0QW5kVXBkYXRlSG9zdEhlaWdodCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNyZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZWRpdEJhcigpLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gICNvYnNlcnZlRWRpdEJhckhlaWdodEFuZFVwZGF0ZUhvc3RIZWlnaHQoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5oZWlnaHQuc2V0KGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0KTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVkaXRCYXIoKS5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIiwiPGRpdlxuICAjZWRpdEJhclxuICBjbGFzcz1cIm5kdy1lZGl0LWJhclwiXG4gIFtjbGFzcy5uZHctZWRpdC1iYXItLWdyaWRdPVwiZ3JpZCgpXCJcbiAgW2NsYXNzLm5kdy1lZGl0LWJhci0tZml4ZWRdPVwicG9zaXRpb24oKSA9PT0gJ2ZpeGVkJ1wiXG4gIFtjbGFzcy5uZHctZWRpdC1iYXItLWFic29sdXRlXT1cInBvc2l0aW9uKCkgPT09ICdhYnNvbHV0ZSdcIlxuICBbY2xhc3MubmR3LWVkaXQtYmFyLS1zdGF0aWNdPVwicG9zaXRpb24oKSA9PT0gJ3N0YXRpYydcIlxuICBbY2xhc3MubmR3LWVkaXQtYmFyLS1zdGlja3ldPVwicG9zaXRpb24oKSA9PT0gJ3N0aWNreSdcIlxuICBbY2xhc3MubmR3LWVkaXQtYmFyLS1mdWxsLXdpZHRoXT1cInBvc2l0aW9uRml4ZWRXaWR0aCgpID09PSAnZnVsbCdcIlxuICBbY2xhc3MubmR3LWVkaXQtYmFyLS1sYXlvdXQtd2lkdGhdPVwicG9zaXRpb25GaXhlZFdpZHRoKCkgPT09ICdsYXlvdXQnXCJcbj5cbiAgQGlmIChncmlkKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwibmR3LWdyaWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tMTJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8ZGl2IGNsYXNzPVwibmR3LWVkaXQtYmFyX19pbm5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5kdy1lZGl0LWJhci1tZXNzYWdlXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZHctZWRpdC1iYXItYWN0aW9uc1wiIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class EditBarActionsComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: EditBarActionsComponent, isStandalone: true, selector: \"ndw-edit-bar-actions\", host: { classAttribute: \"ndw-edit-bar-actions\" }, ngImport: i0, template: \"<ng-content />\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarActionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-edit-bar-actions', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-edit-bar-actions',\n }, template: \"<ng-content />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1iYXItYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1iYXIvZWRpdC1iYXItYWN0aW9ucy9lZGl0LWJhci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWJhci9lZGl0LWJhci1hY3Rpb25zL2VkaXQtYmFyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXbkUsTUFBTSxPQUFPLHVCQUF1Qjt1R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUIsa0lDWHBDLGtCQUNBOzsyRkRVYSx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0Usc0JBQXNCLFdBQ3ZCLEVBQUUsbUJBRU0sdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWVkaXQtYmFyLWFjdGlvbnMnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtYmFyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmR3LWVkaXQtYmFyLWFjdGlvbnMnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QmFyQWN0aW9uc0NvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class EditBarMessageComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: EditBarMessageComponent, isStandalone: true, selector: \"ndw-edit-bar-message\", host: { classAttribute: \"ndw-edit-bar-message\" }, ngImport: i0, template: \"<ng-content />\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: EditBarMessageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-edit-bar-message', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-edit-bar-message',\n }, template: \"<ng-content />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1iYXItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1iYXIvZWRpdC1iYXItbWVzc2FnZS9lZGl0LWJhci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWJhci9lZGl0LWJhci1tZXNzYWdlL2VkaXQtYmFyLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXbkUsTUFBTSxPQUFPLHVCQUF1Qjt1R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUIsa0lDWHBDLGtCQUNBOzsyRkRVYSx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0Usc0JBQXNCLFdBQ3ZCLEVBQUUsbUJBRU0sdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWVkaXQtYmFyLW1lc3NhZ2UnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtYmFyLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmR3LWVkaXQtYmFyLW1lc3NhZ2UnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QmFyTWVzc2FnZUNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { ChangeDetectionStrategy, Component, model } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { CoreFavoriteComponent } from '@ndwnu/core';\nimport * as i0 from \"@angular/core\";\nexport class FavoriteComponent {\n checked = model(false, ...(ngDevMode ? [{ debugName: \"checked\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FavoriteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: FavoriteComponent, isStandalone: true, selector: \"ndw-favorite\", inputs: { checked: { classPropertyName: \"checked\", publicName: \"checked\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: \"checkedChange\" }, ngImport: i0, template: \"<core-favorite [(checked)]=\\\"checked\\\">\\n <ndw-icon [filled]=\\\"checked()\\\">favorite</ndw-icon>\\n</core-favorite>\\n\", styles: [\".input-container:has([ndwInput][error]){background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}.input-container:has(select[ndwInput]){padding-inline-end:var(--ndw-spacing-xs)}.input-container[error]:has([ndwInput]:is(:active,:focus,:focus-visible)){background-color:var(--ndw-color-white)}.input-container[error]:has([ndwInput]:is(:active,:focus,:focus-visible)) select[ndwInput]{background-color:var(--ndw-color-white)}.input-container:has([ndwInput]){display:flex;align-items:center;background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);border-radius:var(--ndw-border-radius-sm);box-sizing:border-box;outline:var(--ndw-border-size-sm) solid transparent;outline-offset:calc(var(--ndw-border-size-sm) * -1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,outline-color .15s ease-in-out;gap:var(--ndw-spacing-xs)}.input-container:has([ndwInput]):has([ndwInput]:hover){border-color:var(--ndw-color-grey-400)}.input-container:has([ndwInput]):has([ndwInput]:active),.input-container:has([ndwInput]):has([ndwInput]:focus),.input-container:has([ndwInput]):has([ndwInput]:focus-visible){border-color:transparent;box-shadow:var(--ndw-elevation-info);outline-color:var(--ndw-color-info-500)}.input-container:has([ndwInput])[success]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}.input-container:has([ndwInput])[success]:hover{border-color:var(--ndw-color-grey-300)}.input-container:has([ndwInput])[success]:active,.input-container:has([ndwInput])[success]:focus,.input-container:has([ndwInput])[success]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}.input-container:has([ndwInput])[error]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}.input-container:has([ndwInput])[error] [ndwInput]{background-color:var(--ndw-color-critical-100)}.input-container:has([ndwInput])[error]:hover{border-color:var(--ndw-color-grey-300)}.input-container:has([ndwInput])[error]:active,.input-container:has([ndwInput])[error]:focus,.input-container:has([ndwInput])[error]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}.input-container:has([ndwInput])[disabled],.input-container:has([ndwInput])[readonly],.input-container:has([ndwInput]):has([ndwInput]:disabled),.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])){background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-500);pointer-events:none}.input-container:has([ndwInput])[disabled] [ndwInput],.input-container:has([ndwInput])[readonly] [ndwInput],.input-container:has([ndwInput]):has([ndwInput]:disabled) [ndwInput],.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])) [ndwInput]{background-color:var(--ndw-color-grey-100)}.input-container:has([ndwInput])[disabled] ndw-icon,.input-container:has([ndwInput])[readonly] ndw-icon,.input-container:has([ndwInput]):has([ndwInput]:disabled) ndw-icon,.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])) ndw-icon{color:var(--ndw-color-grey-500)}.input-container:has([ndwInput]):has(>ndw-input-icon){padding-inline:var(--ndw-spacing-xs)}.input-container:has([ndwInput]):has(>ndw-picker-button){padding-inline-end:var(--ndw-spacing-xs)}.input-container:has([ndwInput])>*:has(~[ndwInput]){color:var(--ndw-color-grey-400)}.input-container:has([ndwInput]) *+[ndwInput]{padding-inline-start:0}.input-container:has([ndwInput]) [ndwInput]:has(+*){padding-inline-end:0}.input-container:has([ndwInput]) [ndwInput]:is(textarea){padding-inline-end:var(--ndw-spacing-sm)}.input-container:has([ndwInput]) select[ndwInput]:has(+*){padding-inline-end:0}.input-container:has([ndwInput]) [ndwInput]{border:none;outline:none}.input-container:has([ndwInput]) [ndwInput]:hover,.input-container:has([ndwInput]) [ndwInput]:active,.input-container:has([ndwInput]) [ndwInput]:focus,.input-container:has([ndwInput]) [ndwInput]:focus-visible{border:none;outline:none}.input-container:has([ndwInput]):has(textarea){padding-inline:0}[ndwInput]{display:flex;align-items:center;background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;outline:var(--ndw-border-size-sm) solid transparent;outline-offset:calc(var(--ndw-border-size-sm) * -1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,outline-color .15s ease-in-out;width:100%;padding-inline:var(--ndw-spacing-sm);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm);height:var(--ndw-spacing-2xl);line-height:var(--ndw-line-height-md);border-radius:var(--ndw-border-radius-sm);text-overflow:ellipsis;white-space:nowrap}[ndwInput]:has([ndwInput]:hover){border-color:var(--ndw-color-grey-400)}[ndwInput]:has([ndwInput]:active),[ndwInput]:has([ndwInput]:focus),[ndwInput]:has([ndwInput]:focus-visible){border-color:transparent;box-shadow:var(--ndw-elevation-info);outline-color:var(--ndw-color-info-500)}[ndwInput][success]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}[ndwInput][success]:hover{border-color:var(--ndw-color-grey-300)}[ndwInput][success]:active,[ndwInput][success]:focus,[ndwInput][success]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}[ndwInput][error]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}[ndwInput][error] [ndwInput]{background-color:var(--ndw-color-critical-100)}[ndwInput][error]:hover{border-color:var(--ndw-color-grey-300)}[ndwInput][error]:active,[ndwInput][error]:focus,[ndwInput][error]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}[ndwInput][disabled],[ndwInput][readonly],[ndwInput]:has([ndwInput]:disabled),[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])){background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-500);pointer-events:none}[ndwInput][disabled] [ndwInput],[ndwInput][readonly] [ndwInput],[ndwInput]:has([ndwInput]:disabled) [ndwInput],[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])) [ndwInput]{background-color:var(--ndw-color-grey-100)}[ndwInput][disabled] ndw-icon,[ndwInput][readonly] ndw-icon,[ndwInput]:has([ndwInput]:disabled) ndw-icon,[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])) ndw-icon{color:var(--ndw-color-grey-500)}[ndwInput]::placeholder{color:var(--ndw-color-grey-400)}[ndwInput][type=search]::-webkit-search-decoration,[ndwInput][type=search]::-webkit-search-cancel-button,[ndwInput][type=search]::-webkit-search-results-button,[ndwInput][type=search]::-webkit-search-results-decoration{display:none}[ndwInput][type=date]::-webkit-calendar-picker-indicator,[ndwInput][type=datetime-local]::-webkit-calendar-picker-indicator,[ndwInput][type=month]::-webkit-calendar-picker-indicator,[ndwInput][type=time]::-webkit-calendar-picker-indicator,[ndwInput][type=week]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0}select[ndwInput]{appearance:none;cursor:pointer}select[ndwInput][ndw-placeholder],select[ndwInput] option[disabled]{color:var(--ndw-color-grey-400)}select[ndwInput] option:not([disabled]){color:var(--ndw-color-grey-700)}textarea[ndwInput]{min-height:4rem;padding-block:calc(var(--ndw-spacing-xs) + var(--ndw-border-size-sm));padding-inline:var(--ndw-spacing-sm);line-height:normal;white-space:pre-wrap;resize:vertical}:host{color:var(--ndw-color-grey-500);height:fit-content}:host input:focus-visible+label{outline-color:Highlight;outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:1px}:host:hover,:host:has(core-favorite.checked){color:var(--ndw-color-critical-500);transition:color .15s ease-in-out}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: CoreFavoriteComponent, selector: \"core-favorite\", inputs: [\"uuid\", \"checked\"], outputs: [\"checkedChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: FavoriteComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, CoreFavoriteComponent], selector: 'ndw-favorite', template: \"<core-favorite [(checked)]=\\\"checked\\\">\\n <ndw-icon [filled]=\\\"checked()\\\">favorite</ndw-icon>\\n</core-favorite>\\n\", styles: [\".input-container:has([ndwInput][error]){background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}.input-container:has(select[ndwInput]){padding-inline-end:var(--ndw-spacing-xs)}.input-container[error]:has([ndwInput]:is(:active,:focus,:focus-visible)){background-color:var(--ndw-color-white)}.input-container[error]:has([ndwInput]:is(:active,:focus,:focus-visible)) select[ndwInput]{background-color:var(--ndw-color-white)}.input-container:has([ndwInput]){display:flex;align-items:center;background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);border-radius:var(--ndw-border-radius-sm);box-sizing:border-box;outline:var(--ndw-border-size-sm) solid transparent;outline-offset:calc(var(--ndw-border-size-sm) * -1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,outline-color .15s ease-in-out;gap:var(--ndw-spacing-xs)}.input-container:has([ndwInput]):has([ndwInput]:hover){border-color:var(--ndw-color-grey-400)}.input-container:has([ndwInput]):has([ndwInput]:active),.input-container:has([ndwInput]):has([ndwInput]:focus),.input-container:has([ndwInput]):has([ndwInput]:focus-visible){border-color:transparent;box-shadow:var(--ndw-elevation-info);outline-color:var(--ndw-color-info-500)}.input-container:has([ndwInput])[success]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}.input-container:has([ndwInput])[success]:hover{border-color:var(--ndw-color-grey-300)}.input-container:has([ndwInput])[success]:active,.input-container:has([ndwInput])[success]:focus,.input-container:has([ndwInput])[success]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}.input-container:has([ndwInput])[error]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}.input-container:has([ndwInput])[error] [ndwInput]{background-color:var(--ndw-color-critical-100)}.input-container:has([ndwInput])[error]:hover{border-color:var(--ndw-color-grey-300)}.input-container:has([ndwInput])[error]:active,.input-container:has([ndwInput])[error]:focus,.input-container:has([ndwInput])[error]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}.input-container:has([ndwInput])[disabled],.input-container:has([ndwInput])[readonly],.input-container:has([ndwInput]):has([ndwInput]:disabled),.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])){background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-500);pointer-events:none}.input-container:has([ndwInput])[disabled] [ndwInput],.input-container:has([ndwInput])[readonly] [ndwInput],.input-container:has([ndwInput]):has([ndwInput]:disabled) [ndwInput],.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])) [ndwInput]{background-color:var(--ndw-color-grey-100)}.input-container:has([ndwInput])[disabled] ndw-icon,.input-container:has([ndwInput])[readonly] ndw-icon,.input-container:has([ndwInput]):has([ndwInput]:disabled) ndw-icon,.input-container:has([ndwInput]):has([ndwInput]:read-only):not(:has(select[ndwInput])) ndw-icon{color:var(--ndw-color-grey-500)}.input-container:has([ndwInput]):has(>ndw-input-icon){padding-inline:var(--ndw-spacing-xs)}.input-container:has([ndwInput]):has(>ndw-picker-button){padding-inline-end:var(--ndw-spacing-xs)}.input-container:has([ndwInput])>*:has(~[ndwInput]){color:var(--ndw-color-grey-400)}.input-container:has([ndwInput]) *+[ndwInput]{padding-inline-start:0}.input-container:has([ndwInput]) [ndwInput]:has(+*){padding-inline-end:0}.input-container:has([ndwInput]) [ndwInput]:is(textarea){padding-inline-end:var(--ndw-spacing-sm)}.input-container:has([ndwInput]) select[ndwInput]:has(+*){padding-inline-end:0}.input-container:has([ndwInput]) [ndwInput]{border:none;outline:none}.input-container:has([ndwInput]) [ndwInput]:hover,.input-container:has([ndwInput]) [ndwInput]:active,.input-container:has([ndwInput]) [ndwInput]:focus,.input-container:has([ndwInput]) [ndwInput]:focus-visible{border:none;outline:none}.input-container:has([ndwInput]):has(textarea){padding-inline:0}[ndwInput]{display:flex;align-items:center;background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);box-sizing:border-box;outline:var(--ndw-border-size-sm) solid transparent;outline-offset:calc(var(--ndw-border-size-sm) * -1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,outline-color .15s ease-in-out;width:100%;padding-inline:var(--ndw-spacing-sm);color:var(--ndw-color-grey-700);font-family:var(--ndw-font-family-body);font-size:var(--ndw-font-size-sm);height:var(--ndw-spacing-2xl);line-height:var(--ndw-line-height-md);border-radius:var(--ndw-border-radius-sm);text-overflow:ellipsis;white-space:nowrap}[ndwInput]:has([ndwInput]:hover){border-color:var(--ndw-color-grey-400)}[ndwInput]:has([ndwInput]:active),[ndwInput]:has([ndwInput]:focus),[ndwInput]:has([ndwInput]:focus-visible){border-color:transparent;box-shadow:var(--ndw-elevation-info);outline-color:var(--ndw-color-info-500)}[ndwInput][success]{background-color:var(--ndw-color-positive-100);border-color:var(--ndw-color-positive-500)}[ndwInput][success]:hover{border-color:var(--ndw-color-grey-300)}[ndwInput][success]:active,[ndwInput][success]:focus,[ndwInput][success]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}[ndwInput][error]{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}[ndwInput][error] [ndwInput]{background-color:var(--ndw-color-critical-100)}[ndwInput][error]:hover{border-color:var(--ndw-color-grey-300)}[ndwInput][error]:active,[ndwInput][error]:focus,[ndwInput][error]:focus-visible{background-color:var(--ndw-color-white);border-color:transparent;outline-color:var(--ndw-color-secondary-500)}[ndwInput][disabled],[ndwInput][readonly],[ndwInput]:has([ndwInput]:disabled),[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])){background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-300);color:var(--ndw-color-grey-500);pointer-events:none}[ndwInput][disabled] [ndwInput],[ndwInput][readonly] [ndwInput],[ndwInput]:has([ndwInput]:disabled) [ndwInput],[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])) [ndwInput]{background-color:var(--ndw-color-grey-100)}[ndwInput][disabled] ndw-icon,[ndwInput][readonly] ndw-icon,[ndwInput]:has([ndwInput]:disabled) ndw-icon,[ndwInput]:has([ndwInput]:read-only):not(:has(select[ndwInput])) ndw-icon{color:var(--ndw-color-grey-500)}[ndwInput]::placeholder{color:var(--ndw-color-grey-400)}[ndwInput][type=search]::-webkit-search-decoration,[ndwInput][type=search]::-webkit-search-cancel-button,[ndwInput][type=search]::-webkit-search-results-button,[ndwInput][type=search]::-webkit-search-results-decoration{display:none}[ndwInput][type=date]::-webkit-calendar-picker-indicator,[ndwInput][type=datetime-local]::-webkit-calendar-picker-indicator,[ndwInput][type=month]::-webkit-calendar-picker-indicator,[ndwInput][type=time]::-webkit-calendar-picker-indicator,[ndwInput][type=week]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0}select[ndwInput]{appearance:none;cursor:pointer}select[ndwInput][ndw-placeholder],select[ndwInput] option[disabled]{color:var(--ndw-color-grey-400)}select[ndwInput] option:not([disabled]){color:var(--ndw-color-grey-700)}textarea[ndwInput]{min-height:4rem;padding-block:calc(var(--ndw-spacing-xs) + var(--ndw-border-size-sm));padding-inline:var(--ndw-spacing-sm);line-height:normal;white-space:pre-wrap;resize:vertical}:host{color:var(--ndw-color-grey-500);height:fit-content}:host input:focus-visible+label{outline-color:Highlight;outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:1px}:host:hover,:host:has(core-favorite.checked){color:var(--ndw-color-critical-500);transition:color .15s ease-in-out}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2Zhdm9yaXRlL2Zhdm9yaXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9mYXZvcml0ZS9mYXZvcml0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssbURBQUMsQ0FBQzt1R0FEWixpQkFBaUI7MkZBQWpCLGlCQUFpQix5UENYOUIscUhBR0EsKytQREdZLGFBQWEscURBQUUscUJBQXFCOzsyRkFLbkMsaUJBQWlCO2tCQVA3QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUMsWUFDckMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBDb3JlRmF2b3JpdGVDb21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnQsIENvcmVGYXZvcml0ZUNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnbmR3LWZhdm9yaXRlJyxcbiAgc3R5bGVVcmw6ICcuL2Zhdm9yaXRlLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zhdm9yaXRlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRmF2b3JpdGVDb21wb25lbnQge1xuICBjaGVja2VkID0gbW9kZWwoZmFsc2UpO1xufVxuIiwiPGNvcmUtZmF2b3JpdGUgWyhjaGVja2VkKV09XCJjaGVja2VkXCI+XG4gIDxuZHctaWNvbiBbZmlsbGVkXT1cImNoZWNrZWQoKVwiPmZhdm9yaXRlPC9uZHctaWNvbj5cbjwvY29yZS1mYXZvcml0ZT5cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class HoverableListItemComponent {\n actions = input(...(ngDevMode ? [undefined, { debugName: \"actions\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n path = input(...(ngDevMode ? [undefined, { debugName: \"path\" }] : []));\n prefixIcon = input(...(ngDevMode ? [undefined, { debugName: \"prefixIcon\" }] : []));\n queryParams = input(...(ngDevMode ? [undefined, { debugName: \"queryParams\" }] : []));\n subtitle = input(...(ngDevMode ? [undefined, { debugName: \"subtitle\" }] : []));\n title = input(...(ngDevMode ? [undefined, { debugName: \"title\" }] : []));\n actionSelected = output();\n selected = output();\n onActionButtonClick(event, action) {\n event.stopPropagation();\n if (action.callback) {\n action.callback();\n }\n if (!action.path) {\n this.actionSelected.emit(action);\n }\n }\n onButtonClick(event) {\n event.stopPropagation();\n this.selected.emit();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: HoverableListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: HoverableListItemComponent, isStandalone: true, selector: \"ndw-hoverable-list-item\", inputs: { actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: \"path\", publicName: \"path\", isSignal: true, isRequired: false, transformFunction: null }, prefixIcon: { classPropertyName: \"prefixIcon\", publicName: \"prefixIcon\", isSignal: true, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: \"queryParams\", publicName: \"queryParams\", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: \"subtitle\", publicName: \"subtitle\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionSelected: \"actionSelected\", selected: \"selected\" }, host: { attributes: { \"role\": \"listitem\" } }, ngImport: i0, template: \"@if (path(); as path) {\\n <a\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.aria-disabled]=\\\"disabled() || undefined\\\"\\n [attr.tabindex]=\\\"disabled() ? -1 : 0\\\"\\n [queryParams]=\\\"queryParams()\\\"\\n [routerLink]=\\\"path\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </a>\\n} @else {\\n <button\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onButtonClick($event)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </button>\\n}\\n\\n<ng-template #listItem>\\n @if (prefixIcon(); as prefix) {\\n <ndw-icon class=\\\"affix\\\">{{ prefix }}</ndw-icon>\\n }\\n <ng-content />\\n <div class=\\\"content\\\">\\n @if (title(); as title) {\\n <span class=\\\"title\\\">{{ title }}</span>\\n }\\n @if (subtitle(); as subtitle) {\\n {{ subtitle }}\\n }\\n </div>\\n <div class=\\\"actions\\\">\\n @for (action of actions(); track $index) {\\n @if (action.path) {\\n <a\\n ndwButton\\n tertiary\\n extra-small\\n [attr.aria-label]=\\\"action.label\\\"\\n [queryParams]=\\\"action.queryParams\\\"\\n [routerLink]=\\\"action.path\\\"\\n (click)=\\\"onActionButtonClick($event, action)\\\"\\n >\\n <ndw-icon>{{ action.icon }}</ndw-icon>\\n </a>\\n } @else {\\n <button\\n ndwButton\\n tertiary\\n extra-small\\n [attr.aria-label]=\\\"action.label\\\"\\n (click)=\\\"onActionButtonClick($event, action)\\\"\\n >\\n <ndw-icon>{{ action.icon }}</ndw-icon>\\n </button>\\n }\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"[ndw-list-item]{align-items:center;background-color:var(--list-item-background-color);border:none;border-radius:var(--list-item-border-radius);color:var(--list-item-color);display:flex;font-size:var(--list-item-font-size);gap:var(--list-item-gap);min-height:var(--list-item-min-height);padding:var(--list-item-padding);text-decoration:none;transition:background-color var(--list-item-animation-speed) ease-in-out}[ndw-list-item]:hover,[ndw-list-item][active]{background-color:var(--list-item-hover-background-color)}[ndw-list-item][disabled],[ndw-list-item][aria-disabled]{color:var(--list-item-disabled-color);pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item]{--list-item-animation-speed: var(--ndw-animation-speed-fast);--list-item-background-color: var(--ndw-color-white);--list-item-border-radius: var(--ndw-border-radius-sm);--list-item-color: var(--ndw-color-grey-700);--list-item-disabled-background-color: var(--ndw-color-grey-100);--list-item-disabled-color: var(--ndw-color-grey-400);--list-item-font-size: initial;--list-item-gap: var(--ndw-spacing-sm);--list-item-hover-background-color: var(--ndw-color-grey-100);--list-item-min-height: var(--ndw-spacing-2xl);--list-item-padding: var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%}[ndw-list-item] .affix{color:var(--ndw-color-primary);transition:transform var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .content{display:grid;justify-content:stretch;text-align:left;width:100%}[ndw-list-item] .content .title{font-weight:var(--ndw-font-weight-bold)}[ndw-list-item] .actions{display:flex;gap:var(--ndw-spacing-sm);opacity:0;pointer-events:none;transition:opacity var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .actions [ndwButton]{border-radius:50%;padding-inline:var(--ndw-spacing-3xs)}[ndw-list-item] .actions [ndwButton] ndw-icon{font-size:var(--ndw-spacing-md)}[ndw-list-item] .actions [ndwButton][disabled]{background-color:transparent;border-color:transparent}[ndw-list-item]:is(:hover,:active,:focus,:focus-within) .actions{opacity:1;pointer-events:auto}[ndw-list-item][disabled] ndw-icon,[ndw-list-item][aria-disabled] ndw-icon{color:var(--list-item-disabled-color)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: HoverableListItemComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'listitem',\n }, imports: [IconComponent, NgTemplateOutlet, RouterLink], selector: 'ndw-hoverable-list-item', template: \"@if (path(); as path) {\\n <a\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.aria-disabled]=\\\"disabled() || undefined\\\"\\n [attr.tabindex]=\\\"disabled() ? -1 : 0\\\"\\n [queryParams]=\\\"queryParams()\\\"\\n [routerLink]=\\\"path\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </a>\\n} @else {\\n <button\\n ndw-list-item\\n class=\\\"actionable\\\"\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\n (click)=\\\"onButtonClick($event)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"listItem\\\" />\\n </button>\\n}\\n\\n<ng-template #listItem>\\n @if (prefixIcon(); as prefix) {\\n <ndw-icon class=\\\"affix\\\">{{ prefix }}</ndw-icon>\\n }\\n <ng-content />\\n <div class=\\\"content\\\">\\n @if (title(); as title) {\\n <span class=\\\"title\\\">{{ title }}</span>\\n }\\n @if (subtitle(); as subtitle) {\\n {{ subtitle }}\\n }\\n </div>\\n <div class=\\\"actions\\\">\\n @for (action of actions(); track $index) {\\n @if (action.path) {\\n <a\\n ndwButton\\n tertiary\\n extra-small\\n [attr.aria-label]=\\\"action.label\\\"\\n [queryParams]=\\\"action.queryParams\\\"\\n [routerLink]=\\\"action.path\\\"\\n (click)=\\\"onActionButtonClick($event, action)\\\"\\n >\\n <ndw-icon>{{ action.icon }}</ndw-icon>\\n </a>\\n } @else {\\n <button\\n ndwButton\\n tertiary\\n extra-small\\n [attr.aria-label]=\\\"action.label\\\"\\n (click)=\\\"onActionButtonClick($event, action)\\\"\\n >\\n <ndw-icon>{{ action.icon }}</ndw-icon>\\n </button>\\n }\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"[ndw-list-item]{align-items:center;background-color:var(--list-item-background-color);border:none;border-radius:var(--list-item-border-radius);color:var(--list-item-color);display:flex;font-size:var(--list-item-font-size);gap:var(--list-item-gap);min-height:var(--list-item-min-height);padding:var(--list-item-padding);text-decoration:none;transition:background-color var(--list-item-animation-speed) ease-in-out}[ndw-list-item]:hover,[ndw-list-item][active]{background-color:var(--list-item-hover-background-color)}[ndw-list-item][disabled],[ndw-list-item][aria-disabled]{color:var(--list-item-disabled-color);pointer-events:none;-webkit-user-select:none;user-select:none}[ndw-list-item]{--list-item-animation-speed: var(--ndw-animation-speed-fast);--list-item-background-color: var(--ndw-color-white);--list-item-border-radius: var(--ndw-border-radius-sm);--list-item-color: var(--ndw-color-grey-700);--list-item-disabled-background-color: var(--ndw-color-grey-100);--list-item-disabled-color: var(--ndw-color-grey-400);--list-item-font-size: initial;--list-item-gap: var(--ndw-spacing-sm);--list-item-hover-background-color: var(--ndw-color-grey-100);--list-item-min-height: var(--ndw-spacing-2xl);--list-item-padding: var(--ndw-spacing-xs) var(--ndw-spacing-sm);width:100%}[ndw-list-item] .affix{color:var(--ndw-color-primary);transition:transform var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .content{display:grid;justify-content:stretch;text-align:left;width:100%}[ndw-list-item] .content .title{font-weight:var(--ndw-font-weight-bold)}[ndw-list-item] .actions{display:flex;gap:var(--ndw-spacing-sm);opacity:0;pointer-events:none;transition:opacity var(--list-item-animation-speed) ease-in-out}[ndw-list-item] .actions [ndwButton]{border-radius:50%;padding-inline:var(--ndw-spacing-3xs)}[ndw-list-item] .actions [ndwButton] ndw-icon{font-size:var(--ndw-spacing-md)}[ndw-list-item] .actions [ndwButton][disabled]{background-color:transparent;border-color:transparent}[ndw-list-item]:is(:hover,:active,:focus,:focus-within) .actions{opacity:1;pointer-events:auto}[ndw-list-item][disabled] ndw-icon,[ndw-list-item][aria-disabled] ndw-icon{color:var(--list-item-disabled-color)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXJhYmxlLWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvaG92ZXJhYmxlLWxpc3QtaXRlbS9ob3ZlcmFibGUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9ob3ZlcmFibGUtbGlzdC1pdGVtL2hvdmVyYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQWF4QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLDZEQUE2QixDQUFDO0lBQzdDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLElBQUksR0FBRyxLQUFLLDBEQUFZLENBQUM7SUFDekIsVUFBVSxHQUFHLEtBQUssZ0VBQVUsQ0FBQztJQUM3QixXQUFXLEdBQUcsS0FBSyxpRUFBVSxDQUFDO0lBQzlCLFFBQVEsR0FBRyxLQUFLLDhEQUFVLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssMkRBQVUsQ0FBQztJQUV4QixjQUFjLEdBQUcsTUFBTSxFQUEyQixDQUFDO0lBQ25ELFFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUUxQixtQkFBbUIsQ0FBQyxLQUFZLEVBQUUsTUFBK0I7UUFDL0QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7dUdBMUJVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGdsQ0NqQnZDLG9tREErREEsZ3RFRG5EWSxhQUFhLHFEQUFFLGdCQUFnQixvSkFBRSxVQUFVOzsyRkFLMUMsMEJBQTBCO2tCQVZ0QyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7cUJBQ2pCLFdBQ1EsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFlBQzVDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1zLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgSG92ZXJhYmxlTGlzdEl0ZW1BY3Rpb24gfSBmcm9tICcuL2hvdmVyYWJsZS1saXN0LWl0ZW0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnbGlzdGl0ZW0nLFxuICB9LFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldCwgUm91dGVyTGlua10sXG4gIHNlbGVjdG9yOiAnbmR3LWhvdmVyYWJsZS1saXN0LWl0ZW0nLFxuICBzdHlsZVVybDogJy4vaG92ZXJhYmxlLWxpc3QtaXRlbS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ob3ZlcmFibGUtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSG92ZXJhYmxlTGlzdEl0ZW1Db21wb25lbnQge1xuICBhY3Rpb25zID0gaW5wdXQ8SG92ZXJhYmxlTGlzdEl0ZW1BY3Rpb25bXT4oKTtcbiAgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHBhdGggPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgcHJlZml4SWNvbiA9IGlucHV0PHN0cmluZz4oKTtcbiAgcXVlcnlQYXJhbXMgPSBpbnB1dDxQYXJhbXM+KCk7XG4gIHN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBhY3Rpb25TZWxlY3RlZCA9IG91dHB1dDxIb3ZlcmFibGVMaXN0SXRlbUFjdGlvbj4oKTtcbiAgc2VsZWN0ZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBvbkFjdGlvbkJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCwgYWN0aW9uOiBIb3ZlcmFibGVMaXN0SXRlbUFjdGlvbikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChhY3Rpb24uY2FsbGJhY2spIHtcbiAgICAgIGFjdGlvbi5jYWxsYmFjaygpO1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uLnBhdGgpIHtcbiAgICAgIHRoaXMuYWN0aW9uU2VsZWN0ZWQuZW1pdChhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIG9uQnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIkBpZiAocGF0aCgpOyBhcyBwYXRoKSB7XG4gIDxhXG4gICAgbmR3LWxpc3QtaXRlbVxuICAgIGNsYXNzPVwiYWN0aW9uYWJsZVwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogMFwiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zKClcIlxuICAgIFtyb3V0ZXJMaW5rXT1cInBhdGhcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtXCIgLz5cbiAgPC9hPlxufSBAZWxzZSB7XG4gIDxidXR0b25cbiAgICBuZHctbGlzdC1pdGVtXG4gICAgY2xhc3M9XCJhY3Rpb25hYmxlXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEl0ZW1cIiAvPlxuICA8L2J1dHRvbj5cbn1cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbT5cbiAgQGlmIChwcmVmaXhJY29uKCk7IGFzIHByZWZpeCkge1xuICAgIDxuZHctaWNvbiBjbGFzcz1cImFmZml4XCI+e3sgcHJlZml4IH19PC9uZHctaWNvbj5cbiAgfVxuICA8bmctY29udGVudCAvPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIEBpZiAodGl0bGUoKTsgYXMgdGl0bGUpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChzdWJ0aXRsZSgpOyBhcyBzdWJ0aXRsZSkge1xuICAgICAge3sgc3VidGl0bGUgfX1cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgQGlmIChhY3Rpb24ucGF0aCkge1xuICAgICAgICA8YVxuICAgICAgICAgIG5kd0J1dHRvblxuICAgICAgICAgIHRlcnRpYXJ5XG4gICAgICAgICAgZXh0cmEtc21hbGxcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImFjdGlvbi5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwiYWN0aW9uLnBhdGhcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbkJ1dHRvbkNsaWNrKCRldmVudCwgYWN0aW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmR3LWljb24+e3sgYWN0aW9uLmljb24gfX08L25kdy1pY29uPlxuICAgICAgICA8L2E+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG5kd0J1dHRvblxuICAgICAgICAgIHRlcnRpYXJ5XG4gICAgICAgICAgZXh0cmEtc21hbGxcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQnV0dG9uQ2xpY2soJGV2ZW50LCBhY3Rpb24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZHctaWNvbj57eyBhY3Rpb24uaWNvbiB9fTwvbmR3LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreKeyValueListComponent } from '@ndwnu/core';\nimport { IconComponent } from '../icon';\nimport { TooltipDirective } from '../tooltip';\nimport * as i0 from \"@angular/core\";\nexport class KeyValueListComponent extends CoreKeyValueListComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: KeyValueListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: KeyValueListComponent, isStandalone: true, selector: \"ndw-key-value-list\", usesInheritance: true, ngImport: i0, template: \"<dl [class.striped]=\\\"hasZebraStripes()\\\" [class.fluid]=\\\"fluid()\\\">\\n @for (keyValueRow of normalizedData(); track keyValueRow.key) {\\n <dt>\\n <ng-container *ngTemplateOutlet=\\\"cellData; context: { $implicit: keyValueRow.key }\\\" />\\n </dt>\\n <dd>\\n <ng-container *ngTemplateOutlet=\\\"cellData; context: { $implicit: keyValueRow.value }\\\" />\\n </dd>\\n }\\n</dl>\\n\\n<ng-template #cellData let-data>\\n @if (data.url) {\\n <a ndwLink target=\\\"_blank\\\" [href]=\\\"data.url\\\">\\n {{ data.label }}\\n <ndw-icon size=\\\"sm\\\">open_in_new</ndw-icon>\\n </a>\\n } @else {\\n {{ data.label }}\\n }\\n\\n @if (data.tooltip) {\\n <ndw-icon class=\\\"tooltip-icon\\\" size=\\\"sm\\\" [ndwTooltip]=\\\"data.tooltip\\\">info</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}dl{display:grid;width:fit-content;grid-template-columns:auto auto;margin:0}dl dt,dl dd{display:flex;align-items:center;gap:var(--ndw-spacing-2xs);padding-block:var(--ndw-spacing-xs);margin:0}dl dt .tooltip-icon,dl dd .tooltip-icon{color:var(--ndw-color-info-500)}dl dt{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;padding-inline-end:var(--ndw-spacing-2xs)}dl dd{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;padding-inline-start:var(--ndw-spacing-2xs)}dl.striped dt{padding-inline-start:var(--ndw-spacing-xs)}dl.striped dd{padding-inline-end:var(--ndw-spacing-xs)}dl.striped dt:nth-child(4n+1),dl.striped dd:nth-child(4n+2){background-color:var(--ndw-color-grey-100)}dl.fluid{width:100%}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: TooltipDirective, selector: \"[ndwTooltip]\", inputs: [\"ndwTooltip\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: KeyValueListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-key-value-list', imports: [IconComponent, NgTemplateOutlet, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<dl [class.striped]=\\\"hasZebraStripes()\\\" [class.fluid]=\\\"fluid()\\\">\\n @for (keyValueRow of normalizedData(); track keyValueRow.key) {\\n <dt>\\n <ng-container *ngTemplateOutlet=\\\"cellData; context: { $implicit: keyValueRow.key }\\\" />\\n </dt>\\n <dd>\\n <ng-container *ngTemplateOutlet=\\\"cellData; context: { $implicit: keyValueRow.value }\\\" />\\n </dd>\\n }\\n</dl>\\n\\n<ng-template #cellData let-data>\\n @if (data.url) {\\n <a ndwLink target=\\\"_blank\\\" [href]=\\\"data.url\\\">\\n {{ data.label }}\\n <ndw-icon size=\\\"sm\\\">open_in_new</ndw-icon>\\n </a>\\n } @else {\\n {{ data.label }}\\n }\\n\\n @if (data.tooltip) {\\n <ndw-icon class=\\\"tooltip-icon\\\" size=\\\"sm\\\" [ndwTooltip]=\\\"data.tooltip\\\">info</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}dl{display:grid;width:fit-content;grid-template-columns:auto auto;margin:0}dl dt,dl dd{display:flex;align-items:center;gap:var(--ndw-spacing-2xs);padding-block:var(--ndw-spacing-xs);margin:0}dl dt .tooltip-icon,dl dd .tooltip-icon{color:var(--ndw-color-info-500)}dl dt{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%;padding-inline-end:var(--ndw-spacing-2xs)}dl dd{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;padding-inline-start:var(--ndw-spacing-2xs)}dl.striped dt{padding-inline-start:var(--ndw-spacing-xs)}dl.striped dd{padding-inline-end:var(--ndw-spacing-xs)}dl.striped dt:nth-child(4n+1),dl.striped dd:nth-child(4n+2){background-color:var(--ndw-color-grey-100)}dl.fluid{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2tleS12YWx1ZS1saXN0L2tleS12YWx1ZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9rZXktdmFsdWUtbGlzdC9rZXktdmFsdWUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFTOUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHlCQUF5Qjt1R0FBdkQscUJBQXFCOzJGQUFyQixxQkFBcUIscUdDYmxDLCt2QkF5QkEsb3RGRGZZLGFBQWEscURBQUUsZ0JBQWdCLG9KQUFFLGdCQUFnQjs7MkZBR2hELHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxvQkFBb0IsV0FHckIsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsbUJBQzNDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVLZXlWYWx1ZUxpc3RDb21wb25lbnQgfSBmcm9tICdAbmR3bnUvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1rZXktdmFsdWUtbGlzdCcsXG4gIHN0eWxlVXJsOiAnLi9rZXktdmFsdWUtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9rZXktdmFsdWUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBUb29sdGlwRGlyZWN0aXZlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEtleVZhbHVlTGlzdENvbXBvbmVudCBleHRlbmRzIENvcmVLZXlWYWx1ZUxpc3RDb21wb25lbnQge31cbiIsIjxkbCBbY2xhc3Muc3RyaXBlZF09XCJoYXNaZWJyYVN0cmlwZXMoKVwiIFtjbGFzcy5mbHVpZF09XCJmbHVpZCgpXCI+XG4gIEBmb3IgKGtleVZhbHVlUm93IG9mIG5vcm1hbGl6ZWREYXRhKCk7IHRyYWNrIGtleVZhbHVlUm93LmtleSkge1xuICAgIDxkdD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsRGF0YTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGtleVZhbHVlUm93LmtleSB9XCIgLz5cbiAgICA8L2R0PlxuICAgIDxkZD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsRGF0YTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGtleVZhbHVlUm93LnZhbHVlIH1cIiAvPlxuICAgIDwvZGQ+XG4gIH1cbjwvZGw+XG5cbjxuZy10ZW1wbGF0ZSAjY2VsbERhdGEgbGV0LWRhdGE+XG4gIEBpZiAoZGF0YS51cmwpIHtcbiAgICA8YSBuZHdMaW5rIHRhcmdldD1cIl9ibGFua1wiIFtocmVmXT1cImRhdGEudXJsXCI+XG4gICAgICB7eyBkYXRhLmxhYmVsIH19XG4gICAgICA8bmR3LWljb24gc2l6ZT1cInNtXCI+b3Blbl9pbl9uZXc8L25kdy1pY29uPlxuICAgIDwvYT5cbiAgfSBAZWxzZSB7XG4gICAge3sgZGF0YS5sYWJlbCB9fVxuICB9XG5cbiAgQGlmIChkYXRhLnRvb2x0aXApIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJ0b29sdGlwLWljb25cIiBzaXplPVwic21cIiBbbmR3VG9vbHRpcF09XCJkYXRhLnRvb2x0aXBcIj5pbmZvPC9uZHctaWNvbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { IconComponent } from '../../icon';\nimport { PillComponent } from '../../pill';\nimport * as i0 from \"@angular/core\";\nexport class MainNavigationHeaderComponent {\n applicationName = input.required(...(ngDevMode ? [{ debugName: \"applicationName\" }] : []));\n isExpanded = input.required(...(ngDevMode ? [{ debugName: \"isExpanded\" }] : []));\n isMobile = input.required(...(ngDevMode ? [{ debugName: \"isMobile\" }] : []));\n theme = input.required(...(ngDevMode ? [{ debugName: \"theme\" }] : []));\n themeImagePath = input.required(...(ngDevMode ? [{ debugName: \"themeImagePath\" }] : []));\n environment = input(...(ngDevMode ? [undefined, { debugName: \"environment\" }] : []));\n isMobileMenuOpen = model.required(...(ngDevMode ? [{ debugName: \"isMobileMenuOpen\" }] : []));\n environmentColor = computed(() => {\n switch (this.environment()) {\n case 'Local':\n return 'gray';\n case 'Staging':\n return 'green';\n case 'Acceptance':\n return 'blue';\n default:\n return 'yellow';\n }\n }, ...(ngDevMode ? [{ debugName: \"environmentColor\" }] : []));\n toggleMobileMenu() {\n this.isMobileMenuOpen.update((open) => !open);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MainNavigationHeaderComponent, isStandalone: true, selector: \"ndw-main-navigation-header\", inputs: { applicationName: { classPropertyName: \"applicationName\", publicName: \"applicationName\", isSignal: true, isRequired: true, transformFunction: null }, isExpanded: { classPropertyName: \"isExpanded\", publicName: \"isExpanded\", isSignal: true, isRequired: true, transformFunction: null }, isMobile: { classPropertyName: \"isMobile\", publicName: \"isMobile\", isSignal: true, isRequired: true, transformFunction: null }, theme: { classPropertyName: \"theme\", publicName: \"theme\", isSignal: true, isRequired: true, transformFunction: null }, themeImagePath: { classPropertyName: \"themeImagePath\", publicName: \"themeImagePath\", isSignal: true, isRequired: true, transformFunction: null }, environment: { classPropertyName: \"environment\", publicName: \"environment\", isSignal: true, isRequired: false, transformFunction: null }, isMobileMenuOpen: { classPropertyName: \"isMobileMenuOpen\", publicName: \"isMobileMenuOpen\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { isMobileMenuOpen: \"isMobileMenuOpenChange\" }, ngImport: i0, template: \"<header [class.expanded]=\\\"isExpanded() && !isMobile()\\\">\\n <a routerLink=\\\"/\\\">\\n <img [class]=\\\"theme()\\\" [src]=\\\"themeImagePath()\\\" [alt]=\\\"theme().toUpperCase() + ' logo'\\\" />\\n @if (isExpanded() || isMobile()) {\\n {{ applicationName() }}\\n }\\n </a>\\n @if (environment()) {\\n <ndw-pill [color]=\\\"environmentColor()\\\">\\n {{ !isExpanded() || isMobile() ? environment()?.charAt(0) : environment() }}\\n </ndw-pill>\\n }\\n @if (isMobile()) {\\n <button ndwButton tertiary class=\\\"mobile-menu-button\\\" (click)=\\\"toggleMobileMenu()\\\">\\n <ndw-icon>\\n {{ isMobileMenuOpen() ? 'close' : 'menu' }}\\n </ndw-icon>\\n </button>\\n }\\n</header>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;flex-direction:column;align-items:center;display:flex;gap:var(--ndw-spacing-md);margin-bottom:var(--ndw-spacing-md);padding-inline:0;position:relative}header a{color:var(--ndw-color-white);display:flex;flex-direction:column;gap:var(--ndw-spacing-xs);letter-spacing:var(--ndw-letter-spacing-md);text-decoration:none;text-transform:uppercase}header a img{width:1rem}header ndw-pill{width:fit-content}header .mobile-menu-button{top:0;height:fit-content;padding:0;position:absolute;right:var(--ndw-spacing-sm);text-transform:uppercase}header .mobile-menu-button ndw-icon{font-size:var(--ndw-font-size-lg);color:var(--ndw-color-white)}header.expanded{align-items:flex-start;padding-inline:var(--ndw-spacing-md)}header.expanded a img{width:4rem}header.expanded a img.nwb{width:6rem}@media screen and (max-width: 1024px){header{flex-direction:row;align-items:center;padding-inline:var(--ndw-spacing-md);margin-bottom:0}header.expanded{align-items:center}header.expanded a img{width:var(--ndw-spacing-md)}header.expanded.nwb{width:var(--ndw-spacing-md)}header a{flex-direction:row;letter-spacing:var(--ndw-letter-spacing-sm);line-height:150%;gap:var(--ndw-spacing-md)}header a img{width:var(--ndw-spacing-md)}header a img.nwb{width:var(--ndw-spacing-md)}}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: PillComponent, selector: \"ndw-pill\" }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationHeaderComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, PillComponent, RouterLink], selector: 'ndw-main-navigation-header', template: \"<header [class.expanded]=\\\"isExpanded() && !isMobile()\\\">\\n <a routerLink=\\\"/\\\">\\n <img [class]=\\\"theme()\\\" [src]=\\\"themeImagePath()\\\" [alt]=\\\"theme().toUpperCase() + ' logo'\\\" />\\n @if (isExpanded() || isMobile()) {\\n {{ applicationName() }}\\n }\\n </a>\\n @if (environment()) {\\n <ndw-pill [color]=\\\"environmentColor()\\\">\\n {{ !isExpanded() || isMobile() ? environment()?.charAt(0) : environment() }}\\n </ndw-pill>\\n }\\n @if (isMobile()) {\\n <button ndwButton tertiary class=\\\"mobile-menu-button\\\" (click)=\\\"toggleMobileMenu()\\\">\\n <ndw-icon>\\n {{ isMobileMenuOpen() ? 'close' : 'menu' }}\\n </ndw-icon>\\n </button>\\n }\\n</header>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;flex-direction:column;align-items:center;display:flex;gap:var(--ndw-spacing-md);margin-bottom:var(--ndw-spacing-md);padding-inline:0;position:relative}header a{color:var(--ndw-color-white);display:flex;flex-direction:column;gap:var(--ndw-spacing-xs);letter-spacing:var(--ndw-letter-spacing-md);text-decoration:none;text-transform:uppercase}header a img{width:1rem}header ndw-pill{width:fit-content}header .mobile-menu-button{top:0;height:fit-content;padding:0;position:absolute;right:var(--ndw-spacing-sm);text-transform:uppercase}header .mobile-menu-button ndw-icon{font-size:var(--ndw-font-size-lg);color:var(--ndw-color-white)}header.expanded{align-items:flex-start;padding-inline:var(--ndw-spacing-md)}header.expanded a img{width:4rem}header.expanded a img.nwb{width:6rem}@media screen and (max-width: 1024px){header{flex-direction:row;align-items:center;padding-inline:var(--ndw-spacing-md);margin-bottom:0}header.expanded{align-items:center}header.expanded a img{width:var(--ndw-spacing-md)}header.expanded.nwb{width:var(--ndw-spacing-md)}header a{flex-direction:row;letter-spacing:var(--ndw-letter-spacing-sm);line-height:150%;gap:var(--ndw-spacing-md)}header a img{width:var(--ndw-spacing-md)}header a img.nwb{width:var(--ndw-spacing-md)}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFpbi1uYXZpZ2F0aW9uL21haW4tbmF2aWdhdGlvbi1oZWFkZXIvbWFpbi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFpbi1uYXZpZ2F0aW9uL21haW4tbmF2aWdhdGlvbi1oZWFkZXIvbWFpbi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBVTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLDBEQUFVLENBQUM7SUFDM0MsVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLHFEQUFXLENBQUM7SUFDdkMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLG1EQUFXLENBQUM7SUFDckMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7SUFDakMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLHlEQUFVLENBQUM7SUFDMUMsV0FBVyxHQUFHLEtBQUssaUVBQWUsQ0FBQztJQUVuQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSwyREFBVyxDQUFDO0lBRTdDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDL0IsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMzQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxNQUFNLENBQUM7WUFDaEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssWUFBWTtnQkFDZixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQyw0REFBQyxDQUFDO0lBRUksZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt1R0F6QlUsNkJBQTZCOzJGQUE3Qiw2QkFBNkIsaW1DQ2QxQywrcUJBb0JBLDhoS0RYWSxhQUFhLHFEQUFFLGFBQWEscURBQUUsVUFBVTs7MkZBS3ZDLDZCQUE2QjtrQkFQekMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsWUFDekMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IFBpbGxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9waWxsJztcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbWFpbi1uYXZpZ2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgUGlsbENvbXBvbmVudCwgUm91dGVyTGlua10sXG4gIHNlbGVjdG9yOiAnbmR3LW1haW4tbmF2aWdhdGlvbi1oZWFkZXInLFxuICBzdHlsZVVybDogJy4vbWFpbi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbk5hdmlnYXRpb25IZWFkZXJDb21wb25lbnQge1xuICBhcHBsaWNhdGlvbk5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGlzRXhwYW5kZWQgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICBpc01vYmlsZSA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gIHRoZW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICB0aGVtZUltYWdlUGF0aCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgZW52aXJvbm1lbnQgPSBpbnB1dDxFbnZpcm9ubWVudD4oKTtcblxuICBpc01vYmlsZU1lbnVPcGVuID0gbW9kZWwucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcblxuICBlbnZpcm9ubWVudENvbG9yID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5lbnZpcm9ubWVudCgpKSB7XG4gICAgICBjYXNlICdMb2NhbCc6XG4gICAgICAgIHJldHVybiAnZ3JheSc7XG4gICAgICBjYXNlICdTdGFnaW5nJzpcbiAgICAgICAgcmV0dXJuICdncmVlbic7XG4gICAgICBjYXNlICdBY2NlcHRhbmNlJzpcbiAgICAgICAgcmV0dXJuICdibHVlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAneWVsbG93JztcbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyB0b2dnbGVNb2JpbGVNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb2JpbGVNZW51T3Blbi51cGRhdGUoKG9wZW4pID0+ICFvcGVuKTtcbiAgfVxufVxuIiwiPGhlYWRlciBbY2xhc3MuZXhwYW5kZWRdPVwiaXNFeHBhbmRlZCgpICYmICFpc01vYmlsZSgpXCI+XG4gIDxhIHJvdXRlckxpbms9XCIvXCI+XG4gICAgPGltZyBbY2xhc3NdPVwidGhlbWUoKVwiIFtzcmNdPVwidGhlbWVJbWFnZVBhdGgoKVwiIFthbHRdPVwidGhlbWUoKS50b1VwcGVyQ2FzZSgpICsgJyBsb2dvJ1wiIC8+XG4gICAgQGlmIChpc0V4cGFuZGVkKCkgfHwgaXNNb2JpbGUoKSkge1xuICAgICAge3sgYXBwbGljYXRpb25OYW1lKCkgfX1cbiAgICB9XG4gIDwvYT5cbiAgQGlmIChlbnZpcm9ubWVudCgpKSB7XG4gICAgPG5kdy1waWxsIFtjb2xvcl09XCJlbnZpcm9ubWVudENvbG9yKClcIj5cbiAgICAgIHt7ICFpc0V4cGFuZGVkKCkgfHwgaXNNb2JpbGUoKSA/IGVudmlyb25tZW50KCk/LmNoYXJBdCgwKSA6IGVudmlyb25tZW50KCkgfX1cbiAgICA8L25kdy1waWxsPlxuICB9XG4gIEBpZiAoaXNNb2JpbGUoKSkge1xuICAgIDxidXR0b24gbmR3QnV0dG9uIHRlcnRpYXJ5IGNsYXNzPVwibW9iaWxlLW1lbnUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZU1vYmlsZU1lbnUoKVwiPlxuICAgICAgPG5kdy1pY29uPlxuICAgICAgICB7eyBpc01vYmlsZU1lbnVPcGVuKCkgPyAnY2xvc2UnIDogJ21lbnUnIH19XG4gICAgICA8L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2hlYWRlcj5cbiJdfQ==","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BadgeComponent } from '../../badge';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class MainNavigationMenuComponent {\n isExpanded = input.required(...(ngDevMode ? [{ debugName: \"isExpanded\" }] : []));\n isMobile = input.required(...(ngDevMode ? [{ debugName: \"isMobile\" }] : []));\n items = input.required(...(ngDevMode ? [{ debugName: \"items\" }] : []));\n closed = output();\n activeMobileItem = signal(undefined, ...(ngDevMode ? [{ debugName: \"activeMobileItem\" }] : []));\n closeMobileMenu(item) {\n item?.callback?.();\n this.setActiveMobileItem(undefined);\n this.closed.emit();\n }\n getItemKey(item) {\n return JSON.stringify(item);\n }\n handleMobileItemKeydown(event, item) {\n if (event.key === 'Enter') {\n this.toggleActiveMobileItem(item);\n }\n if (this.activeMobileItem() !== item && event.key === 'ArrowRight') {\n this.setActiveMobileItem(item);\n }\n if (this.activeMobileItem() === item && event.key === 'ArrowLeft') {\n this.setActiveMobileItem(undefined);\n }\n }\n setActiveMobileItem(item) {\n this.activeMobileItem.set(item);\n }\n toggleActiveMobileItem(item) {\n item.callback?.();\n this.setActiveMobileItem(this.activeMobileItem() === item ? undefined : item);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MainNavigationMenuComponent, isStandalone: true, selector: \"ndw-main-navigation-menu\", inputs: { isExpanded: { classPropertyName: \"isExpanded\", publicName: \"isExpanded\", isSignal: true, isRequired: true, transformFunction: null }, isMobile: { classPropertyName: \"isMobile\", publicName: \"isMobile\", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: \"items\", publicName: \"items\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { closed: \"closed\" }, ngImport: i0, template: \"<div cdkMenu class=\\\"menu\\\" [class.expanded]=\\\"isExpanded()\\\">\\n @for (item of items(); track getItemKey(item)) {\\n @if (!item.children) {\\n @if (item.callback) {\\n <button cdkMenuItem ndwButton menu (click)=\\\"closeMobileMenu(item)\\\">\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded() || isMobile()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n }\\n @if (!isExpanded() && item.notifications) {\\n <ndw-badge class=\\\"expanded-badge\\\" [value]=\\\"item.notifications\\\" />\\n }\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n [queryParams]=\\\"item.queryParams\\\"\\n [routerLink]=\\\"item.path\\\"\\n (click)=\\\"closeMobileMenu()\\\"\\n >\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded() || isMobile()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n }\\n </a>\\n }\\n } @else {\\n @if (isMobile()) {\\n <button\\n cdkMenuItem\\n ndwButton\\n menu\\n [attr.active]=\\\"activeMobileItem() === item || undefined\\\"\\n (click)=\\\"toggleActiveMobileItem(item)\\\"\\n (keydown)=\\\"handleMobileItemKeydown($event, item)\\\"\\n >\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n <ndw-icon class=\\\"suffix\\\">\\n {{ activeMobileItem() !== item ? 'arrow_drop_down' : 'arrow_drop_up' }}\\n </ndw-icon>\\n </button>\\n @if (activeMobileItem() === item) {\\n @for (subItem of item.children; track getItemKey(subItem)) {\\n @if (subItem.callback) {\\n <button\\n cdkMenuItem\\n ndwButton\\n menu\\n class=\\\"sub-menu-button\\\"\\n (click)=\\\"closeMobileMenu(subItem)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n class=\\\"sub-menu-button\\\"\\n [queryParams]=\\\"subItem.queryParams\\\"\\n [routerLink]=\\\"subItem.path\\\"\\n (click)=\\\"closeMobileMenu(subItem)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </a>\\n }\\n }\\n }\\n } @else {\\n <button cdkMenuItem ndwButton menu [cdkMenuTriggerFor]=\\\"subMenu\\\">\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n <ndw-icon class=\\\"suffix\\\">arrow_right</ndw-icon>\\n }\\n </button>\\n }\\n\\n <ng-template #subMenu>\\n <div cdkMenu class=\\\"sub-menu\\\">\\n @for (subItem of item.children; track getItemKey(subItem)) {\\n @if (subItem.callback) {\\n <button cdkMenuItem ndwButton menu (click)=\\\"subItem.callback()\\\">\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n [queryParams]=\\\"subItem.queryParams\\\"\\n [routerLink]=\\\"subItem.path\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </a>\\n }\\n }\\n </div>\\n </ng-template>\\n }\\n }\\n</div>\\n\\n<ng-template #label let-item>\\n {{ item.label }}\\n @if (item.notifications) {\\n <ndw-badge [value]=\\\"item.notifications\\\" />\\n }\\n</ng-template>\\n\", styles: [\":root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}.menu [ndwButton],.sub-menu [ndwButton]{cursor:pointer}.menu [ndwButton] .suffix,.sub-menu [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}.menu{justify-content:center}.menu .expanded-badge{position:absolute;left:var(--ndw-spacing-md);top:0}.menu.expanded [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}.menu.expanded [ndwButton].sub-menu-button{color:var(--ndw-color-white)}@media screen and (min-width: 1024px){.menu.expanded [ndwButton].sub-menu-button{color:var(--ndw-color-grey-400)}}@media screen and (max-width: 1024px){.menu [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}}.sub-menu{background-color:var(--ndw-color-grey-700);min-width:10rem}.sub-menu [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-sm)}\\n\"], dependencies: [{ kind: \"component\", type: BadgeComponent, selector: \"ndw-badge\" }, { kind: \"directive\", type: CdkMenu, selector: \"[cdkMenu]\", outputs: [\"closed\"], exportAs: [\"cdkMenu\"] }, { kind: \"directive\", type: CdkMenuItem, selector: \"[cdkMenuItem]\", inputs: [\"cdkMenuItemDisabled\", \"cdkMenuitemTypeaheadLabel\"], outputs: [\"cdkMenuItemTriggered\"], exportAs: [\"cdkMenuItem\"] }, { kind: \"directive\", type: CdkMenuTrigger, selector: \"[cdkMenuTriggerFor]\", inputs: [\"cdkMenuTriggerFor\", \"cdkMenuPosition\", \"cdkMenuTriggerData\"], outputs: [\"cdkMenuOpened\", \"cdkMenuClosed\"], exportAs: [\"cdkMenuTriggerFor\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationMenuComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n BadgeComponent,\n CdkMenu,\n CdkMenuItem,\n CdkMenuTrigger,\n IconComponent,\n RouterLink,\n NgTemplateOutlet,\n ], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-main-navigation-menu', template: \"<div cdkMenu class=\\\"menu\\\" [class.expanded]=\\\"isExpanded()\\\">\\n @for (item of items(); track getItemKey(item)) {\\n @if (!item.children) {\\n @if (item.callback) {\\n <button cdkMenuItem ndwButton menu (click)=\\\"closeMobileMenu(item)\\\">\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded() || isMobile()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n }\\n @if (!isExpanded() && item.notifications) {\\n <ndw-badge class=\\\"expanded-badge\\\" [value]=\\\"item.notifications\\\" />\\n }\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n [queryParams]=\\\"item.queryParams\\\"\\n [routerLink]=\\\"item.path\\\"\\n (click)=\\\"closeMobileMenu()\\\"\\n >\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded() || isMobile()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n }\\n </a>\\n }\\n } @else {\\n @if (isMobile()) {\\n <button\\n cdkMenuItem\\n ndwButton\\n menu\\n [attr.active]=\\\"activeMobileItem() === item || undefined\\\"\\n (click)=\\\"toggleActiveMobileItem(item)\\\"\\n (keydown)=\\\"handleMobileItemKeydown($event, item)\\\"\\n >\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n <ndw-icon class=\\\"suffix\\\">\\n {{ activeMobileItem() !== item ? 'arrow_drop_down' : 'arrow_drop_up' }}\\n </ndw-icon>\\n </button>\\n @if (activeMobileItem() === item) {\\n @for (subItem of item.children; track getItemKey(subItem)) {\\n @if (subItem.callback) {\\n <button\\n cdkMenuItem\\n ndwButton\\n menu\\n class=\\\"sub-menu-button\\\"\\n (click)=\\\"closeMobileMenu(subItem)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n class=\\\"sub-menu-button\\\"\\n [queryParams]=\\\"subItem.queryParams\\\"\\n [routerLink]=\\\"subItem.path\\\"\\n (click)=\\\"closeMobileMenu(subItem)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </a>\\n }\\n }\\n }\\n } @else {\\n <button cdkMenuItem ndwButton menu [cdkMenuTriggerFor]=\\\"subMenu\\\">\\n <ndw-icon>{{ item.icon }}</ndw-icon>\\n @if (isExpanded()) {\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: item }\\\" />\\n <ndw-icon class=\\\"suffix\\\">arrow_right</ndw-icon>\\n }\\n </button>\\n }\\n\\n <ng-template #subMenu>\\n <div cdkMenu class=\\\"sub-menu\\\">\\n @for (subItem of item.children; track getItemKey(subItem)) {\\n @if (subItem.callback) {\\n <button cdkMenuItem ndwButton menu (click)=\\\"subItem.callback()\\\">\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </button>\\n } @else {\\n <a\\n cdkMenuItem\\n ndwButton\\n menu\\n [queryParams]=\\\"subItem.queryParams\\\"\\n [routerLink]=\\\"subItem.path\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"label; context: { $implicit: subItem }\\\" />\\n </a>\\n }\\n }\\n </div>\\n </ng-template>\\n }\\n }\\n</div>\\n\\n<ng-template #label let-item>\\n {{ item.label }}\\n @if (item.notifications) {\\n <ndw-badge [value]=\\\"item.notifications\\\" />\\n }\\n</ng-template>\\n\", styles: [\":root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}.menu [ndwButton],.sub-menu [ndwButton]{cursor:pointer}.menu [ndwButton] .suffix,.sub-menu [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}.menu{justify-content:center}.menu .expanded-badge{position:absolute;left:var(--ndw-spacing-md);top:0}.menu.expanded [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}.menu.expanded [ndwButton].sub-menu-button{color:var(--ndw-color-white)}@media screen and (min-width: 1024px){.menu.expanded [ndwButton].sub-menu-button{color:var(--ndw-color-grey-400)}}@media screen and (max-width: 1024px){.menu [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}}.sub-menu{background-color:var(--ndw-color-grey-700);min-width:10rem}.sub-menu [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-sm)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21haW4tbmF2aWdhdGlvbi9tYWluLW5hdmlnYXRpb24tbWVudS9tYWluLW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFpbi1uYXZpZ2F0aW9uL21haW4tbmF2aWdhdGlvbi1tZW51L21haW4tbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFrQjNDLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLHFEQUFXLENBQUM7SUFDdkMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLG1EQUFXLENBQUM7SUFDckMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFjLENBQUM7SUFFckMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBRWxCLGdCQUFnQixHQUFHLE1BQU0sQ0FBdUIsU0FBUyw0REFBQyxDQUFDO0lBRTNELGVBQWUsQ0FBQyxJQUFrQjtRQUNoQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQTRCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0IsRUFBRSxJQUFjO1FBQzFELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTBCO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQWM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRixDQUFDO3VHQXhDVSwyQkFBMkI7MkZBQTNCLDJCQUEyQiw0ZkN4QnhDLGc2SEFnSEEsb3BGRHJHSSxjQUFjLHNEQUNkLE9BQU8sa0dBQ1AsV0FBVyxzTEFDWCxjQUFjLHNOQUNkLGFBQWEscURBQ2IsVUFBVSxvT0FDVixnQkFBZ0I7OzJGQU9QLDJCQUEyQjtrQkFmdkMsU0FBUzs4QkFDQzt3QkFDUCxjQUFjO3dCQUNkLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixnQkFBZ0I7cUJBQ2pCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka01lbnUsIENka01lbnVJdGVtLCBDZGtNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYWRnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5pbXBvcnQgeyBNZW51SXRlbSwgU3ViTWVudUl0ZW0gfSBmcm9tICcuLi9tYWluLW5hdmlnYXRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIENka01lbnUsXG4gICAgQ2RrTWVudUl0ZW0sXG4gICAgQ2RrTWVudVRyaWdnZXIsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ25kdy1tYWluLW5hdmlnYXRpb24tbWVudScsXG4gIHN0eWxlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB7XG4gIGlzRXhwYW5kZWQgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICBpc01vYmlsZSA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gIGl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8TWVudUl0ZW1bXT4oKTtcblxuICBjbG9zZWQgPSBvdXRwdXQoKTtcblxuICBhY3RpdmVNb2JpbGVJdGVtID0gc2lnbmFsPE1lbnVJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGNsb3NlTW9iaWxlTWVudShpdGVtPzogU3ViTWVudUl0ZW0pIHtcbiAgICBpdGVtPy5jYWxsYmFjaz8uKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVNb2JpbGVJdGVtKHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgZ2V0SXRlbUtleShpdGVtOiBNZW51SXRlbSB8IFN1Yk1lbnVJdGVtKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGl0ZW0pO1xuICB9XG5cbiAgaGFuZGxlTW9iaWxlSXRlbUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGl0ZW06IE1lbnVJdGVtKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy50b2dnbGVBY3RpdmVNb2JpbGVJdGVtKGl0ZW0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZU1vYmlsZUl0ZW0oKSAhPT0gaXRlbSAmJiBldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgdGhpcy5zZXRBY3RpdmVNb2JpbGVJdGVtKGl0ZW0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZU1vYmlsZUl0ZW0oKSA9PT0gaXRlbSAmJiBldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vYmlsZUl0ZW0odW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBzZXRBY3RpdmVNb2JpbGVJdGVtKGl0ZW06IE1lbnVJdGVtIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5hY3RpdmVNb2JpbGVJdGVtLnNldChpdGVtKTtcbiAgfVxuXG4gIHRvZ2dsZUFjdGl2ZU1vYmlsZUl0ZW0oaXRlbTogTWVudUl0ZW0pIHtcbiAgICBpdGVtLmNhbGxiYWNrPy4oKTtcbiAgICB0aGlzLnNldEFjdGl2ZU1vYmlsZUl0ZW0odGhpcy5hY3RpdmVNb2JpbGVJdGVtKCkgPT09IGl0ZW0gPyB1bmRlZmluZWQgOiBpdGVtKTtcbiAgfVxufVxuIiwiPGRpdiBjZGtNZW51IGNsYXNzPVwibWVudVwiIFtjbGFzcy5leHBhbmRlZF09XCJpc0V4cGFuZGVkKClcIj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayBnZXRJdGVtS2V5KGl0ZW0pKSB7XG4gICAgQGlmICghaXRlbS5jaGlsZHJlbikge1xuICAgICAgQGlmIChpdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgIDxidXR0b24gY2RrTWVudUl0ZW0gbmR3QnV0dG9uIG1lbnUgKGNsaWNrKT1cImNsb3NlTW9iaWxlTWVudShpdGVtKVwiPlxuICAgICAgICAgIDxuZHctaWNvbj57eyBpdGVtLmljb24gfX08L25kdy1pY29uPlxuICAgICAgICAgIEBpZiAoaXNFeHBhbmRlZCgpIHx8IGlzTW9iaWxlKCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoIWlzRXhwYW5kZWQoKSAmJiBpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgICAgIDxuZHctYmFkZ2UgY2xhc3M9XCJleHBhbmRlZC1iYWRnZVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICBjZGtNZW51SXRlbVxuICAgICAgICAgIG5kd0J1dHRvblxuICAgICAgICAgIG1lbnVcbiAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5wYXRoXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNb2JpbGVNZW51KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5kdy1pY29uPnt7IGl0ZW0uaWNvbiB9fTwvbmR3LWljb24+XG4gICAgICAgICAgQGlmIChpc0V4cGFuZGVkKCkgfHwgaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAoaXNNb2JpbGUoKSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2RrTWVudUl0ZW1cbiAgICAgICAgICBuZHdCdXR0b25cbiAgICAgICAgICBtZW51XG4gICAgICAgICAgW2F0dHIuYWN0aXZlXT1cImFjdGl2ZU1vYmlsZUl0ZW0oKSA9PT0gaXRlbSB8fCB1bmRlZmluZWRcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBY3RpdmVNb2JpbGVJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVNb2JpbGVJdGVtS2V5ZG93bigkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZHctaWNvbj57eyBpdGVtLmljb24gfX08L25kdy1pY29uPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiIC8+XG4gICAgICAgICAgPG5kdy1pY29uIGNsYXNzPVwic3VmZml4XCI+XG4gICAgICAgICAgICB7eyBhY3RpdmVNb2JpbGVJdGVtKCkgIT09IGl0ZW0gPyAnYXJyb3dfZHJvcF9kb3duJyA6ICdhcnJvd19kcm9wX3VwJyB9fVxuICAgICAgICAgIDwvbmR3LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICBAaWYgKGFjdGl2ZU1vYmlsZUl0ZW0oKSA9PT0gaXRlbSkge1xuICAgICAgICAgIEBmb3IgKHN1Ykl0ZW0gb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgZ2V0SXRlbUtleShzdWJJdGVtKSkge1xuICAgICAgICAgICAgQGlmIChzdWJJdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjZGtNZW51SXRlbVxuICAgICAgICAgICAgICAgIG5kd0J1dHRvblxuICAgICAgICAgICAgICAgIG1lbnVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN1Yi1tZW51LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTW9iaWxlTWVudShzdWJJdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWJJdGVtIH1cIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNka01lbnVJdGVtXG4gICAgICAgICAgICAgICAgbmR3QnV0dG9uXG4gICAgICAgICAgICAgICAgbWVudVxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3ViLW1lbnUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwic3ViSXRlbS5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwic3ViSXRlbS5wYXRoXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNb2JpbGVNZW51KHN1Ykl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHN1Ykl0ZW0gfVwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YnV0dG9uIGNka01lbnVJdGVtIG5kd0J1dHRvbiBtZW51IFtjZGtNZW51VHJpZ2dlckZvcl09XCJzdWJNZW51XCI+XG4gICAgICAgICAgPG5kdy1pY29uPnt7IGl0ZW0uaWNvbiB9fTwvbmR3LWljb24+XG4gICAgICAgICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiIC8+XG4gICAgICAgICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPG5nLXRlbXBsYXRlICNzdWJNZW51PlxuICAgICAgICA8ZGl2IGNka01lbnUgY2xhc3M9XCJzdWItbWVudVwiPlxuICAgICAgICAgIEBmb3IgKHN1Ykl0ZW0gb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgZ2V0SXRlbUtleShzdWJJdGVtKSkge1xuICAgICAgICAgICAgQGlmIChzdWJJdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIDxidXR0b24gY2RrTWVudUl0ZW0gbmR3QnV0dG9uIG1lbnUgKGNsaWNrKT1cInN1Ykl0ZW0uY2FsbGJhY2soKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHN1Ykl0ZW0gfVwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2RrTWVudUl0ZW1cbiAgICAgICAgICAgICAgICBuZHdCdXR0b25cbiAgICAgICAgICAgICAgICBtZW51XG4gICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInN1Ykl0ZW0ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInN1Ykl0ZW0ucGF0aFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWJJdGVtIH1cIiAvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsYWJlbCBsZXQtaXRlbT5cbiAge3sgaXRlbS5sYWJlbCB9fVxuICBAaWYgKGl0ZW0ubm90aWZpY2F0aW9ucykge1xuICAgIDxuZHctYmFkZ2UgW3ZhbHVlXT1cIml0ZW0ubm90aWZpY2F0aW9uc1wiIC8+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, inject, input, model, Renderer2, signal, DOCUMENT, } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { MainNavigationHeaderComponent } from './main-navigation-header';\nimport { MainNavigationMenuComponent } from './main-navigation-menu';\nimport * as i0 from \"@angular/core\";\nexport class MainNavigationComponent {\n #document = inject(DOCUMENT);\n #renderer = inject(Renderer2);\n applicationName = input.required(...(ngDevMode ? [{ debugName: \"applicationName\" }] : []));\n topMenuItems = input.required(...(ngDevMode ? [{ debugName: \"topMenuItems\" }] : []));\n bottomMenuItems = input(...(ngDevMode ? [undefined, { debugName: \"bottomMenuItems\" }] : []));\n environment = input(...(ngDevMode ? [undefined, { debugName: \"environment\" }] : []));\n footerTexts = input(...(ngDevMode ? [undefined, { debugName: \"footerTexts\" }] : []));\n isCollapsible = input(true, ...(ngDevMode ? [{ debugName: \"isCollapsible\" }] : []));\n version = input(...(ngDevMode ? [undefined, { debugName: \"version\" }] : []));\n isMobile = signal(false, ...(ngDevMode ? [{ debugName: \"isMobile\" }] : []));\n isMobileMenuOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isMobileMenuOpen\" }] : []));\n theme = signal('ndw', ...(ngDevMode ? [{ debugName: \"theme\" }] : []));\n isExpanded = model(true, ...(ngDevMode ? [{ debugName: \"isExpanded\" }] : []));\n mobileMenuItems = computed(() => [...this.topMenuItems(), ...(this.bottomMenuItems() || [])], ...(ngDevMode ? [{ debugName: \"mobileMenuItems\" }] : []));\n themeImagePath = computed(() => {\n const variant = !this.isExpanded() || this.isMobile() ? '-short' : '';\n return `images/logos/${this.theme()}-logo${variant}.svg`;\n }, ...(ngDevMode ? [{ debugName: \"themeImagePath\" }] : []));\n ngAfterViewInit() {\n const theme = this.#document.documentElement.getAttribute('data-theme');\n if (theme) {\n this.theme.set(theme);\n }\n this.#toggleMainNavigationExpandedDataAttributeOnBody();\n this.onWindowResize();\n }\n closeMobileMenu() {\n this.isMobileMenuOpen.set(false);\n }\n onWindowResize() {\n const windowView = this.#document.defaultView;\n this.isMobile.set(windowView ? windowView.innerWidth <= 1024 : false);\n }\n toggleView() {\n this.isExpanded.update((expanded) => !expanded);\n this.#toggleMainNavigationExpandedDataAttributeOnBody();\n }\n #toggleMainNavigationExpandedDataAttributeOnBody() {\n this.#renderer.setAttribute(this.#document.body, 'data-main-navigation-expanded', this.isExpanded().toString());\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MainNavigationComponent, isStandalone: true, selector: \"ndw-main-navigation\", inputs: { applicationName: { classPropertyName: \"applicationName\", publicName: \"applicationName\", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: \"topMenuItems\", publicName: \"topMenuItems\", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: \"bottomMenuItems\", publicName: \"bottomMenuItems\", isSignal: true, isRequired: false, transformFunction: null }, environment: { classPropertyName: \"environment\", publicName: \"environment\", isSignal: true, isRequired: false, transformFunction: null }, footerTexts: { classPropertyName: \"footerTexts\", publicName: \"footerTexts\", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: \"isCollapsible\", publicName: \"isCollapsible\", isSignal: true, isRequired: false, transformFunction: null }, version: { classPropertyName: \"version\", publicName: \"version\", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: \"isExpanded\", publicName: \"isExpanded\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: \"isExpandedChange\" }, host: { listeners: { \"window:resize\": \"onWindowResize()\" }, properties: { \"class.expanded\": \"isExpanded()\" } }, ngImport: i0, template: \"<ndw-main-navigation-header\\n [applicationName]=\\\"applicationName()\\\"\\n [environment]=\\\"environment()\\\"\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [theme]=\\\"theme()\\\"\\n [themeImagePath]=\\\"themeImagePath()\\\"\\n [(isMobileMenuOpen)]=\\\"isMobileMenuOpen\\\"\\n/>\\n@if (!isMobile()) {\\n <div class=\\\"content\\\">\\n <main>\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"topMenuItems()\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n </main>\\n <footer>\\n @if (bottomMenuItems(); as bottomMenuItems) {\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"bottomMenuItems\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n }\\n <div class=\\\"texts\\\">\\n @if (isExpanded() || isMobile()) {\\n @for (text of footerTexts(); track $index) {\\n <p>{{ text }}</p>\\n }\\n }\\n </div>\\n <div class=\\\"version\\\">\\n <p>{{ version() }}</p>\\n </div>\\n @if (isCollapsible() && !isMobile()) {\\n <button ndwButton menu class=\\\"collapse-toggle\\\" (click)=\\\"toggleView()\\\">\\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\\n </button>\\n }\\n </footer>\\n </div>\\n} @else {\\n @if (isMobileMenuOpen()) {\\n <div class=\\\"content\\\">\\n <main>\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"mobileMenuItems()\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n </main>\\n </div>\\n }\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr;height:100%;padding-top:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}@media screen and (max-width: 1024px){:host{padding-top:var(--ndw-spacing-md);height:var(--main-navigation-mobile-header-height);width:100%}}.content{background-color:var(--ndw-color-grey-700);display:grid;grid-template-rows:1fr auto;overflow-y:auto}.content footer{padding-block-end:var(--ndw-spacing-xl);position:relative}.content footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;padding-block-start:var(--ndw-spacing-md);padding-inline:var(--ndw-spacing-md)}.content footer .texts p{text-align:center}.content footer .version{align-items:center;display:grid;height:2.625rem}.content footer .version p{display:none;font-size:var(--ndw-font-size-2xs);text-align:center}.content footer .collapse-toggle{bottom:0;cursor:pointer;position:absolute;right:0;width:var(--main-navigation-collapse-width)}@media screen and (max-width: 1024px){.content{position:absolute;inset:var(--main-navigation-mobile-header-height) 0 0;z-index:9999}}:host(.expanded){width:var(--main-navigation-expanded-width)}@media screen and (max-width: 1024px){:host(.expanded){width:100%}}:host(.expanded) .content footer{padding-block-end:0}:host(.expanded) .content footer .version p{display:block}:host(.expanded) .content footer .collapse-toggle ndw-icon{transform:var(--ndw-rotate-half)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: MainNavigationHeaderComponent, selector: \"ndw-main-navigation-header\", inputs: [\"applicationName\", \"isExpanded\", \"isMobile\", \"theme\", \"themeImagePath\", \"environment\", \"isMobileMenuOpen\"], outputs: [\"isMobileMenuOpenChange\"] }, { kind: \"component\", type: MainNavigationMenuComponent, selector: \"ndw-main-navigation-menu\", inputs: [\"isExpanded\", \"isMobile\", \"items\"], outputs: [\"closed\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MainNavigationComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.expanded]': 'isExpanded()',\n '(window:resize)': 'onWindowResize()',\n }, imports: [IconComponent, MainNavigationHeaderComponent, MainNavigationMenuComponent], selector: 'ndw-main-navigation', template: \"<ndw-main-navigation-header\\n [applicationName]=\\\"applicationName()\\\"\\n [environment]=\\\"environment()\\\"\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [theme]=\\\"theme()\\\"\\n [themeImagePath]=\\\"themeImagePath()\\\"\\n [(isMobileMenuOpen)]=\\\"isMobileMenuOpen\\\"\\n/>\\n@if (!isMobile()) {\\n <div class=\\\"content\\\">\\n <main>\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"topMenuItems()\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n </main>\\n <footer>\\n @if (bottomMenuItems(); as bottomMenuItems) {\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"bottomMenuItems\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n }\\n <div class=\\\"texts\\\">\\n @if (isExpanded() || isMobile()) {\\n @for (text of footerTexts(); track $index) {\\n <p>{{ text }}</p>\\n }\\n }\\n </div>\\n <div class=\\\"version\\\">\\n <p>{{ version() }}</p>\\n </div>\\n @if (isCollapsible() && !isMobile()) {\\n <button ndwButton menu class=\\\"collapse-toggle\\\" (click)=\\\"toggleView()\\\">\\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\\n </button>\\n }\\n </footer>\\n </div>\\n} @else {\\n @if (isMobileMenuOpen()) {\\n <div class=\\\"content\\\">\\n <main>\\n <ndw-main-navigation-menu\\n [isExpanded]=\\\"isExpanded()\\\"\\n [isMobile]=\\\"isMobile()\\\"\\n [items]=\\\"mobileMenuItems()\\\"\\n (closed)=\\\"closeMobileMenu()\\\"\\n />\\n </main>\\n </div>\\n }\\n}\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr;height:100%;padding-top:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}@media screen and (max-width: 1024px){:host{padding-top:var(--ndw-spacing-md);height:var(--main-navigation-mobile-header-height);width:100%}}.content{background-color:var(--ndw-color-grey-700);display:grid;grid-template-rows:1fr auto;overflow-y:auto}.content footer{padding-block-end:var(--ndw-spacing-xl);position:relative}.content footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;padding-block-start:var(--ndw-spacing-md);padding-inline:var(--ndw-spacing-md)}.content footer .texts p{text-align:center}.content footer .version{align-items:center;display:grid;height:2.625rem}.content footer .version p{display:none;font-size:var(--ndw-font-size-2xs);text-align:center}.content footer .collapse-toggle{bottom:0;cursor:pointer;position:absolute;right:0;width:var(--main-navigation-collapse-width)}@media screen and (max-width: 1024px){.content{position:absolute;inset:var(--main-navigation-mobile-header-height) 0 0;z-index:9999}}:host(.expanded){width:var(--main-navigation-expanded-width)}@media screen and (max-width: 1024px){:host(.expanded){width:100%}}:host(.expanded) .content footer{padding-block-end:0}:host(.expanded) .content footer .version p{display:block}:host(.expanded) .content footer .collapse-toggle ndw-icon{transform:var(--ndw-rotate-half)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWFyRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2QyxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsMERBQVUsQ0FBQztJQUMzQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsdURBQWMsQ0FBQztJQUM1QyxlQUFlLEdBQUcsS0FBSyxxRUFBYyxDQUFDO0lBQ3RDLFdBQVcsR0FBRyxLQUFLLGlFQUFlLENBQUM7SUFDbkMsV0FBVyxHQUFHLEtBQUssaUVBQVksQ0FBQztJQUNoQyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUkseURBQUMsQ0FBQztJQUM1QixPQUFPLEdBQUcsS0FBSyw2REFBVSxDQUFDO0lBRTFCLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3pCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLDREQUFDLENBQUM7SUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBUSxLQUFLLGlEQUFDLENBQUM7SUFFN0IsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLHNEQUFDLENBQUM7SUFFekIsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsMkRBQUMsQ0FBQztJQUM5RixjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxPQUFPLE1BQU0sQ0FBQztJQUMzRCxDQUFDLDBEQUFDLENBQUM7SUFFSCxlQUFlO1FBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFjLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdEQUFnRCxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdEQUFnRCxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGdEQUFnRDtRQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ25CLCtCQUErQixFQUMvQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO3VHQXREVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qix3MUNDN0JwQyw2b0RBMkRBLDR1S0RuQ1ksYUFBYSxxREFBRSw2QkFBNkIsaU9BQUUsMkJBQTJCOzsyRkFLeEUsdUJBQXVCO2tCQVhuQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osa0JBQWtCLEVBQUUsY0FBYzt3QkFDbEMsaUJBQWlCLEVBQUUsa0JBQWtCO3FCQUN0QyxXQUNRLENBQUMsYUFBYSxFQUFFLDZCQUE2QixFQUFFLDJCQUEyQixDQUFDLFlBQzFFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIERPQ1VNRU5ULFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIE1lbnVJdGVtLCBUaGVtZSB9IGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluLW5hdmlnYXRpb24taGVhZGVyJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uLW1lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmV4cGFuZGVkXSc6ICdpc0V4cGFuZGVkKCknLFxuICAgICcod2luZG93OnJlc2l6ZSknOiAnb25XaW5kb3dSZXNpemUoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBNYWluTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCwgTWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICduZHctbWFpbi1uYXZpZ2F0aW9uJyxcbiAgc3R5bGVVcmw6ICcuL21haW4tbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSAjZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICByZWFkb25seSAjcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBhcHBsaWNhdGlvbk5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHRvcE1lbnVJdGVtcyA9IGlucHV0LnJlcXVpcmVkPE1lbnVJdGVtW10+KCk7XG4gIGJvdHRvbU1lbnVJdGVtcyA9IGlucHV0PE1lbnVJdGVtW10+KCk7XG4gIGVudmlyb25tZW50ID0gaW5wdXQ8RW52aXJvbm1lbnQ+KCk7XG4gIGZvb3RlclRleHRzID0gaW5wdXQ8c3RyaW5nW10+KCk7XG4gIGlzQ29sbGFwc2libGUgPSBpbnB1dCh0cnVlKTtcbiAgdmVyc2lvbiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBpc01vYmlsZSA9IHNpZ25hbChmYWxzZSk7XG4gIGlzTW9iaWxlTWVudU9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICB0aGVtZSA9IHNpZ25hbDxUaGVtZT4oJ25kdycpO1xuXG4gIGlzRXhwYW5kZWQgPSBtb2RlbCh0cnVlKTtcblxuICBtb2JpbGVNZW51SXRlbXMgPSBjb21wdXRlZCgoKSA9PiBbLi4udGhpcy50b3BNZW51SXRlbXMoKSwgLi4uKHRoaXMuYm90dG9tTWVudUl0ZW1zKCkgfHwgW10pXSk7XG4gIHRoZW1lSW1hZ2VQYXRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHZhcmlhbnQgPSAhdGhpcy5pc0V4cGFuZGVkKCkgfHwgdGhpcy5pc01vYmlsZSgpID8gJy1zaG9ydCcgOiAnJztcbiAgICByZXR1cm4gYGltYWdlcy9sb2dvcy8ke3RoaXMudGhlbWUoKX0tbG9nbyR7dmFyaWFudH0uc3ZnYDtcbiAgfSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy4jZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10aGVtZScpO1xuICAgIGlmICh0aGVtZSkge1xuICAgICAgdGhpcy50aGVtZS5zZXQodGhlbWUgYXMgVGhlbWUpO1xuICAgIH1cblxuICAgIHRoaXMuI3RvZ2dsZU1haW5OYXZpZ2F0aW9uRXhwYW5kZWREYXRhQXR0cmlidXRlT25Cb2R5KCk7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgY2xvc2VNb2JpbGVNZW51KCkge1xuICAgIHRoaXMuaXNNb2JpbGVNZW51T3Blbi5zZXQoZmFsc2UpO1xuICB9XG5cbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgY29uc3Qgd2luZG93VmlldyA9IHRoaXMuI2RvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIHRoaXMuaXNNb2JpbGUuc2V0KHdpbmRvd1ZpZXcgPyB3aW5kb3dWaWV3LmlubmVyV2lkdGggPD0gMTAyNCA6IGZhbHNlKTtcbiAgfVxuXG4gIHRvZ2dsZVZpZXcoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkLnVwZGF0ZSgoZXhwYW5kZWQpID0+ICFleHBhbmRlZCk7XG4gICAgdGhpcy4jdG9nZ2xlTWFpbk5hdmlnYXRpb25FeHBhbmRlZERhdGFBdHRyaWJ1dGVPbkJvZHkoKTtcbiAgfVxuXG4gICN0b2dnbGVNYWluTmF2aWdhdGlvbkV4cGFuZGVkRGF0YUF0dHJpYnV0ZU9uQm9keSgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICB0aGlzLiNkb2N1bWVudC5ib2R5LFxuICAgICAgJ2RhdGEtbWFpbi1uYXZpZ2F0aW9uLWV4cGFuZGVkJyxcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCgpLnRvU3RyaW5nKCksXG4gICAgKTtcbiAgfVxufVxuIiwiPG5kdy1tYWluLW5hdmlnYXRpb24taGVhZGVyXG4gIFthcHBsaWNhdGlvbk5hbWVdPVwiYXBwbGljYXRpb25OYW1lKClcIlxuICBbZW52aXJvbm1lbnRdPVwiZW52aXJvbm1lbnQoKVwiXG4gIFtpc0V4cGFuZGVkXT1cImlzRXhwYW5kZWQoKVwiXG4gIFtpc01vYmlsZV09XCJpc01vYmlsZSgpXCJcbiAgW3RoZW1lXT1cInRoZW1lKClcIlxuICBbdGhlbWVJbWFnZVBhdGhdPVwidGhlbWVJbWFnZVBhdGgoKVwiXG4gIFsoaXNNb2JpbGVNZW51T3BlbildPVwiaXNNb2JpbGVNZW51T3BlblwiXG4vPlxuQGlmICghaXNNb2JpbGUoKSkge1xuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxtYWluPlxuICAgICAgPG5kdy1tYWluLW5hdmlnYXRpb24tbWVudVxuICAgICAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkKClcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGUoKVwiXG4gICAgICAgIFtpdGVtc109XCJ0b3BNZW51SXRlbXMoKVwiXG4gICAgICAgIChjbG9zZWQpPVwiY2xvc2VNb2JpbGVNZW51KClcIlxuICAgICAgLz5cbiAgICA8L21haW4+XG4gICAgPGZvb3Rlcj5cbiAgICAgIEBpZiAoYm90dG9tTWVudUl0ZW1zKCk7IGFzIGJvdHRvbU1lbnVJdGVtcykge1xuICAgICAgICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51XG4gICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZCgpXCJcbiAgICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGUoKVwiXG4gICAgICAgICAgW2l0ZW1zXT1cImJvdHRvbU1lbnVJdGVtc1wiXG4gICAgICAgICAgKGNsb3NlZCk9XCJjbG9zZU1vYmlsZU1lbnUoKVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dHNcIj5cbiAgICAgICAgQGlmIChpc0V4cGFuZGVkKCkgfHwgaXNNb2JpbGUoKSkge1xuICAgICAgICAgIEBmb3IgKHRleHQgb2YgZm9vdGVyVGV4dHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidmVyc2lvblwiPlxuICAgICAgICA8cD57eyB2ZXJzaW9uKCkgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoaXNDb2xsYXBzaWJsZSgpICYmICFpc01vYmlsZSgpKSB7XG4gICAgICAgIDxidXR0b24gbmR3QnV0dG9uIG1lbnUgY2xhc3M9XCJjb2xsYXBzZS10b2dnbGVcIiAoY2xpY2spPVwidG9nZ2xlVmlldygpXCI+XG4gICAgICAgICAgPG5kdy1pY29uPmtleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZm9vdGVyPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICBAaWYgKGlzTW9iaWxlTWVudU9wZW4oKSkge1xuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICA8bWFpbj5cbiAgICAgICAgPG5kdy1tYWluLW5hdmlnYXRpb24tbWVudVxuICAgICAgICAgIFtpc0V4cGFuZGVkXT1cImlzRXhwYW5kZWQoKVwiXG4gICAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlKClcIlxuICAgICAgICAgIFtpdGVtc109XCJtb2JpbGVNZW51SXRlbXMoKVwiXG4gICAgICAgICAgKGNsb3NlZCk9XCJjbG9zZU1vYmlsZU1lbnUoKVwiXG4gICAgICAgIC8+XG4gICAgICA8L21haW4+XG4gICAgPC9kaXY+XG4gIH1cbn1cbiJdfQ==","import { CdkScrollable } from '@angular/cdk/scrolling';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MainNavigationComponent } from '../main-navigation';\nimport * as i0 from \"@angular/core\";\nexport class LayoutComponent {\n applicationName = input.required(...(ngDevMode ? [{ debugName: \"applicationName\" }] : []));\n topMenuItems = input.required(...(ngDevMode ? [{ debugName: \"topMenuItems\" }] : []));\n bottomMenuItems = input(...(ngDevMode ? [undefined, { debugName: \"bottomMenuItems\" }] : []));\n environment = input(...(ngDevMode ? [undefined, { debugName: \"environment\" }] : []));\n isCollapsible = input(true, ...(ngDevMode ? [{ debugName: \"isCollapsible\" }] : []));\n isExpanded = input(true, ...(ngDevMode ? [{ debugName: \"isExpanded\" }] : []));\n menuFooterTexts = input(...(ngDevMode ? [undefined, { debugName: \"menuFooterTexts\" }] : []));\n version = input(...(ngDevMode ? [undefined, { debugName: \"version\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: LayoutComponent, isStandalone: true, selector: \"ndw-layout\", inputs: { applicationName: { classPropertyName: \"applicationName\", publicName: \"applicationName\", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: \"topMenuItems\", publicName: \"topMenuItems\", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: \"bottomMenuItems\", publicName: \"bottomMenuItems\", isSignal: true, isRequired: false, transformFunction: null }, environment: { classPropertyName: \"environment\", publicName: \"environment\", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: \"isCollapsible\", publicName: \"isCollapsible\", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: \"isExpanded\", publicName: \"isExpanded\", isSignal: true, isRequired: false, transformFunction: null }, menuFooterTexts: { classPropertyName: \"menuFooterTexts\", publicName: \"menuFooterTexts\", isSignal: true, isRequired: false, transformFunction: null }, version: { classPropertyName: \"version\", publicName: \"version\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<ndw-main-navigation\\n [applicationName]=\\\"applicationName()\\\"\\n [bottomMenuItems]=\\\"bottomMenuItems()\\\"\\n [environment]=\\\"environment()\\\"\\n [footerTexts]=\\\"menuFooterTexts()\\\"\\n [isCollapsible]=\\\"isCollapsible()\\\"\\n [isExpanded]=\\\"isExpanded()\\\"\\n [topMenuItems]=\\\"topMenuItems()\\\"\\n [version]=\\\"version()\\\"\\n/>\\n<main cdk-scrollable>\\n <ng-content />\\n</main>\\n\", styles: [\":root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{background-color:var(--ndw-color-grey-100);display:grid;grid-template-columns:auto 1fr;height:100svh;position:absolute;width:100svw}:host main{align-content:flex-start;display:grid;grid-template-columns:1fr;height:100%;overflow-y:auto;width:100%;z-index:1}@media screen and (max-width: 1024px){:host{grid-template-columns:1fr;grid-template-rows:auto 1fr}}\\n\"], dependencies: [{ kind: \"directive\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\" }, { kind: \"component\", type: MainNavigationComponent, selector: \"ndw-main-navigation\", inputs: [\"applicationName\", \"topMenuItems\", \"bottomMenuItems\", \"environment\", \"footerTexts\", \"isCollapsible\", \"version\", \"isExpanded\"], outputs: [\"isExpandedChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LayoutComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CdkScrollable, MainNavigationComponent], selector: 'ndw-layout', template: \"<ndw-main-navigation\\n [applicationName]=\\\"applicationName()\\\"\\n [bottomMenuItems]=\\\"bottomMenuItems()\\\"\\n [environment]=\\\"environment()\\\"\\n [footerTexts]=\\\"menuFooterTexts()\\\"\\n [isCollapsible]=\\\"isCollapsible()\\\"\\n [isExpanded]=\\\"isExpanded()\\\"\\n [topMenuItems]=\\\"topMenuItems()\\\"\\n [version]=\\\"version()\\\"\\n/>\\n<main cdk-scrollable>\\n <ng-content />\\n</main>\\n\", styles: [\":root{--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-letter-spacing-sm: .1rem;--ndw-letter-spacing-md: .2rem;--ndw-letter-spacing-lg: .3rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-elevation-toast: 0 .75rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \\\"Nunito Sans\\\", sans-serif;--ndw-font-family-heading: \\\"DM Sans\\\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem;--main-navigation-collapse-width: 2.75rem;--main-navigation-expanded-width: 12.5rem;--main-navigation-mobile-header-height: 3.5rem}:host{background-color:var(--ndw-color-grey-100);display:grid;grid-template-columns:auto 1fr;height:100svh;position:absolute;width:100svw}:host main{align-content:flex-start;display:grid;grid-template-columns:1fr;height:100%;overflow-y:auto;width:100%;z-index:1}@media screen and (max-width: 1024px){:host{grid-template-columns:1fr;grid-template-rows:auto 1fr}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQWUsdUJBQXVCLEVBQVksTUFBTSxvQkFBb0IsQ0FBQzs7QUFTcEYsTUFBTSxPQUFPLGVBQWU7SUFDbkIsZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLDBEQUFVLENBQUM7SUFDM0MsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLHVEQUFjLENBQUM7SUFDNUMsZUFBZSxHQUFHLEtBQUsscUVBQWMsQ0FBQztJQUN0QyxXQUFXLEdBQUcsS0FBSyxpRUFBZSxDQUFDO0lBQ25DLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSx5REFBQyxDQUFDO0lBQzVCLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxzREFBQyxDQUFDO0lBQ3pCLGVBQWUsR0FBRyxLQUFLLHFFQUFZLENBQUM7SUFDcEMsT0FBTyxHQUFHLEtBQUssNkRBQVUsQ0FBQzt1R0FSdEIsZUFBZTsyRkFBZixlQUFlLDhyQ0NaNUIsc1hBYUEsaXRFRE5ZLGFBQWEsOEVBQUUsdUJBQXVCOzsyRkFLckMsZUFBZTtrQkFQM0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxFQUFFLHVCQUF1QixDQUFDLFlBQ3ZDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgTWFpbk5hdmlnYXRpb25Db21wb25lbnQsIE1lbnVJdGVtIH0gZnJvbSAnLi4vbWFpbi1uYXZpZ2F0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ2RrU2Nyb2xsYWJsZSwgTWFpbk5hdmlnYXRpb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1sYXlvdXQnLFxuICBzdHlsZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCB7XG4gIHB1YmxpYyBhcHBsaWNhdGlvbk5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB0b3BNZW51SXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxNZW51SXRlbVtdPigpO1xuICBwdWJsaWMgYm90dG9tTWVudUl0ZW1zID0gaW5wdXQ8TWVudUl0ZW1bXT4oKTtcbiAgcHVibGljIGVudmlyb25tZW50ID0gaW5wdXQ8RW52aXJvbm1lbnQ+KCk7XG4gIHB1YmxpYyBpc0NvbGxhcHNpYmxlID0gaW5wdXQodHJ1ZSk7XG4gIHB1YmxpYyBpc0V4cGFuZGVkID0gaW5wdXQodHJ1ZSk7XG4gIHB1YmxpYyBtZW51Rm9vdGVyVGV4dHMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgcHVibGljIHZlcnNpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG59XG4iLCI8bmR3LW1haW4tbmF2aWdhdGlvblxuICBbYXBwbGljYXRpb25OYW1lXT1cImFwcGxpY2F0aW9uTmFtZSgpXCJcbiAgW2JvdHRvbU1lbnVJdGVtc109XCJib3R0b21NZW51SXRlbXMoKVwiXG4gIFtlbnZpcm9ubWVudF09XCJlbnZpcm9ubWVudCgpXCJcbiAgW2Zvb3RlclRleHRzXT1cIm1lbnVGb290ZXJUZXh0cygpXCJcbiAgW2lzQ29sbGFwc2libGVdPVwiaXNDb2xsYXBzaWJsZSgpXCJcbiAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZCgpXCJcbiAgW3RvcE1lbnVJdGVtc109XCJ0b3BNZW51SXRlbXMoKVwiXG4gIFt2ZXJzaW9uXT1cInZlcnNpb24oKVwiXG4vPlxuPG1haW4gY2RrLXNjcm9sbGFibGU+XG4gIDxuZy1jb250ZW50IC8+XG48L21haW4+XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class LayoutBannersComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LayoutBannersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: LayoutBannersComponent, isStandalone: true, selector: \"ndw-layout-banners\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{display:grid;position:sticky;top:0;z-index:10}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LayoutBannersComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-layout-banners', template: \"<ng-content />\\n\", styles: [\":host{display:grid;position:sticky;top:0;z-index:10}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJhbm5lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC1iYW5uZXJzL2xheW91dC1iYW5uZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtYmFubmVycy9sYXlvdXQtYmFubmVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFuRSxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQiw4RUNSbkMsa0JBQ0E7OzJGRE9hLHNCQUFzQjtrQkFObEMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ25kdy1sYXlvdXQtYmFubmVycycsXG4gIHN0eWxlVXJsOiAnLi9sYXlvdXQtYmFubmVycy5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYmFubmVycy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dEJhbm5lcnNDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class LoaderComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: LoaderComponent, isStandalone: true, selector: \"ndw-loader\", ngImport: i0, template: \"<svg viewBox=\\\"0 0 32 32\\\">\\n <circle cx=\\\"4\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n <circle cx=\\\"16\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n <circle cx=\\\"28\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n</svg>\\n\", styles: [\":host{box-sizing:border-box;display:block;height:var(--ndw-spacing-xl);position:relative;width:var(--ndw-spacing-xl)}:host svg{display:block;inset:var(--ndw-border-size-sm);position:absolute}:host svg circle{animation:traffic 1.5s infinite;animation-delay:.1s;fill:currentColor}:host svg circle:first-of-type{animation-delay:.2s}:host svg circle:last-of-type{animation-delay:0s}@keyframes traffic{0%{transform:translate(calc(var(--ndw-spacing-xl) * -1))}33.33%,66.67%{transform:translate(0)}to{transform:translate(var(--ndw-spacing-xl))}}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: LoaderComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-loader', template: \"<svg viewBox=\\\"0 0 32 32\\\">\\n <circle cx=\\\"4\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n <circle cx=\\\"16\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n <circle cx=\\\"28\\\" cy=\\\"16\\\" r=\\\"4\\\" />\\n</svg>\\n\", styles: [\":host{box-sizing:border-box;display:block;height:var(--ndw-spacing-xl);position:relative;width:var(--ndw-spacing-xl)}:host svg{display:block;inset:var(--ndw-border-size-sm);position:absolute}:host svg circle{animation:traffic 1.5s infinite;animation-delay:.1s;fill:currentColor}:host svg circle:first-of-type{animation-delay:.2s}:host svg circle:last-of-type{animation-delay:0s}@keyframes traffic{0%{transform:translate(calc(var(--ndw-spacing-xl) * -1))}33.33%,66.67%{transform:translate(0)}to{transform:translate(var(--ndw-spacing-xl))}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7MkZBQWYsZUFBZSxzRUNSNUIsb0tBS0E7OzJGREdhLGVBQWU7a0JBTjNCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmR3LWxvYWRlcicsXG4gIHN0eWxlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgPGNpcmNsZSBjeD1cIjRcIiBjeT1cIjE2XCIgcj1cIjRcIiAvPlxuICA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjRcIiAvPlxuICA8Y2lyY2xlIGN4PVwiMjhcIiBjeT1cIjE2XCIgcj1cIjRcIiAvPlxuPC9zdmc+XG4iXX0=","export const fontMapButtonIcons = [\n 'direction',\n 'gps',\n 'high-res',\n 'layers',\n 'polygon',\n 'search',\n 'zoom-in',\n 'zoom-out',\n];\nexport const svgMapButtonIcons = [\n 'add-traffic-sign',\n 'add-zone',\n 'download',\n 'hectometer',\n 'low-res',\n 'zoom-to-content',\n];\nexport const mapButtonIcons = [...fontMapButtonIcons, ...svgMapButtonIcons];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJ1dHRvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtYnV0dG9uL21hcC1idXR0b24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLEtBQUs7SUFDTCxVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztJQUNULFVBQVU7Q0FDRixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0Isa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixVQUFVO0lBQ1YsWUFBWTtJQUNaLFNBQVM7SUFDVCxpQkFBaUI7Q0FDVCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZm9udE1hcEJ1dHRvbkljb25zID0gW1xuICAnZGlyZWN0aW9uJyxcbiAgJ2dwcycsXG4gICdoaWdoLXJlcycsXG4gICdsYXllcnMnLFxuICAncG9seWdvbicsXG4gICdzZWFyY2gnLFxuICAnem9vbS1pbicsXG4gICd6b29tLW91dCcsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc3ZnTWFwQnV0dG9uSWNvbnMgPSBbXG4gICdhZGQtdHJhZmZpYy1zaWduJyxcbiAgJ2FkZC16b25lJyxcbiAgJ2Rvd25sb2FkJyxcbiAgJ2hlY3RvbWV0ZXInLFxuICAnbG93LXJlcycsXG4gICd6b29tLXRvLWNvbnRlbnQnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IG1hcEJ1dHRvbkljb25zID0gWy4uLmZvbnRNYXBCdXR0b25JY29ucywgLi4uc3ZnTWFwQnV0dG9uSWNvbnNdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBNYXBCdXR0b25JY29uID0gKHR5cGVvZiBtYXBCdXR0b25JY29ucylbbnVtYmVyXTtcbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { IconComponent } from '../icon/icon.component';\nimport { TooltipDirective } from '../tooltip';\nimport { svgMapButtonIcons } from './map-button.model';\nimport * as i0 from \"@angular/core\";\nexport class MapButtonComponent {\n icon = input.required(...(ngDevMode ? [{ debugName: \"icon\" }] : []));\n active = input(false, ...(ngDevMode ? [{ debugName: \"active\" }] : []));\n ariaLabel = input(...(ngDevMode ? [undefined, { debugName: \"ariaLabel\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n clicked = output();\n buttonIcon = computed(() => this.#icons[this.icon()], ...(ngDevMode ? [{ debugName: \"buttonIcon\" }] : []));\n svgIcon = computed(() => {\n const svgIconNames = [...svgMapButtonIcons];\n const icon = this.icon();\n const active = this.active();\n if (svgIconNames.includes(icon)) {\n return active ? `${icon}-active` : icon;\n }\n return undefined;\n }, ...(ngDevMode ? [{ debugName: \"svgIcon\" }] : []));\n iconLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n const iconLabel = this.#iconLabels[this.icon()];\n return ariaLabel || iconLabel;\n }, ...(ngDevMode ? [{ debugName: \"iconLabel\" }] : []));\n // Mapping from button icon names to Material icons or SVG icon IDs.\n #icons = {\n 'add-traffic-sign': 'add_traffic_sign',\n 'add-zone': 'add_zone',\n direction: 'explore',\n download: 'download',\n gps: 'my_location',\n hectometer: 'hectometer',\n 'high-res': 'high_res',\n layers: 'stacks',\n 'low-res': 'low_res',\n polygon: 'activity_zone',\n search: 'search',\n 'zoom-in': 'add',\n 'zoom-out': 'remove',\n 'zoom-to-content': 'zoom-to-content',\n };\n #iconLabels = {\n 'add-traffic-sign': 'Voeg verkeersbord toe',\n 'add-zone': 'Voeg een zone toe',\n direction: 'Herstel kaartrichting',\n download: 'Download kaartgegevens',\n gps: 'Ga naar mijn locatie',\n hectometer: 'Toon hectometrering',\n 'high-res': 'Hoge resolutie',\n layers: 'Kaartlagen',\n 'low-res': 'Lage resolutie',\n polygon: 'Selecteer een gebied',\n search: 'Zoeken',\n 'zoom-in': 'Zoom in',\n 'zoom-out': 'Zoom uit',\n 'zoom-to-content': 'Zoom naar inhoud',\n };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapButtonComponent, isStandalone: true, selector: \"ndw-map-button\", inputs: { icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: \"active\", publicName: \"active\", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: \"clicked\" }, ngImport: i0, template: \"<button\\n class=\\\"map-control\\\"\\n [class.active]=\\\"active()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [attr.aria-label]=\\\"iconLabel()\\\"\\n (click)=\\\"clicked.emit()\\\"\\n [ndwTooltip]=\\\"iconLabel()\\\"\\n>\\n @if (svgIcon()) {\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <use [attr.href]=\\\"'images/map-button-icons.svg#' + svgIcon()\\\"></use>\\n </svg>\\n } @else {\\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content />\\n </div>\\n</button>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{width:fit-content}.map-control{justify-content:center}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: TooltipDirective, selector: \"[ndwTooltip]\", inputs: [\"ndwTooltip\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapButtonComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-button', imports: [IconComponent, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<button\\n class=\\\"map-control\\\"\\n [class.active]=\\\"active()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [attr.aria-label]=\\\"iconLabel()\\\"\\n (click)=\\\"clicked.emit()\\\"\\n [ndwTooltip]=\\\"iconLabel()\\\"\\n>\\n @if (svgIcon()) {\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <use [attr.href]=\\\"'images/map-button-icons.svg#' + svgIcon()\\\"></use>\\n </svg>\\n } @else {\\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content />\\n </div>\\n</button>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{width:fit-content}.map-control{justify-content:center}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWJ1dHRvbi9tYXAtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtYnV0dG9uL21hcC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTdEUsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsK0NBQWlCLENBQUM7SUFDdkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLGtEQUFDLENBQUM7SUFDdEIsU0FBUyxHQUFHLEtBQUssK0RBQVUsQ0FBQztJQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUV4QixPQUFPLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFFZixVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLHNEQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDekMsTUFBTSxZQUFZLEdBQWEsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3QixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLG1EQUFDLENBQUM7SUFFZ0IsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDO0lBQ2hDLENBQUMscURBQUMsQ0FBQztJQUVILG9FQUFvRTtJQUMzRCxNQUFNLEdBQWtDO1FBQy9DLGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxVQUFVLEVBQUUsVUFBVTtRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsVUFBVTtRQUNwQixHQUFHLEVBQUUsYUFBYTtRQUNsQixVQUFVLEVBQUUsWUFBWTtRQUN4QixVQUFVLEVBQUUsVUFBVTtRQUN0QixNQUFNLEVBQUUsUUFBUTtRQUNoQixTQUFTLEVBQUUsU0FBUztRQUNwQixPQUFPLEVBQUUsZUFBZTtRQUN4QixNQUFNLEVBQUUsUUFBUTtRQUNoQixTQUFTLEVBQUUsS0FBSztRQUNoQixVQUFVLEVBQUUsUUFBUTtRQUNwQixpQkFBaUIsRUFBRSxpQkFBaUI7S0FDckMsQ0FBQztJQUVPLFdBQVcsR0FBa0M7UUFDcEQsa0JBQWtCLEVBQUUsdUJBQXVCO1FBQzNDLFVBQVUsRUFBRSxtQkFBbUI7UUFDL0IsU0FBUyxFQUFFLHVCQUF1QjtRQUNsQyxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsVUFBVSxFQUFFLHFCQUFxQjtRQUNqQyxVQUFVLEVBQUUsZ0JBQWdCO1FBQzVCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixNQUFNLEVBQUUsUUFBUTtRQUNoQixTQUFTLEVBQUUsU0FBUztRQUNwQixVQUFVLEVBQUUsVUFBVTtRQUN0QixpQkFBaUIsRUFBRSxrQkFBa0I7S0FDdEMsQ0FBQzt1R0E1RFMsa0JBQWtCOzJGQUFsQixrQkFBa0IsMm1CQ1ovQiwraUJBbUJBLGk5RERaWSxhQUFhLHFEQUFFLGdCQUFnQjs7MkZBSzlCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsV0FDakIsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWFwQnV0dG9uSWNvbiwgc3ZnTWFwQnV0dG9uSWNvbnMgfSBmcm9tICcuL21hcC1idXR0b24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctbWFwLWJ1dHRvbicsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBUb29sdGlwRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFwLWJ1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCdXR0b25Db21wb25lbnQge1xuICByZWFkb25seSBpY29uID0gaW5wdXQucmVxdWlyZWQ8TWFwQnV0dG9uSWNvbj4oKTtcbiAgcmVhZG9ubHkgYWN0aXZlID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNsaWNrZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnV0dG9uSWNvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI2ljb25zW3RoaXMuaWNvbigpXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdmdJY29uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN2Z0ljb25OYW1lczogc3RyaW5nW10gPSBbLi4uc3ZnTWFwQnV0dG9uSWNvbnNdO1xuICAgIGNvbnN0IGljb24gPSB0aGlzLmljb24oKTtcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmFjdGl2ZSgpO1xuXG4gICAgaWYgKHN2Z0ljb25OYW1lcy5pbmNsdWRlcyhpY29uKSkge1xuICAgICAgcmV0dXJuIGFjdGl2ZSA/IGAke2ljb259LWFjdGl2ZWAgOiBpY29uO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXJpYUxhYmVsID0gdGhpcy5hcmlhTGFiZWwoKTtcbiAgICBjb25zdCBpY29uTGFiZWwgPSB0aGlzLiNpY29uTGFiZWxzW3RoaXMuaWNvbigpXTtcbiAgICByZXR1cm4gYXJpYUxhYmVsIHx8IGljb25MYWJlbDtcbiAgfSk7XG5cbiAgLy8gTWFwcGluZyBmcm9tIGJ1dHRvbiBpY29uIG5hbWVzIHRvIE1hdGVyaWFsIGljb25zIG9yIFNWRyBpY29uIElEcy5cbiAgcmVhZG9ubHkgI2ljb25zOiBSZWNvcmQ8TWFwQnV0dG9uSWNvbiwgc3RyaW5nPiA9IHtcbiAgICAnYWRkLXRyYWZmaWMtc2lnbic6ICdhZGRfdHJhZmZpY19zaWduJyxcbiAgICAnYWRkLXpvbmUnOiAnYWRkX3pvbmUnLFxuICAgIGRpcmVjdGlvbjogJ2V4cGxvcmUnLFxuICAgIGRvd25sb2FkOiAnZG93bmxvYWQnLFxuICAgIGdwczogJ215X2xvY2F0aW9uJyxcbiAgICBoZWN0b21ldGVyOiAnaGVjdG9tZXRlcicsXG4gICAgJ2hpZ2gtcmVzJzogJ2hpZ2hfcmVzJyxcbiAgICBsYXllcnM6ICdzdGFja3MnLFxuICAgICdsb3ctcmVzJzogJ2xvd19yZXMnLFxuICAgIHBvbHlnb246ICdhY3Rpdml0eV96b25lJyxcbiAgICBzZWFyY2g6ICdzZWFyY2gnLFxuICAgICd6b29tLWluJzogJ2FkZCcsXG4gICAgJ3pvb20tb3V0JzogJ3JlbW92ZScsXG4gICAgJ3pvb20tdG8tY29udGVudCc6ICd6b29tLXRvLWNvbnRlbnQnLFxuICB9O1xuXG4gIHJlYWRvbmx5ICNpY29uTGFiZWxzOiBSZWNvcmQ8TWFwQnV0dG9uSWNvbiwgc3RyaW5nPiA9IHtcbiAgICAnYWRkLXRyYWZmaWMtc2lnbic6ICdWb2VnIHZlcmtlZXJzYm9yZCB0b2UnLFxuICAgICdhZGQtem9uZSc6ICdWb2VnIGVlbiB6b25lIHRvZScsXG4gICAgZGlyZWN0aW9uOiAnSGVyc3RlbCBrYWFydHJpY2h0aW5nJyxcbiAgICBkb3dubG9hZDogJ0Rvd25sb2FkIGthYXJ0Z2VnZXZlbnMnLFxuICAgIGdwczogJ0dhIG5hYXIgbWlqbiBsb2NhdGllJyxcbiAgICBoZWN0b21ldGVyOiAnVG9vbiBoZWN0b21ldHJlcmluZycsXG4gICAgJ2hpZ2gtcmVzJzogJ0hvZ2UgcmVzb2x1dGllJyxcbiAgICBsYXllcnM6ICdLYWFydGxhZ2VuJyxcbiAgICAnbG93LXJlcyc6ICdMYWdlIHJlc29sdXRpZScsXG4gICAgcG9seWdvbjogJ1NlbGVjdGVlciBlZW4gZ2ViaWVkJyxcbiAgICBzZWFyY2g6ICdab2VrZW4nLFxuICAgICd6b29tLWluJzogJ1pvb20gaW4nLFxuICAgICd6b29tLW91dCc6ICdab29tIHVpdCcsXG4gICAgJ3pvb20tdG8tY29udGVudCc6ICdab29tIG5hYXIgaW5ob3VkJyxcbiAgfTtcbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJtYXAtY29udHJvbFwiXG4gIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlKClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiaWNvbkxhYmVsKClcIlxuICAoY2xpY2spPVwiY2xpY2tlZC5lbWl0KClcIlxuICBbbmR3VG9vbHRpcF09XCJpY29uTGFiZWwoKVwiXG4+XG4gIEBpZiAoc3ZnSWNvbigpKSB7XG4gICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICA8dXNlIFthdHRyLmhyZWZdPVwiJ2ltYWdlcy9tYXAtYnV0dG9uLWljb25zLnN2ZyMnICsgc3ZnSWNvbigpXCI+PC91c2U+XG4gICAgPC9zdmc+XG4gIH0gQGVsc2Uge1xuICAgIDxuZHctaWNvbj57eyBidXR0b25JY29uKCkgfX08L25kdy1pY29uPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cbjwvYnV0dG9uPlxuIl19","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class MapDisplayOptionComponent {\n option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n direction = input('row', ...(ngDevMode ? [{ debugName: \"direction\" }] : []));\n type = input('checkbox', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n group = input(...(ngDevMode ? [undefined, { debugName: \"group\" }] : []));\n selectionChange = output();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapDisplayOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapDisplayOptionComponent, isStandalone: true, selector: \"ndw-map-display-option\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: \"direction\", publicName: \"direction\", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: \"group\", publicName: \"group\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: \"selectionChange\" }, ngImport: i0, template: \"@if (type() === 'button') {\\n <button\\n type=\\\"button\\\"\\n [title]=\\\"option().description ?? ''\\\"\\n [class.column]=\\\"direction() === 'column'\\\"\\n (click)=\\\"selectionChange.emit(option())\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n <span class=\\\"name\\\">{{ option().name }}</span>\\n </button>\\n} @else if (type() === 'radio' || type() === 'checkbox') {\\n <label [class.column]=\\\"direction() === 'column'\\\" [title]=\\\"option().description ?? ''\\\">\\n <input\\n [type]=\\\"type()\\\"\\n name=\\\"{{ group() }}\\\"\\n [checked]=\\\"option().active\\\"\\n (change)=\\\"selectionChange.emit(option())\\\"\\n />\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n <span class=\\\"name\\\">{{ option().name }}</span>\\n </label>\\n} @else {\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n}\\n\\n<ng-template #template>\\n @if (option().imageLink) {\\n <img [src]=\\\"option().imageLink\\\" [alt]=\\\"option().name\\\" />\\n } @else {\\n <ndw-icon>stacks</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"button,label{padding:0;border:0;display:flex;align-items:center;width:100%;height:40px;gap:var(--ndw-spacing-2xs);color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);transition:background-color var(--ndw-animation-speed-default) ease-out;border-radius:var(--ndw-border-radius-sm);cursor:pointer}button.column,label.column{flex-direction:column;justify-content:end;width:64px;height:64px}button:not(.column),label:not(.column){padding:var(--ndw-spacing-2xs);gap:var(--ndw-spacing-xs)}button:not(.column):has(input:checked),label:not(.column):has(input:checked){font-weight:var(--ndw-font-weight-bold)}button:hover,label:hover{background-color:var(--ndw-color-grey-100)}button:has(input:checked) img,button:has(input:checked) ndw-icon,label:has(input:checked) img,label:has(input:checked) ndw-icon{box-shadow:0 0 0 2px var(--ndw-color-secondary-400)}button input,label input{visibility:hidden;position:absolute;width:0;height:0;opacity:0;pointer-events:none;z-index:-1;left:-9999px;top:-9999px}img,ndw-icon{display:block;overflow:hidden;padding:var(--ndw-spacing-2xs);width:32px;height:32px;object-fit:cover;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-xs)}.name{font-size:var(--ndw-font-size-sm);white-space:nowrap}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapDisplayOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-display-option', imports: [NgTemplateOutlet, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (type() === 'button') {\\n <button\\n type=\\\"button\\\"\\n [title]=\\\"option().description ?? ''\\\"\\n [class.column]=\\\"direction() === 'column'\\\"\\n (click)=\\\"selectionChange.emit(option())\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n <span class=\\\"name\\\">{{ option().name }}</span>\\n </button>\\n} @else if (type() === 'radio' || type() === 'checkbox') {\\n <label [class.column]=\\\"direction() === 'column'\\\" [title]=\\\"option().description ?? ''\\\">\\n <input\\n [type]=\\\"type()\\\"\\n name=\\\"{{ group() }}\\\"\\n [checked]=\\\"option().active\\\"\\n (change)=\\\"selectionChange.emit(option())\\\"\\n />\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n <span class=\\\"name\\\">{{ option().name }}</span>\\n </label>\\n} @else {\\n <ng-container *ngTemplateOutlet=\\\"template\\\" />\\n}\\n\\n<ng-template #template>\\n @if (option().imageLink) {\\n <img [src]=\\\"option().imageLink\\\" [alt]=\\\"option().name\\\" />\\n } @else {\\n <ndw-icon>stacks</ndw-icon>\\n }\\n</ng-template>\\n\", styles: [\"button,label{padding:0;border:0;display:flex;align-items:center;width:100%;height:40px;gap:var(--ndw-spacing-2xs);color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);transition:background-color var(--ndw-animation-speed-default) ease-out;border-radius:var(--ndw-border-radius-sm);cursor:pointer}button.column,label.column{flex-direction:column;justify-content:end;width:64px;height:64px}button:not(.column),label:not(.column){padding:var(--ndw-spacing-2xs);gap:var(--ndw-spacing-xs)}button:not(.column):has(input:checked),label:not(.column):has(input:checked){font-weight:var(--ndw-font-weight-bold)}button:hover,label:hover{background-color:var(--ndw-color-grey-100)}button:has(input:checked) img,button:has(input:checked) ndw-icon,label:has(input:checked) img,label:has(input:checked) ndw-icon{box-shadow:0 0 0 2px var(--ndw-color-secondary-400)}button input,label input{visibility:hidden;position:absolute;width:0;height:0;opacity:0;pointer-events:none;z-index:-1;left:-9999px;top:-9999px}img,ndw-icon{display:block;overflow:hidden;padding:var(--ndw-spacing-2xs);width:32px;height:32px;object-fit:cover;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-xs)}.name{font-size:var(--ndw-font-size-sm);white-space:nowrap}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWRpc3BsYXktb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtZGlzcGxheS9tYXAtZGlzcGxheS1vcHRpb24vbWFwLWRpc3BsYXktb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtZGlzcGxheS9tYXAtZGlzcGxheS1vcHRpb24vbWFwLWRpc3BsYXktb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1sRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQVMzQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxpREFBb0IsQ0FBQztJQUM1QyxTQUFTLEdBQUcsS0FBSyxDQUF5QixLQUFLLHFEQUFDLENBQUM7SUFDakQsSUFBSSxHQUFHLEtBQUssQ0FBb0IsVUFBVSxnREFBQyxDQUFDO0lBQzVDLEtBQUssR0FBRyxLQUFLLDJEQUFzQixDQUFDO0lBRXBDLGVBQWUsR0FBRyxNQUFNLEVBQW9CLENBQUM7dUdBTmxDLHlCQUF5QjsyRkFBekIseUJBQXlCLDBuQkNoQnRDLDAvQkFnQ0Esa3pDRHJCWSxnQkFBZ0Isb0pBQUUsYUFBYTs7MkZBSzlCLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekIsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEaXNwbGF5T3B0aW9uRGlyZWN0aW9uLFxuICBEaXNwbGF5T3B0aW9uVHlwZSxcbiAgTWFwRGlzcGxheU9wdGlvbixcbn0gZnJvbSAnLi9tYXAtZGlzcGxheS1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tYXAtZGlzcGxheS1vcHRpb24nLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtZGlzcGxheS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFwLWRpc3BsYXktb3B0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcERpc3BsYXlPcHRpb25Db21wb25lbnQge1xuICBvcHRpb24gPSBpbnB1dC5yZXF1aXJlZDxNYXBEaXNwbGF5T3B0aW9uPigpO1xuICBkaXJlY3Rpb24gPSBpbnB1dDxEaXNwbGF5T3B0aW9uRGlyZWN0aW9uPigncm93Jyk7XG4gIHR5cGUgPSBpbnB1dDxEaXNwbGF5T3B0aW9uVHlwZT4oJ2NoZWNrYm94Jyk7XG4gIGdyb3VwID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHNlbGVjdGlvbkNoYW5nZSA9IG91dHB1dDxNYXBEaXNwbGF5T3B0aW9uPigpO1xufVxuIiwiQGlmICh0eXBlKCkgPT09ICdidXR0b24nKSB7XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbdGl0bGVdPVwib3B0aW9uKCkuZGVzY3JpcHRpb24gPz8gJydcIlxuICAgIFtjbGFzcy5jb2x1bW5dPVwiZGlyZWN0aW9uKCkgPT09ICdjb2x1bW4nXCJcbiAgICAoY2xpY2spPVwic2VsZWN0aW9uQ2hhbmdlLmVtaXQob3B0aW9uKCkpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiIC8+XG4gICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3sgb3B0aW9uKCkubmFtZSB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG59IEBlbHNlIGlmICh0eXBlKCkgPT09ICdyYWRpbycgfHwgdHlwZSgpID09PSAnY2hlY2tib3gnKSB7XG4gIDxsYWJlbCBbY2xhc3MuY29sdW1uXT1cImRpcmVjdGlvbigpID09PSAnY29sdW1uJ1wiIFt0aXRsZV09XCJvcHRpb24oKS5kZXNjcmlwdGlvbiA/PyAnJ1wiPlxuICAgIDxpbnB1dFxuICAgICAgW3R5cGVdPVwidHlwZSgpXCJcbiAgICAgIG5hbWU9XCJ7eyBncm91cCgpIH19XCJcbiAgICAgIFtjaGVja2VkXT1cIm9wdGlvbigpLmFjdGl2ZVwiXG4gICAgICAoY2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZS5lbWl0KG9wdGlvbigpKVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7IG9wdGlvbigpLm5hbWUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG59IEBlbHNlIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbn1cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgQGlmIChvcHRpb24oKS5pbWFnZUxpbmspIHtcbiAgICA8aW1nIFtzcmNdPVwib3B0aW9uKCkuaW1hZ2VMaW5rXCIgW2FsdF09XCJvcHRpb24oKS5uYW1lXCIgLz5cbiAgfSBAZWxzZSB7XG4gICAgPG5kdy1pY29uPnN0YWNrczwvbmR3LWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { OverlayModule } from '@angular/cdk/overlay';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, input, linkedSignal, model, output, signal, } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { TagComponent } from '../tag';\nimport { MapDisplayOptionComponent, } from './map-display-option';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nexport class MapDisplayComponent {\n title = input('Kaartweergave', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n backgroundsTitle = input('Achtergrond', ...(ngDevMode ? [{ debugName: \"backgroundsTitle\" }] : []));\n layersTitle = input('Gegevens', ...(ngDevMode ? [{ debugName: \"layersTitle\" }] : []));\n enableClearLayers = input(true, ...(ngDevMode ? [{ debugName: \"enableClearLayers\" }] : []));\n layerOptionType = input('checkbox', ...(ngDevMode ? [{ debugName: \"layerOptionType\" }] : []));\n backgroundOptions = input([], ...(ngDevMode ? [{ debugName: \"backgroundOptions\", transform: (options) => (options ?? []).map((bg) => ({ ...bg })) }] : [{\n transform: (options) => (options ?? []).map((bg) => ({ ...bg })),\n }]));\n layerOptions = input([], ...(ngDevMode ? [{ debugName: \"layerOptions\", transform: (options) => (options ?? []).map((layer) => ({ ...layer })) }] : [{\n transform: (options) => (options ?? []).map((layer) => ({ ...layer })),\n }]));\n backgroundChange = output();\n layerChange = output();\n clearAllLayers = output();\n open = model(false, ...(ngDevMode ? [{ debugName: \"open\" }] : []));\n htmlIsRendered = signal(false, ...(ngDevMode ? [{ debugName: \"htmlIsRendered\" }] : []));\n showPopover = computed(() => this.open() && this.htmlIsRendered(), ...(ngDevMode ? [{ debugName: \"showPopover\" }] : []));\n linkedBackgroundOptions = linkedSignal(this.backgroundOptions);\n activeBackgroundOption = computed(() => this.linkedBackgroundOptions()?.find((opt) => opt.active), ...(ngDevMode ? [{ debugName: \"activeBackgroundOption\" }] : []));\n linkedLayerOptions = linkedSignal(this.layerOptions);\n numberOfSelectedLayers = computed(() => this.linkedLayerOptions()?.filter((opt) => opt.active)?.length ?? 0, ...(ngDevMode ? [{ debugName: \"numberOfSelectedLayers\" }] : []));\n constructor() {\n afterNextRender(() => this.htmlIsRendered.set(true));\n }\n ngOnInit() {\n this.#initBackgroundOptions();\n }\n selectBackground(option) {\n this.linkedBackgroundOptions.update((options) => options.map((opt) => ({ ...opt, active: opt.id === option.id })));\n this.backgroundChange.emit(option);\n }\n toggleLayer(option) {\n const isRadio = this.layerOptionType() === 'radio';\n if (isRadio) {\n this.#resetAllLayers();\n }\n this.linkedLayerOptions.update((options) => options.map((opt) => {\n let newActive = !!opt.active;\n if (opt.id === option.id) {\n newActive = isRadio ? true : !opt.active;\n }\n const newOption = { ...opt, active: newActive };\n if (newOption.active !== opt.active) {\n this.layerChange.emit(newOption);\n }\n return newOption;\n }));\n }\n clearLayers() {\n this.#resetAllLayers();\n this.clearAllLayers.emit();\n }\n #resetAllLayers(options) {\n const { emitEvent = true } = options || {};\n this.linkedLayerOptions.update((options) => options.map((opt) => {\n const newOption = { ...opt, active: false };\n if (opt.active && emitEvent) {\n this.layerChange.emit(newOption);\n }\n return newOption;\n }));\n }\n #initBackgroundOptions() {\n const options = this.linkedBackgroundOptions();\n const activeBackground = options?.find((opt) => opt.active);\n if (!activeBackground && options?.length) {\n this.selectBackground(options[0]);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapDisplayComponent, isStandalone: true, selector: \"ndw-map-display\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, backgroundsTitle: { classPropertyName: \"backgroundsTitle\", publicName: \"backgroundsTitle\", isSignal: true, isRequired: false, transformFunction: null }, layersTitle: { classPropertyName: \"layersTitle\", publicName: \"layersTitle\", isSignal: true, isRequired: false, transformFunction: null }, enableClearLayers: { classPropertyName: \"enableClearLayers\", publicName: \"enableClearLayers\", isSignal: true, isRequired: false, transformFunction: null }, layerOptionType: { classPropertyName: \"layerOptionType\", publicName: \"layerOptionType\", isSignal: true, isRequired: false, transformFunction: null }, backgroundOptions: { classPropertyName: \"backgroundOptions\", publicName: \"backgroundOptions\", isSignal: true, isRequired: false, transformFunction: null }, layerOptions: { classPropertyName: \"layerOptions\", publicName: \"layerOptions\", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: \"open\", publicName: \"open\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backgroundChange: \"backgroundChange\", layerChange: \"layerChange\", clearAllLayers: \"clearAllLayers\", open: \"openChange\" }, ngImport: i0, template: \"<div class=\\\"map-control\\\" [class.active]=\\\"open()\\\" cdkOverlayOrigin #trigger=\\\"cdkOverlayOrigin\\\">\\n @let activeBackground = activeBackgroundOption();\\n @if (activeBackground) {\\n <ndw-map-display-option [option]=\\\"activeBackground\\\" [type]=\\\"'none'\\\" />\\n }\\n\\n <button class=\\\"content-wrapper\\\" type=\\\"button\\\" (click)=\\\"open.set(!open())\\\">\\n {{ title() }}\\n </button>\\n\\n @if (numberOfSelectedLayers() && enableClearLayers()) {\\n <ndw-tag (clicked)=\\\"clearLayers()\\\">{{ numberOfSelectedLayers() }}</ndw-tag>\\n }\\n\\n <ndw-icon class=\\\"map-control__chevron\\\">keyboard_arrow_down</ndw-icon>\\n</div>\\n\\n<ng-template\\n cdkConnectedOverlay\\n [cdkConnectedOverlayOrigin]=\\\"trigger\\\"\\n [cdkConnectedOverlayOpen]=\\\"showPopover()\\\"\\n (detach)=\\\"open.set(false)\\\"\\n (overlayOutsideClick)=\\\"open.set(false)\\\"\\n>\\n <div class=\\\"map-control-dropdown\\\">\\n <header>\\n <h3 class=\\\"ndw-paragraph-bold-lg\\\">{{ title() }}</h3>\\n <button ndwButton tertiary type=\\\"button\\\" (click)=\\\"open.set(false)\\\">\\n <ndw-icon>close</ndw-icon>\\n <span class=\\\"sr-only\\\">Sluit {{ title() }}</span>\\n </button>\\n </header>\\n\\n <div class=\\\"map-control-dropdown__content\\\">\\n @if (linkedBackgroundOptions().length) {\\n <section class=\\\"map-control-dropdown__section\\\">\\n <h4 class=\\\"ndw-paragraph-bold-md map-control-dropdown__subtitle\\\">\\n {{ backgroundsTitle() }}\\n </h4>\\n <ul class=\\\"map-control-dropdown__backgrounds\\\">\\n @for (backgroundOption of linkedBackgroundOptions(); track backgroundOption.id) {\\n <li>\\n <ndw-map-display-option\\n [option]=\\\"backgroundOption\\\"\\n [group]=\\\"'map-backgrounds'\\\"\\n [type]=\\\"'radio'\\\"\\n [direction]=\\\"'column'\\\"\\n (selectionChange)=\\\"selectBackground($event)\\\"\\n />\\n </li>\\n }\\n </ul>\\n </section>\\n }\\n\\n @if (linkedLayerOptions().length) {\\n <section class=\\\"map-control-dropdown__section\\\">\\n <h4 class=\\\"ndw-paragraph-bold-md map-control-dropdown__subtitle\\\">{{ layersTitle() }}</h4>\\n <ul>\\n @for (layerOption of linkedLayerOptions(); track layerOption.id) {\\n <li>\\n <ndw-map-display-option\\n [option]=\\\"layerOption\\\"\\n [group]=\\\"'map-layers'\\\"\\n [type]=\\\"layerOptionType()\\\"\\n [direction]=\\\"'row'\\\"\\n (selectionChange)=\\\"toggleLayer($event)\\\"\\n />\\n </li>\\n }\\n </ul>\\n </section>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\".map-control{padding:.25rem}.map-control-dropdown__section:not(:first-of-type){margin-top:var(--ndw-spacing-md)}.map-control-dropdown ul{margin-block-start:var(--ndw-spacing-xs);margin-block-end:0;list-style-type:none;padding:0}.map-control-dropdown ul.map-control-dropdown__backgrounds{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:var(--ndw-spacing-2xs)}.map-control-dropdown__subtitle{color:var(--ndw-color-grey-600);padding-inline:var(--ndw-spacing-2xs);margin-block:0}\\n\"], dependencies: [{ kind: \"component\", type: MapDisplayOptionComponent, selector: \"ndw-map-display-option\", inputs: [\"option\", \"direction\", \"type\", \"group\"], outputs: [\"selectionChange\"] }, { kind: \"ngmodule\", type: OverlayModule }, { kind: \"directive\", type: i1.CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: [\"cdkConnectedOverlayOrigin\", \"cdkConnectedOverlayPositions\", \"cdkConnectedOverlayPositionStrategy\", \"cdkConnectedOverlayOffsetX\", \"cdkConnectedOverlayOffsetY\", \"cdkConnectedOverlayWidth\", \"cdkConnectedOverlayHeight\", \"cdkConnectedOverlayMinWidth\", \"cdkConnectedOverlayMinHeight\", \"cdkConnectedOverlayBackdropClass\", \"cdkConnectedOverlayPanelClass\", \"cdkConnectedOverlayViewportMargin\", \"cdkConnectedOverlayScrollStrategy\", \"cdkConnectedOverlayOpen\", \"cdkConnectedOverlayDisableClose\", \"cdkConnectedOverlayTransformOriginOn\", \"cdkConnectedOverlayHasBackdrop\", \"cdkConnectedOverlayLockPosition\", \"cdkConnectedOverlayFlexibleDimensions\", \"cdkConnectedOverlayGrowAfterOpen\", \"cdkConnectedOverlayPush\", \"cdkConnectedOverlayDisposeOnNavigation\"], outputs: [\"backdropClick\", \"positionChange\", \"attach\", \"detach\", \"overlayKeydown\", \"overlayOutsideClick\"], exportAs: [\"cdkConnectedOverlay\"] }, { kind: \"directive\", type: i1.CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: TagComponent, selector: \"ndw-tag\", inputs: [\"disabled\", \"suffixAriaLabel\", \"suffixIcon\"], outputs: [\"clicked\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapDisplayComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-display', imports: [MapDisplayOptionComponent, OverlayModule, IconComponent, TagComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"map-control\\\" [class.active]=\\\"open()\\\" cdkOverlayOrigin #trigger=\\\"cdkOverlayOrigin\\\">\\n @let activeBackground = activeBackgroundOption();\\n @if (activeBackground) {\\n <ndw-map-display-option [option]=\\\"activeBackground\\\" [type]=\\\"'none'\\\" />\\n }\\n\\n <button class=\\\"content-wrapper\\\" type=\\\"button\\\" (click)=\\\"open.set(!open())\\\">\\n {{ title() }}\\n </button>\\n\\n @if (numberOfSelectedLayers() && enableClearLayers()) {\\n <ndw-tag (clicked)=\\\"clearLayers()\\\">{{ numberOfSelectedLayers() }}</ndw-tag>\\n }\\n\\n <ndw-icon class=\\\"map-control__chevron\\\">keyboard_arrow_down</ndw-icon>\\n</div>\\n\\n<ng-template\\n cdkConnectedOverlay\\n [cdkConnectedOverlayOrigin]=\\\"trigger\\\"\\n [cdkConnectedOverlayOpen]=\\\"showPopover()\\\"\\n (detach)=\\\"open.set(false)\\\"\\n (overlayOutsideClick)=\\\"open.set(false)\\\"\\n>\\n <div class=\\\"map-control-dropdown\\\">\\n <header>\\n <h3 class=\\\"ndw-paragraph-bold-lg\\\">{{ title() }}</h3>\\n <button ndwButton tertiary type=\\\"button\\\" (click)=\\\"open.set(false)\\\">\\n <ndw-icon>close</ndw-icon>\\n <span class=\\\"sr-only\\\">Sluit {{ title() }}</span>\\n </button>\\n </header>\\n\\n <div class=\\\"map-control-dropdown__content\\\">\\n @if (linkedBackgroundOptions().length) {\\n <section class=\\\"map-control-dropdown__section\\\">\\n <h4 class=\\\"ndw-paragraph-bold-md map-control-dropdown__subtitle\\\">\\n {{ backgroundsTitle() }}\\n </h4>\\n <ul class=\\\"map-control-dropdown__backgrounds\\\">\\n @for (backgroundOption of linkedBackgroundOptions(); track backgroundOption.id) {\\n <li>\\n <ndw-map-display-option\\n [option]=\\\"backgroundOption\\\"\\n [group]=\\\"'map-backgrounds'\\\"\\n [type]=\\\"'radio'\\\"\\n [direction]=\\\"'column'\\\"\\n (selectionChange)=\\\"selectBackground($event)\\\"\\n />\\n </li>\\n }\\n </ul>\\n </section>\\n }\\n\\n @if (linkedLayerOptions().length) {\\n <section class=\\\"map-control-dropdown__section\\\">\\n <h4 class=\\\"ndw-paragraph-bold-md map-control-dropdown__subtitle\\\">{{ layersTitle() }}</h4>\\n <ul>\\n @for (layerOption of linkedLayerOptions(); track layerOption.id) {\\n <li>\\n <ndw-map-display-option\\n [option]=\\\"layerOption\\\"\\n [group]=\\\"'map-layers'\\\"\\n [type]=\\\"layerOptionType()\\\"\\n [direction]=\\\"'row'\\\"\\n (selectionChange)=\\\"toggleLayer($event)\\\"\\n />\\n </li>\\n }\\n </ul>\\n </section>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\".map-control{padding:.25rem}.map-control-dropdown__section:not(:first-of-type){margin-top:var(--ndw-spacing-md)}.map-control-dropdown ul{margin-block-start:var(--ndw-spacing-xs);margin-block-end:0;list-style-type:none;padding:0}.map-control-dropdown ul.map-control-dropdown__backgrounds{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:var(--ndw-spacing-2xs)}.map-control-dropdown__subtitle{color:var(--ndw-color-grey-600);padding-inline:var(--ndw-spacing-2xs);margin-block:0}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21hcC1kaXNwbGF5L21hcC1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtZGlzcGxheS9tYXAtZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBR0wseUJBQXlCLEdBQzFCLE1BQU0sc0JBQXNCLENBQUM7OztBQVM5QixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLEtBQUssR0FBRyxLQUFLLENBQVMsZUFBZSxpREFBQyxDQUFDO0lBQ3ZDLGdCQUFnQixHQUFHLEtBQUssQ0FBUyxhQUFhLDREQUFDLENBQUM7SUFDaEQsV0FBVyxHQUFHLEtBQUssQ0FBUyxVQUFVLHVEQUFDLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsS0FBSyxDQUFVLElBQUksNkRBQUMsQ0FBQztJQUN6QyxlQUFlLEdBQUcsS0FBSyxDQUF1QixVQUFVLDJEQUFDLENBQUM7SUFDMUQsaUJBQWlCLEdBQUcsS0FBSyxDQUErQyxFQUFFLHFEQUN4RSxTQUFTLEVBQUUsQ0FBQyxPQUE4QixFQUF5QixFQUFFLENBQ25FLENBQUMsT0FBTyxJ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QUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDNUMsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUQsSUFBSSxDQUFDLGdCQUFnQixJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7dUdBbkdVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHUwQ0M3QmhDLGtzRkE0RUEsdWpCRHBEWSx5QkFBeUIsa0pBQUUsYUFBYSwyckNBQUUsYUFBYSxxREFBRSxZQUFZOzsyRkFLcEUsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixXQUNsQixDQUFDLHlCQUF5QixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLG1CQUcvRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgbW9kZWwsXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFnJztcbmltcG9ydCB7XG4gIE1hcEJhY2tncm91bmRPcHRpb24sXG4gIE1hcERpc3BsYXlPcHRpb24sXG4gIE1hcERpc3BsYXlPcHRpb25Db21wb25lbnQsXG59IGZyb20gJy4vbWFwLWRpc3BsYXktb3B0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1hcC1kaXNwbGF5JyxcbiAgaW1wb3J0czogW01hcERpc3BsYXlPcHRpb25Db21wb25lbnQsIE92ZXJsYXlNb2R1bGUsIEljb25Db21wb25lbnQsIFRhZ0NvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYXAtZGlzcGxheS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBEaXNwbGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdLYWFydHdlZXJnYXZlJyk7XG4gIGJhY2tncm91bmRzVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdBY2h0ZXJncm9uZCcpO1xuICBsYXllcnNUaXRsZSA9IGlucHV0PHN0cmluZz4oJ0dlZ2V2ZW5zJyk7XG4gIGVuYWJsZUNsZWFyTGF5ZXJzID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGxheWVyT3B0aW9uVHlwZSA9IGlucHV0PCdyYWRpbycgfCAnY2hlY2tib3gnPignY2hlY2tib3gnKTtcbiAgYmFja2dyb3VuZE9wdGlvbnMgPSBpbnB1dDxNYXBCYWNrZ3JvdW5kT3B0aW9uW10sIE1hcEJhY2tncm91bmRPcHRpb25bXT4oW10sIHtcbiAgICB0cmFuc2Zvcm06IChvcHRpb25zOiBNYXBCYWNrZ3JvdW5kT3B0aW9uW10pOiBNYXBCYWNrZ3JvdW5kT3B0aW9uW10gPT5cbiAgICAgIChvcHRpb25zID8/IFtdKS5tYXAoKGJnKSA9PiAoeyAuLi5iZyB9KSksXG4gIH0pO1xuICBsYXllck9wdGlvbnMgPSBpbnB1dDxNYXBEaXNwbGF5T3B0aW9uW10sIE1hcERpc3BsYXlPcHRpb25bXT4oW10sIHtcbiAgICB0cmFuc2Zvcm06IChvcHRpb25zOiBNYXBEaXNwbGF5T3B0aW9uW10pOiBNYXBEaXNwbGF5T3B0aW9uW10gPT5cbiAgICAgIChvcHRpb25zID8/IFtdKS5tYXAoKGxheWVyKSA9PiAoeyAuLi5sYXllciB9KSksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJhY2tncm91bmRDaGFuZ2UgPSBvdXRwdXQ8TWFwQmFja2dyb3VuZE9wdGlvbj4oKTtcbiAgcmVhZG9ubHkgbGF5ZXJDaGFuZ2UgPSBvdXRwdXQ8TWFwRGlzcGxheU9wdGlvbj4oKTtcbiAgcmVhZG9ubHkgY2xlYXJBbGxMYXllcnMgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICByZWFkb25seSBvcGVuID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSBodG1sSXNSZW5kZXJlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dQb3BvdmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcGVuKCkgJiYgdGhpcy5odG1sSXNSZW5kZXJlZCgpKTtcblxuICByZWFkb25seSBsaW5rZWRCYWNrZ3JvdW5kT3B0aW9ucyA9IGxpbmtlZFNpZ25hbCh0aGlzLmJhY2tncm91bmRPcHRpb25zKTtcbiAgcmVhZG9ubHkgYWN0aXZlQmFja2dyb3VuZE9wdGlvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5saW5rZWRCYWNrZ3JvdW5kT3B0aW9ucygpPy5maW5kKChvcHQpID0+IG9wdC5hY3RpdmUpLFxuICApO1xuXG4gIHJlYWRvbmx5IGxpbmtlZExheWVyT3B0aW9ucyA9IGxpbmtlZFNpZ25hbCh0aGlzLmxheWVyT3B0aW9ucyk7XG4gIHJlYWRvbmx5IG51bWJlck9mU2VsZWN0ZWRMYXllcnMgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmxpbmtlZExheWVyT3B0aW9ucygpPy5maWx0ZXIoKG9wdCkgPT4gb3B0LmFjdGl2ZSk/Lmxlbmd0aCA/PyAwLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLmh0bWxJc1JlbmRlcmVkLnNldCh0cnVlKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLiNpbml0QmFja2dyb3VuZE9wdGlvbnMoKTtcbiAgfVxuXG4gIHNlbGVjdEJhY2tncm91bmQob3B0aW9uOiBNYXBEaXNwbGF5T3B0aW9uKSB7XG4gICAgdGhpcy5saW5rZWRCYWNrZ3JvdW5kT3B0aW9ucy51cGRhdGUoKG9wdGlvbnMpID0+XG4gICAgICBvcHRpb25zLm1hcCgob3B0KSA9PiAoeyAuLi5vcHQsIGFjdGl2ZTogb3B0LmlkID09PSBvcHRpb24uaWQgfSkpLFxuICAgICk7XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ2hhbmdlLmVtaXQob3B0aW9uIGFzIE1hcEJhY2tncm91bmRPcHRpb24pO1xuICB9XG5cbiAgdG9nZ2xlTGF5ZXIob3B0aW9uOiBNYXBEaXNwbGF5T3B0aW9uKSB7XG4gICAgY29uc3QgaXNSYWRpbyA9IHRoaXMubGF5ZXJPcHRpb25UeXBlKCkgPT09ICdyYWRpbyc7XG5cbiAgICBpZiAoaXNSYWRpbykge1xuICAgICAgdGhpcy4jcmVzZXRBbGxMYXllcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmtlZExheWVyT3B0aW9ucy51cGRhdGUoKG9wdGlvbnMpID0+XG4gICAgICBvcHRpb25zLm1hcCgob3B0KSA9PiB7XG4gICAgICAgIGxldCBuZXdBY3RpdmUgPSAhIW9wdC5hY3RpdmU7XG5cbiAgICAgICAgaWYgKG9wdC5pZCA9PT0gb3B0aW9uLmlkKSB7XG4gICAgICAgICAgbmV3QWN0aXZlID0gaXNSYWRpbyA/IHRydWUgOiAhb3B0LmFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld09wdGlvbiA9IHsgLi4ub3B0LCBhY3RpdmU6IG5ld0FjdGl2ZSB9O1xuXG4gICAgICAgIGlmIChuZXdPcHRpb24uYWN0aXZlICE9PSBvcHQuYWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5sYXllckNoYW5nZS5lbWl0KG5ld09wdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3T3B0aW9uO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyTGF5ZXJzKCkge1xuICAgIHRoaXMuI3Jlc2V0QWxsTGF5ZXJzKCk7XG4gICAgdGhpcy5jbGVhckFsbExheWVycy5lbWl0KCk7XG4gIH1cblxuICAjcmVzZXRBbGxMYXllcnMob3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICBjb25zdCB7IGVtaXRFdmVudCA9IHRydWUgfSA9IG9wdGlvbnMgfHwge307XG4gICAgdGhpcy5saW5rZWRMYXllck9wdGlvbnMudXBkYXRlKChvcHRpb25zKSA9PlxuICAgICAgb3B0aW9ucy5tYXAoKG9wdCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdPcHRpb24gPSB7IC4uLm9wdCwgYWN0aXZlOiBmYWxzZSB9O1xuICAgICAgICBpZiAob3B0LmFjdGl2ZSAmJiBlbWl0RXZlbnQpIHtcbiAgICAgICAgICB0aGlzLmxheWVyQ2hhbmdlLmVtaXQobmV3T3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3T3B0aW9uO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gICNpbml0QmFja2dyb3VuZE9wdGlvbnMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMubGlua2VkQmFja2dyb3VuZE9wdGlvbnMoKTtcbiAgICBjb25zdCBhY3RpdmVCYWNrZ3JvdW5kID0gb3B0aW9ucz8uZmluZCgob3B0KSA9PiBvcHQuYWN0aXZlKTtcblxuICAgIGlmICghYWN0aXZlQmFja2dyb3VuZCAmJiBvcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0QmFja2dyb3VuZChvcHRpb25zWzBdKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXAtY29udHJvbFwiIFtjbGFzcy5hY3RpdmVdPVwib3BlbigpXCIgY2RrT3ZlcmxheU9yaWdpbiAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIj5cbiAgQGxldCBhY3RpdmVCYWNrZ3JvdW5kID0gYWN0aXZlQmFja2dyb3VuZE9wdGlvbigpO1xuICBAaWYgKGFjdGl2ZUJhY2tncm91bmQpIHtcbiAgICA8bmR3LW1hcC1kaXNwbGF5LW9wdGlvbiBbb3B0aW9uXT1cImFjdGl2ZUJhY2tncm91bmRcIiBbdHlwZV09XCInbm9uZSdcIiAvPlxuICB9XG5cbiAgPGJ1dHRvbiBjbGFzcz1cImNvbnRlbnQtd3JhcHBlclwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3Blbi5zZXQoIW9wZW4oKSlcIj5cbiAgICB7eyB0aXRsZSgpIH19XG4gIDwvYnV0dG9uPlxuXG4gIEBpZiAobnVtYmVyT2ZTZWxlY3RlZExheWVycygpICYmIGVuYWJsZUNsZWFyTGF5ZXJzKCkpIHtcbiAgICA8bmR3LXRhZyAoY2xpY2tlZCk9XCJjbGVhckxheWVycygpXCI+e3sgbnVtYmVyT2ZTZWxlY3RlZExheWVycygpIH19PC9uZHctdGFnPlxuICB9XG5cbiAgPG5kdy1pY29uIGNsYXNzPVwibWFwLWNvbnRyb2xfX2NoZXZyb25cIj5rZXlib2FyZF9hcnJvd19kb3duPC9uZHctaWNvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cInNob3dQb3BvdmVyKClcIlxuICAoZGV0YWNoKT1cIm9wZW4uc2V0KGZhbHNlKVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cIm9wZW4uc2V0KGZhbHNlKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJtYXAtY29udHJvbC1kcm9wZG93blwiPlxuICAgIDxoZWFkZXI+XG4gICAgICA8aDMgY2xhc3M9XCJuZHctcGFyYWdyYXBoLWJvbGQtbGdcIj57eyB0aXRsZSgpIH19PC9oMz5cbiAgICAgIDxidXR0b24gbmR3QnV0dG9uIHRlcnRpYXJ5IHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3Blbi5zZXQoZmFsc2UpXCI+XG4gICAgICAgIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlNsdWl0IHt7IHRpdGxlKCkgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXAtY29udHJvbC1kcm9wZG93bl9fY29udGVudFwiPlxuICAgICAgQGlmIChsaW5rZWRCYWNrZ3JvdW5kT3B0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cIm1hcC1jb250cm9sLWRyb3Bkb3duX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwibmR3LXBhcmFncmFwaC1ib2xkLW1kIG1hcC1jb250cm9sLWRyb3Bkb3duX19zdWJ0aXRsZVwiPlxuICAgICAgICAgICAge3sgYmFja2dyb3VuZHNUaXRsZSgpIH19XG4gICAgICAgICAgPC9oND5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJtYXAtY29udHJvbC1kcm9wZG93bl9fYmFja2dyb3VuZHNcIj5cbiAgICAgICAgICAgIEBmb3IgKGJhY2tncm91bmRPcHRpb24gb2YgbGlua2VkQmFja2dyb3VuZE9wdGlvbnMoKTsgdHJhY2sgYmFja2dyb3VuZE9wdGlvbi5pZCkge1xuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPG5kdy1tYXAtZGlzcGxheS1vcHRpb25cbiAgICAgICAgICAgICAgICAgIFtvcHRpb25dPVwiYmFja2dyb3VuZE9wdGlvblwiXG4gICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiJ21hcC1iYWNrZ3JvdW5kcydcIlxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ3JhZGlvJ1wiXG4gICAgICAgICAgICAgICAgICBbZGlyZWN0aW9uXT1cIidjb2x1bW4nXCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0QmFja2dyb3VuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgQGlmIChsaW5rZWRMYXllck9wdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtYXAtY29udHJvbC1kcm9wZG93bl9fc2VjdGlvblwiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cIm5kdy1wYXJhZ3JhcGgtYm9sZC1tZCBtYXAtY29udHJvbC1kcm9wZG93bl9fc3VidGl0bGVcIj57eyBsYXllcnNUaXRsZSgpIH19PC9oND5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICBAZm9yIChsYXllck9wdGlvbiBvZiBsaW5rZWRMYXllck9wdGlvbnMoKTsgdHJhY2sgbGF5ZXJPcHRpb24uaWQpIHtcbiAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIDxuZHctbWFwLWRpc3BsYXktb3B0aW9uXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uXT1cImxheWVyT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgIFtncm91cF09XCInbWFwLWxheWVycydcIlxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwibGF5ZXJPcHRpb25UeXBlKClcIlxuICAgICAgICAgICAgICAgICAgW2RpcmVjdGlvbl09XCIncm93J1wiXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInRvZ2dsZUxheWVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","export const MAP_BACKGROUND_IMAGES = {\n OSM_DEFAULT: 'images/map-backgrounds/osm-default.webp',\n OSM_BASIC: 'images/map-backgrounds/osm-basic.webp',\n OSM_COLOR_BLIND: 'images/map-backgrounds/osm-color-blind.webp',\n OSM_DARK: 'images/map-backgrounds/osm-dark.webp',\n OSM_NO_ROADS: 'images/map-backgrounds/osm-default-no-roads.webp',\n OSM_FCD_LINKS: 'images/map-backgrounds/osm-default-with-fcd-links_1-5.webp',\n OSM_FCD_ROADS: 'images/map-backgrounds/osm-default-with-fcd-roads.webp',\n OSM_FCD_SEGMENTS: 'images/map-backgrounds/osm-default-with-fcd-segments.webp',\n OSM_MST: 'images/map-backgrounds/osm-default-with-mst.webp',\n OSM_NWB_ROADS_WHITE: 'images/map-backgrounds/osm-default-with-nwb-roads-white.webp',\n OSM_NWB_ROADS: 'images/map-backgrounds/osm-default-with-nwb-roads.webp',\n OSM_DEFAULT_FULL: 'images/map-backgrounds/osm-default.webp',\n OSM_FRONT_DARK: 'images/map-backgrounds/osm-front-office-dark.webp',\n OSM_FRONT_LIGHT_NWB: 'images/map-backgrounds/osm-front-office-light-with-nwb-roads.webp',\n OSM_FRONT_LIGHT: 'images/map-backgrounds/osm-front-office-light.webp',\n OSM_GREEN: 'images/map-backgrounds/osm-green.webp',\n};\nexport const MAP_BACKGROUNDS = {\n OSM_BASIC: {\n id: 'OSM_BASIC',\n name: 'Basis',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_BASIC,\n style: 'https://maps.ndw.nu/styles/osm-basic.json',\n },\n OSM_DEFAULT: {\n id: 'OSM_DEFAULT',\n name: 'Standaard',\n description: 'Standaard',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DEFAULT,\n style: 'https://maps.ndw.nu/styles/osm-default.json',\n },\n OSM_COLOR_BLIND: {\n id: 'OSM_COLOR_BLIND',\n name: 'Kleuren',\n description: 'Kleurenblind',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_COLOR_BLIND,\n style: 'https://maps.ndw.nu/styles/osm-color-blind.json',\n },\n OSM_DARK: {\n id: 'OSM_DARK',\n name: 'Donker',\n description: 'Donker',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DARK,\n style: 'https://maps.ndw.nu/styles/osm-dark.json',\n },\n OSM_NO_ROADS: {\n id: 'OSM_NO_ROADS',\n name: 'OSM N.R.',\n description: 'OSM zonder wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NO_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-no-roads.json',\n },\n OSM_FCD_LINKS: {\n id: 'OSM_FCD_LINKS',\n name: 'FCD L.',\n description: 'OSM met FCD links',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_LINKS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-links_1-5.json',\n },\n OSM_FCD_ROADS: {\n id: 'OSM_FCD_ROADS',\n name: 'FCD R.',\n description: 'OSM met FCD wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-roads.json',\n },\n OSM_FCD_SEGMENTS: {\n id: 'OSM_FCD_SEGMENTS',\n name: 'FCD S.',\n description: 'OSM met FCD segmenten',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_SEGMENTS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-segments.json',\n },\n OSM_MST: {\n id: 'OSM_MST',\n name: 'OSM MST',\n description: 'OSM met MST',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_MST,\n style: 'https://maps.ndw.nu/styles/osm-default-with-mst.json',\n },\n OSM_NWB_ROADS_WHITE: {\n id: 'OSM_NWB_ROADS_WHITE',\n name: 'NWB W.',\n description: 'OSM met NWB wegen (wit)',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NWB_ROADS_WHITE,\n style: 'https://maps.ndw.nu/styles/osm-default-with-nwb-roads-white.json',\n },\n OSM_NWB_ROADS: {\n id: 'OSM_NWB_ROADS',\n name: 'NWB',\n description: 'OSM met NWB',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NWB_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-nwb-roads.json',\n },\n OSM_DEFAULT_FULL: {\n id: 'OSM_DEFAULT_FULL',\n name: 'Default',\n description: 'OSM standaard',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DEFAULT_FULL,\n style: 'https://maps.ndw.nu/styles/osm-default.json',\n },\n OSM_FRONT_DARK: {\n id: 'OSM_FRONT_DARK',\n name: 'OSM F.D.',\n description: 'OSM front office donker',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_DARK,\n style: 'https://maps.ndw.nu/styles/osm-front-office-dark.json',\n },\n OSM_FRONT_LIGHT_NWB: {\n id: 'OSM_FRONT_LIGHT_NWB',\n name: 'F.L. NWB',\n description: 'OSM front office licht met NWB wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_LIGHT_NWB,\n style: 'https://maps.ndw.nu/styles/osm-front-office-light-with-nwb-roads.json',\n },\n OSM_FRONT_LIGHT: {\n id: 'OSM_FRONT_LIGHT',\n name: 'F.L.',\n description: 'OSM front office licht',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_LIGHT,\n style: 'https://maps.ndw.nu/styles/osm-front-office-light.json',\n },\n OSM_GREEN: {\n id: 'OSM_GREEN',\n name: 'OSM G.',\n description: 'OSM groen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_GREEN,\n style: 'https://maps.ndw.nu/styles/osm-green.json',\n },\n};\nexport const DEFAULT_BACKGROUNDS = [\n MAP_BACKGROUNDS['OSM_NWB_ROADS'],\n MAP_BACKGROUNDS['OSM_COLOR_BLIND'],\n MAP_BACKGROUNDS['OSM_DARK'],\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWRpc3BsYXkvYmFja2dyb3VuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkMsV0FBVyxFQUFFLHlDQUF5QztJQUN0RCxTQUFTLEVBQUUsdUNBQXVDO0lBQ2xELGVBQWUsRUFBRSw2Q0FBNkM7SUFDOUQsUUFBUSxFQUFFLHNDQUFzQztJQUNoRCxZQUFZLEVBQUUsa0RBQWtEO0lBQ2hFLGFBQWEsRUFBRSw0REFBNEQ7SUFDM0UsYUFBYSxFQUFFLHdEQUF3RDtJQUN2RSxnQkFBZ0IsRUFBRSwyREFBMkQ7SUFDN0UsT0FBTyxFQUFFLGtEQUFrRDtJQUMzRCxtQkFBbUIsRUFBRSw4REFBOEQ7SUFDbkYsYUFBYSxFQUFFLHdEQUF3RDtJQUN2RSxnQkFBZ0IsRUFBRSx5Q0FBeUM7SUFDM0QsY0FBYyxFQUFFLG1EQUFtRDtJQUNuRSxtQkFBbUIsRUFBRSxtRUFBbUU7SUFDeEYsZUFBZSxFQUFFLG9EQUFvRDtJQUNyRSxTQUFTLEVBQUUsdUNBQXVDO0NBQ25ELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW1CO0lBQzdDLFNBQVMsRUFBRTtRQUNULEVBQUUsRUFBRSxXQUFXO1FBQ2YsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUscUJBQXFCLENBQUMsU0FBUztRQUMxQyxLQUFLLEVBQUUsMkNBQTJDO0tBQ25EO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsRUFBRSxFQUFFLGFBQWE7UUFDakIsSUFBSSxFQUFFLFdBQVc7UUFDakIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsU0FBUyxFQUFFLHFCQUFxQixDQUFDLFdBQVc7UUFDNUMsS0FBSyxFQUFFLDZDQUE2QztLQUNyRDtJQUNELGVBQWUsRUFBRTtRQUNmLEVBQUUsRUFBRSxpQkFBaUI7UUFDckIsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsY0FBYztRQUMzQixTQUFTLEVBQUUscUJBQXFCLENBQUMsZUFBZTtRQUNoRCxLQUFLLEVBQUUsaURBQWlEO0tBQ3pEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsRUFBRSxFQUFFLFVBQVU7UUFDZCxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRO1FBQ3pDLEtBQUssRUFBRSwwQ0FBMEM7S0FDbEQ7SUFDRCxZQUFZLEVBQUU7UUFDWixFQUFFLEVBQUUsY0FBYztRQUNsQixJQUFJLEVBQUUsVUFBVTtRQUNoQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxZQUFZO1FBQzdDLEtBQUssRUFBRSxzREFBc0Q7S0FDOUQ7SUFDRCxhQUFhLEVBQUU7UUFDYixFQUFFLEVBQUUsZUFBZTtRQUNuQixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxtQkFBbUI7UUFDaEMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGFBQWE7UUFDOUMsS0FBSyxFQUFFLGdFQUFnRTtLQUN4RTtJQUNELGFBQWEsRUFBRTtRQUNiLEVBQUUsRUFBRSxlQUFlO1FBQ25CLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLG1CQUFtQjtRQUNoQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYTtRQUM5QyxLQUFLLEVBQUUsNERBQTREO0tBQ3BFO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsRUFBRSxFQUFFLGtCQUFrQjtRQUN0QixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGdCQUFnQjtRQUNqRCxLQUFLLEVBQUUsK0RBQStEO0tBQ3ZFO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsRUFBRSxFQUFFLFNBQVM7UUFDYixJQUFJLEVBQUUsU0FBUztRQUNmLFdBQVcsRUFBRSxhQUFhO1FBQzFCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO1FBQ3hDLEtBQUssRUFBRSxzREFBc0Q7S0FDOUQ7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixFQUFFLEVBQUUscUJBQXFCO1FBQ3pCLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLHlCQUF5QjtRQUN0QyxTQUFTLEVBQUUscUJBQXFCLENBQUMsbUJBQW1CO1FBQ3BELEtBQUssRUFBRSxrRUFBa0U7S0FDMUU7SUFDRCxhQUFhLEVBQUU7UUFDYixFQUFFLEVBQUUsZUFBZTtRQUNuQixJQUFJLEVBQUUsS0FBSztRQUNYLFdBQVcsRUFBRSxhQUFhO1FBQzFCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhO1FBQzlDLEtBQUssRUFBRSw0REFBNEQ7S0FDcEU7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixFQUFFLEVBQUUsa0JBQWtCO1FBQ3RCLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLGVBQWU7UUFDNUIsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGdCQUFnQjtRQUNqRCxLQUFLLEVBQUUsNkNBQTZDO0tBQ3JEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLGdCQUFnQjtRQUNwQixJQUFJLEVBQUUsVUFBVTtRQUNoQixXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjO1FBQy9DLEtBQUssRUFBRSx1REFBdUQ7S0FDL0Q7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixFQUFFLEVBQUUscUJBQXFCO1FBQ3pCLElBQUksRUFBRSxVQUFVO1FBQ2hCLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsU0FBUyxFQUFFLHFCQUFxQixDQUFDLG1CQUFtQjtRQUNwRCxLQUFLLEVBQUUsdUVBQXVFO0tBQy9FO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsRUFBRSxFQUFFLGlCQUFpQjtRQUNyQixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGVBQWU7UUFDaEQsS0FBSyxFQUFFLHdEQUF3RDtLQUNoRTtJQUNELFNBQVMsRUFBRTtRQUNULEVBQUUsRUFBRSxXQUFXO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsV0FBVztRQUN4QixTQUFTLEVBQUUscUJBQXFCLENBQUMsU0FBUztRQUMxQyxLQUFLLEVBQUUsMkNBQTJDO0tBQ25EO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLGVBQWUsQ0FBQyxlQUFlLENBQUM7SUFDaEMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLGVBQWUsQ0FBQyxVQUFVLENBQUM7Q0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcEJhY2tncm91bmRzIH0gZnJvbSAnLi9tYXAtZGlzcGxheS1vcHRpb24vbWFwLWRpc3BsYXktb3B0aW9uLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IE1BUF9CQUNLR1JPVU5EX0lNQUdFUyA9IHtcbiAgT1NNX0RFRkFVTFQ6ICdpbWFnZXMvbWFwLWJhY2tncm91bmRzL29zbS1kZWZhdWx0LndlYnAnLFxuICBPU01fQkFTSUM6ICdpbWFnZXMvbWFwLWJhY2tncm91bmRzL29zbS1iYXNpYy53ZWJwJyxcbiAgT1NNX0NPTE9SX0JMSU5EOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tY29sb3ItYmxpbmQud2VicCcsXG4gIE9TTV9EQVJLOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tZGFyay53ZWJwJyxcbiAgT1NNX05PX1JPQURTOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tZGVmYXVsdC1uby1yb2Fkcy53ZWJwJyxcbiAgT1NNX0ZDRF9MSU5LUzogJ2ltYWdlcy9tYXAtYmFja2dyb3VuZHMvb3NtLWRlZmF1bHQtd2l0aC1mY2QtbGlua3NfMS01LndlYnAnLFxuICBPU01fRkNEX1JPQURTOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tZGVmYXVsdC13aXRoLWZjZC1yb2Fkcy53ZWJwJyxcbiAgT1NNX0ZDRF9TRUdNRU5UUzogJ2ltYWdlcy9tYXAtYmFja2dyb3VuZHMvb3NtLWRlZmF1bHQtd2l0aC1mY2Qtc2VnbWVudHMud2VicCcsXG4gIE9TTV9NU1Q6ICdpbWFnZXMvbWFwLWJhY2tncm91bmRzL29zbS1kZWZhdWx0LXdpdGgtbXN0LndlYnAnLFxuICBPU01fTldCX1JPQURTX1dISVRFOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tZGVmYXVsdC13aXRoLW53Yi1yb2Fkcy13aGl0ZS53ZWJwJyxcbiAgT1NNX05XQl9ST0FEUzogJ2ltYWdlcy9tYXAtYmFja2dyb3VuZHMvb3NtLWRlZmF1bHQtd2l0aC1ud2Itcm9hZHMud2VicCcsXG4gIE9TTV9ERUZBVUxUX0ZVTEw6ICdpbWFnZXMvbWFwLWJhY2tncm91bmRzL29zbS1kZWZhdWx0LndlYnAnLFxuICBPU01fRlJPTlRfREFSSzogJ2ltYWdlcy9tYXAtYmFja2dyb3VuZHMvb3NtLWZyb250LW9mZmljZS1kYXJrLndlYnAnLFxuICBPU01fRlJPTlRfTElHSFRfTldCOiAnaW1hZ2VzL21hcC1iYWNrZ3JvdW5kcy9vc20tZnJvbnQtb2ZmaWNlLWxpZ2h0LXdpdGgtbndiLXJvYWRzLndlYnAnLFxuICBPU01fRlJPTlRfTElHSFQ6ICdpbWFnZXMvbWFwLWJhY2tncm91bmRzL29zbS1mcm9udC1vZmZpY2UtbGlnaHQud2VicCcsXG4gIE9TTV9HUkVFTjogJ2ltYWdlcy9tYXAtYmFja2dyb3VuZHMvb3NtLWdyZWVuLndlYnAnLFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9CQUNLR1JPVU5EUzogTWFwQmFja2dyb3VuZHMgPSB7XG4gIE9TTV9CQVNJQzoge1xuICAgIGlkOiAnT1NNX0JBU0lDJyxcbiAgICBuYW1lOiAnQmFzaXMnLFxuICAgIGltYWdlTGluazogTUFQX0JBQ0tHUk9VTkRfSU1BR0VTLk9TTV9CQVNJQyxcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1iYXNpYy5qc29uJyxcbiAgfSxcbiAgT1NNX0RFRkFVTFQ6IHtcbiAgICBpZDogJ09TTV9ERUZBVUxUJyxcbiAgICBuYW1lOiAnU3RhbmRhYXJkJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YW5kYWFyZCcsXG4gICAgaW1hZ2VMaW5rOiBNQVBfQkFDS0dST1VORF9JTUFHRVMuT1NNX0RFRkFVTFQsXG4gICAgc3R5bGU6ICdodHRwczovL21hcHMubmR3Lm51L3N0eWxlcy9vc20tZGVmYXVsdC5qc29uJyxcbiAgfSxcbiAgT1NNX0NPTE9SX0JMSU5EOiB7XG4gICAgaWQ6ICdPU01fQ09MT1JfQkxJTkQnLFxuICAgIG5hbWU6ICdLbGV1cmVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0tsZXVyZW5ibGluZCcsXG4gICAgaW1hZ2VMaW5rOiBNQVBfQkFDS0dST1VORF9JTUFHRVMuT1NNX0NPTE9SX0JMSU5ELFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWNvbG9yLWJsaW5kLmpzb24nLFxuICB9LFxuICBPU01fREFSSzoge1xuICAgIGlkOiAnT1NNX0RBUksnLFxuICAgIG5hbWU6ICdEb25rZXInLFxuICAgIGRlc2NyaXB0aW9uOiAnRG9ua2VyJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fREFSSyxcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1kYXJrLmpzb24nLFxuICB9LFxuICBPU01fTk9fUk9BRFM6IHtcbiAgICBpZDogJ09TTV9OT19ST0FEUycsXG4gICAgbmFtZTogJ09TTSBOLlIuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSB6b25kZXIgd2VnZW4nLFxuICAgIGltYWdlTGluazogTUFQX0JBQ0tHUk9VTkRfSU1BR0VTLk9TTV9OT19ST0FEUyxcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1kZWZhdWx0LW5vLXJvYWRzLmpzb24nLFxuICB9LFxuICBPU01fRkNEX0xJTktTOiB7XG4gICAgaWQ6ICdPU01fRkNEX0xJTktTJyxcbiAgICBuYW1lOiAnRkNEIEwuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSBtZXQgRkNEIGxpbmtzJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fRkNEX0xJTktTLFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWRlZmF1bHQtd2l0aC1mY2QtbGlua3NfMS01Lmpzb24nLFxuICB9LFxuICBPU01fRkNEX1JPQURTOiB7XG4gICAgaWQ6ICdPU01fRkNEX1JPQURTJyxcbiAgICBuYW1lOiAnRkNEIFIuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSBtZXQgRkNEIHdlZ2VuJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fRkNEX1JPQURTLFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWRlZmF1bHQtd2l0aC1mY2Qtcm9hZHMuanNvbicsXG4gIH0sXG4gIE9TTV9GQ0RfU0VHTUVOVFM6IHtcbiAgICBpZDogJ09TTV9GQ0RfU0VHTUVOVFMnLFxuICAgIG5hbWU6ICdGQ0QgUy4nLFxuICAgIGRlc2NyaXB0aW9uOiAnT1NNIG1ldCBGQ0Qgc2VnbWVudGVuJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fRkNEX1NFR01FTlRTLFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWRlZmF1bHQtd2l0aC1mY2Qtc2VnbWVudHMuanNvbicsXG4gIH0sXG4gIE9TTV9NU1Q6IHtcbiAgICBpZDogJ09TTV9NU1QnLFxuICAgIG5hbWU6ICdPU00gTVNUJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSBtZXQgTVNUJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fTVNULFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWRlZmF1bHQtd2l0aC1tc3QuanNvbicsXG4gIH0sXG4gIE9TTV9OV0JfUk9BRFNfV0hJVEU6IHtcbiAgICBpZDogJ09TTV9OV0JfUk9BRFNfV0hJVEUnLFxuICAgIG5hbWU6ICdOV0IgVy4nLFxuICAgIGRlc2NyaXB0aW9uOiAnT1NNIG1ldCBOV0Igd2VnZW4gKHdpdCknLFxuICAgIGltYWdlTGluazogTUFQX0JBQ0tHUk9VTkRfSU1BR0VTLk9TTV9OV0JfUk9BRFNfV0hJVEUsXG4gICAgc3R5bGU6ICdodHRwczovL21hcHMubmR3Lm51L3N0eWxlcy9vc20tZGVmYXVsdC13aXRoLW53Yi1yb2Fkcy13aGl0ZS5qc29uJyxcbiAgfSxcbiAgT1NNX05XQl9ST0FEUzoge1xuICAgIGlkOiAnT1NNX05XQl9ST0FEUycsXG4gICAgbmFtZTogJ05XQicsXG4gICAgZGVzY3JpcHRpb246ICdPU00gbWV0IE5XQicsXG4gICAgaW1hZ2VMaW5rOiBNQVBfQkFDS0dST1VORF9JTUFHRVMuT1NNX05XQl9ST0FEUyxcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1kZWZhdWx0LXdpdGgtbndiLXJvYWRzLmpzb24nLFxuICB9LFxuICBPU01fREVGQVVMVF9GVUxMOiB7XG4gICAgaWQ6ICdPU01fREVGQVVMVF9GVUxMJyxcbiAgICBuYW1lOiAnRGVmYXVsdCcsXG4gICAgZGVzY3JpcHRpb246ICdPU00gc3RhbmRhYXJkJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fREVGQVVMVF9GVUxMLFxuICAgIHN0eWxlOiAnaHR0cHM6Ly9tYXBzLm5kdy5udS9zdHlsZXMvb3NtLWRlZmF1bHQuanNvbicsXG4gIH0sXG4gIE9TTV9GUk9OVF9EQVJLOiB7XG4gICAgaWQ6ICdPU01fRlJPTlRfREFSSycsXG4gICAgbmFtZTogJ09TTSBGLkQuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSBmcm9udCBvZmZpY2UgZG9ua2VyJyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fRlJPTlRfREFSSyxcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1mcm9udC1vZmZpY2UtZGFyay5qc29uJyxcbiAgfSxcbiAgT1NNX0ZST05UX0xJR0hUX05XQjoge1xuICAgIGlkOiAnT1NNX0ZST05UX0xJR0hUX05XQicsXG4gICAgbmFtZTogJ0YuTC4gTldCJyxcbiAgICBkZXNjcmlwdGlvbjogJ09TTSBmcm9udCBvZmZpY2UgbGljaHQgbWV0IE5XQiB3ZWdlbicsXG4gICAgaW1hZ2VMaW5rOiBNQVBfQkFDS0dST1VORF9JTUFHRVMuT1NNX0ZST05UX0xJR0hUX05XQixcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1mcm9udC1vZmZpY2UtbGlnaHQtd2l0aC1ud2Itcm9hZHMuanNvbicsXG4gIH0sXG4gIE9TTV9GUk9OVF9MSUdIVDoge1xuICAgIGlkOiAnT1NNX0ZST05UX0xJR0hUJyxcbiAgICBuYW1lOiAnRi5MLicsXG4gICAgZGVzY3JpcHRpb246ICdPU00gZnJvbnQgb2ZmaWNlIGxpY2h0JyxcbiAgICBpbWFnZUxpbms6IE1BUF9CQUNLR1JPVU5EX0lNQUdFUy5PU01fRlJPTlRfTElHSFQsXG4gICAgc3R5bGU6ICdodHRwczovL21hcHMubmR3Lm51L3N0eWxlcy9vc20tZnJvbnQtb2ZmaWNlLWxpZ2h0Lmpzb24nLFxuICB9LFxuICBPU01fR1JFRU46IHtcbiAgICBpZDogJ09TTV9HUkVFTicsXG4gICAgbmFtZTogJ09TTSBHLicsXG4gICAgZGVzY3JpcHRpb246ICdPU00gZ3JvZW4nLFxuICAgIGltYWdlTGluazogTUFQX0JBQ0tHUk9VTkRfSU1BR0VTLk9TTV9HUkVFTixcbiAgICBzdHlsZTogJ2h0dHBzOi8vbWFwcy5uZHcubnUvc3R5bGVzL29zbS1ncmVlbi5qc29uJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBQ0tHUk9VTkRTID0gW1xuICBNQVBfQkFDS0dST1VORFNbJ09TTV9OV0JfUk9BRFMnXSxcbiAgTUFQX0JBQ0tHUk9VTkRTWydPU01fQ09MT1JfQkxJTkQnXSxcbiAgTUFQX0JBQ0tHUk9VTkRTWydPU01fREFSSyddLFxuXTtcbiJdfQ==","export const MAP_LAYER_IMAGES = {\n ACTUAL_TRAFFIC_V1: 'images/map-layers/actueelverkeer1.webp',\n ACTUAL_TRAFFIC_V2: 'images/map-layers/actueelverkeerv2.webp',\n IMAGE_MODE_V1: 'images/map-layers/beeldstand1.webp',\n IMAGE_MODE_V2: 'images/map-layers/beeldstand2.webp',\n HECTOMETRY: 'images/map-layers/hectometrering.webp',\n ROAD_WORKS: 'images/map-layers/wegwerkzaamheden.webp',\n};\nexport const MAP_LAYERS = {\n ACTUAL_TRAFFIC_V1: {\n id: 'ACTUAL_TRAFFIC_V1',\n name: 'Actueel verkeer 1',\n imageLink: MAP_LAYER_IMAGES.ACTUAL_TRAFFIC_V1,\n },\n ACTUAL_TRAFFIC_V2: {\n id: 'ACTUAL_TRAFFIC_V2',\n name: 'Actueel verkeer 2',\n imageLink: MAP_LAYER_IMAGES.ACTUAL_TRAFFIC_V2,\n },\n IMAGE_MODE_V1: {\n id: 'IMAGE_MODE_V1',\n name: 'Beeldstand 1',\n imageLink: MAP_LAYER_IMAGES.IMAGE_MODE_V1,\n },\n IMAGE_MODE_V2: {\n id: 'IMAGE_MODE_V2',\n name: 'Beeldstand 2',\n imageLink: MAP_LAYER_IMAGES.IMAGE_MODE_V2,\n },\n HECTOMETRY: {\n id: 'HECTOMETRY',\n name: 'Hectometrering',\n imageLink: MAP_LAYER_IMAGES.HECTOMETRY,\n },\n ROAD_WORKS: {\n id: 'ROAD_WORKS',\n name: 'Wegwerkzaamheden',\n imageLink: MAP_LAYER_IMAGES.ROAD_WORKS,\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21hcC1kaXNwbGF5L2xheWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixpQkFBaUIsRUFBRSx3Q0FBd0M7SUFDM0QsaUJBQWlCLEVBQUUseUNBQXlDO0lBQzVELGFBQWEsRUFBRSxvQ0FBb0M7SUFDbkQsYUFBYSxFQUFFLG9DQUFvQztJQUNuRCxVQUFVLEVBQUUsdUNBQXVDO0lBQ25ELFVBQVUsRUFBRSx5Q0FBeUM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBcUM7SUFDMUQsaUJBQWlCLEVBQUU7UUFDakIsRUFBRSxFQUFFLG1CQUFtQjtRQUN2QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUI7S0FDOUM7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixFQUFFLEVBQUUsbUJBQW1CO1FBQ3ZCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFpQjtLQUM5QztJQUNELGFBQWEsRUFBRTtRQUNiLEVBQUUsRUFBRSxlQUFlO1FBQ25CLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhO0tBQzFDO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsRUFBRSxFQUFFLGVBQWU7UUFDbkIsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGFBQWE7S0FDMUM7SUFDRCxVQUFVLEVBQUU7UUFDVixFQUFFLEVBQUUsWUFBWTtRQUNoQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO0tBQ3ZDO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsRUFBRSxFQUFFLFlBQVk7UUFDaEIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsVUFBVTtLQUN2QztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBEaXNwbGF5T3B0aW9uIH0gZnJvbSAnLi9tYXAtZGlzcGxheS1vcHRpb24nO1xuXG5leHBvcnQgY29uc3QgTUFQX0xBWUVSX0lNQUdFUyA9IHtcbiAgQUNUVUFMX1RSQUZGSUNfVjE6ICdpbWFnZXMvbWFwLWxheWVycy9hY3R1ZWVsdmVya2VlcjEud2VicCcsXG4gIEFDVFVBTF9UUkFGRklDX1YyOiAnaW1hZ2VzL21hcC1sYXllcnMvYWN0dWVlbHZlcmtlZXJ2Mi53ZWJwJyxcbiAgSU1BR0VfTU9ERV9WMTogJ2ltYWdlcy9tYXAtbGF5ZXJzL2JlZWxkc3RhbmQxLndlYnAnLFxuICBJTUFHRV9NT0RFX1YyOiAnaW1hZ2VzL21hcC1sYXllcnMvYmVlbGRzdGFuZDIud2VicCcsXG4gIEhFQ1RPTUVUUlk6ICdpbWFnZXMvbWFwLWxheWVycy9oZWN0b21ldHJlcmluZy53ZWJwJyxcbiAgUk9BRF9XT1JLUzogJ2ltYWdlcy9tYXAtbGF5ZXJzL3dlZ3dlcmt6YWFtaGVkZW4ud2VicCcsXG59O1xuXG5leHBvcnQgY29uc3QgTUFQX0xBWUVSUzogUmVjb3JkPHN0cmluZywgTWFwRGlzcGxheU9wdGlvbj4gPSB7XG4gIEFDVFVBTF9UUkFGRklDX1YxOiB7XG4gICAgaWQ6ICdBQ1RVQUxfVFJBRkZJQ19WMScsXG4gICAgbmFtZTogJ0FjdHVlZWwgdmVya2VlciAxJyxcbiAgICBpbWFnZUxpbms6IE1BUF9MQVlFUl9JTUFHRVMuQUNUVUFMX1RSQUZGSUNfVjEsXG4gIH0sXG4gIEFDVFVBTF9UUkFGRklDX1YyOiB7XG4gICAgaWQ6ICdBQ1RVQUxfVFJBRkZJQ19WMicsXG4gICAgbmFtZTogJ0FjdHVlZWwgdmVya2VlciAyJyxcbiAgICBpbWFnZUxpbms6IE1BUF9MQVlFUl9JTUFHRVMuQUNUVUFMX1RSQUZGSUNfVjIsXG4gIH0sXG4gIElNQUdFX01PREVfVjE6IHtcbiAgICBpZDogJ0lNQUdFX01PREVfVjEnLFxuICAgIG5hbWU6ICdCZWVsZHN0YW5kIDEnLFxuICAgIGltYWdlTGluazogTUFQX0xBWUVSX0lNQUdFUy5JTUFHRV9NT0RFX1YxLFxuICB9LFxuICBJTUFHRV9NT0RFX1YyOiB7XG4gICAgaWQ6ICdJTUFHRV9NT0RFX1YyJyxcbiAgICBuYW1lOiAnQmVlbGRzdGFuZCAyJyxcbiAgICBpbWFnZUxpbms6IE1BUF9MQVlFUl9JTUFHRVMuSU1BR0VfTU9ERV9WMixcbiAgfSxcbiAgSEVDVE9NRVRSWToge1xuICAgIGlkOiAnSEVDVE9NRVRSWScsXG4gICAgbmFtZTogJ0hlY3RvbWV0cmVyaW5nJyxcbiAgICBpbWFnZUxpbms6IE1BUF9MQVlFUl9JTUFHRVMuSEVDVE9NRVRSWSxcbiAgfSxcbiAgUk9BRF9XT1JLUzoge1xuICAgIGlkOiAnUk9BRF9XT1JLUycsXG4gICAgbmFtZTogJ1dlZ3dlcmt6YWFtaGVkZW4nLFxuICAgIGltYWdlTGluazogTUFQX0xBWUVSX0lNQUdFUy5ST0FEX1dPUktTLFxuICB9LFxufTtcbiJdfQ==","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class MapLegendOptionComponent {\n option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapLegendOptionComponent, isStandalone: true, selector: \"ndw-map-legend-option\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { \"role\": \"listitem\" } }, ngImport: i0, template: \"@let opt = option();\\n<div class=\\\"option-type\\\">\\n @switch (opt.type) {\\n @case ('circle') {\\n <div class=\\\"circle\\\" [style.--map-legend-option-color]=\\\"opt.color\\\"></div>\\n }\\n\\n @case ('line') {\\n <div\\n class=\\\"line\\\"\\n [class.dashed]=\\\"opt.fillMode === 'dashed'\\\"\\n [style.--map-legend-option-color]=\\\"opt.color\\\"\\n ></div>\\n }\\n\\n @case ('icon') {\\n <ndw-icon class=\\\"icon\\\">{{ opt.iconName }}</ndw-icon>\\n }\\n\\n @case ('image') {\\n <img\\n class=\\\"image\\\"\\n [class.contain]=\\\"opt.objectFit === 'contain'\\\"\\n [src]=\\\"opt.src\\\"\\n [alt]=\\\"opt.label\\\"\\n />\\n }\\n\\n @case ('polygon') {\\n <div class=\\\"polygon\\\" [style.--map-legend-option-color]=\\\"opt.color\\\">\\n <svg viewBox=\\\"0 0 20 20\\\">\\n <polygon points=\\\"10,1 1,19 19,19\\\" />\\n </svg>\\n <div class=\\\"dot\\\"></div>\\n <div class=\\\"dot\\\"></div>\\n <div class=\\\"dot\\\"></div>\\n </div>\\n }\\n }\\n</div>\\n\\n<span class=\\\"ndw-paragraph-md option-label\\\">\\n {{ opt.label }}\\n</span>\\n\", styles: [\"*{box-sizing:border-box}:host{display:grid;grid-template-columns:1.5rem 1fr;align-items:flex-start;justify-content:flex-start;min-height:2rem;padding-block:var(--ndw-spacing-2xs);gap:var(--ndw-spacing-xs);color:var(--ndw-color-grey-600)}:host .option-type{display:flex;min-height:1.5rem;align-items:center;justify-content:center}:host .option-label{display:block;margin-block-start:var(--ndw-spacing-2xs)}:host .circle{border-radius:50%;width:var(--ndw-spacing-xs);aspect-ratio:1;background-color:var(--map-legend-option-color)}:host .line{--line-width: 14px;--line-height: 4px;width:var(--line-width);height:var(--line-height);background-color:var(--map-legend-option-color);border-radius:var(--ndw-border-radius-md)}:host .line.dashed{background-color:transparent;background-image:linear-gradient(to right,var(--map-legend-option-color) 20%,white 20%,white 37.5%,var(--map-legend-option-color) 37.5%,var(--map-legend-option-color) 62.5%,white 62.5%,white 80%,var(--map-legend-option-color) 80%);background-size:var(--line-width) var(--line-height);background-repeat:no-repeat}:host .icon{font-size:.875rem}:host .image{width:16px;height:16px;object-fit:cover;border-radius:var(--ndw-border-radius-sm)}:host .image.contain{object-fit:contain}:host .polygon{--polygon-size: 12px;--dot-size: 5px;position:relative;width:var(--polygon-size);height:var(--polygon-size)}:host .polygon svg{position:absolute;inset:0}:host .polygon svg polygon{fill:#fff;stroke:var(--map-legend-option-color);stroke-width:3}:host .polygon .dot{position:absolute;width:var(--dot-size);height:var(--dot-size);background-color:var(--map-legend-option-color);border-radius:50%}:host .polygon .dot:nth-child(2){top:0;left:50%;transform:translate(-50%,-50%)}:host .polygon .dot:nth-child(3){bottom:0;left:0;transform:translate(-50%,50%)}:host .polygon .dot:nth-child(4){bottom:0;right:0;transform:translate(50%,50%)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-legend-option', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], host: {\n role: 'listitem',\n }, template: \"@let opt = option();\\n<div class=\\\"option-type\\\">\\n @switch (opt.type) {\\n @case ('circle') {\\n <div class=\\\"circle\\\" [style.--map-legend-option-color]=\\\"opt.color\\\"></div>\\n }\\n\\n @case ('line') {\\n <div\\n class=\\\"line\\\"\\n [class.dashed]=\\\"opt.fillMode === 'dashed'\\\"\\n [style.--map-legend-option-color]=\\\"opt.color\\\"\\n ></div>\\n }\\n\\n @case ('icon') {\\n <ndw-icon class=\\\"icon\\\">{{ opt.iconName }}</ndw-icon>\\n }\\n\\n @case ('image') {\\n <img\\n class=\\\"image\\\"\\n [class.contain]=\\\"opt.objectFit === 'contain'\\\"\\n [src]=\\\"opt.src\\\"\\n [alt]=\\\"opt.label\\\"\\n />\\n }\\n\\n @case ('polygon') {\\n <div class=\\\"polygon\\\" [style.--map-legend-option-color]=\\\"opt.color\\\">\\n <svg viewBox=\\\"0 0 20 20\\\">\\n <polygon points=\\\"10,1 1,19 19,19\\\" />\\n </svg>\\n <div class=\\\"dot\\\"></div>\\n <div class=\\\"dot\\\"></div>\\n <div class=\\\"dot\\\"></div>\\n </div>\\n }\\n }\\n</div>\\n\\n<span class=\\\"ndw-paragraph-md option-label\\\">\\n {{ opt.label }}\\n</span>\\n\", styles: [\"*{box-sizing:border-box}:host{display:grid;grid-template-columns:1.5rem 1fr;align-items:flex-start;justify-content:flex-start;min-height:2rem;padding-block:var(--ndw-spacing-2xs);gap:var(--ndw-spacing-xs);color:var(--ndw-color-grey-600)}:host .option-type{display:flex;min-height:1.5rem;align-items:center;justify-content:center}:host .option-label{display:block;margin-block-start:var(--ndw-spacing-2xs)}:host .circle{border-radius:50%;width:var(--ndw-spacing-xs);aspect-ratio:1;background-color:var(--map-legend-option-color)}:host .line{--line-width: 14px;--line-height: 4px;width:var(--line-width);height:var(--line-height);background-color:var(--map-legend-option-color);border-radius:var(--ndw-border-radius-md)}:host .line.dashed{background-color:transparent;background-image:linear-gradient(to right,var(--map-legend-option-color) 20%,white 20%,white 37.5%,var(--map-legend-option-color) 37.5%,var(--map-legend-option-color) 62.5%,white 62.5%,white 80%,var(--map-legend-option-color) 80%);background-size:var(--line-width) var(--line-height);background-repeat:no-repeat}:host .icon{font-size:.875rem}:host .image{width:16px;height:16px;object-fit:cover;border-radius:var(--ndw-border-radius-sm)}:host .image.contain{object-fit:contain}:host .polygon{--polygon-size: 12px;--dot-size: 5px;position:relative;width:var(--polygon-size);height:var(--polygon-size)}:host .polygon svg{position:absolute;inset:0}:host .polygon svg polygon{fill:#fff;stroke:var(--map-legend-option-color);stroke-width:3}:host .polygon .dot{position:absolute;width:var(--dot-size);height:var(--dot-size);background-color:var(--map-legend-option-color);border-radius:50%}:host .polygon .dot:nth-child(2){top:0;left:50%;transform:translate(-50%,-50%)}:host .polygon .dot:nth-child(3){bottom:0;left:0;transform:translate(-50%,50%)}:host .polygon .dot:nth-child(4){bottom:0;right:0;transform:translate(50%,50%)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC1vcHRpb24vbWFwLWxlZ2VuZC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC1vcHRpb24vbWFwLWxlZ2VuZC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFZM0MsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsaURBQW1CLENBQUM7dUdBRHpDLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHFRQ2RyQyx3a0NBNENBLDI1RERuQ1ksYUFBYTs7MkZBS1osd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsQ0FBQyxRQUNsQjt3QkFDSixJQUFJLEVBQUUsVUFBVTtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTGVnZW5kT3B0aW9uIH0gZnJvbSAnLi4vbWFwLWxlZ2VuZC5tb2RlbCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tYXAtbGVnZW5kLW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtbGVnZW5kLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQtb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnbGlzdGl0ZW0nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNYXBMZWdlbmRPcHRpb25Db21wb25lbnQge1xuICByZWFkb25seSBvcHRpb24gPSBpbnB1dC5yZXF1aXJlZDxNYXBMZWdlbmRPcHRpb24+KCk7XG59XG4iLCJAbGV0IG9wdCA9IG9wdGlvbigpO1xuPGRpdiBjbGFzcz1cIm9wdGlvbi10eXBlXCI+XG4gIEBzd2l0Y2ggKG9wdC50eXBlKSB7XG4gICAgQGNhc2UgKCdjaXJjbGUnKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlXCIgW3N0eWxlLi0tbWFwLWxlZ2VuZC1vcHRpb24tY29sb3JdPVwib3B0LmNvbG9yXCI+PC9kaXY+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdsaW5lJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxpbmVcIlxuICAgICAgICBbY2xhc3MuZGFzaGVkXT1cIm9wdC5maWxsTW9kZSA9PT0gJ2Rhc2hlZCdcIlxuICAgICAgICBbc3R5bGUuLS1tYXAtbGVnZW5kLW9wdGlvbi1jb2xvcl09XCJvcHQuY29sb3JcIlxuICAgICAgPjwvZGl2PlxuICAgIH1cblxuICAgIEBjYXNlICgnaWNvbicpIHtcbiAgICAgIDxuZHctaWNvbiBjbGFzcz1cImljb25cIj57eyBvcHQuaWNvbk5hbWUgfX08L25kdy1pY29uPlxuICAgIH1cblxuICAgIEBjYXNlICgnaW1hZ2UnKSB7XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwiaW1hZ2VcIlxuICAgICAgICBbY2xhc3MuY29udGFpbl09XCJvcHQub2JqZWN0Rml0ID09PSAnY29udGFpbidcIlxuICAgICAgICBbc3JjXT1cIm9wdC5zcmNcIlxuICAgICAgICBbYWx0XT1cIm9wdC5sYWJlbFwiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBjYXNlICgncG9seWdvbicpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJwb2x5Z29uXCIgW3N0eWxlLi0tbWFwLWxlZ2VuZC1vcHRpb24tY29sb3JdPVwib3B0LmNvbG9yXCI+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz1cIjEwLDEgMSwxOSAxOSwxOVwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZG90XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb3RcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvdFwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICB9XG48L2Rpdj5cblxuPHNwYW4gY2xhc3M9XCJuZHctcGFyYWdyYXBoLW1kIG9wdGlvbi1sYWJlbFwiPlxuICB7eyBvcHQubGFiZWwgfX1cbjwvc3Bhbj5cbiJdfQ==","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MapLegendOptionComponent } from '../map-legend-option/map-legend-option.component';\nimport * as i0 from \"@angular/core\";\nexport class MapLegendGroupComponent {\n group = input.required(...(ngDevMode ? [{ debugName: \"group\" }] : []));\n singleGroup = input(false, ...(ngDevMode ? [{ debugName: \"singleGroup\" }] : []));\n index = input(0, ...(ngDevMode ? [{ debugName: \"index\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapLegendGroupComponent, isStandalone: true, selector: \"ndw-map-legend-group\", inputs: { group: { classPropertyName: \"group\", publicName: \"group\", isSignal: true, isRequired: true, transformFunction: null }, singleGroup: { classPropertyName: \"singleGroup\", publicName: \"singleGroup\", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"listitem\" } }, ngImport: i0, template: \"@if (group().label) {\\n <h4\\n class=\\\"ndw-paragraph-bold-md group-title\\\"\\n [class.sr-only]=\\\"singleGroup()\\\"\\n [class.group-title--first]=\\\"index() === 0\\\"\\n >\\n {{ group().label }}\\n </h4>\\n}\\n<ul>\\n @for (option of group().options; let i = $index; track i) {\\n <ndw-map-legend-option [option]=\\\"option\\\" />\\n }\\n</ul>\\n\", styles: [\"*{box-sizing:border-box}.group-title{display:block;margin-block-start:var(--ndw-spacing-sm);margin-block-end:var(--ndw-spacing-2xs);color:var(--ndw-color-grey-600)}.group-title--first{margin-block-start:0}ul{list-style:none;padding:0;margin:0}\\n\"], dependencies: [{ kind: \"component\", type: MapLegendOptionComponent, selector: \"ndw-map-legend-option\", inputs: [\"option\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendGroupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-legend-group', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MapLegendOptionComponent], host: {\n role: 'listitem',\n }, template: \"@if (group().label) {\\n <h4\\n class=\\\"ndw-paragraph-bold-md group-title\\\"\\n [class.sr-only]=\\\"singleGroup()\\\"\\n [class.group-title--first]=\\\"index() === 0\\\"\\n >\\n {{ group().label }}\\n </h4>\\n}\\n<ul>\\n @for (option of group().options; let i = $index; track i) {\\n <ndw-map-legend-option [option]=\\\"option\\\" />\\n }\\n</ul>\\n\", styles: [\"*{box-sizing:border-box}.group-title{display:block;margin-block-start:var(--ndw-spacing-sm);margin-block-end:var(--ndw-spacing-2xs);color:var(--ndw-color-grey-600)}.group-title--first{margin-block-start:0}ul{list-style:none;padding:0;margin:0}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLWdyb3VwL21hcC1sZWdlbmQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC1ncm91cC9tYXAtbGVnZW5kLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVk1RixNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxnREFBd0IsQ0FBQztJQUMvQyxXQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssdURBQUMsQ0FBQztJQUNwQyxLQUFLLEdBQUcsS0FBSyxDQUFTLENBQUMsaURBQUMsQ0FBQzt1R0FIdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUIsbWdCQ2RwQyx3VkFjQSwrU0RMWSx3QkFBd0I7OzJGQUt2Qix1QkFBdUI7a0JBVm5DLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUM3Qjt3QkFDSixJQUFJLEVBQUUsVUFBVTtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTGVnZW5kT3B0aW9uR3JvdXAgfSBmcm9tICcuLi9tYXAtbGVnZW5kLm1vZGVsJztcbmltcG9ydCB7IE1hcExlZ2VuZE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL21hcC1sZWdlbmQtb3B0aW9uL21hcC1sZWdlbmQtb3B0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tYXAtbGVnZW5kLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1sZWdlbmQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtbGVnZW5kLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbTWFwTGVnZW5kT3B0aW9uQ29tcG9uZW50XSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0aXRlbScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZEdyb3VwQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZ3JvdXAgPSBpbnB1dC5yZXF1aXJlZDxNYXBMZWdlbmRPcHRpb25Hcm91cD4oKTtcbiAgcmVhZG9ubHkgc2luZ2xlR3JvdXAgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQ8bnVtYmVyPigwKTtcbn1cbiIsIkBpZiAoZ3JvdXAoKS5sYWJlbCkge1xuICA8aDRcbiAgICBjbGFzcz1cIm5kdy1wYXJhZ3JhcGgtYm9sZC1tZCBncm91cC10aXRsZVwiXG4gICAgW2NsYXNzLnNyLW9ubHldPVwic2luZ2xlR3JvdXAoKVwiXG4gICAgW2NsYXNzLmdyb3VwLXRpdGxlLS1maXJzdF09XCJpbmRleCgpID09PSAwXCJcbiAgPlxuICAgIHt7IGdyb3VwKCkubGFiZWwgfX1cbiAgPC9oND5cbn1cbjx1bD5cbiAgQGZvciAob3B0aW9uIG9mIGdyb3VwKCkub3B0aW9uczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICA8bmR3LW1hcC1sZWdlbmQtb3B0aW9uIFtvcHRpb25dPVwib3B0aW9uXCIgLz5cbiAgfVxuPC91bD5cbiJdfQ==","import { afterNextRender, ChangeDetectionStrategy, Component, computed, input, model, signal, } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MapLegendGroupComponent } from './map-legend-group/map-legend-group.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nexport class MapLegendComponent {\n groups = input.required(...(ngDevMode ? [{ debugName: \"groups\" }] : []));\n icon = input('legend_toggle', ...(ngDevMode ? [{ debugName: \"icon\" }] : []));\n title = input('Legenda', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n viewMode = input('dropdown', ...(ngDevMode ? [{ debugName: \"viewMode\" }] : []));\n open = model(false, ...(ngDevMode ? [{ debugName: \"open\" }] : []));\n htmlIsRendered = signal(false, ...(ngDevMode ? [{ debugName: \"htmlIsRendered\" }] : []));\n showPopover = computed(() => this.open() && this.htmlIsRendered(), ...(ngDevMode ? [{ debugName: \"showPopover\" }] : []));\n isDropdownViewMode = computed(() => this.viewMode() === 'dropdown', ...(ngDevMode ? [{ debugName: \"isDropdownViewMode\" }] : []));\n isFixedViewMode = computed(() => this.viewMode() === 'fixed', ...(ngDevMode ? [{ debugName: \"isFixedViewMode\" }] : []));\n hasJustOneGroup = computed(() => this.groups().length === 1, ...(ngDevMode ? [{ debugName: \"hasJustOneGroup\" }] : []));\n constructor() {\n afterNextRender(() => this.htmlIsRendered.set(true));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MapLegendComponent, isStandalone: true, selector: \"ndw-map-legend\", inputs: { groups: { classPropertyName: \"groups\", publicName: \"groups\", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, viewMode: { classPropertyName: \"viewMode\", publicName: \"viewMode\", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: \"open\", publicName: \"open\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: \"openChange\" }, ngImport: i0, template: \"@if (isDropdownViewMode()) {\\n <button\\n class=\\\"map-control\\\"\\n [class.active]=\\\"open()\\\"\\n cdkOverlayOrigin\\n #trigger=\\\"cdkOverlayOrigin\\\"\\n (click)=\\\"open.set(!open())\\\"\\n >\\n <ndw-icon>{{ icon() }}</ndw-icon>\\n <span class=\\\"content-wrapper\\\">\\n {{ title() }}\\n </span>\\n <ndw-icon class=\\\"map-control__chevron\\\">keyboard_arrow_down</ndw-icon>\\n </button>\\n\\n <ng-template\\n cdkConnectedOverlay\\n [cdkConnectedOverlayOrigin]=\\\"trigger\\\"\\n [cdkConnectedOverlayOpen]=\\\"showPopover()\\\"\\n (detach)=\\\"open.set(false)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"dropdown\\\" />\\n </ng-template>\\n} @else {\\n <ng-container *ngTemplateOutlet=\\\"dropdown\\\" />\\n}\\n\\n<ng-template #dropdown>\\n <div class=\\\"map-control-dropdown\\\" [class.fixed]=\\\"isFixedViewMode()\\\">\\n <header>\\n <h3 class=\\\"ndw-paragraph-bold-lg\\\">{{ title() }}</h3>\\n\\n @if (isDropdownViewMode()) {\\n <button\\n class=\\\"map-control-dropdown__close\\\"\\n ndwButton\\n tertiary\\n type=\\\"button\\\"\\n (click)=\\\"open.set(false)\\\"\\n >\\n <ndw-icon>close</ndw-icon>\\n <span class=\\\"sr-only\\\">Sluit {{ title() }}</span>\\n </button>\\n }\\n </header>\\n\\n <div class=\\\"map-control-dropdown__content\\\">\\n @if (hasJustOneGroup()) {\\n <ndw-map-legend-group [group]=\\\"groups()[0]\\\" [singleGroup]=\\\"true\\\" />\\n } @else {\\n <ul class=\\\"groups\\\">\\n @for (group of groups(); let i = $index; track i) {\\n @if (!!group.options.length) {\\n <ndw-map-legend-group [group]=\\\"group\\\" [index]=\\\"i\\\" />\\n }\\n }\\n </ul>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\"*{box-sizing:border-box}ul{list-style-type:none;padding:0;margin:0}.groups{padding:var(--ndw-spacing-2xs)}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: OverlayModule }, { kind: \"directive\", type: i1.CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: [\"cdkConnectedOverlayOrigin\", \"cdkConnectedOverlayPositions\", \"cdkConnectedOverlayPositionStrategy\", \"cdkConnectedOverlayOffsetX\", \"cdkConnectedOverlayOffsetY\", \"cdkConnectedOverlayWidth\", \"cdkConnectedOverlayHeight\", \"cdkConnectedOverlayMinWidth\", \"cdkConnectedOverlayMinHeight\", \"cdkConnectedOverlayBackdropClass\", \"cdkConnectedOverlayPanelClass\", \"cdkConnectedOverlayViewportMargin\", \"cdkConnectedOverlayScrollStrategy\", \"cdkConnectedOverlayOpen\", \"cdkConnectedOverlayDisableClose\", \"cdkConnectedOverlayTransformOriginOn\", \"cdkConnectedOverlayHasBackdrop\", \"cdkConnectedOverlayLockPosition\", \"cdkConnectedOverlayFlexibleDimensions\", \"cdkConnectedOverlayGrowAfterOpen\", \"cdkConnectedOverlayPush\", \"cdkConnectedOverlayDisposeOnNavigation\"], outputs: [\"backdropClick\", \"positionChange\", \"attach\", \"detach\", \"overlayKeydown\", \"overlayOutsideClick\"], exportAs: [\"cdkConnectedOverlay\"] }, { kind: \"directive\", type: i1.CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"] }, { kind: \"component\", type: MapLegendGroupComponent, selector: \"ndw-map-legend-group\", inputs: [\"group\", \"singleGroup\", \"index\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MapLegendComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-map-legend', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, NgTemplateOutlet, OverlayModule, MapLegendGroupComponent], template: \"@if (isDropdownViewMode()) {\\n <button\\n class=\\\"map-control\\\"\\n [class.active]=\\\"open()\\\"\\n cdkOverlayOrigin\\n #trigger=\\\"cdkOverlayOrigin\\\"\\n (click)=\\\"open.set(!open())\\\"\\n >\\n <ndw-icon>{{ icon() }}</ndw-icon>\\n <span class=\\\"content-wrapper\\\">\\n {{ title() }}\\n </span>\\n <ndw-icon class=\\\"map-control__chevron\\\">keyboard_arrow_down</ndw-icon>\\n </button>\\n\\n <ng-template\\n cdkConnectedOverlay\\n [cdkConnectedOverlayOrigin]=\\\"trigger\\\"\\n [cdkConnectedOverlayOpen]=\\\"showPopover()\\\"\\n (detach)=\\\"open.set(false)\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"dropdown\\\" />\\n </ng-template>\\n} @else {\\n <ng-container *ngTemplateOutlet=\\\"dropdown\\\" />\\n}\\n\\n<ng-template #dropdown>\\n <div class=\\\"map-control-dropdown\\\" [class.fixed]=\\\"isFixedViewMode()\\\">\\n <header>\\n <h3 class=\\\"ndw-paragraph-bold-lg\\\">{{ title() }}</h3>\\n\\n @if (isDropdownViewMode()) {\\n <button\\n class=\\\"map-control-dropdown__close\\\"\\n ndwButton\\n tertiary\\n type=\\\"button\\\"\\n (click)=\\\"open.set(false)\\\"\\n >\\n <ndw-icon>close</ndw-icon>\\n <span class=\\\"sr-only\\\">Sluit {{ title() }}</span>\\n </button>\\n }\\n </header>\\n\\n <div class=\\\"map-control-dropdown__content\\\">\\n @if (hasJustOneGroup()) {\\n <ndw-map-legend-group [group]=\\\"groups()[0]\\\" [singleGroup]=\\\"true\\\" />\\n } @else {\\n <ul class=\\\"groups\\\">\\n @for (group of groups(); let i = $index; track i) {\\n @if (!!group.options.length) {\\n <ndw-map-legend-group [group]=\\\"group\\\" [index]=\\\"i\\\" />\\n }\\n }\\n </ul>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\"*{box-sizing:border-box}ul{list-style-type:none;padding:0;margin:0}.groups{padding:var(--ndw-spacing-2xs)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBU3hGLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUEwQixDQUFDO0lBQ2xELElBQUksR0FBRyxLQUFLLENBQVMsZUFBZSxnREFBQyxDQUFDO0lBQ3RDLEtBQUssR0FBRyxLQUFLLENBQVMsU0FBUyxpREFBQyxDQUFDO0lBQ2pDLFFBQVEsR0FBRyxLQUFLLENBQW9CLFVBQVUsb0RBQUMsQ0FBQztJQUVoRCxJQUFJLEdBQUcsS0FBSyxDQUFVLEtBQUssZ0RBQUMsQ0FBQztJQUM3QixjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssMERBQUMsQ0FBQztJQUUvQixXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLHVEQUFDLENBQUM7SUFDbkUsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxVQUFVLDhEQUFDLENBQUM7SUFDcEUsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTywyREFBQyxDQUFDO0lBQzlELGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLDJEQUFDLENBQUM7SUFFdEU7UUFDRSxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO3VHQWhCVSxrQkFBa0I7MkZBQWxCLGtCQUFrQixvdEJDdEIvQiwyc0RBNkRBLHNLRHpDWSxhQUFhLHFEQUFFLGdCQUFnQixtSkFBRSxhQUFhLDJyQ0FBRSx1QkFBdUI7OzJGQUV0RSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTGVnZW5kT3B0aW9uR3JvdXAsIE1hcExlZ2VuZFZpZXdNb2RlIH0gZnJvbSAnLi9tYXAtbGVnZW5kLm1vZGVsJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE1hcExlZ2VuZEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtbGVnZW5kLWdyb3VwL21hcC1sZWdlbmQtZ3JvdXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1hcC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBPdmVybGF5TW9kdWxlLCBNYXBMZWdlbmRHcm91cENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGdyb3VwcyA9IGlucHV0LnJlcXVpcmVkPE1hcExlZ2VuZE9wdGlvbkdyb3VwW10+KCk7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxzdHJpbmc+KCdsZWdlbmRfdG9nZ2xlJyk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPignTGVnZW5kYScpO1xuICByZWFkb25seSB2aWV3TW9kZSA9IGlucHV0PE1hcExlZ2VuZFZpZXdNb2RlPignZHJvcGRvd24nKTtcblxuICByZWFkb25seSBvcGVuID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBodG1sSXNSZW5kZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2hvd1BvcG92ZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wZW4oKSAmJiB0aGlzLmh0bWxJc1JlbmRlcmVkKCkpO1xuICByZWFkb25seSBpc0Ryb3Bkb3duVmlld01vZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdNb2RlKCkgPT09ICdkcm9wZG93bicpO1xuICByZWFkb25seSBpc0ZpeGVkVmlld01vZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdNb2RlKCkgPT09ICdmaXhlZCcpO1xuICByZWFkb25seSBoYXNKdXN0T25lR3JvdXAgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdyb3VwcygpLmxlbmd0aCA9PT0gMSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHRoaXMuaHRtbElzUmVuZGVyZWQuc2V0KHRydWUpKTtcbiAgfVxufVxuIiwiQGlmIChpc0Ryb3Bkb3duVmlld01vZGUoKSkge1xuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJtYXAtY29udHJvbFwiXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJvcGVuKClcIlxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIChjbGljayk9XCJvcGVuLnNldCghb3BlbigpKVwiXG4gID5cbiAgICA8bmR3LWljb24+e3sgaWNvbigpIH19PC9uZHctaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cImNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAge3sgdGl0bGUoKSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8bmR3LWljb24gY2xhc3M9XCJtYXAtY29udHJvbF9fY2hldnJvblwiPmtleWJvYXJkX2Fycm93X2Rvd248L25kdy1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cInNob3dQb3BvdmVyKClcIlxuICAgIChkZXRhY2gpPVwib3Blbi5zZXQoZmFsc2UpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wZG93blwiIC8+XG4gIDwvbmctdGVtcGxhdGU+XG59IEBlbHNlIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duXCIgLz5cbn1cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgPGRpdiBjbGFzcz1cIm1hcC1jb250cm9sLWRyb3Bkb3duXCIgW2NsYXNzLmZpeGVkXT1cImlzRml4ZWRWaWV3TW9kZSgpXCI+XG4gICAgPGhlYWRlcj5cbiAgICAgIDxoMyBjbGFzcz1cIm5kdy1wYXJhZ3JhcGgtYm9sZC1sZ1wiPnt7IHRpdGxlKCkgfX08L2gzPlxuXG4gICAgICBAaWYgKGlzRHJvcGRvd25WaWV3TW9kZSgpKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cIm1hcC1jb250cm9sLWRyb3Bkb3duX19jbG9zZVwiXG4gICAgICAgICAgbmR3QnV0dG9uXG4gICAgICAgICAgdGVydGlhcnlcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib3Blbi5zZXQoZmFsc2UpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+U2x1aXQge3sgdGl0bGUoKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWFwLWNvbnRyb2wtZHJvcGRvd25fX2NvbnRlbnRcIj5cbiAgICAgIEBpZiAoaGFzSnVzdE9uZUdyb3VwKCkpIHtcbiAgICAgICAgPG5kdy1tYXAtbGVnZW5kLWdyb3VwIFtncm91cF09XCJncm91cHMoKVswXVwiIFtzaW5nbGVHcm91cF09XCJ0cnVlXCIgLz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8dWwgY2xhc3M9XCJncm91cHNcIj5cbiAgICAgICAgICBAZm9yIChncm91cCBvZiBncm91cHMoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICAgICAgICAgIEBpZiAoISFncm91cC5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICA8bmR3LW1hcC1sZWdlbmQtZ3JvdXAgW2dyb3VwXT1cImdyb3VwXCIgW2luZGV4XT1cImlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ModalContentComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: ModalContentComponent, isStandalone: true, selector: \"ndw-modal-content\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto;word-break:break-word}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalContentComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-modal-content', template: \"<ng-content />\\n\", styles: [\":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto;word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLHFCQUFxQjt1R0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUIsNkVDUmxDLGtCQUNBOzsyRkRPYSxxQkFBcUI7a0JBTmpDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZHctbW9kYWwtY29udGVudCcsXG4gIHN0eWxlVXJsOiAnLi4vLi4vY2FyZC9jYXJkLWNvbnRlbnQvY2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ModalFooterComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: ModalFooterComponent, isStandalone: true, selector: \"ndw-modal-footer\", ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{align-items:center;display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md);margin-top:var(--ndw-spacing-xs);word-break:break-word}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalFooterComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ndw-modal-footer', template: \"<ng-content />\\n\", styles: [\":host{align-items:center;display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md);margin-top:var(--ndw-spacing-xs);word-break:break-word}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sT0FBTyxvQkFBb0I7dUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDRFQ1JqQyxrQkFDQTs7MkZET2Esb0JBQW9CO2tCQU5oQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmR3LW1vZGFsLWZvb3RlcicsXG4gIHN0eWxlVXJsOiAnLi4vLi4vY2FyZC9jYXJkLWZvb3Rlci9jYXJkLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEZvb3RlckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ModalService extends Dialog {\n #modalRef;\n backdropClick$;\n closed$;\n close() {\n this.#modalRef?.close();\n }\n open(componentOrTemplateRef, config) {\n const modalRef = super.open(componentOrTemplateRef, config);\n this.setModalRef(modalRef);\n return this.#modalRef;\n }\n getModalRef() {\n return this.#modalRef;\n }\n setModalRef(modalRef) {\n this.#modalRef = modalRef;\n this.backdropClick$ = this.#modalRef.backdropClick;\n this.closed$ = this.#modalRef.closed;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLFlBQWEsU0FBUSxNQUFNO0lBQ3RDLFNBQVMsQ0FBOEI7SUFFaEMsY0FBYyxDQUEwQjtJQUN4QyxPQUFPLENBQW1DO0lBRTFDLEtBQUs7UUFDVixJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFZSxJQUFJLENBQ2xCLHNCQUFxRSxFQUNyRSxNQUEwRDtRQUUxRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW9DO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxDQUFDO3VHQTVCVSxZQUFZOzJHQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZywgRGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4vbW9kYWwtcmVmJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSBleHRlbmRzIERpYWxvZyB7XG4gICNtb2RhbFJlZiE6IE1vZGFsUmVmPHVua25vd24sIHVua25vd24+O1xuXG4gIHB1YmxpYyBiYWNrZHJvcENsaWNrJD86IE9ic2VydmFibGU8TW91c2VFdmVudD47XG4gIHB1YmxpYyBjbG9zZWQkPzogT2JzZXJ2YWJsZTx1bmtub3duIHwgdW5kZWZpbmVkPjtcblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxSZWY/LmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb3BlbihcbiAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPHVua25vd24+IHwgVGVtcGxhdGVSZWY8dW5rbm93bj4sXG4gICAgY29uZmlnPzogRGlhbG9nQ29uZmlnPHVua25vd24sIE1vZGFsUmVmPHVua25vd24sIHVua25vd24+PixcbiAgKTogTW9kYWxSZWY8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIGNvbnN0IG1vZGFsUmVmID0gc3VwZXIub3Blbihjb21wb25lbnRPclRlbXBsYXRlUmVmLCBjb25maWcpO1xuICAgIHRoaXMuc2V0TW9kYWxSZWYobW9kYWxSZWYpO1xuXG4gICAgcmV0dXJuIHRoaXMuI21vZGFsUmVmO1xuICB9XG5cbiAgcHVibGljIGdldE1vZGFsUmVmKCk6IE1vZGFsUmVmPHVua25vd24sIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxSZWY7XG4gIH1cblxuICBwdWJsaWMgc2V0TW9kYWxSZWYobW9kYWxSZWY6IE1vZGFsUmVmPHVua25vd24sIHVua25vd24+KTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxSZWYgPSBtb2RhbFJlZjtcbiAgICB0aGlzLmJhY2tkcm9wQ2xpY2skID0gdGhpcy4jbW9kYWxSZWYuYmFja2Ryb3BDbGljaztcbiAgICB0aGlzLmNsb3NlZCQgPSB0aGlzLiNtb2RhbFJlZi5jbG9zZWQ7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { ModalService } from '../modal.service';\nimport * as i0 from \"@angular/core\";\nexport class ModalHeaderComponent {\n #modalService = inject(ModalService);\n detachModal() {\n this.#modalService?.close();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: ModalHeaderComponent, isStandalone: true, selector: \"ndw-modal-header\", ngImport: i0, template: \"<ng-content />\\n<button\\n ndwButton\\n tertiary\\n extra-small\\n ariaLabel=\\\"Close\\\"\\n data-testid=\\\"close-button\\\"\\n (click)=\\\"detachModal()\\\"\\n>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n\", styles: [\":host{display:block;align-items:center;font-family:var(--ndw-font-family-heading);font-size:var(--ndw-font-size-lg);font-weight:700;word-break:break-word}.float{float:right;margin-left:var(--ndw-spacing-sm);transition:transform var(--ndw-animation-speed-fast) ease-in-out}.float.collapsed{transform:rotate(180deg)}\\n\", \":host{display:grid;font-family:var(--ndw-font-family-heading);grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\\n\"], dependencies: [{ kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalHeaderComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonDirective, IconComponent], selector: 'ndw-modal-header', template: \"<ng-content />\\n<button\\n ndwButton\\n tertiary\\n extra-small\\n ariaLabel=\\\"Close\\\"\\n data-testid=\\\"close-button\\\"\\n (click)=\\\"detachModal()\\\"\\n>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n\", styles: [\":host{display:block;align-items:center;font-family:var(--ndw-font-family-heading);font-size:var(--ndw-font-size-lg);font-weight:700;word-break:break-word}.float{float:right;margin-left:var(--ndw-spacing-sm);transition:transform var(--ndw-animation-speed-fast) ease-in-out}.float.collapsed{transform:rotate(180deg)}\\n\", \":host{display:grid;font-family:var(--ndw-font-family-heading);grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBU2hELE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV2QyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0FMVSxvQkFBb0I7MkZBQXBCLG9CQUFvQiw0RUNiakMsbU1BV0EsaWdCREhZLGVBQWUsd0RBQUUsYUFBYTs7MkZBSzdCLG9CQUFvQjtrQkFQaEMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxZQUMvQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtCdXR0b25EaXJlY3RpdmUsIEljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1tb2RhbC1oZWFkZXInLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vY2FyZC9jYXJkLWhlYWRlci9jYXJkLWhlYWRlci5jb21wb25lbnQuc2NzcycsICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxIZWFkZXJDb21wb25lbnQge1xuICByZWFkb25seSAjbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIGRldGFjaE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsU2VydmljZT8uY2xvc2UoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxidXR0b25cbiAgbmR3QnV0dG9uXG4gIHRlcnRpYXJ5XG4gIGV4dHJhLXNtYWxsXG4gIGFyaWFMYWJlbD1cIkNsb3NlXCJcbiAgZGF0YS10ZXN0aWQ9XCJjbG9zZS1idXR0b25cIlxuICAoY2xpY2spPVwiZGV0YWNoTW9kYWwoKVwiXG4+XG4gIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG48L2J1dHRvbj5cbiJdfQ==","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ModalComponent {\n size = input('sm', ...(ngDevMode ? [{ debugName: \"size\" }] : []));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: ModalComponent, isStandalone: true, selector: \"ndw-modal\", inputs: { size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.modal-size-md\": \"size() === \\\"md\\\"\", \"class.modal-size-sm\": \"size() === \\\"sm\\\"\" } }, ngImport: i0, template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-md);padding:var(--ndw-spacing-lg)}:host.collapsible{box-sizing:content-box}\\n\", \":host{box-sizing:border-box;display:flex;flex-direction:column;max-height:100svh;max-width:var(--ndw-modal-width-sm);width:100vw}:host.modal-size-md{max-width:var(--ndw-modal-width-md)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ModalComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.modal-size-md]': 'size() === \"md\"',\n '[class.modal-size-sm]': 'size() === \"sm\"',\n }, selector: 'ndw-modal', template: \"<ng-content />\\n\", styles: [\":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-md);padding:var(--ndw-spacing-lg)}:host.collapsible{box-sizing:content-box}\\n\", \":host{box-sizing:border-box;display:flex;flex-direction:column;max-height:100svh;max-width:var(--ndw-modal-width-sm);width:100vw}:host.modal-size-md{max-width:var(--ndw-modal-width-md)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFjMUUsTUFBTSxPQUFPLGNBQWM7SUFDbEIsSUFBSSxHQUFHLEtBQUssQ0FBWSxJQUFJLGdEQUFDLENBQUM7dUdBRDFCLGNBQWM7MkZBQWQsY0FBYyx3VENkM0Isa0JBQ0E7OzJGRGFhLGNBQWM7a0JBVjFCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSix1QkFBdUIsRUFBRSxpQkFBaUI7d0JBQzFDLHVCQUF1QixFQUFFLGlCQUFpQjtxQkFDM0MsWUFDUyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgTW9kYWxTaXplID0gJ3NtJyB8ICdtZCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MubW9kYWwtc2l6ZS1tZF0nOiAnc2l6ZSgpID09PSBcIm1kXCInLFxuICAgICdbY2xhc3MubW9kYWwtc2l6ZS1zbV0nOiAnc2l6ZSgpID09PSBcInNtXCInLFxuICB9LFxuICBzZWxlY3RvcjogJ25kdy1tb2RhbCcsXG4gIHN0eWxlVXJsczogWycuLi9jYXJkL2NhcmQuY29tcG9uZW50LnNjc3MnLCAnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCB7XG4gIHB1YmxpYyBzaXplID0gaW5wdXQ8TW9kYWxTaXplPignc20nKTtcbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","import { ModalContentComponent } from './modal-content';\nimport { ModalFooterComponent } from './modal-footer';\nimport { ModalHeaderComponent } from './modal-header';\nimport { ModalComponent } from './modal.component';\nexport * from './modal-content';\nexport * from './modal-footer';\nexport * from './modal-header';\nexport * from './modal.component';\nexport * from './modal.service';\nexport const MODAL_COMPONENTS = [\n ModalComponent,\n ModalHeaderComponent,\n ModalContentComponent,\n ModalFooterComponent,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixvQkFBb0I7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGVudCc7XG5pbXBvcnQgeyBNb2RhbEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtZm9vdGVyJztcbmltcG9ydCB7IE1vZGFsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1oZWFkZXInO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWZvb3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWhlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgTU9EQUxfQ09NUE9ORU5UUyA9IFtcbiAgTW9kYWxDb21wb25lbnQsXG4gIE1vZGFsSGVhZGVyQ29tcG9uZW50LFxuICBNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gIE1vZGFsRm9vdGVyQ29tcG9uZW50LFxuXTtcbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, input, model, signal, untracked, viewChild, } from '@angular/core';\nimport { DropdownComponent } from '../dropdown';\nimport { FormFieldComponent, InputDirective } from '../form-field';\nimport { IconComponent } from '../icon';\nimport { ListComponent } from '../list';\nimport { ListItemComponent } from '../list-item';\nimport { PopoverTriggerDirective } from '../popover';\nimport * as i0 from \"@angular/core\";\nexport class MultiSelectComponent {\n dropdownTrigger = viewChild.required(PopoverTriggerDirective);\n buttonText = input.required(...(ngDevMode ? [{ debugName: \"buttonText\" }] : []));\n searchLabel = input('Zoek in lijst.', ...(ngDevMode ? [{ debugName: \"searchLabel\" }] : []));\n prefixIcon = input('', ...(ngDevMode ? [{ debugName: \"prefixIcon\" }] : []));\n searchPlaceholder = input('Zoek in lijst...', ...(ngDevMode ? [{ debugName: \"searchPlaceholder\" }] : []));\n noResultText = input('Oeps, geen resultaten gevonden. Probeer een andere zoekterm.', ...(ngDevMode ? [{ debugName: \"noResultText\" }] : []));\n chevron = input(true, ...(ngDevMode ? [{ debugName: \"chevron\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n selectAmountHidden = input(false, ...(ngDevMode ? [{ debugName: \"selectAmountHidden\" }] : []));\n selectAllText = input({\n deselect: 'Deselecteer alles',\n select: 'Selecteer alles',\n }, ...(ngDevMode ? [{ debugName: \"selectAllText\" }] : []));\n dataSource = model([], ...(ngDevMode ? [{ debugName: \"dataSource\" }] : []));\n lastCheckedElementId = model(...(ngDevMode ? [undefined, { debugName: \"lastCheckedElementId\" }] : []));\n searchInputValue = model('', ...(ngDevMode ? [{ debugName: \"searchInputValue\" }] : []));\n isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n viewItems = computed(() => {\n const isOpen = this.isOpen();\n const items = untracked(this.dataSource);\n return isOpen ? items.slice().sort((a, b) => Number(b.value) - Number(a.value)) : items;\n }, ...(ngDevMode ? [{ debugName: \"viewItems\" }] : []));\n selectAmount = computed(() => this.dataSource().filter((checkbox) => checkbox.value).length, ...(ngDevMode ? [{ debugName: \"selectAmount\" }] : []));\n noSearchResults = computed(() => this.dataSource().filter((checkbox) => checkbox.label.toLowerCase().includes(this.searchInputValue().toLowerCase())).length === 0, ...(ngDevMode ? [{ debugName: \"noSearchResults\" }] : []));\n filterSearch(value) {\n return value.toLowerCase().includes(this.searchInputValue().toLowerCase());\n }\n searchInputChanged(event) {\n const input = event.target;\n this.searchInputValue.set(input.value);\n }\n checkboxChanged(id) {\n this.dataSource.update((checkboxes) => {\n return checkboxes?.map((checkbox) => checkbox.id === id ? { ...checkbox, value: !checkbox.value } : checkbox);\n });\n }\n toggleSelectAll(selectAll = true) {\n this.dataSource.update((checkboxes) => {\n return checkboxes.map((checkbox) => ({\n ...checkbox,\n value: selectAll,\n }));\n });\n }\n isOpenChanged(isOpen) {\n this.isOpen.set(isOpen);\n if (isOpen) {\n this.searchInputValue.set('');\n this.determineLastCheckedElement();\n }\n }\n determineLastCheckedElement() {\n if (this.dataSource().some((checkbox) => !checkbox.value)) {\n const sourceList = [...this.dataSource()];\n const lastChecked = sourceList.reverse().find((checkbox) => checkbox.value);\n this.lastCheckedElementId.set(lastChecked ? lastChecked.id : null);\n }\n else {\n this.lastCheckedElementId.set(null);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: MultiSelectComponent, isStandalone: true, selector: \"ndw-multi-select\", inputs: { buttonText: { classPropertyName: \"buttonText\", publicName: \"buttonText\", isSignal: true, isRequired: true, transformFunction: null }, searchLabel: { classPropertyName: \"searchLabel\", publicName: \"searchLabel\", isSignal: true, isRequired: false, transformFunction: null }, prefixIcon: { classPropertyName: \"prefixIcon\", publicName: \"prefixIcon\", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: \"searchPlaceholder\", publicName: \"searchPlaceholder\", isSignal: true, isRequired: false, transformFunction: null }, noResultText: { classPropertyName: \"noResultText\", publicName: \"noResultText\", isSignal: true, isRequired: false, transformFunction: null }, chevron: { classPropertyName: \"chevron\", publicName: \"chevron\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, selectAmountHidden: { classPropertyName: \"selectAmountHidden\", publicName: \"selectAmountHidden\", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: \"selectAllText\", publicName: \"selectAllText\", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: \"dataSource\", publicName: \"dataSource\", isSignal: true, isRequired: false, transformFunction: null }, lastCheckedElementId: { classPropertyName: \"lastCheckedElementId\", publicName: \"lastCheckedElementId\", isSignal: true, isRequired: false, transformFunction: null }, searchInputValue: { classPropertyName: \"searchInputValue\", publicName: \"searchInputValue\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataSource: \"dataSourceChange\", lastCheckedElementId: \"lastCheckedElementIdChange\", searchInputValue: \"searchInputValueChange\" }, viewQueries: [{ propertyName: \"dropdownTrigger\", first: true, predicate: PopoverTriggerDirective, descendants: true, isSignal: true }], ngImport: i0, template: \"<ndw-dropdown\\n prefixIcon=\\\"filter_alt\\\"\\n [selectAmount]=\\\"selectAmountHidden() ? 0 : selectAmount()\\\"\\n (tagClicked)=\\\"toggleSelectAll(false)\\\"\\n (isOpenChange)=\\\"isOpenChanged($event)\\\"\\n [buttonText]=\\\"buttonText()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [chevron]=\\\"chevron()\\\"\\n [prefixIcon]=\\\"prefixIcon()\\\"\\n>\\n <ndw-form-field [label]=\\\"searchLabel()\\\" [hideLabel]=\\\"true\\\">\\n <input\\n ndwInput\\n type=\\\"search\\\"\\n [value]=\\\"searchInputValue()\\\"\\n (input)=\\\"searchInputChanged($event)\\\"\\n [placeholder]=\\\"searchPlaceholder()\\\"\\n />\\n </ndw-form-field>\\n @if (noSearchResults()) {\\n <div class=\\\"no-search-results\\\">\\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\\n {{ noResultText() }}\\n </div>\\n } @else {\\n <ndw-list class=\\\"multi-select-container\\\">\\n @for (checkbox of viewItems(); track checkbox.id) {\\n @if (filterSearch(checkbox.label)) {\\n <ndw-list-item\\n [class.last-checked]=\\\"lastCheckedElementId() === checkbox.id\\\"\\n [checkable]=\\\"true\\\"\\n [checked]=\\\"checkbox.value\\\"\\n [prefixIcon]=\\\"checkbox.icon\\\"\\n [subtitle]=\\\"checkbox.label\\\"\\n (checkedChange)=\\\"checkboxChanged(checkbox.id)\\\"\\n >\\n @if (checkbox.image && isOpen()) {\\n <img [src]=\\\"checkbox.image.src\\\" [alt]=\\\"checkbox.image.alt\\\" />\\n }\\n </ndw-list-item>\\n }\\n }\\n </ndw-list>\\n }\\n <div class=\\\"ndw-dialog-footer\\\">\\n @if (selectAmount() === dataSource().length) {\\n <button ndwLink (click)=\\\"toggleSelectAll(false)\\\">\\n {{ selectAllText().deselect }}\\n </button>\\n } @else {\\n <button ndwLink (click)=\\\"toggleSelectAll(true)\\\">\\n {{ selectAllText().select }}\\n </button>\\n }\\n <div class=\\\"ndw-dialog-footer-total\\\" aria-live=\\\"polite\\\">\\n Geselecteerd: <strong>{{ selectAmount() }}</strong>\\n </div>\\n </div>\\n</ndw-dropdown>\\n\", styles: [\":host{display:flex}ndw-form-field{margin-bottom:var(--ndw-spacing-md)}.no-search-results{display:grid;justify-items:center;width:var(--multi-select-default-width);margin:auto;padding:0 var(--ndw-spacing-md);font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}.multi-select-container{margin-inline:calc(var(--ndw-spacing-sm) * -1);max-height:var(--multi-select-default-width);min-width:var(--multi-select-default-width);overflow-y:auto}.multi-select-container ndw-list-item img{width:var(--ndw-spacing-lg)}.multi-select-container ndw-list-item.last-checked{height:auto;padding-bottom:var(--ndw-spacing-sm);margin-bottom:var(--ndw-spacing-sm);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}ndw-dropdown{width:inherit}.ndw-dialog-footer{display:flex;margin-top:var(--ndw-spacing-md);border-top:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);padding-top:var(--ndw-spacing-md);font-size:var(--ndw-font-size-xs)}.ndw-dialog-footer .ndw-dialog-footer-total{display:flex;flex:1;justify-content:end;gap:var(--ndw-spacing-2xs)}\\n\"], dependencies: [{ kind: \"component\", type: DropdownComponent, selector: \"ndw-dropdown\", inputs: [\"disabled\", \"chevron\", \"buttonText\", \"prefixIcon\", \"selectAmount\"], outputs: [\"tagClicked\", \"isOpenChange\"] }, { kind: \"component\", type: FormFieldComponent, selector: \"ndw-form-field\", inputs: [\"label\", \"suffixAriaLabel\", \"hideLabel\", \"disabled\", \"error\", \"success\", \"info\", \"tooltip\"], outputs: [\"clearButtonClicked\"] }, { kind: \"directive\", type: InputDirective, selector: \"input[ndwInput], select[ndwInput], textarea[ndwInput]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"component\", type: ListComponent, selector: \"ndw-list\", inputs: [\"elevated\"] }, { kind: \"component\", type: ListItemComponent, selector: \"ndw-list-item\", inputs: [\"active\", \"badgeValue\", \"buttonIcon\", \"buttonLabel\", \"checkable\", \"checkType\", \"collapsible\", \"disabled\", \"indented\", \"pillColor\", \"pillLabel\", \"prefixIcon\", \"showButton\", \"subtitle\", \"title\", \"checked\", \"expanded\"], outputs: [\"activeChange\", \"buttonClicked\", \"checkedChange\", \"expandedChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: MultiSelectComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n DropdownComponent,\n FormFieldComponent,\n InputDirective,\n IconComponent,\n ListComponent,\n ListItemComponent,\n ], selector: 'ndw-multi-select', template: \"<ndw-dropdown\\n prefixIcon=\\\"filter_alt\\\"\\n [selectAmount]=\\\"selectAmountHidden() ? 0 : selectAmount()\\\"\\n (tagClicked)=\\\"toggleSelectAll(false)\\\"\\n (isOpenChange)=\\\"isOpenChanged($event)\\\"\\n [buttonText]=\\\"buttonText()\\\"\\n [disabled]=\\\"disabled()\\\"\\n [chevron]=\\\"chevron()\\\"\\n [prefixIcon]=\\\"prefixIcon()\\\"\\n>\\n <ndw-form-field [label]=\\\"searchLabel()\\\" [hideLabel]=\\\"true\\\">\\n <input\\n ndwInput\\n type=\\\"search\\\"\\n [value]=\\\"searchInputValue()\\\"\\n (input)=\\\"searchInputChanged($event)\\\"\\n [placeholder]=\\\"searchPlaceholder()\\\"\\n />\\n </ndw-form-field>\\n @if (noSearchResults()) {\\n <div class=\\\"no-search-results\\\">\\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\\n {{ noResultText() }}\\n </div>\\n } @else {\\n <ndw-list class=\\\"multi-select-container\\\">\\n @for (checkbox of viewItems(); track checkbox.id) {\\n @if (filterSearch(checkbox.label)) {\\n <ndw-list-item\\n [class.last-checked]=\\\"lastCheckedElementId() === checkbox.id\\\"\\n [checkable]=\\\"true\\\"\\n [checked]=\\\"checkbox.value\\\"\\n [prefixIcon]=\\\"checkbox.icon\\\"\\n [subtitle]=\\\"checkbox.label\\\"\\n (checkedChange)=\\\"checkboxChanged(checkbox.id)\\\"\\n >\\n @if (checkbox.image && isOpen()) {\\n <img [src]=\\\"checkbox.image.src\\\" [alt]=\\\"checkbox.image.alt\\\" />\\n }\\n </ndw-list-item>\\n }\\n }\\n </ndw-list>\\n }\\n <div class=\\\"ndw-dialog-footer\\\">\\n @if (selectAmount() === dataSource().length) {\\n <button ndwLink (click)=\\\"toggleSelectAll(false)\\\">\\n {{ selectAllText().deselect }}\\n </button>\\n } @else {\\n <button ndwLink (click)=\\\"toggleSelectAll(true)\\\">\\n {{ selectAllText().select }}\\n </button>\\n }\\n <div class=\\\"ndw-dialog-footer-total\\\" aria-live=\\\"polite\\\">\\n Geselecteerd: <strong>{{ selectAmount() }}</strong>\\n </div>\\n </div>\\n</ndw-dropdown>\\n\", styles: [\":host{display:flex}ndw-form-field{margin-bottom:var(--ndw-spacing-md)}.no-search-results{display:grid;justify-items:center;width:var(--multi-select-default-width);margin:auto;padding:0 var(--ndw-spacing-md);font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}.multi-select-container{margin-inline:calc(var(--ndw-spacing-sm) * -1);max-height:var(--multi-select-default-width);min-width:var(--multi-select-default-width);overflow-y:auto}.multi-select-container ndw-list-item img{width:var(--ndw-spacing-lg)}.multi-select-container ndw-list-item.last-checked{height:auto;padding-bottom:var(--ndw-spacing-sm);margin-bottom:var(--ndw-spacing-sm);border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}ndw-dropdown{width:inherit}.ndw-dialog-footer{display:flex;margin-top:var(--ndw-spacing-md);border-top:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);padding-top:var(--ndw-spacing-md);font-size:var(--ndw-font-size-xs)}.ndw-dialog-footer .ndw-dialog-footer-total{display:flex;flex:1;justify-content:end;gap:var(--ndw-spacing-2xs)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQW1CckQsTUFBTSxPQUFPLG9CQUFvQjtJQUNmLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFFOUQsVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLHFEQUFVLENBQUM7SUFDdEMsV0FBVyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsdURBQUMsQ0FBQztJQUN0QyxVQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsc0RBQUMsQ0FBQztJQUN2QixpQkFBaUIsR0FBRyxLQUFLLENBQUMsa0JBQWtCLDZE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eW5DRG5DSSxpQkFBaUIsK0tBQ2pCLGtCQUFrQixrTUFDbEIsY0FBYyxrR0FDZCxhQUFhLHFEQUNiLGFBQWEsMkVBQ2IsaUJBQWlCOzsyRkFNUixvQkFBb0I7a0JBZGhDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNsQixZQUNTLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCwgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9saXN0JztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC1pdGVtJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wb3Zlcic7XG5cbmltcG9ydCB7IENoZWNrYm94RGF0YSB9IGZyb20gJy4vY2hlY2tib3gtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VsZWN0QWxsVGV4dCB9IGZyb20gJy4vc2VsZWN0LWFsbC10ZXh0LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBJbnB1dERpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIExpc3RDb21wb25lbnQsXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXG4gIF0sXG4gIHNlbGVjdG9yOiAnbmR3LW11bHRpLXNlbGVjdCcsXG4gIHN0eWxlVXJsczogWydtdWx0aS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICdtdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93blRyaWdnZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQoUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUpO1xuXG4gIHB1YmxpYyByZWFkb25seSBidXR0b25UZXh0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoTGFiZWwgPSBpbnB1dCgnWm9layBpbiBsaWpzdC4nKTtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpeEljb24gPSBpbnB1dCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hQbGFjZWhvbGRlciA9IGlucHV0KCdab2VrIGluIGxpanN0Li4uJyk7XG4gIHB1YmxpYyByZWFkb25seSBub1Jlc3VsdFRleHQgPSBpbnB1dChcbiAgICAnT2VwcywgZ2VlbiByZXN1bHRhdGVuIGdldm9uZGVuLiBQcm9iZWVyIGVlbiBhbmRlcmUgem9la3Rlcm0uJyxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGNoZXZyb24gPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QW1vdW50SGlkZGVuID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsVGV4dCA9IGlucHV0PFNlbGVjdEFsbFRleHQ+KHtcbiAgICBkZXNlbGVjdDogJ0Rlc2VsZWN0ZWVyIGFsbGVzJyxcbiAgICBzZWxlY3Q6ICdTZWxlY3RlZXIgYWxsZXMnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVNvdXJjZSA9IG1vZGVsPENoZWNrYm94RGF0YVtdPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsYXN0Q2hlY2tlZEVsZW1lbnRJZCA9IG1vZGVsPENoZWNrYm94RGF0YVsnaWQnXSB8IG51bGw+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2hJbnB1dFZhbHVlID0gbW9kZWwoJycpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aWV3SXRlbXMgPSBjb21wdXRlZDxDaGVja2JveERhdGFbXT4oKCkgPT4ge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuaXNPcGVuKCk7XG4gICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQodGhpcy5kYXRhU291cmNlKTtcbiAgICByZXR1cm4gaXNPcGVuID8gaXRlbXMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi52YWx1ZSkgLSBOdW1iZXIoYS52YWx1ZSkpIDogaXRlbXM7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RBbW91bnQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmRhdGFTb3VyY2UoKS5maWx0ZXIoKGNoZWNrYm94OiBDaGVja2JveERhdGEpID0+IGNoZWNrYm94LnZhbHVlKS5sZW5ndGgsXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBub1NlYXJjaFJlc3VsdHMgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5kYXRhU291cmNlKCkuZmlsdGVyKChjaGVja2JveDogQ2hlY2tib3hEYXRhKSA9PlxuICAgICAgICBjaGVja2JveC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSgpLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgKS5sZW5ndGggPT09IDAsXG4gICk7XG5cbiAgcHVibGljIGZpbHRlclNlYXJjaCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dFZhbHVlKCkudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSW5wdXRDaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5zZWFyY2hJbnB1dFZhbHVlLnNldChpbnB1dC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tib3hDaGFuZ2VkKGlkOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UudXBkYXRlKChjaGVja2JveGVzOiBDaGVja2JveERhdGFbXSkgPT4ge1xuICAgICAgcmV0dXJuIGNoZWNrYm94ZXM/Lm1hcCgoY2hlY2tib3g6IENoZWNrYm94RGF0YSkgPT5cbiAgICAgICAgY2hlY2tib3guaWQgPT09IGlkID8geyAuLi5jaGVja2JveCwgdmFsdWU6ICFjaGVja2JveC52YWx1ZSB9IDogY2hlY2tib3gsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlbGVjdEFsbChzZWxlY3RBbGwgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLnVwZGF0ZSgoY2hlY2tib3hlczogQ2hlY2tib3hEYXRhW10pID0+IHtcbiAgICAgIHJldHVybiBjaGVja2JveGVzLm1hcCgoY2hlY2tib3g6IENoZWNrYm94RGF0YSkgPT4gKHtcbiAgICAgICAgLi4uY2hlY2tib3gsXG4gICAgICAgIHZhbHVlOiBzZWxlY3RBbGwsXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNPcGVuQ2hhbmdlZChpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzT3Blbi5zZXQoaXNPcGVuKTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUuc2V0KCcnKTtcbiAgICAgIHRoaXMuZGV0ZXJtaW5lTGFzdENoZWNrZWRFbGVtZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVMYXN0Q2hlY2tlZEVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSgpLnNvbWUoKGNoZWNrYm94KSA9PiAhY2hlY2tib3gudmFsdWUpKSB7XG4gICAgICBjb25zdCBzb3VyY2VMaXN0ID0gWy4uLnRoaXMuZGF0YVNvdXJjZSgpXTtcbiAgICAgIGNvbnN0IGxhc3RDaGVja2VkID0gc291cmNlTGlzdC5yZXZlcnNlKCkuZmluZCgoY2hlY2tib3gpID0+IGNoZWNrYm94LnZhbHVlKTtcbiAgICAgIHRoaXMubGFzdENoZWNrZWRFbGVtZW50SWQuc2V0KGxhc3RDaGVja2VkID8gbGFzdENoZWNrZWQuaWQgOiBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXN0Q2hlY2tlZEVsZW1lbnRJZC5zZXQobnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmR3LWRyb3Bkb3duXG4gIHByZWZpeEljb249XCJmaWx0ZXJfYWx0XCJcbiAgW3NlbGVjdEFtb3VudF09XCJzZWxlY3RBbW91bnRIaWRkZW4oKSA/IDAgOiBzZWxlY3RBbW91bnQoKVwiXG4gICh0YWdDbGlja2VkKT1cInRvZ2dsZVNlbGVjdEFsbChmYWxzZSlcIlxuICAoaXNPcGVuQ2hhbmdlKT1cImlzT3BlbkNoYW5nZWQoJGV2ZW50KVwiXG4gIFtidXR0b25UZXh0XT1cImJ1dHRvblRleHQoKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NoZXZyb25dPVwiY2hldnJvbigpXCJcbiAgW3ByZWZpeEljb25dPVwicHJlZml4SWNvbigpXCJcbj5cbiAgPG5kdy1mb3JtLWZpZWxkIFtsYWJlbF09XCJzZWFyY2hMYWJlbCgpXCIgW2hpZGVMYWJlbF09XCJ0cnVlXCI+XG4gICAgPGlucHV0XG4gICAgICBuZHdJbnB1dFxuICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICBbdmFsdWVdPVwic2VhcmNoSW5wdXRWYWx1ZSgpXCJcbiAgICAgIChpbnB1dCk9XCJzZWFyY2hJbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIoKVwiXG4gICAgLz5cbiAgPC9uZHctZm9ybS1maWVsZD5cbiAgQGlmIChub1NlYXJjaFJlc3VsdHMoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJuby1zZWFyY2gtcmVzdWx0c1wiPlxuICAgICAgPG5kdy1pY29uPnNlbnRpbWVudF9kaXNzYXRpc2ZpZWQ8L25kdy1pY29uPlxuICAgICAge3sgbm9SZXN1bHRUZXh0KCkgfX1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPG5kdy1saXN0IGNsYXNzPVwibXVsdGktc2VsZWN0LWNvbnRhaW5lclwiPlxuICAgICAgQGZvciAoY2hlY2tib3ggb2Ygdmlld0l0ZW1zKCk7IHRyYWNrIGNoZWNrYm94LmlkKSB7XG4gICAgICAgIEBpZiAoZmlsdGVyU2VhcmNoKGNoZWNrYm94LmxhYmVsKSkge1xuICAgICAgICAgIDxuZHctbGlzdC1pdGVtXG4gICAgICAgICAgICBbY2xhc3MubGFzdC1jaGVja2VkXT1cImxhc3RDaGVja2VkRWxlbWVudElkKCkgPT09IGNoZWNrYm94LmlkXCJcbiAgICAgICAgICAgIFtjaGVja2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2JveC52YWx1ZVwiXG4gICAgICAgICAgICBbcHJlZml4SWNvbl09XCJjaGVja2JveC5pY29uXCJcbiAgICAgICAgICAgIFtzdWJ0aXRsZV09XCJjaGVja2JveC5sYWJlbFwiXG4gICAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJjaGVja2JveENoYW5nZWQoY2hlY2tib3guaWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGNoZWNrYm94LmltYWdlICYmIGlzT3BlbigpKSB7XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjaGVja2JveC5pbWFnZS5zcmNcIiBbYWx0XT1cImNoZWNrYm94LmltYWdlLmFsdFwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9uZHctbGlzdC1pdGVtPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9uZHctbGlzdD5cbiAgfVxuICA8ZGl2IGNsYXNzPVwibmR3LWRpYWxvZy1mb290ZXJcIj5cbiAgICBAaWYgKHNlbGVjdEFtb3VudCgpID09PSBkYXRhU291cmNlKCkubGVuZ3RoKSB7XG4gICAgICA8YnV0dG9uIG5kd0xpbmsgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdEFsbChmYWxzZSlcIj5cbiAgICAgICAge3sgc2VsZWN0QWxsVGV4dCgpLmRlc2VsZWN0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxidXR0b24gbmR3TGluayAoY2xpY2spPVwidG9nZ2xlU2VsZWN0QWxsKHRydWUpXCI+XG4gICAgICAgIHt7IHNlbGVjdEFsbFRleHQoKS5zZWxlY3QgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwibmR3LWRpYWxvZy1mb290ZXItdG90YWxcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgIEdlc2VsZWN0ZWVyZDogPHN0cm9uZz57eyBzZWxlY3RBbW91bnQoKSB9fTwvc3Ryb25nPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmR3LWRyb3Bkb3duPlxuIl19","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreRouterBreadcrumbsComponent } from '@ndwnu/core';\nimport { BreadcrumbComponent } from '../breadcrumb';\nimport { BreadcrumbGroupComponent } from '../breadcrumb-group';\nimport * as i0 from \"@angular/core\";\nexport class RouterBreadcrumbsComponent extends CoreRouterBreadcrumbsComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RouterBreadcrumbsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: RouterBreadcrumbsComponent, isStandalone: true, selector: \"ndw-router-breadcrumbs\", usesInheritance: true, ngImport: i0, template: \"<ndw-breadcrumb-group>\\n @for (breadcrumb of breadcrumbs$ | async; track breadcrumb.url) {\\n <ndw-breadcrumb [link]=\\\"breadcrumb.url\\\">{{ breadcrumb.title }}</ndw-breadcrumb>\\n }\\n</ndw-breadcrumb-group>\\n\", dependencies: [{ kind: \"component\", type: BreadcrumbGroupComponent, selector: \"ndw-breadcrumb-group\" }, { kind: \"component\", type: BreadcrumbComponent, selector: \"ndw-breadcrumb\" }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: RouterBreadcrumbsComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [BreadcrumbGroupComponent, BreadcrumbComponent, AsyncPipe], selector: 'ndw-router-breadcrumbs', template: \"<ndw-breadcrumb-group>\\n @for (breadcrumb of breadcrumbs$ | async; track breadcrumb.url) {\\n <ndw-breadcrumb [link]=\\\"breadcrumb.url\\\">{{ breadcrumb.title }}</ndw-breadcrumb>\\n }\\n</ndw-breadcrumb-group>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXItYnJlYWRjcnVtYnMvcm91dGVyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXItYnJlYWRjcnVtYnMvcm91dGVyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBUS9ELE1BQU0sT0FBTywwQkFBMkIsU0FBUSw4QkFBOEI7dUdBQWpFLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHlHQ2J2QyxvTkFLQSw0Q0RJWSx3QkFBd0IsaUVBQUUsbUJBQW1CLHNEQUFFLFNBQVM7OzJGQUl2RCwwQkFBMEI7a0JBTnRDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxZQUN6RCx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZVJvdXRlckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnQG5kd251L2NvcmUnO1xuXG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYic7XG5pbXBvcnQgeyBCcmVhZGNydW1iR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iLWdyb3VwJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQnJlYWRjcnVtYkdyb3VwQ29tcG9uZW50LCBCcmVhZGNydW1iQ29tcG9uZW50LCBBc3luY1BpcGVdLFxuICBzZWxlY3RvcjogJ25kdy1yb3V0ZXItYnJlYWRjcnVtYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcm91dGVyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVyQnJlYWRjcnVtYnNDb21wb25lbnQgZXh0ZW5kcyBDb3JlUm91dGVyQnJlYWRjcnVtYnNDb21wb25lbnQge31cbiIsIjxuZHctYnJlYWRjcnVtYi1ncm91cD5cbiAgQGZvciAoYnJlYWRjcnVtYiBvZiBicmVhZGNydW1icyQgfCBhc3luYzsgdHJhY2sgYnJlYWRjcnVtYi51cmwpIHtcbiAgICA8bmR3LWJyZWFkY3J1bWIgW2xpbmtdPVwiYnJlYWRjcnVtYi51cmxcIj57eyBicmVhZGNydW1iLnRpdGxlIH19PC9uZHctYnJlYWRjcnVtYj5cbiAgfVxuPC9uZHctYnJlYWRjcnVtYi1ncm91cD5cbiJdfQ==","import { CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, signal, untracked, viewChild, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/drag-drop\";\nexport class SplitterComponent {\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n /**\n * Optional width of the first panel (in pixels) when the component is initialized.\n */\n initialPanelWidth = input(...(ngDevMode ? [undefined, { debugName: \"initialPanelWidth\" }] : []));\n /**\n * Minimum width of both panels (in pixels).\n */\n minimumPanelWidth = input(0, ...(ngDevMode ? [{ debugName: \"minimumPanelWidth\" }] : []));\n firstPanelWidth = signal(0, ...(ngDevMode ? [{ debugName: \"firstPanelWidth\" }] : []));\n secondPanelWidth = computed(() => this.clampPanelWidth(this.availableWidth() - this.firstPanelWidth()), ...(ngDevMode ? [{ debugName: \"secondPanelWidth\" }] : []));\n isDragging = signal(false, ...(ngDevMode ? [{ debugName: \"isDragging\" }] : []));\n container = viewChild.required('container');\n splitter = viewChild.required('splitter');\n cdkDrag = viewChild.required(CdkDrag);\n storedFirstPanelWidth = 0;\n /**\n * Flag to indicate if the mouse click event should be\n * ignored because the user is dragging the splitter.\n */\n ignoreMouseClick = false;\n /**\n * Reactive object to store the dimensions of the drag elements.\n * Updated by a resize observer on the container.\n */\n dragElementDimensions = signal({\n containerWidth: 0,\n containerLeft: 0,\n splitterWidth: 0,\n }, ...(ngDevMode ? [{ debugName: \"dragElementDimensions\" }] : []));\n resizeObserver = new ResizeObserver(() => {\n const container = this.container().nativeElement.getBoundingClientRect();\n const splitter = this.splitter().nativeElement.getBoundingClientRect();\n this.dragElementDimensions.set({\n containerWidth: Math.round(container.width),\n containerLeft: Math.round(container.left),\n splitterWidth: Math.round(splitter.width),\n });\n });\n /**\n * Available width for the panels, without considering the `minimumPanelWidth` input.\n */\n availableWidth = computed(() => {\n const { containerWidth, splitterWidth } = this.dragElementDimensions();\n return containerWidth - splitterWidth;\n }, ...(ngDevMode ? [{ debugName: \"availableWidth\" }] : []));\n /**\n * Position of the drag handle when the component is initialized.\n * The drag position is always relative to this starting position.\n */\n dragStartPosition = computed(() => this.availableWidth() / 2, ...(ngDevMode ? [{ debugName: \"dragStartPosition\" }] : []));\n /**\n * Minimum panel width that is safe to use, considering the\n * available container width and the `minimumPanelWidth` input.\n */\n safeMinPanelWidth = computed(() => clamp(this.minimumPanelWidth(), 0, this.availableWidth()), ...(ngDevMode ? [{ debugName: \"safeMinPanelWidth\" }] : []));\n /**\n * Maximum panel width that is safe to use, considering the\n * available container width and the `minimumPanelWidth\n */\n safeMaxPanelWidth = computed(() => clamp(this.availableWidth() - this.safeMinPanelWidth(), this.safeMinPanelWidth(), this.availableWidth()), ...(ngDevMode ? [{ debugName: \"safeMaxPanelWidth\" }] : []));\n constructor() {\n // Update panel width and drag position when the minimum panel or container width change\n effect(() => {\n const minimumPanelWidth = this.minimumPanelWidth();\n const containerWidth = this.dragElementDimensions().containerWidth;\n if (minimumPanelWidth === 0 && containerWidth === 0) {\n return;\n }\n untracked(() => {\n this.setFirstPanelWidth();\n this.setDragPosition(this.firstPanelWidth());\n });\n });\n }\n ngAfterViewInit() {\n this.resizeObserver.observe(this.container().nativeElement);\n }\n ngOnDestroy() {\n this.resizeObserver.unobserve(this.container().nativeElement);\n this.resizeObserver.disconnect();\n }\n constrainPosition = (userPointerPosition) => {\n const { containerLeft } = this.dragElementDimensions();\n return {\n x: clamp(userPointerPosition.x, this.safeMinPanelWidth() + containerLeft, this.safeMaxPanelWidth() + containerLeft),\n y: 0,\n };\n };\n onDragStarted() {\n this.storeFirstPanelWidth();\n this.isDragging.set(true);\n }\n onDragEnded() {\n this.isDragging.set(false);\n }\n onDragMoved() {\n this.setFirstPanelWidth();\n this.ignoreMouseClick = true;\n }\n onSplitterMouseDown() {\n this.ignoreMouseClick = false;\n }\n onSplitterMouseUp() {\n if (this.ignoreMouseClick) {\n return;\n }\n const drag = this.cdkDrag();\n if (this.firstPanelWidth() <= this.safeMinPanelWidth() ||\n this.secondPanelWidth() <= this.safeMinPanelWidth()) {\n // Return to initial panel widths\n const x = drag.getFreeDragPosition().x + this.storedFirstPanelWidth - this.firstPanelWidth();\n drag.setFreeDragPosition({ x, y: 0 });\n }\n else if (this.firstPanelWidth() < this.secondPanelWidth()) {\n // Store current left panel width so we can restore it later\n this.storeFirstPanelWidth();\n // Maximize right panel\n const x = drag.getFreeDragPosition().x - (this.safeMaxPanelWidth() - this.secondPanelWidth());\n drag.setFreeDragPosition({ x, y: 0 });\n }\n else {\n // Store current left panel width so we can restore it later\n this.storeFirstPanelWidth();\n // Maximize left panel\n const x = drag.getFreeDragPosition().x + (this.safeMaxPanelWidth() - this.firstPanelWidth());\n drag.setFreeDragPosition({ x, y: 0 });\n }\n this.setFirstPanelWidth();\n }\n setDragPosition(position) {\n const { containerWidth, splitterWidth } = this.dragElementDimensions();\n const halfContainerWidth = containerWidth / 2;\n const halfSplitterWidth = splitterWidth / 2;\n const distance = position - halfContainerWidth + halfSplitterWidth;\n this.cdkDrag().setFreeDragPosition({ x: distance, y: 0 });\n }\n storeFirstPanelWidth() {\n this.storedFirstPanelWidth = this.clampPanelWidth(this.dragStartPosition() + this.cdkDrag().getFreeDragPosition().x);\n }\n setFirstPanelWidth() {\n this.firstPanelWidth.set(this.clampPanelWidth(this.dragStartPosition() + this.cdkDrag().getFreeDragPosition().x));\n }\n clampPanelWidth(width) {\n return clamp(width, this.safeMinPanelWidth(), this.safeMaxPanelWidth());\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: SplitterComponent, isStandalone: true, selector: \"ndw-splitter\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, initialPanelWidth: { classPropertyName: \"initialPanelWidth\", publicName: \"initialPanelWidth\", isSignal: true, isRequired: false, transformFunction: null }, minimumPanelWidth: { classPropertyName: \"minimumPanelWidth\", publicName: \"minimumPanelWidth\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.disabled\": \"disabled()\" } }, viewQueries: [{ propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true, isSignal: true }, { propertyName: \"splitter\", first: true, predicate: [\"splitter\"], descendants: true, isSignal: true }, { propertyName: \"cdkDrag\", first: true, predicate: CdkDrag, descendants: true, isSignal: true }], ngImport: i0, template: \"<div #container class=\\\"panels\\\" [class.dragging]=\\\"isDragging()\\\">\\n <div class=\\\"panel\\\" [style.width]=\\\"firstPanelWidth() + 'px'\\\">\\n <ng-content select=\\\"[first-panel]\\\"></ng-content>\\n </div>\\n <div\\n #splitter\\n class=\\\"splitter\\\"\\n role=\\\"separator\\\"\\n aria-orientation=\\\"vertical\\\"\\n [attr.aria-valuenow]=\\\"firstPanelWidth()\\\"\\n [attr.aria-valuemin]=\\\"safeMinPanelWidth()\\\"\\n [attr.aria-valuemax]=\\\"safeMaxPanelWidth()\\\"\\n cdkDrag\\n cdkDragLockAxis=\\\"x\\\"\\n [class.disabled]=\\\"disabled()\\\"\\n [cdkDragBoundary]=\\\"container\\\"\\n (cdkDragStarted)=\\\"onDragStarted()\\\"\\n (cdkDragMoved)=\\\"onDragMoved()\\\"\\n (cdkDragEnded)=\\\"onDragEnded()\\\"\\n (mousedown)=\\\"onSplitterMouseDown()\\\"\\n (mouseup)=\\\"onSplitterMouseUp()\\\"\\n [cdkDragConstrainPosition]=\\\"constrainPosition\\\"\\n >\\n <svg viewBox=\\\"0 0 4 28\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"presentation\\\">\\n @for (i of [0, 1, 2]; track i) {\\n <circle cx=\\\"2\\\" [attr.cy]=\\\"2 + i * 12\\\" r=\\\"2\\\" fill=\\\"currentColor\\\" />\\n }\\n </svg>\\n </div>\\n <div class=\\\"panel\\\" [style.width]=\\\"secondPanelWidth() + 'px'\\\">\\n <ng-content select=\\\"[second-panel]\\\"></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;--splitter-width: var(--ndw-spacing-sm);--half-splitter-width: calc(var(--splitter-width) / 2)}:host.disabled{--splitter-width: var(--ndw-spacing-2xs)}.panels{position:relative;display:flex;height:100%;width:100%}.panels .panel{display:flex;height:100%;width:50%;min-width:0;flex-grow:1;overflow:auto}.panels .panel:first-of-type{margin-right:calc(var(--half-splitter-width) - .5px)}.panels .panel:last-of-type{margin-left:calc(var(--half-splitter-width) - .5px)}.panels .splitter{position:absolute;left:calc(50% - var(--half-splitter-width));height:100%;width:var(--splitter-width);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:ew-resize;background-color:var(--ndw-color-grey-200)}.panels .splitter:hover,.panels .splitter.dragging{background-color:var(--ndw-color-grey-300);transition:background-color var(--ndw-animation-speed-fast) ease-in-out}.panels .splitter svg{color:var(--ndw-color-grey-400);width:var(--ndw-spacing-2xs)}.panels .splitter.disabled{pointer-events:none}.panels .splitter.disabled svg{display:none}.panels.dragging .splitter{background-color:var(--ndw-color-grey-300)}.panels:not(:hover .dragging) .panel{transition:width var(--ndw-animation-speed-fast) ease-in-out}.panels:not(:hover .dragging) .splitter{transition:all var(--ndw-animation-speed-fast) ease-in-out}\\n\"], dependencies: [{ kind: \"ngmodule\", type: DragDropModule }, { kind: \"directive\", type: i1.CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SplitterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-splitter', imports: [DragDropModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.disabled]': 'disabled()',\n }, template: \"<div #container class=\\\"panels\\\" [class.dragging]=\\\"isDragging()\\\">\\n <div class=\\\"panel\\\" [style.width]=\\\"firstPanelWidth() + 'px'\\\">\\n <ng-content select=\\\"[first-panel]\\\"></ng-content>\\n </div>\\n <div\\n #splitter\\n class=\\\"splitter\\\"\\n role=\\\"separator\\\"\\n aria-orientation=\\\"vertical\\\"\\n [attr.aria-valuenow]=\\\"firstPanelWidth()\\\"\\n [attr.aria-valuemin]=\\\"safeMinPanelWidth()\\\"\\n [attr.aria-valuemax]=\\\"safeMaxPanelWidth()\\\"\\n cdkDrag\\n cdkDragLockAxis=\\\"x\\\"\\n [class.disabled]=\\\"disabled()\\\"\\n [cdkDragBoundary]=\\\"container\\\"\\n (cdkDragStarted)=\\\"onDragStarted()\\\"\\n (cdkDragMoved)=\\\"onDragMoved()\\\"\\n (cdkDragEnded)=\\\"onDragEnded()\\\"\\n (mousedown)=\\\"onSplitterMouseDown()\\\"\\n (mouseup)=\\\"onSplitterMouseUp()\\\"\\n [cdkDragConstrainPosition]=\\\"constrainPosition\\\"\\n >\\n <svg viewBox=\\\"0 0 4 28\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"presentation\\\">\\n @for (i of [0, 1, 2]; track i) {\\n <circle cx=\\\"2\\\" [attr.cy]=\\\"2 + i * 12\\\" r=\\\"2\\\" fill=\\\"currentColor\\\" />\\n }\\n </svg>\\n </div>\\n <div class=\\\"panel\\\" [style.width]=\\\"secondPanelWidth() + 'px'\\\">\\n <ng-content select=\\\"[second-panel]\\\"></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;--splitter-width: var(--ndw-spacing-sm);--half-splitter-width: calc(var(--splitter-width) / 2)}:host.disabled{--splitter-width: var(--ndw-spacing-2xs)}.panels{position:relative;display:flex;height:100%;width:100%}.panels .panel{display:flex;height:100%;width:50%;min-width:0;flex-grow:1;overflow:auto}.panels .panel:first-of-type{margin-right:calc(var(--half-splitter-width) - .5px)}.panels .panel:last-of-type{margin-left:calc(var(--half-splitter-width) - .5px)}.panels .splitter{position:absolute;left:calc(50% - var(--half-splitter-width));height:100%;width:var(--splitter-width);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:ew-resize;background-color:var(--ndw-color-grey-200)}.panels .splitter:hover,.panels .splitter.dragging{background-color:var(--ndw-color-grey-300);transition:background-color var(--ndw-animation-speed-fast) ease-in-out}.panels .splitter svg{color:var(--ndw-color-grey-400);width:var(--ndw-spacing-2xs)}.panels .splitter.disabled{pointer-events:none}.panels .splitter.disabled svg{display:none}.panels.dragging .splitter{background-color:var(--ndw-color-grey-300)}.panels:not(:hover .dragging) .panel{transition:width var(--ndw-animation-speed-fast) ease-in-out}.panels:not(:hover .dragging) .splitter{transition:all var(--ndw-animation-speed-fast) ease-in-out}\\n\"] }]\n }], ctorParameters: () => [] });\nfunction clamp(width, min, max) {\n return Math.round(Math.min(Math.max(width, min), max));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3NwbGl0dGVyL3NwbGl0dGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFZdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUNaLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBRXhDOztPQUVHO0lBQ2EsaUJBQWlCLEdBQUcsS0FBSyx1RUFBVSxDQUFDO0lBRXBEOztPQUVHO0lBQ2EsaUJBQWlCLEdBQUcsS0FBSyxDQUFTLENBQUMsNkRBQUMsQ0FBQztJQUVsQyxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsMkRBQUMsQ0FBQztJQUM1QixnQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyw0REFDckUsQ0FBQztJQUNpQixVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssc0RBQUMsQ0FBQztJQUU3QixTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBMEIsV0FBVyxDQUFDLENBQUM7SUFDckUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9DLHFCQUFxQixHQUFHLENBQUMsQ0FBQztJQUVsQzs7O09BR0c7SUFDSyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFFakM7OztPQUdHO0lBQ2MscUJBQXFCLEdBQUcsTUFBTSxDQUFDO1FBQzlDLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO0tBQ2pCLGlFQUFDLENBQUM7SUFFYyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1FBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFdkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzNDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDekMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2MsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDOUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RSxPQUFPLGNBQWMsR0FBRyxhQUFhLENBQUM7SUFDeEMsQ0FBQywwREFBQyxDQUFDO0lBRUg7OztPQUdHO0lBQ2MsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLDZEQUFDLENBQUM7SUFFL0U7OztPQUdHO0lBQ2dCLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDbkQsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsNkRBQzFELENBQUM7SUFFRjs7O09BR0c7SUFDZ0IsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNuRCxLQUFLLENBQ0gsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUNoRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN0Qiw2REFDRixDQUFDO0lBRUY7UUFDRSx3RkFBd0Y7UUFDeEYsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsY0FBYyxDQUFDO1lBRW5FLElBQUksaUJBQWlCLEtBQUssQ0FBQyxJQUFJLGNBQWMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsT0FBTztZQUNULENBQUM7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVTLGlCQUFpQixHQUFHLENBQUMsbUJBQTBCLEVBQUUsRUFBRTtRQUMzRCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFdkQsT0FBTztZQUNMLENBQUMsRUFBRSxLQUFLLENBQ04sbUJBQW1CLENBQUMsQ0FBQyxFQUNyQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxhQUFhLEVBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLGFBQWEsQ0FDekM7WUFDRCxDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7SUFDSixDQUFDLENBQUM7SUFFUSxhQUFhO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU1QixJQUNFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQ25ELENBQUM7WUFDRCxpQ0FBaUM7WUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1lBQzVELDREQUE0RDtZQUM1RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1Qix1QkFBdUI7WUFDdkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDTiw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFFNUIsc0JBQXNCO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLGVBQWUsQ0FBQyxRQUFnQjtRQUN4QyxNQUFNLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUM5QyxNQUFNLGlCQUFpQixHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDNUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBRW5FLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDeEYsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNuQyxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO3VHQXZNVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixnMEJBcUJrQixPQUFPLGdFQzlDdkQsc3NDQWlDQSw4M0NEaEJZLGNBQWM7OzJGQVFiLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDRSxjQUFjLFdBQ2YsQ0FBQyxjQUFjLENBQUMsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixrQkFBa0IsRUFBRSxZQUFZO3FCQUNqQzs7QUE0TUgsU0FBUyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3BELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWcsIERyYWdEcm9wTW9kdWxlLCBQb2ludCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1zcGxpdHRlcicsXG4gIGltcG9ydHM6IFtEcmFnRHJvcE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNwbGl0dGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB3aWR0aCBvZiB0aGUgZmlyc3QgcGFuZWwgKGluIHBpeGVscykgd2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluaXRpYWxQYW5lbFdpZHRoID0gaW5wdXQ8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIHdpZHRoIG9mIGJvdGggcGFuZWxzIChpbiBwaXhlbHMpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1pbmltdW1QYW5lbFdpZHRoID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlyc3RQYW5lbFdpZHRoID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vjb25kUGFuZWxXaWR0aCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5jbGFtcFBhbmVsV2lkdGgodGhpcy5hdmFpbGFibGVXaWR0aCgpIC0gdGhpcy5maXJzdFBhbmVsV2lkdGgoKSksXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0RyYWdnaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2NvbnRhaW5lcicpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNwbGl0dGVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pignc3BsaXR0ZXInKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjZGtEcmFnID0gdmlld0NoaWxkLnJlcXVpcmVkKENka0RyYWcpO1xuXG4gIHByaXZhdGUgc3RvcmVkRmlyc3RQYW5lbFdpZHRoID0gMDtcblxuICAvKipcbiAgICogRmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgbW91c2UgY2xpY2sgZXZlbnQgc2hvdWxkIGJlXG4gICAqIGlnbm9yZWQgYmVjYXVzZSB0aGUgdXNlciBpcyBkcmFnZ2luZyB0aGUgc3BsaXR0ZXIuXG4gICAqL1xuICBwcml2YXRlIGlnbm9yZU1vdXNlQ2xpY2sgPSBmYWxzZTtcblxuICAvKipcbiAgICogUmVhY3RpdmUgb2JqZWN0IHRvIHN0b3JlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBkcmFnIGVsZW1lbnRzLlxuICAgKiBVcGRhdGVkIGJ5IGEgcmVzaXplIG9ic2VydmVyIG9uIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRyYWdFbGVtZW50RGltZW5zaW9ucyA9IHNpZ25hbCh7XG4gICAgY29udGFpbmVyV2lkdGg6IDAsXG4gICAgY29udGFpbmVyTGVmdDogMCxcbiAgICBzcGxpdHRlcldpZHRoOiAwLFxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3BsaXR0ZXIgPSB0aGlzLnNwbGl0dGVyKCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHRoaXMuZHJhZ0VsZW1lbnREaW1lbnNpb25zLnNldCh7XG4gICAgICBjb250YWluZXJXaWR0aDogTWF0aC5yb3VuZChjb250YWluZXIud2lkdGgpLFxuICAgICAgY29udGFpbmVyTGVmdDogTWF0aC5yb3VuZChjb250YWluZXIubGVmdCksXG4gICAgICBzcGxpdHRlcldpZHRoOiBNYXRoLnJvdW5kKHNwbGl0dGVyLndpZHRoKSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJsZSB3aWR0aCBmb3IgdGhlIHBhbmVscywgd2l0aG91dCBjb25zaWRlcmluZyB0aGUgYG1pbmltdW1QYW5lbFdpZHRoYCBpbnB1dC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYXZhaWxhYmxlV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXJXaWR0aCwgc3BsaXR0ZXJXaWR0aCB9ID0gdGhpcy5kcmFnRWxlbWVudERpbWVuc2lvbnMoKTtcbiAgICByZXR1cm4gY29udGFpbmVyV2lkdGggLSBzcGxpdHRlcldpZHRoO1xuICB9KTtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIGRyYWcgaGFuZGxlIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZC5cbiAgICogVGhlIGRyYWcgcG9zaXRpb24gaXMgYWx3YXlzIHJlbGF0aXZlIHRvIHRoaXMgc3RhcnRpbmcgcG9zaXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRyYWdTdGFydFBvc2l0aW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hdmFpbGFibGVXaWR0aCgpIC8gMik7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gcGFuZWwgd2lkdGggdGhhdCBpcyBzYWZlIHRvIHVzZSwgY29uc2lkZXJpbmcgdGhlXG4gICAqIGF2YWlsYWJsZSBjb250YWluZXIgd2lkdGggYW5kIHRoZSBgbWluaW11bVBhbmVsV2lkdGhgIGlucHV0LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNhZmVNaW5QYW5lbFdpZHRoID0gY29tcHV0ZWQoKCkgPT5cbiAgICBjbGFtcCh0aGlzLm1pbmltdW1QYW5lbFdpZHRoKCksIDAsIHRoaXMuYXZhaWxhYmxlV2lkdGgoKSksXG4gICk7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gcGFuZWwgd2lkdGggdGhhdCBpcyBzYWZlIHRvIHVzZSwgY29uc2lkZXJpbmcgdGhlXG4gICAqIGF2YWlsYWJsZSBjb250YWluZXIgd2lkdGggYW5kIHRoZSBgbWluaW11bVBhbmVsV2lkdGhcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzYWZlTWF4UGFuZWxXaWR0aCA9IGNvbXB1dGVkKCgpID0+XG4gICAgY2xhbXAoXG4gICAgICB0aGlzLmF2YWlsYWJsZVdpZHRoKCkgLSB0aGlzLnNhZmVNaW5QYW5lbFdpZHRoKCksXG4gICAgICB0aGlzLnNhZmVNaW5QYW5lbFdpZHRoKCksXG4gICAgICB0aGlzLmF2YWlsYWJsZVdpZHRoKCksXG4gICAgKSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBVcGRhdGUgcGFuZWwgd2lkdGggYW5kIGRyYWcgcG9zaXRpb24gd2hlbiB0aGUgbWluaW11bSBwYW5lbCBvciBjb250YWluZXIgd2lkdGggY2hhbmdlXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IG1pbmltdW1QYW5lbFdpZHRoID0gdGhpcy5taW5pbXVtUGFuZWxXaWR0aCgpO1xuICAgICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLmRyYWdFbGVtZW50RGltZW5zaW9ucygpLmNvbnRhaW5lcldpZHRoO1xuXG4gICAgICBpZiAobWluaW11bVBhbmVsV2lkdGggPT09IDAgJiYgY29udGFpbmVyV2lkdGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldEZpcnN0UGFuZWxXaWR0aCgpO1xuICAgICAgICB0aGlzLnNldERyYWdQb3NpdGlvbih0aGlzLmZpcnN0UGFuZWxXaWR0aCgpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jb250YWluZXIoKS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnN0cmFpblBvc2l0aW9uID0gKHVzZXJQb2ludGVyUG9zaXRpb246IFBvaW50KSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXJMZWZ0IH0gPSB0aGlzLmRyYWdFbGVtZW50RGltZW5zaW9ucygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IGNsYW1wKFxuICAgICAgICB1c2VyUG9pbnRlclBvc2l0aW9uLngsXG4gICAgICAgIHRoaXMuc2FmZU1pblBhbmVsV2lkdGgoKSArIGNvbnRhaW5lckxlZnQsXG4gICAgICAgIHRoaXMuc2FmZU1heFBhbmVsV2lkdGgoKSArIGNvbnRhaW5lckxlZnQsXG4gICAgICApLFxuICAgICAgeTogMCxcbiAgICB9O1xuICB9O1xuXG4gIHByb3RlY3RlZCBvbkRyYWdTdGFydGVkKCkge1xuICAgIHRoaXMuc3RvcmVGaXJzdFBhbmVsV2lkdGgoKTtcbiAgICB0aGlzLmlzRHJhZ2dpbmcuc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJhZ0VuZGVkKCkge1xuICAgIHRoaXMuaXNEcmFnZ2luZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJhZ01vdmVkKCkge1xuICAgIHRoaXMuc2V0Rmlyc3RQYW5lbFdpZHRoKCk7XG4gICAgdGhpcy5pZ25vcmVNb3VzZUNsaWNrID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNwbGl0dGVyTW91c2VEb3duKCkge1xuICAgIHRoaXMuaWdub3JlTW91c2VDbGljayA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3BsaXR0ZXJNb3VzZVVwKCkge1xuICAgIGlmICh0aGlzLmlnbm9yZU1vdXNlQ2xpY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnID0gdGhpcy5jZGtEcmFnKCk7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmZpcnN0UGFuZWxXaWR0aCgpIDw9IHRoaXMuc2FmZU1pblBhbmVsV2lkdGgoKSB8fFxuICAgICAgdGhpcy5zZWNvbmRQYW5lbFdpZHRoKCkgPD0gdGhpcy5zYWZlTWluUGFuZWxXaWR0aCgpXG4gICAgKSB7XG4gICAgICAvLyBSZXR1cm4gdG8gaW5pdGlhbCBwYW5lbCB3aWR0aHNcbiAgICAgIGNvbnN0IHggPSBkcmFnLmdldEZyZWVEcmFnUG9zaXRpb24oKS54ICsgdGhpcy5zdG9yZWRGaXJzdFBhbmVsV2lkdGggLSB0aGlzLmZpcnN0UGFuZWxXaWR0aCgpO1xuICAgICAgZHJhZy5zZXRGcmVlRHJhZ1Bvc2l0aW9uKHsgeCwgeTogMCB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlyc3RQYW5lbFdpZHRoKCkgPCB0aGlzLnNlY29uZFBhbmVsV2lkdGgoKSkge1xuICAgICAgLy8gU3RvcmUgY3VycmVudCBsZWZ0IHBhbmVsIHdpZHRoIHNvIHdlIGNhbiByZXN0b3JlIGl0IGxhdGVyXG4gICAgICB0aGlzLnN0b3JlRmlyc3RQYW5lbFdpZHRoKCk7XG5cbiAgICAgIC8vIE1heGltaXplIHJpZ2h0IHBhbmVsXG4gICAgICBjb25zdCB4ID0gZHJhZy5nZXRGcmVlRHJhZ1Bvc2l0aW9uKCkueCAtICh0aGlzLnNhZmVNYXhQYW5lbFdpZHRoKCkgLSB0aGlzLnNlY29uZFBhbmVsV2lkdGgoKSk7XG4gICAgICBkcmFnLnNldEZyZWVEcmFnUG9zaXRpb24oeyB4LCB5OiAwIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdG9yZSBjdXJyZW50IGxlZnQgcGFuZWwgd2lkdGggc28gd2UgY2FuIHJlc3RvcmUgaXQgbGF0ZXJcbiAgICAgIHRoaXMuc3RvcmVGaXJzdFBhbmVsV2lkdGgoKTtcblxuICAgICAgLy8gTWF4aW1pemUgbGVmdCBwYW5lbFxuICAgICAgY29uc3QgeCA9IGRyYWcuZ2V0RnJlZURyYWdQb3NpdGlvbigpLnggKyAodGhpcy5zYWZlTWF4UGFuZWxXaWR0aCgpIC0gdGhpcy5maXJzdFBhbmVsV2lkdGgoKSk7XG4gICAgICBkcmFnLnNldEZyZWVEcmFnUG9zaXRpb24oeyB4LCB5OiAwIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Rmlyc3RQYW5lbFdpZHRoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RHJhZ1Bvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGNvbnRhaW5lcldpZHRoLCBzcGxpdHRlcldpZHRoIH0gPSB0aGlzLmRyYWdFbGVtZW50RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IGhhbGZDb250YWluZXJXaWR0aCA9IGNvbnRhaW5lcldpZHRoIC8gMjtcbiAgICBjb25zdCBoYWxmU3BsaXR0ZXJXaWR0aCA9IHNwbGl0dGVyV2lkdGggLyAyO1xuICAgIGNvbnN0IGRpc3RhbmNlID0gcG9zaXRpb24gLSBoYWxmQ29udGFpbmVyV2lkdGggKyBoYWxmU3BsaXR0ZXJXaWR0aDtcblxuICAgIHRoaXMuY2RrRHJhZygpLnNldEZyZWVEcmFnUG9zaXRpb24oeyB4OiBkaXN0YW5jZSwgeTogMCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdG9yZUZpcnN0UGFuZWxXaWR0aCgpIHtcbiAgICB0aGlzLnN0b3JlZEZpcnN0UGFuZWxXaWR0aCA9IHRoaXMuY2xhbXBQYW5lbFdpZHRoKFxuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbigpICsgdGhpcy5jZGtEcmFnKCkuZ2V0RnJlZURyYWdQb3NpdGlvbigpLngsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RQYW5lbFdpZHRoKCkge1xuICAgIHRoaXMuZmlyc3RQYW5lbFdpZHRoLnNldChcbiAgICAgIHRoaXMuY2xhbXBQYW5lbFdpZHRoKHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24oKSArIHRoaXMuY2RrRHJhZygpLmdldEZyZWVEcmFnUG9zaXRpb24oKS54KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGFtcFBhbmVsV2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHJldHVybiBjbGFtcCh3aWR0aCwgdGhpcy5zYWZlTWluUGFuZWxXaWR0aCgpLCB0aGlzLnNhZmVNYXhQYW5lbFdpZHRoKCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNsYW1wKHdpZHRoOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICByZXR1cm4gTWF0aC5yb3VuZChNYXRoLm1pbihNYXRoLm1heCh3aWR0aCwgbWluKSwgbWF4KSk7XG59XG4iLCI8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJwYW5lbHNcIiBbY2xhc3MuZHJhZ2dpbmddPVwiaXNEcmFnZ2luZygpXCI+XG4gIDxkaXYgY2xhc3M9XCJwYW5lbFwiIFtzdHlsZS53aWR0aF09XCJmaXJzdFBhbmVsV2lkdGgoKSArICdweCdcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmlyc3QtcGFuZWxdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICNzcGxpdHRlclxuICAgIGNsYXNzPVwic3BsaXR0ZXJcIlxuICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgIGFyaWEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJmaXJzdFBhbmVsV2lkdGgoKVwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJzYWZlTWluUGFuZWxXaWR0aCgpXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cInNhZmVNYXhQYW5lbFdpZHRoKClcIlxuICAgIGNka0RyYWdcbiAgICBjZGtEcmFnTG9ja0F4aXM9XCJ4XCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgW2Nka0RyYWdCb3VuZGFyeV09XCJjb250YWluZXJcIlxuICAgIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydGVkKClcIlxuICAgIChjZGtEcmFnTW92ZWQpPVwib25EcmFnTW92ZWQoKVwiXG4gICAgKGNka0RyYWdFbmRlZCk9XCJvbkRyYWdFbmRlZCgpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3BsaXR0ZXJNb3VzZURvd24oKVwiXG4gICAgKG1vdXNldXApPVwib25TcGxpdHRlck1vdXNlVXAoKVwiXG4gICAgW2Nka0RyYWdDb25zdHJhaW5Qb3NpdGlvbl09XCJjb25zdHJhaW5Qb3NpdGlvblwiXG4gID5cbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgNCAyOFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICBAZm9yIChpIG9mIFswLCAxLCAyXTsgdHJhY2sgaSkge1xuICAgICAgICA8Y2lyY2xlIGN4PVwiMlwiIFthdHRyLmN5XT1cIjIgKyBpICogMTJcIiByPVwiMlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPlxuICAgICAgfVxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhbmVsXCIgW3N0eWxlLndpZHRoXT1cInNlY29uZFBhbmVsV2lkdGgoKSArICdweCdcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2Vjb25kLXBhbmVsXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardComponent, isStandalone: true, selector: \"ndw-summary-card\", host: { classAttribute: \"ndw-summary-card\" }, ngImport: i0, template: \"<div class=\\\"ndw-summary-card__wrapper\\\">\\n <ng-content select=\\\"ndw-avatar\\\" />\\n <div class=\\\"ndw-summary-card__content\\\">\\n <ng-content select=\\\"ndw-summary-card-header\\\" />\\n <ng-content select=\\\"ndw-summary-card-content\\\" />\\n <ng-content select=\\\"ndw-summary-card-tags\\\" />\\n </div>\\n</div>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-summary-card', changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-summary-card',\n }, template: \"<div class=\\\"ndw-summary-card__wrapper\\\">\\n <ng-content select=\\\"ndw-avatar\\\" />\\n <div class=\\\"ndw-summary-card__content\\\">\\n <ng-content select=\\\"ndw-summary-card-header\\\" />\\n <ng-content select=\\\"ndw-summary-card-content\\\" />\\n <ng-content select=\\\"ndw-summary-card-tags\\\" />\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9zdW1tYXJ5LWNhcmQvc3VtbWFyeS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9zdW1tYXJ5LWNhcmQvc3VtbWFyeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTyxvQkFBb0I7dUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDBIQ1ZqQyx3VEFRQTs7MkZERWEsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxrQkFBa0I7cUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctc3VtbWFyeS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnktY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICduZHctc3VtbWFyeS1jYXJkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3VtbWFyeUNhcmRDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJuZHctc3VtbWFyeS1jYXJkX193cmFwcGVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm5kdy1hdmF0YXJcIiAvPlxuICA8ZGl2IGNsYXNzPVwibmR3LXN1bW1hcnktY2FyZF9fY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5kdy1zdW1tYXJ5LWNhcmQtaGVhZGVyXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZHctc3VtbWFyeS1jYXJkLWNvbnRlbnRcIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5kdy1zdW1tYXJ5LWNhcmQtdGFnc1wiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output, TemplateRef, viewChild, } from '@angular/core';\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardActionComponent {\n iconName = input.required(...(ngDevMode ? [{ debugName: \"iconName\" }] : []));\n label = input.required(...(ngDevMode ? [{ debugName: \"label\" }] : []));\n disabled = input(...(ngDevMode ? [undefined, { debugName: \"disabled\" }] : []));\n action = output();\n template = viewChild.required(TemplateRef);\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: SummaryCardActionComponent, isStandalone: true, selector: \"ndw-summary-card-action\", inputs: { iconName: { classPropertyName: \"iconName\", publicName: \"iconName\", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: \"action\" }, host: { attributes: { \"role\": \"listitem\" }, classAttribute: \"ndw-summary-card-action\" }, viewQueries: [{ propertyName: \"template\", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: \"<ng-template>\\n <button\\n ndwButton\\n type=\\\"button\\\"\\n tertiary\\n extra-small\\n [title]=\\\"label()\\\"\\n [disabled]=\\\"disabled()\\\"\\n (click)=\\\"action.emit()\\\"\\n >\\n <span class=\\\"sr-only\\\">{{ label() }}</span>\\n <ndw-icon>{{ iconName() }}</ndw-icon>\\n </button>\\n</ng-template>\\n\", dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardActionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-summary-card-action', imports: [IconComponent, ButtonDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'listitem',\n class: 'ndw-summary-card-action',\n }, template: \"<ng-template>\\n <button\\n ndwButton\\n type=\\\"button\\\"\\n tertiary\\n extra-small\\n [title]=\\\"label()\\\"\\n [disabled]=\\\"disabled()\\\"\\n (click)=\\\"action.emit()\\\"\\n >\\n <span class=\\\"sr-only\\\">{{ label() }}</span>\\n <ndw-icon>{{ iconName() }}</ndw-icon>\\n </button>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1hY3Rpb24vc3VtbWFyeS1jYXJkLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1hY3Rpb24vc3VtbWFyeS1jYXJkLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQVkzQyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxtREFBVSxDQUFDO0lBQ3BDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxnREFBVSxDQUFDO0lBQ2pDLFFBQVEsR0FBRyxLQUFLLDhEQUFXLENBQUM7SUFFNUIsTUFBTSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBRXhCLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUF1QixXQUFXLENBQUMsQ0FBQzt1R0FQdEUsMEJBQTBCOzJGQUExQiwwQkFBMEIseW5CQU8rQixXQUFXLGdFQzVCakYscVRBY0EsNENERFksYUFBYSxxREFBRSxlQUFlOzsyRkFRN0IsMEJBQTBCO2tCQVZ0QyxTQUFTOytCQUNFLHlCQUF5QixXQUMxQixDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsbUJBRXhCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLEtBQUssRUFBRSx5QkFBeUI7cUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9idXR0b24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctc3VtbWFyeS1jYXJkLWFjdGlvbicsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBCdXR0b25EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1jYXJkLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2xpc3RpdGVtJyxcbiAgICBjbGFzczogJ25kdy1zdW1tYXJ5LWNhcmQtYWN0aW9uJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3VtbWFyeUNhcmRBY3Rpb25Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbk5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aW9uID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlID0gdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPEVsZW1lbnQ+PihUZW1wbGF0ZVJlZik7XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxidXR0b25cbiAgICBuZHdCdXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICB0ZXJ0aWFyeVxuICAgIGV4dHJhLXNtYWxsXG4gICAgW3RpdGxlXT1cImxhYmVsKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAoY2xpY2spPVwiYWN0aW9uLmVtaXQoKVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBsYWJlbCgpIH19PC9zcGFuPlxuICAgIDxuZHctaWNvbj57eyBpY29uTmFtZSgpIH19PC9uZHctaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren, input } from '@angular/core';\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { SummaryCardActionComponent } from '../summary-card-action/summary-card-action.component';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardActionsComponent {\n view = input('auto', ...(ngDevMode ? [{ debugName: \"view\" }] : []));\n actions = contentChildren(SummaryCardActionComponent, ...(ngDevMode ? [{ debugName: \"actions\", descendants: true }] : [{\n descendants: true,\n }]));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: SummaryCardActionsComponent, isStandalone: true, selector: \"ndw-summary-card-actions\", inputs: { view: { classPropertyName: \"view\", publicName: \"view\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"list\" }, properties: { \"class.ndw-summary-card-actions--auto\": \"view() === \\\"auto\\\"\" }, classAttribute: \"ndw-summary-card-actions\" }, queries: [{ propertyName: \"actions\", predicate: SummaryCardActionComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ng-content select=\\\"ndw-favorite\\\" />\\n\\n@if (view() === 'popover') {\\n <ng-container *ngTemplateOutlet=\\\"popoverActions\\\"></ng-container>\\n} @else if (view() === 'visible') {\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n} @else {\\n <div class=\\\"popover-wrapper\\\">\\n <ng-container *ngTemplateOutlet=\\\"popoverActions\\\"></ng-container>\\n </div>\\n <div class=\\\"regular-wrapper\\\">\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #popoverActions>\\n <button\\n ndwButton\\n extra-small\\n tertiary\\n [ndwPopoverTrigger]=\\\"content\\\"\\n [popoverPosition]=\\\"'nextToTriggerButton'\\\"\\n >\\n <span class=\\\"sr-only\\\">Open menu</span>\\n <ndw-icon>more_horiz</ndw-icon>\\n </button>\\n</ng-template>\\n\\n<ng-template #content>\\n <div\\n class=\\\"actions\\\"\\n [ngClass]=\\\"{\\n 'actions--popover': view() === 'popover',\\n 'actions--visible': view() === 'visible',\\n 'actions--auto': view() === 'auto',\\n }\\\"\\n >\\n @for (action of actions(); track action) {\\n <ng-template [ngTemplateOutlet]=\\\"action.template()\\\" />\\n }\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"directive\", type: PopoverTriggerDirective, selector: \"[ndwPopoverTrigger]\", inputs: [\"popoverPosition\", \"ndwPopoverTrigger\", \"toggleOnClick\", \"isOpen\"], outputs: [\"popoverToggled\", \"isOpenChange\"], exportAs: [\"ndwPopoverTrigger\"] }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardActionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-summary-card-actions', imports: [PopoverTriggerDirective, IconComponent, NgTemplateOutlet, NgClass, ButtonDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'list',\n class: 'ndw-summary-card-actions',\n '[class.ndw-summary-card-actions--auto]': 'view() === \"auto\"',\n }, template: \"<ng-content select=\\\"ndw-favorite\\\" />\\n\\n@if (view() === 'popover') {\\n <ng-container *ngTemplateOutlet=\\\"popoverActions\\\"></ng-container>\\n} @else if (view() === 'visible') {\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n} @else {\\n <div class=\\\"popover-wrapper\\\">\\n <ng-container *ngTemplateOutlet=\\\"popoverActions\\\"></ng-container>\\n </div>\\n <div class=\\\"regular-wrapper\\\">\\n <ng-container *ngTemplateOutlet=\\\"content\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #popoverActions>\\n <button\\n ndwButton\\n extra-small\\n tertiary\\n [ndwPopoverTrigger]=\\\"content\\\"\\n [popoverPosition]=\\\"'nextToTriggerButton'\\\"\\n >\\n <span class=\\\"sr-only\\\">Open menu</span>\\n <ndw-icon>more_horiz</ndw-icon>\\n </button>\\n</ng-template>\\n\\n<ng-template #content>\\n <div\\n class=\\\"actions\\\"\\n [ngClass]=\\\"{\\n 'actions--popover': view() === 'popover',\\n 'actions--visible': view() === 'visible',\\n 'actions--auto': view() === 'auto',\\n }\\\"\\n >\\n @for (action of actions(); track action) {\\n <ng-template [ngTemplateOutlet]=\\\"action.template()\\\" />\\n }\\n </div>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3N1bW1hcnktY2FyZC9zdW1tYXJ5LWNhcmQtYWN0aW9ucy9zdW1tYXJ5LWNhcmQtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1hY3Rpb25zL3N1bW1hcnktY2FyZC1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFjbEcsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QixJQUFJLEdBQUcsS0FBSyxDQUFxQixNQUFNLGdEQUFDLENBQUM7SUFFekMsT0FBTyxHQUFHLGVBQWUsQ0FBQywwQkFBMEIsMkNBQ2xFLFdBQVcsRUFBRSxJQUFJLE9BRG1EO1lBQ3BFLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLEdBQUMsQ0FBQzt1R0FMUSwyQkFBMkI7MkZBQTNCLDJCQUEyQixrWkFHSSwwQkFBMEIsZ0VDdkJ0RSxrb0NBMENBLDRDRC9CWSx1QkFBdUIsMk5BQUUsYUFBYSxxREFBRSxnQkFBZ0Isb0pBQUUsT0FBTyxvRkFBRSxlQUFlOzsyRkFTakYsMkJBQTJCO2tCQVh2QyxTQUFTOytCQUNFLDBCQUEwQixXQUMzQixDQUFDLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLG1CQUU1RSx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLHdDQUF3QyxFQUFFLG1CQUFtQjtxQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbnRlbnRDaGlsZHJlbiwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlcic7XG5pbXBvcnQgeyBTdW1tYXJ5Q2FyZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3N1bW1hcnktY2FyZC1hY3Rpb24vc3VtbWFyeS1jYXJkLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VtbWFyeUFjdGlvbnNWaWV3IH0gZnJvbSAnLi4vc3VtbWFyeS1jYXJkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LXN1bW1hcnktY2FyZC1hY3Rpb25zJyxcbiAgaW1wb3J0czogW1BvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzLCBCdXR0b25EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1jYXJkLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0JyxcbiAgICBjbGFzczogJ25kdy1zdW1tYXJ5LWNhcmQtYWN0aW9ucycsXG4gICAgJ1tjbGFzcy5uZHctc3VtbWFyeS1jYXJkLWFjdGlvbnMtLWF1dG9dJzogJ3ZpZXcoKSA9PT0gXCJhdXRvXCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTdW1tYXJ5Q2FyZEFjdGlvbnNDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgdmlldyA9IGlucHV0PFN1bW1hcnlBY3Rpb25zVmlldz4oJ2F1dG8nKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IGNvbnRlbnRDaGlsZHJlbihTdW1tYXJ5Q2FyZEFjdGlvbkNvbXBvbmVudCwge1xuICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICB9KTtcbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIm5kdy1mYXZvcml0ZVwiIC8+XG5cbkBpZiAodmlldygpID09PSAncG9wb3ZlcicpIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBvcG92ZXJBY3Rpb25zXCI+PC9uZy1jb250YWluZXI+XG59IEBlbHNlIGlmICh2aWV3KCkgPT09ICd2aXNpYmxlJykge1xuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJwb3BvdmVyLXdyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9wb3ZlckFjdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZWd1bGFyLXdyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbn1cblxuPG5nLXRlbXBsYXRlICNwb3BvdmVyQWN0aW9ucz5cbiAgPGJ1dHRvblxuICAgIG5kd0J1dHRvblxuICAgIGV4dHJhLXNtYWxsXG4gICAgdGVydGlhcnlcbiAgICBbbmR3UG9wb3ZlclRyaWdnZXJdPVwiY29udGVudFwiXG4gICAgW3BvcG92ZXJQb3NpdGlvbl09XCInbmV4dFRvVHJpZ2dlckJ1dHRvbidcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+T3BlbiBtZW51PC9zcGFuPlxuICAgIDxuZHctaWNvbj5tb3JlX2hvcml6PC9uZHctaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFjdGlvbnNcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdhY3Rpb25zLS1wb3BvdmVyJzogdmlldygpID09PSAncG9wb3ZlcicsXG4gICAgICAnYWN0aW9ucy0tdmlzaWJsZSc6IHZpZXcoKSA9PT0gJ3Zpc2libGUnLFxuICAgICAgJ2FjdGlvbnMtLWF1dG8nOiB2aWV3KCkgPT09ICdhdXRvJyxcbiAgICB9XCJcbiAgPlxuICAgIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbi50ZW1wbGF0ZSgpXCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardContentComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardContentComponent, isStandalone: true, selector: \"ndw-summary-card-content\", host: { classAttribute: \"ndw-summary-card-content\" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardContentComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ndw-summary-card-content',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-summary-card-content',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3N1bW1hcnktY2FyZC9zdW1tYXJ5LWNhcmQtY29udGVudC9zdW1tYXJ5LWNhcmQtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLDJCQUEyQjt1R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkIsMElBTjVCLGdCQUFnQjs7MkZBTWYsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjtxQkFDbEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1zdW1tYXJ5LWNhcmQtY29udGVudCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmR3LXN1bW1hcnktY2FyZC1jb250ZW50JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3VtbWFyeUNhcmRDb250ZW50Q29tcG9uZW50IHt9XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardHeaderComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardHeaderComponent, isStandalone: true, selector: \"ndw-summary-card-header\", host: { classAttribute: \"ndw-summary-card-header\" }, ngImport: i0, template: \"<div class=\\\"ndw-summary-card-header__wrapper\\\">\\n <ng-content select=\\\"ndw-pill\\\" />\\n <h3 class=\\\"ndw-summary-card-header__title\\\"><ng-content /></h3>\\n <ng-content select=\\\"ndw-summary-card-subtitle\\\" />\\n</div>\\n\\n<ng-content select=\\\"ndw-summary-card-actions\\\" />\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardHeaderComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ndw-summary-card-header',\n }, selector: 'ndw-summary-card-header', template: \"<div class=\\\"ndw-summary-card-header__wrapper\\\">\\n <ng-content select=\\\"ndw-pill\\\" />\\n <h3 class=\\\"ndw-summary-card-header__title\\\"><ng-content /></h3>\\n <ng-content select=\\\"ndw-summary-card-subtitle\\\" />\\n</div>\\n\\n<ng-content select=\\\"ndw-summary-card-actions\\\" />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1oZWFkZXIvc3VtbWFyeS1jYXJkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1oZWFkZXIvc3VtbWFyeS1jYXJkLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sMEJBQTBCO3VHQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQix3SUNWdkMsbVJBT0E7OzJGREdhLDBCQUEwQjtrQkFSdEMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSx5QkFBeUI7cUJBQ2pDLFlBQ1MseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ25kdy1zdW1tYXJ5LWNhcmQtaGVhZGVyJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICduZHctc3VtbWFyeS1jYXJkLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdW1tYXJ5LWNhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU3VtbWFyeUNhcmRIZWFkZXJDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJuZHctc3VtbWFyeS1jYXJkLWhlYWRlcl9fd3JhcHBlclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJuZHctcGlsbFwiIC8+XG4gIDxoMyBjbGFzcz1cIm5kdy1zdW1tYXJ5LWNhcmQtaGVhZGVyX190aXRsZVwiPjxuZy1jb250ZW50IC8+PC9oMz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibmR3LXN1bW1hcnktY2FyZC1zdWJ0aXRsZVwiIC8+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwibmR3LXN1bW1hcnktY2FyZC1hY3Rpb25zXCIgLz5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardTagsComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardTagsComponent, isStandalone: true, selector: \"ndw-summary-card-tags\", host: { attributes: { \"role\": \"list\" }, classAttribute: \"ndw-summary-card-tags\" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardTagsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ndw-summary-card-tags',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list',\n class: 'ndw-summary-card-tags',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3N1bW1hcnktY2FyZC9zdW1tYXJ5LWNhcmQtdGFncy9zdW1tYXJ5LWNhcmQtdGFncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXbkUsTUFBTSxPQUFPLHdCQUF3Qjt1R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0Isb0tBUHpCLGdCQUFnQjs7MkZBT2Ysd0JBQXdCO2tCQVRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLE1BQU07d0JBQ1osS0FBSyxFQUFFLHVCQUF1QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1zdW1tYXJ5LWNhcmQtdGFncycsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0JyxcbiAgICBjbGFzczogJ25kdy1zdW1tYXJ5LWNhcmQtdGFncycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFN1bW1hcnlDYXJkVGFnc0NvbXBvbmVudCB7fVxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardTagComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardTagComponent, isStandalone: true, selector: \"ndw-summary-card-tag\", host: { attributes: { \"role\": \"listitem\" }, classAttribute: \"ndw-summary-card-tag\" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardTagComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ndw-summary-card-tag',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem',\n class: 'ndw-summary-card-tag',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC10YWcvc3VtbWFyeS1jYXJkLXRhZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXbkUsTUFBTSxPQUFPLHVCQUF1Qjt1R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUIsc0tBUHhCLGdCQUFnQjs7MkZBT2YsdUJBQXVCO2tCQVRuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctc3VtbWFyeS1jYXJkLXRhZycsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdsaXN0aXRlbScsXG4gICAgY2xhc3M6ICduZHctc3VtbWFyeS1jYXJkLXRhZycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFN1bW1hcnlDYXJkVGFnQ29tcG9uZW50IHt9XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SummaryCardSubtitleComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.2.4\", type: SummaryCardSubtitleComponent, isStandalone: true, selector: \"ndw-summary-card-subtitle\", ngImport: i0, template: \"<div class=\\\"ndw-summary-card-subtitle\\\">\\n <ng-content select=\\\"ndw-icon\\\" />\\n\\n <div class=\\\"ndw-summary-card-subtitle__text\\\">\\n <ng-content />\\n </div>\\n</div>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SummaryCardSubtitleComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-summary-card-subtitle', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"ndw-summary-card-subtitle\\\">\\n <ng-content select=\\\"ndw-icon\\\" />\\n\\n <div class=\\\"ndw-summary-card-subtitle__text\\\">\\n <ng-content />\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1jYXJkLXN1YnRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9zdW1tYXJ5LWNhcmQvc3VtbWFyeS1jYXJkLXN1YnRpdGxlL3N1bW1hcnktY2FyZC1zdWJ0aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvc3VtbWFyeS1jYXJkL3N1bW1hcnktY2FyZC1zdWJ0aXRsZS9zdW1tYXJ5LWNhcmQtc3VidGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPbkUsTUFBTSxPQUFPLDRCQUE0Qjt1R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEIscUZDUHpDLDhLQU9BOzsyRkRBYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUVwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctc3VtbWFyeS1jYXJkLXN1YnRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnktY2FyZC1zdWJ0aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdW1tYXJ5Q2FyZFN1YnRpdGxlQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwibmR3LXN1bW1hcnktY2FyZC1zdWJ0aXRsZVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJuZHctaWNvblwiIC8+XG5cbiAgPGRpdiBjbGFzcz1cIm5kdy1zdW1tYXJ5LWNhcmQtc3VidGl0bGVfX3RleHRcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, forwardRef, input, model, output, ChangeDetectionStrategy, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconComponent } from '../icon/icon.component';\nimport * as i0 from \"@angular/core\";\nexport class SwitcherComponent {\n options = input([], ...(ngDevMode ? [{ debugName: \"options\" }] : []));\n selectedValue = model(undefined, ...(ngDevMode ? [{ debugName: \"selectedValue\" }] : []));\n disabled = model(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n selectionChange = output();\n sliderWidth = '';\n sliderPosition = '';\n onChange = (_value) => {\n // noop\n };\n onTouched = () => {\n // noop\n };\n ngOnInit() {\n this.#updateSliderProperties();\n }\n writeValue(value) {\n this.selectedValue.set(value);\n if (this.options().length > 0) {\n this.#updateSliderProperties();\n }\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.disabled.set(isDisabled);\n }\n selectOption(value) {\n if (this.disabled())\n return;\n const option = this.options().find((opt) => opt.value === value);\n if (option?.disabled)\n return;\n this.selectedValue.set(value);\n this.#updateSliderProperties();\n this.onChange(value);\n this.onTouched();\n this.selectionChange.emit(value);\n }\n onKeyDown(event, _currentIndex) {\n const enabledOptions = this.options().filter((opt) => !opt.disabled);\n const currentEnabledIndex = enabledOptions.findIndex((opt) => opt.value === this.selectedValue());\n const prevIndex = currentEnabledIndex > 0 ? currentEnabledIndex - 1 : enabledOptions.length - 1;\n const nextIndex = currentEnabledIndex < enabledOptions.length - 1 ? currentEnabledIndex + 1 : 0;\n const lastOption = enabledOptions[enabledOptions.length - 1];\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.selectOption(enabledOptions[prevIndex].value);\n this.#focusOption(this.options().indexOf(enabledOptions[prevIndex]));\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.selectOption(enabledOptions[nextIndex].value);\n this.#focusOption(this.options().indexOf(enabledOptions[nextIndex]));\n break;\n case 'Home':\n event.preventDefault();\n this.selectOption(enabledOptions[0].value);\n this.#focusOption(this.options().indexOf(enabledOptions[0]));\n break;\n case 'End':\n event.preventDefault();\n this.selectOption(lastOption.value);\n this.#focusOption(this.options().indexOf(lastOption));\n break;\n }\n }\n #focusOption(index) {\n const optionElement = document.getElementById(this.generateId(index));\n optionElement?.focus();\n }\n #updateSliderProperties() {\n const options = this.options();\n if (options.length === 0)\n return;\n const selectedIndex = options.findIndex((opt) => opt.value === this.selectedValue());\n if (selectedIndex >= 0) {\n // Use CSS calc() for precise positioning with design system variables\n // Width: (100% - total padding) divided by number of options\n this.sliderWidth = `calc((100% - var(--ndw-spacing-xs)) / ${options.length})`;\n // Position: left padding + (selected index * width of each option)\n this.sliderPosition = `calc(var(--ndw-spacing-2xs) + (${selectedIndex} * calc((100% - var(--ndw-spacing-xs)) / ${options.length})))`;\n }\n }\n #componentId = crypto.randomUUID();\n generateId(index) {\n return `${this.#componentId}-option-${index}`;\n }\n get componentName() {\n return `switcher-${this.#componentId}`;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: SwitcherComponent, isStandalone: true, selector: \"ndw-switcher\", inputs: { options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null }, selectedValue: { classPropertyName: \"selectedValue\", publicName: \"selectedValue\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedValue: \"selectedValueChange\", disabled: \"disabledChange\", selectionChange: \"selectionChange\" }, host: { attributes: { \"role\": \"radiogroup\" }, properties: { \"class.disabled\": \"disabled()\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitcherComponent),\n multi: true,\n },\n ], ngImport: i0, template: \"<div\\n class=\\\"switch-slider\\\"\\n [style.width]=\\\"sliderWidth\\\"\\n [style.left]=\\\"sliderPosition\\\"\\n [attr.aria-hidden]=\\\"true\\\"\\n></div>\\n\\n@for (option of options(); track option.value; let i = $index) {\\n <label\\n class=\\\"switch-option\\\"\\n [class.active]=\\\"selectedValue() === option.value\\\"\\n [class.disabled]=\\\"option.disabled || disabled()\\\"\\n [attr.for]=\\\"generateId(i)\\\"\\n >\\n <input\\n type=\\\"radio\\\"\\n [id]=\\\"generateId(i)\\\"\\n [name]=\\\"componentName\\\"\\n [value]=\\\"option.value\\\"\\n [checked]=\\\"selectedValue() === option.value\\\"\\n [disabled]=\\\"option.disabled || disabled()\\\"\\n (change)=\\\"selectOption(option.value)\\\"\\n (keydown)=\\\"onKeyDown($event, i)\\\"\\n [attr.aria-describedby]=\\\"option.disabled ? generateId(i) + '-disabled' : null\\\"\\n class=\\\"switch-radio\\\"\\n />\\n @if (option.icon) {\\n <ndw-icon>{{ option.icon }}</ndw-icon>\\n }\\n <span class=\\\"switch-label\\\">{{ option.label }}</span>\\n\\n @if (option.disabled) {\\n <span [id]=\\\"generateId(i) + '-disabled'\\\" class=\\\"sr-only\\\"> (disabled) </span>\\n }\\n </label>\\n}\\n\", styles: [\":host{width:100%;position:relative;display:flex;background-color:var(--ndw-color-grey-100);border-radius:var(--ndw-border-radius-md);padding:var(--ndw-spacing-2xs);border:var(--ndw-border-size-sm) solid transparent}:host:focus-within{outline:var(--ndw-border-size-sm) solid var(--ndw-color-info-500)}:host.disabled{opacity:.5;cursor:not-allowed;background-color:var(--ndw-color-grey-50)}.switch-slider{position:absolute;top:var(--ndw-spacing-2xs);height:calc(100% - var(--ndw-spacing-2xs) * 2);background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-sm);box-shadow:var(--ndw-elevation-content);transition:left .2s ease,width .2s ease;z-index:1}.switch-option{box-sizing:border-box;position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ndw-spacing-2xs);padding:var(--ndw-spacing-sm);border:none;background:transparent;color:var(--ndw-color-grey-500);font-size:var(--ndw-font-size-sm);font-weight:var(--ndw-font-weight-medium);cursor:pointer;border-radius:var(--ndw-border-radius-sm);transition:color .2s ease,border-color .2s ease;height:calc(var(--ndw-spacing-xl) + var(--ndw-spacing-xl))}.switch-option:hover:not(:disabled){color:var(--ndw-color-grey-700)}.switch-option.active{color:var(--ndw-color-grey-900);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary-500)}.switch-option.active .switch-label{color:var(--ndw-color-text)}.switch-option.active ndw-icon{color:var(--ndw-color-primary-500)}.switch-option:disabled{cursor:not-allowed;opacity:.5}.switch-label{white-space:nowrap}.switch-radio{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-radio:focus,.switch-radio:focus-visible{outline:none}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: SwitcherComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-switcher', imports: [IconComponent], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitcherComponent),\n multi: true,\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'radiogroup',\n '[class.disabled]': 'disabled()',\n }, template: \"<div\\n class=\\\"switch-slider\\\"\\n [style.width]=\\\"sliderWidth\\\"\\n [style.left]=\\\"sliderPosition\\\"\\n [attr.aria-hidden]=\\\"true\\\"\\n></div>\\n\\n@for (option of options(); track option.value; let i = $index) {\\n <label\\n class=\\\"switch-option\\\"\\n [class.active]=\\\"selectedValue() === option.value\\\"\\n [class.disabled]=\\\"option.disabled || disabled()\\\"\\n [attr.for]=\\\"generateId(i)\\\"\\n >\\n <input\\n type=\\\"radio\\\"\\n [id]=\\\"generateId(i)\\\"\\n [name]=\\\"componentName\\\"\\n [value]=\\\"option.value\\\"\\n [checked]=\\\"selectedValue() === option.value\\\"\\n [disabled]=\\\"option.disabled || disabled()\\\"\\n (change)=\\\"selectOption(option.value)\\\"\\n (keydown)=\\\"onKeyDown($event, i)\\\"\\n [attr.aria-describedby]=\\\"option.disabled ? generateId(i) + '-disabled' : null\\\"\\n class=\\\"switch-radio\\\"\\n />\\n @if (option.icon) {\\n <ndw-icon>{{ option.icon }}</ndw-icon>\\n }\\n <span class=\\\"switch-label\\\">{{ option.label }}</span>\\n\\n @if (option.disabled) {\\n <span [id]=\\\"generateId(i) + '-disabled'\\\" class=\\\"sr-only\\\"> (disabled) </span>\\n }\\n </label>\\n}\\n\", styles: [\":host{width:100%;position:relative;display:flex;background-color:var(--ndw-color-grey-100);border-radius:var(--ndw-border-radius-md);padding:var(--ndw-spacing-2xs);border:var(--ndw-border-size-sm) solid transparent}:host:focus-within{outline:var(--ndw-border-size-sm) solid var(--ndw-color-info-500)}:host.disabled{opacity:.5;cursor:not-allowed;background-color:var(--ndw-color-grey-50)}.switch-slider{position:absolute;top:var(--ndw-spacing-2xs);height:calc(100% - var(--ndw-spacing-2xs) * 2);background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-sm);box-shadow:var(--ndw-elevation-content);transition:left .2s ease,width .2s ease;z-index:1}.switch-option{box-sizing:border-box;position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ndw-spacing-2xs);padding:var(--ndw-spacing-sm);border:none;background:transparent;color:var(--ndw-color-grey-500);font-size:var(--ndw-font-size-sm);font-weight:var(--ndw-font-weight-medium);cursor:pointer;border-radius:var(--ndw-border-radius-sm);transition:color .2s ease,border-color .2s ease;height:calc(var(--ndw-spacing-xl) + var(--ndw-spacing-xl))}.switch-option:hover:not(:disabled){color:var(--ndw-color-grey-700)}.switch-option.active{color:var(--ndw-color-grey-900);border:var(--ndw-border-size-sm) solid var(--ndw-color-primary-500)}.switch-option.active .switch-label{color:var(--ndw-color-text)}.switch-option.active ndw-icon{color:var(--ndw-color-primary-500)}.switch-option:disabled{cursor:not-allowed;opacity:.5}.switch-label{white-space:nowrap}.switch-radio{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-radio:focus,.switch-radio:focus-visible{outline:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3N3aXRjaGVyL3N3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2hlci9zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFxQnZELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsT0FBTyxHQUFHLEtBQUssQ0FBbUIsRUFBRSxtREFBQyxDQUFDO0lBQ3RDLGFBQWEsR0FBRyxLQUFLLENBQXFCLFNBQVMseURBQUMsQ0FBQztJQUNyRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUV4QixlQUFlLEdBQUcsTUFBTSxFQUFVLENBQUM7SUFFNUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQixjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRVosUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDcEMsT0FBTztJQUNULENBQUMsQ0FBQztJQUNNLFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDdkIsT0FBTztJQUNULENBQUMsQ0FBQztJQUVGLFFBQVE7UUFDTixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMs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QUN2QixzRUFBc0U7WUFDdEUsNkRBQTZEO1lBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcseUNBQXlDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUU5RSxtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQ0FBa0MsYUFBYSw0Q0FBNEMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ3ZJLENBQUM7SUFDSCxDQUFDO0lBRVEsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUU1QyxVQUFVLENBQUMsS0FBYTtRQUN0QixPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxLQUFLLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxZQUFZLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO3VHQXhIVSxpQkFBaUI7MkZBQWpCLGlCQUFpQix5cUJBYmpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3hCSCwwbUNBb0NBLG93RERyQlksYUFBYTs7MkZBZ0JaLGlCQUFpQjtrQkFsQjdCLFNBQVM7K0JBQ0UsY0FBYyxXQUNmLENBQUMsYUFBYSxDQUFDLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLElBQUksRUFBRSxZQUFZO3dCQUNsQixrQkFBa0IsRUFBRSxZQUFZO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgT25Jbml0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3dpdGNoZXJPcHRpb24gfSBmcm9tICcuLyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1zd2l0Y2hlcicsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTd2l0Y2hlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdyYWRpb2dyb3VwJyxcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgcmVhZG9ubHkgb3B0aW9ucyA9IGlucHV0PFN3aXRjaGVyT3B0aW9uW10+KFtdKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRWYWx1ZSA9IG1vZGVsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICBzbGlkZXJXaWR0aCA9ICcnO1xuICBzbGlkZXJQb3NpdGlvbiA9ICcnO1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoX3ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAvLyBub29wXG4gIH07XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8vIG5vb3BcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLiN1cGRhdGVTbGlkZXJQcm9wZXJ0aWVzKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUuc2V0KHZhbHVlKTtcbiAgICBpZiAodGhpcy5vcHRpb25zKCkubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy4jdXBkYXRlU2xpZGVyUHJvcGVydGllcygpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cblxuICBzZWxlY3RPcHRpb24odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHJldHVybjtcblxuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMub3B0aW9ucygpLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk7XG4gICAgaWYgKG9wdGlvbj8uZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZS5zZXQodmFsdWUpO1xuICAgIHRoaXMuI3VwZGF0ZVNsaWRlclByb3BlcnRpZXMoKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBfY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucygpLmZpbHRlcigob3B0KSA9PiAhb3B0LmRpc2FibGVkKTtcbiAgICBjb25zdCBjdXJyZW50RW5hYmxlZEluZGV4ID0gZW5hYmxlZE9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgKG9wdCkgPT4gb3B0LnZhbHVlID09PSB0aGlzLnNlbGVjdGVkVmFsdWUoKSxcbiAgICApO1xuICAgIGNvbnN0IHByZXZJbmRleCA9IGN1cnJlbnRFbmFibGVkSW5kZXggPiAwID8gY3VycmVudEVuYWJsZWRJbmRleCAtIDEgOiBlbmFibGVkT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGN1cnJlbnRFbmFibGVkSW5kZXggPCBlbmFibGVkT3B0aW9ucy5sZW5ndGggLSAxID8gY3VycmVudEVuYWJsZWRJbmRleCArIDEgOiAwO1xuICAgIGNvbnN0IGxhc3RPcHRpb24gPSBlbmFibGVkT3B0aW9uc1tlbmFibGVkT3B0aW9ucy5sZW5ndGggLSAxXTtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKGVuYWJsZWRPcHRpb25zW3ByZXZJbmRleF0udmFsdWUpO1xuICAgICAgICB0aGlzLiNmb2N1c09wdGlvbih0aGlzLm9wdGlvbnMoKS5pbmRleE9mKGVuYWJsZWRPcHRpb25zW3ByZXZJbmRleF0pKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RPcHRpb24oZW5hYmxlZE9wdGlvbnNbbmV4dEluZGV4XS52YWx1ZSk7XG4gICAgICAgIHRoaXMuI2ZvY3VzT3B0aW9uKHRoaXMub3B0aW9ucygpLmluZGV4T2YoZW5hYmxlZE9wdGlvbnNbbmV4dEluZGV4XSkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKGVuYWJsZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgdGhpcy4jZm9jdXNPcHRpb24odGhpcy5vcHRpb25zKCkuaW5kZXhPZihlbmFibGVkT3B0aW9uc1swXSkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RPcHRpb24obGFzdE9wdGlvbi52YWx1ZSk7XG4gICAgICAgIHRoaXMuI2ZvY3VzT3B0aW9uKHRoaXMub3B0aW9ucygpLmluZGV4T2YobGFzdE9wdGlvbikpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAjZm9jdXNPcHRpb24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdlbmVyYXRlSWQoaW5kZXgpKTtcbiAgICBvcHRpb25FbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgI3VwZGF0ZVNsaWRlclByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvcHQpID0+IG9wdC52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFZhbHVlKCkpO1xuXG4gICAgaWYgKHNlbGVjdGVkSW5kZXggPj0gMCkge1xuICAgICAgLy8gVXNlIENTUyBjYWxjKCkgZm9yIHByZWNpc2UgcG9zaXRpb25pbmcgd2l0aCBkZXNpZ24gc3lzdGVtIHZhcmlhYmxlc1xuICAgICAgLy8gV2lkdGg6ICgxMDAlIC0gdG90YWwgcGFkZGluZykgZGl2aWRlZCBieSBudW1iZXIgb2Ygb3B0aW9uc1xuICAgICAgdGhpcy5zbGlkZXJXaWR0aCA9IGBjYWxjKCgxMDAlIC0gdmFyKC0tbmR3LXNwYWNpbmcteHMpKSAvICR7b3B0aW9ucy5sZW5ndGh9KWA7XG5cbiAgICAgIC8vIFBvc2l0aW9uOiBsZWZ0IHBhZGRpbmcgKyAoc2VsZWN0ZWQgaW5kZXggKiB3aWR0aCBvZiBlYWNoIG9wdGlvbilcbiAgICAgIHRoaXMuc2xpZGVyUG9zaXRpb24gPSBgY2FsYyh2YXIoLS1uZHctc3BhY2luZy0yeHMpICsgKCR7c2VsZWN0ZWRJbmRleH0gKiBjYWxjKCgxMDAlIC0gdmFyKC0tbmR3LXNwYWNpbmcteHMpKSAvICR7b3B0aW9ucy5sZW5ndGh9KSkpYDtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSAjY29tcG9uZW50SWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuXG4gIGdlbmVyYXRlSWQoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuI2NvbXBvbmVudElkfS1vcHRpb24tJHtpbmRleH1gO1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHN3aXRjaGVyLSR7dGhpcy4jY29tcG9uZW50SWR9YDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInN3aXRjaC1zbGlkZXJcIlxuICBbc3R5bGUud2lkdGhdPVwic2xpZGVyV2lkdGhcIlxuICBbc3R5bGUubGVmdF09XCJzbGlkZXJQb3NpdGlvblwiXG4gIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuPjwvZGl2PlxuXG5AZm9yIChvcHRpb24gb2Ygb3B0aW9ucygpOyB0cmFjayBvcHRpb24udmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gIDxsYWJlbFxuICAgIGNsYXNzPVwic3dpdGNoLW9wdGlvblwiXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZFZhbHVlKCkgPT09IG9wdGlvbi52YWx1ZVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBkaXNhYmxlZCgpXCJcbiAgICBbYXR0ci5mb3JdPVwiZ2VuZXJhdGVJZChpKVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBbaWRdPVwiZ2VuZXJhdGVJZChpKVwiXG4gICAgICBbbmFtZV09XCJjb21wb25lbnROYW1lXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRWYWx1ZSgpID09PSBvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBkaXNhYmxlZCgpXCJcbiAgICAgIChjaGFuZ2UpPVwic2VsZWN0T3B0aW9uKG9wdGlvbi52YWx1ZSlcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgaSlcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJvcHRpb24uZGlzYWJsZWQgPyBnZW5lcmF0ZUlkKGkpICsgJy1kaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgIGNsYXNzPVwic3dpdGNoLXJhZGlvXCJcbiAgICAvPlxuICAgIEBpZiAob3B0aW9uLmljb24pIHtcbiAgICAgIDxuZHctaWNvbj57eyBvcHRpb24uaWNvbiB9fTwvbmR3LWljb24+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuXG4gICAgQGlmIChvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgIDxzcGFuIFtpZF09XCJnZW5lcmF0ZUlkKGkpICsgJy1kaXNhYmxlZCdcIiBjbGFzcz1cInNyLW9ubHlcIj4gKGRpc2FibGVkKSA8L3NwYW4+XG4gICAgfVxuICA8L2xhYmVsPlxufVxuIl19","import { TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, input, viewChild, ViewContainerRef, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TabComponent {\n _viewContainerRef = inject(ViewContainerRef);\n _elementRef = inject(ElementRef);\n // Portal that will be the hosted content of the tab\n _content = null;\n // Content inside the tab\n _contentTemplate = viewChild.required('content');\n get content() {\n return this._content;\n }\n title = input.required(...(ngDevMode ? [{ debugName: \"title\" }] : []));\n disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n hasError = input(false, ...(ngDevMode ? [{ debugName: \"hasError\" }] : []));\n active = false;\n id = input(crypto.randomUUID(), ...(ngDevMode ? [{ debugName: \"id\" }] : []));\n ngOnInit() {\n this._content = new TemplatePortal(this._contentTemplate(), this._viewContainerRef);\n }\n getNativeElement() {\n return this._elementRef.nativeElement;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.2.4\", type: TabComponent, isStandalone: true, selector: \"ndw-tab\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: \"hasError\", publicName: \"hasError\", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"_contentTemplate\", first: true, predicate: [\"content\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<!-- Create a template for the content of the <ndw-tab> so that we can grab a reference to this\\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\\n tab-group. -->\\n<ng-template #content><ng-content></ng-content></ng-template>\\n\", styles: [\"\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TabComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<!-- Create a template for the content of the <ndw-tab> so that we can grab a reference to this\\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\\n tab-group. -->\\n<ng-template #content><ng-content></ng-content></ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWIvdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWIvdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDOztBQVF2QixNQUFNLE9BQU8sWUFBWTtJQUNOLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbEQsb0RBQW9EO0lBQzVDLFFBQVEsR0FBMEIsSUFBSSxDQUFDO0lBQy9DLHlCQUF5QjtJQUNSLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQXVCLFNBQVMsQ0FBQyxDQUFDO0lBRXhGLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7SUFDakMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDeEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLEVBQUUsR0FBRyxLQUFLLENBQWtCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsOENBQUMsQ0FBQztJQUVqRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO3VHQXpCVSxZQUFZOzJGQUFaLFlBQVksb3JCQ25CekIsd1JBSUE7OzJGRGVhLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0UsU0FBUyxtQkFHRix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy10YWInLFxuICBzdHlsZVVybDogJy4vdGFiLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIC8vIFBvcnRhbCB0aGF0IHdpbGwgYmUgdGhlIGhvc3RlZCBjb250ZW50IG9mIHRoZSB0YWJcbiAgcHJpdmF0ZSBfY29udGVudDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcbiAgLy8gQ29udGVudCBpbnNpZGUgdGhlIHRhYlxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50VGVtcGxhdGUgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdjb250ZW50Jyk7XG5cbiAgZ2V0IGNvbnRlbnQoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgfVxuXG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgaGFzRXJyb3IgPSBpbnB1dChmYWxzZSk7XG4gIGFjdGl2ZSA9IGZhbHNlO1xuICBpZCA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4oY3J5cHRvLnJhbmRvbVVVSUQoKSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9jb250ZW50VGVtcGxhdGUoKSwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBnZXROYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iLCI8IS0tIENyZWF0ZSBhIHRlbXBsYXRlIGZvciB0aGUgY29udGVudCBvZiB0aGUgPG5kdy10YWI+IHNvIHRoYXQgd2UgY2FuIGdyYWIgYSByZWZlcmVuY2UgdG8gdGhpc1xuICAgIFRlbXBsYXRlUmVmIGFuZCB1c2UgaXQgaW4gYSBQb3J0YWwgdG8gcmVuZGVyIHRoZSB0YWIgY29udGVudCBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4gdGhlXG4gICAgdGFiLWdyb3VwLiAtLT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, contentChildren, effect, input, model, signal, viewChild, viewChildren, afterNextRender, Injector, DestroyRef, inject, } from '@angular/core';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { NgClass } from '@angular/common';\nimport { BadgeComponent } from '../badge';\nimport { TabComponent } from '../tab';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { IconComponent } from '../icon';\nimport { ButtonDirective } from '../button';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\nexport class TabGroupComponent {\n _injector = inject(Injector);\n _destroyRef = inject(DestroyRef);\n _tabs = contentChildren(TabComponent, ...(ngDevMode ? [{ debugName: \"_tabs\" }] : []));\n _tabButtons = viewChildren('tabButton', ...(ngDevMode ? [{ debugName: \"_tabButtons\" }] : []));\n _tabGroupContainer = viewChild('tabGroupContainer', ...(ngDevMode ? [{ debugName: \"_tabGroupContainer\" }] : []));\n hasPadding = input(false, ...(ngDevMode ? [{ debugName: \"hasPadding\" }] : []));\n activeTabId = model(...(ngDevMode ? [undefined, { debugName: \"activeTabId\" }] : []));\n inlinePadding = input(0, ...(ngDevMode ? [{ debugName: \"inlinePadding\" }] : []));\n // Scroll state signals\n _scrollLeft = signal(0, ...(ngDevMode ? [{ debugName: \"_scrollLeft\" }] : []));\n _scrollWidth = signal(0, ...(ngDevMode ? [{ debugName: \"_scrollWidth\" }] : []));\n _clientWidth = signal(0, ...(ngDevMode ? [{ debugName: \"_clientWidth\" }] : []));\n tabs = computed(() => this._tabs().map((tab) => {\n tab.active = tab.id() === this.activeTabId();\n return tab;\n }), ...(ngDevMode ? [{ debugName: \"tabs\" }] : []));\n canScrollLeft = computed(() => this._scrollLeft() > 0, ...(ngDevMode ? [{ debugName: \"canScrollLeft\" }] : []));\n canScrollRight = computed(() => this._scrollLeft() < this._scrollWidth() - this._clientWidth() - 1, ...(ngDevMode ? [{ debugName: \"canScrollRight\" }] : []));\n _resizeObserver;\n constructor() {\n effect(() => {\n const tabs = this._tabs();\n const activeTab = this.activeTabId();\n if (activeTab === undefined && tabs.length) {\n const firstEnabledTab = tabs.find((tab) => !tab.disabled());\n if (firstEnabledTab) {\n this.activeTabId.set(firstEnabledTab.id());\n }\n }\n });\n effect(() => {\n const id = this.activeTabId();\n const tabs = this._tabs();\n tabs.forEach((tab) => {\n tab.active = tab.id() === id;\n });\n });\n // Setup scroll detection after render\n afterNextRender(() => {\n this._setupScrollDetection();\n }, { injector: this._injector });\n }\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n _setupScrollDetection() {\n const container = this._tabGroupContainer()?.nativeElement;\n if (!container)\n return;\n this._updateScrollState(container);\n // Listen to scroll events\n fromEvent(container, 'scroll')\n .pipe(takeUntilDestroyed(this._destroyRef), debounceTime(50))\n .subscribe(() => {\n this._updateScrollState(container);\n });\n // Observe resize\n this._resizeObserver = new ResizeObserver(() => {\n this._updateScrollState(container);\n });\n this._resizeObserver.observe(container);\n }\n _updateScrollState(container) {\n this._scrollLeft.set(container.scrollLeft);\n this._scrollWidth.set(container.scrollWidth);\n this._clientWidth.set(container.clientWidth);\n }\n scrollTo(direction) {\n const container = this._tabGroupContainer()?.nativeElement;\n if (!container)\n return;\n const scrollAmount = 200; // Fixed scroll amount in pixels\n const newScrollLeft = direction === 'left'\n ? container.scrollLeft - scrollAmount\n : container.scrollLeft + scrollAmount;\n container.scrollTo({\n left: newScrollLeft,\n behavior: 'smooth',\n });\n }\n selectTab(index) {\n this.activeTabId.set(this._tabs()?.[index].id());\n const tabButtons = this._tabButtons();\n if (tabButtons[index]?.nativeElement) {\n tabButtons[index]?.nativeElement.focus();\n }\n }\n onKeyDown(event) {\n const tabCount = this.tabs().length;\n const currentIndex = this._tabs().findIndex((tab) => tab.id() === this.activeTabId());\n switch (event.key) {\n case 'ArrowRight':\n this.selectTab(this.getNextEnabledIndex(tabCount, currentIndex, 1));\n break;\n case 'ArrowLeft':\n this.selectTab(this.getNextEnabledIndex(tabCount, currentIndex, -1));\n break;\n case 'Home':\n event.preventDefault();\n this.selectTab(this.getFirstEnabledIndex(tabCount));\n break;\n case 'End':\n event.preventDefault();\n this.selectTab(this.getLastEnabledIndex(tabCount));\n break;\n }\n }\n getNextEnabledIndex(tabCount, start, step) {\n for (let offset = 1; offset < tabCount; offset++) {\n const i = (start + step * offset + tabCount) % tabCount;\n if (!this.tabs()[i].disabled())\n return i;\n }\n return start;\n }\n getFirstEnabledIndex(tabCount) {\n for (let i = 0; i < tabCount; i++) {\n if (!this.tabs()[i].disabled())\n return i;\n }\n return 0;\n }\n getLastEnabledIndex(tabCount) {\n for (let i = tabCount - 1; i >= 0; i--) {\n if (!this.tabs()[i].disabled())\n return i;\n }\n return tabCount - 1;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TabGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: TabGroupComponent, isStandalone: true, selector: \"ndw-tab-group\", inputs: { hasPadding: { classPropertyName: \"hasPadding\", publicName: \"hasPadding\", isSignal: true, isRequired: false, transformFunction: null }, activeTabId: { classPropertyName: \"activeTabId\", publicName: \"activeTabId\", isSignal: true, isRequired: false, transformFunction: null }, inlinePadding: { classPropertyName: \"inlinePadding\", publicName: \"inlinePadding\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeTabId: \"activeTabIdChange\" }, queries: [{ propertyName: \"_tabs\", predicate: TabComponent, isSignal: true }], viewQueries: [{ propertyName: \"_tabButtons\", predicate: [\"tabButton\"], descendants: true, isSignal: true }, { propertyName: \"_tabGroupContainer\", first: true, predicate: [\"tabGroupContainer\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div class=\\\"tab-group-wrapper\\\">\\n @if (canScrollLeft()) {\\n <button\\n ndwButton\\n secondary\\n alternative\\n extra-small\\n class=\\\"scroll-arrow scroll-arrow-left\\\"\\n type=\\\"button\\\"\\n aria-label=\\\"Scroll naar links\\\"\\n tabindex=\\\"-1\\\"\\n (click)=\\\"scrollTo('left')\\\"\\n >\\n <ndw-icon>chevron_left</ndw-icon>\\n </button>\\n }\\n\\n <div #tabGroupContainer class=\\\"tab-group\\\" role=\\\"tablist\\\" [class.with-padding]=\\\"hasPadding()\\\">\\n @for (tab of tabs(); track tab.id(); let i = $index) {\\n <button\\n #tabButton\\n class=\\\"tab-button\\\"\\n role=\\\"tab\\\"\\n type=\\\"button\\\"\\n [attr.active]=\\\"tab.active ? true : undefined\\\"\\n [attr.aria-controls]=\\\"'tab-panel-' + tab.id\\\"\\n [attr.aria-selected]=\\\"tab.active\\\"\\n [disabled]=\\\"tab.disabled() ? true : null\\\"\\n [id]=\\\"'tab-' + tab.id\\\"\\n [tabindex]=\\\"tab.active ? 0 : -1\\\"\\n (click)=\\\"selectTab(i)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n >\\n {{ tab.title() }}\\n @if (tab.hasError()) {\\n <ndw-badge [size]=\\\"'small'\\\" [variant]=\\\"'error'\\\" />\\n }\\n </button>\\n }\\n </div>\\n\\n @if (canScrollRight()) {\\n <button\\n ndwButton\\n secondary\\n alternative\\n extra-small\\n class=\\\"scroll-arrow scroll-arrow-right\\\"\\n type=\\\"button\\\"\\n aria-label=\\\"Scroll naar rechts\\\"\\n tabindex=\\\"-1\\\"\\n (click)=\\\"scrollTo('right')\\\"\\n >\\n <ndw-icon>chevron_right</ndw-icon>\\n </button>\\n }\\n</div>\\n@for (tab of tabs(); track tab.id(); let i = $index) {\\n <div\\n class=\\\"tab-content\\\"\\n [ngClass]=\\\"{ 'is-hidden': !tab.active }\\\"\\n [id]=\\\"'tab-panel-' + tab.id\\\"\\n role=\\\"tabpanel\\\"\\n [attr.aria-labelledby]=\\\"'tab-' + tab.id\\\"\\n [tabindex]=\\\"0\\\"\\n >\\n <ng-template [cdkPortalOutlet]=\\\"tab.content\\\"></ng-template>\\n </div>\\n}\\n\", styles: [\".tab-group-wrapper{position:relative}.tab-group{display:flex;gap:var(--ndw-spacing-lg);overflow:auto hidden;padding-left:0;position:relative;flex:1;scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(to bottom,transparent calc(100% - var(--ndw-border-size-sm)),var(--ndw-color-grey-200) calc(100% - var(--ndw-border-size-sm))) 0 0/100vw 100% no-repeat}.tab-group::-webkit-scrollbar{display:none}.tab-group.with-padding{padding-inline:var(--ndw-spacing-lg)}.scroll-arrow{position:absolute;top:var(--ndw-spacing-sm);border-radius:100%;background-color:var(--ndw-color-white);z-index:2;color:var(--ndw-color-grey-600);transition:color .2s ease-out}.scroll-arrow:hover{background-color:var(--ndw-color-grey-50)!important}.scroll-arrow.scroll-arrow-left{left:0}.scroll-arrow.scroll-arrow-right{right:0}.tab-button{background:none;border:none;border-bottom:var(--ndw-border-size-lg) solid transparent;color:var(--ndw-color-grey-400);cursor:pointer;display:block;font-weight:700;padding:var(--ndw-spacing-md) 0;position:relative;transition:border-bottom .2s ease-out,color .2s ease-out;white-space:nowrap;flex-shrink:0}.tab-button ndw-badge{position:absolute;top:0rem;right:-1rem;pointer-events:none}.tab-button ndw-badge.small{top:.25rem;right:-.75rem}.tab-button:disabled{pointer-events:none;opacity:.5}.tab-button:hover{border-color:var(--ndw-color-grey-500);color:var(--ndw-color-grey-500)}.tab-button:active,.tab-button:focus{border-color:transparent;color:var(--ndw-color-grey-400)}.tab-button[aria-selected=true]{border-color:var(--ndw-color-primary);color:var(--ndw-color-primary)}.tab-button[aria-selected=true]:hover{border-color:var(--ndw-color-primary-hover);color:var(--ndw-color-primary-hover)}.tab-button[aria-selected=true]:active{border-color:var(--ndw-color-primary);color:var(--ndw-color-primary)}.tab-content{padding-top:var(--ndw-spacing-md)}.tab-content.is-hidden{display:none}\\n\"], dependencies: [{ kind: \"directive\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: [\"cdkPortalOutlet\"], outputs: [\"attached\"], exportAs: [\"cdkPortalOutlet\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: BadgeComponent, selector: \"ndw-badge\" }, { kind: \"directive\", type: ButtonDirective, selector: \"[ndwButton]\" }, { kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TabGroupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ndw-tab-group', imports: [CdkPortalOutlet, NgClass, BadgeComponent, ButtonDirective, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"tab-group-wrapper\\\">\\n @if (canScrollLeft()) {\\n <button\\n ndwButton\\n secondary\\n alternative\\n extra-small\\n class=\\\"scroll-arrow scroll-arrow-left\\\"\\n type=\\\"button\\\"\\n aria-label=\\\"Scroll naar links\\\"\\n tabindex=\\\"-1\\\"\\n (click)=\\\"scrollTo('left')\\\"\\n >\\n <ndw-icon>chevron_left</ndw-icon>\\n </button>\\n }\\n\\n <div #tabGroupContainer class=\\\"tab-group\\\" role=\\\"tablist\\\" [class.with-padding]=\\\"hasPadding()\\\">\\n @for (tab of tabs(); track tab.id(); let i = $index) {\\n <button\\n #tabButton\\n class=\\\"tab-button\\\"\\n role=\\\"tab\\\"\\n type=\\\"button\\\"\\n [attr.active]=\\\"tab.active ? true : undefined\\\"\\n [attr.aria-controls]=\\\"'tab-panel-' + tab.id\\\"\\n [attr.aria-selected]=\\\"tab.active\\\"\\n [disabled]=\\\"tab.disabled() ? true : null\\\"\\n [id]=\\\"'tab-' + tab.id\\\"\\n [tabindex]=\\\"tab.active ? 0 : -1\\\"\\n (click)=\\\"selectTab(i)\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n >\\n {{ tab.title() }}\\n @if (tab.hasError()) {\\n <ndw-badge [size]=\\\"'small'\\\" [variant]=\\\"'error'\\\" />\\n }\\n </button>\\n }\\n </div>\\n\\n @if (canScrollRight()) {\\n <button\\n ndwButton\\n secondary\\n alternative\\n extra-small\\n class=\\\"scroll-arrow scroll-arrow-right\\\"\\n type=\\\"button\\\"\\n aria-label=\\\"Scroll naar rechts\\\"\\n tabindex=\\\"-1\\\"\\n (click)=\\\"scrollTo('right')\\\"\\n >\\n <ndw-icon>chevron_right</ndw-icon>\\n </button>\\n }\\n</div>\\n@for (tab of tabs(); track tab.id(); let i = $index) {\\n <div\\n class=\\\"tab-content\\\"\\n [ngClass]=\\\"{ 'is-hidden': !tab.active }\\\"\\n [id]=\\\"'tab-panel-' + tab.id\\\"\\n role=\\\"tabpanel\\\"\\n [attr.aria-labelledby]=\\\"'tab-' + tab.id\\\"\\n [tabindex]=\\\"0\\\"\\n >\\n <ng-template [cdkPortalOutlet]=\\\"tab.content\\\"></ng-template>\\n </div>\\n}\\n\", styles: [\".tab-group-wrapper{position:relative}.tab-group{display:flex;gap:var(--ndw-spacing-lg);overflow:auto hidden;padding-left:0;position:relative;flex:1;scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(to bottom,transparent calc(100% - var(--ndw-border-size-sm)),var(--ndw-color-grey-200) calc(100% - var(--ndw-border-size-sm))) 0 0/100vw 100% no-repeat}.tab-group::-webkit-scrollbar{display:none}.tab-group.with-padding{padding-inline:var(--ndw-spacing-lg)}.scroll-arrow{position:absolute;top:var(--ndw-spacing-sm);border-radius:100%;background-color:var(--ndw-color-white);z-index:2;color:var(--ndw-color-grey-600);transition:color .2s ease-out}.scroll-arrow:hover{background-color:var(--ndw-color-grey-50)!important}.scroll-arrow.scroll-arrow-left{left:0}.scroll-arrow.scroll-arrow-right{right:0}.tab-button{background:none;border:none;border-bottom:var(--ndw-border-size-lg) solid transparent;color:var(--ndw-color-grey-400);cursor:pointer;display:block;font-weight:700;padding:var(--ndw-spacing-md) 0;position:relative;transition:border-bottom .2s ease-out,color .2s ease-out;white-space:nowrap;flex-shrink:0}.tab-button ndw-badge{position:absolute;top:0rem;right:-1rem;pointer-events:none}.tab-button ndw-badge.small{top:.25rem;right:-.75rem}.tab-button:disabled{pointer-events:none;opacity:.5}.tab-button:hover{border-color:var(--ndw-color-grey-500);color:var(--ndw-color-grey-500)}.tab-button:active,.tab-button:focus{border-color:transparent;color:var(--ndw-color-grey-400)}.tab-button[aria-selected=true]{border-color:var(--ndw-color-primary);color:var(--ndw-color-primary)}.tab-button[aria-selected=true]:hover{border-color:var(--ndw-color-primary-hover);color:var(--ndw-color-primary-hover)}.tab-button[aria-selected=true]:active{border-color:var(--ndw-color-primary);color:var(--ndw-color-primary)}.tab-content{padding-top:var(--ndw-spacing-md)}.tab-content.is-hidden{display:none}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUVOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTaEUsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsV0FBVyxHQUFHLE1B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Q0FBQyxRQUFnQjtRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQzt1R0E1SlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsMmpCQUlhLFlBQVksb1JDeEN2RCxxNERBcUVBLG83RERwQ1ksZUFBZSxpSkFBRSxPQUFPLG9GQUFFLGNBQWMsc0RBQUUsZUFBZSx3REFBRSxhQUFhOzsyRkFHdkUsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsV0FHaEIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLG1CQUNsRSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgSW5qZWN0b3IsXG4gIERlc3Ryb3lSZWYsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFkZ2UnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LXRhYi1ncm91cCcsXG4gIHN0eWxlVXJsOiAnLi90YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0Nka1BvcnRhbE91dGxldCwgTmdDbGFzcywgQmFkZ2VDb21wb25lbnQsIEJ1dHRvbkRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90YWJzID0gY29udGVudENoaWxkcmVuKFRhYkNvbXBvbmVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RhYkJ1dHRvbnMgPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZj4oJ3RhYkJ1dHRvbicpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90YWJHcm91cENvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPigndGFiR3JvdXBDb250YWluZXInKTtcblxuICBoYXNQYWRkaW5nID0gaW5wdXQoZmFsc2UpO1xuICBhY3RpdmVUYWJJZCA9IG1vZGVsPHN0cmluZyB8IG51bWJlcj4oKTtcbiAgaW5saW5lUGFkZGluZyA9IGlucHV0KDApO1xuXG4gIC8vIFNjcm9sbCBzdGF0ZSBzaWduYWxzXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbExlZnQgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbFdpZHRoID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnRXaWR0aCA9IHNpZ25hbCgwKTtcblxuICB0YWJzID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLl90YWJzKCkubWFwKCh0YWIpID0+IHtcbiAgICAgIHRhYi5hY3RpdmUgPSB0YWIuaWQoKSA9PT0gdGhpcy5hY3RpdmVUYWJJZCgpO1xuICAgICAgcmV0dXJuIHRhYjtcbiAgICB9KSxcbiAgKTtcblxuICBjYW5TY3JvbGxMZWZ0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2Nyb2xsTGVmdCgpID4gMCk7XG4gIGNhblNjcm9sbFJpZ2h0ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5fc2Nyb2xsTGVmdCgpIDwgdGhpcy5fc2Nyb2xsV2lkdGgoKSAtIHRoaXMuX2NsaWVudFdpZHRoKCkgLSAxLFxuICApO1xuXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLl90YWJzKCk7XG4gICAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLmFjdGl2ZVRhYklkKCk7XG4gICAgICBpZiAoYWN0aXZlVGFiID09PSB1bmRlZmluZWQgJiYgdGFicy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZmlyc3RFbmFibGVkVGFiID0gdGFicy5maW5kKCh0YWIpID0+ICF0YWIuZGlzYWJsZWQoKSk7XG4gICAgICAgIGlmIChmaXJzdEVuYWJsZWRUYWIpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVRhYklkLnNldChmaXJzdEVuYWJsZWRUYWIuaWQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmFjdGl2ZVRhYklkKCk7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicygpO1xuXG4gICAgICB0YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICB0YWIuYWN0aXZlID0gdGFiLmlkKCkgPT09IGlkO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBTZXR1cCBzY3JvbGwgZGV0ZWN0aW9uIGFmdGVyIHJlbmRlclxuICAgIGFmdGVyTmV4dFJlbmRlcihcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0dXBTY3JvbGxEZXRlY3Rpb24oKTtcbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9LFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBTY3JvbGxEZXRlY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fdGFiR3JvdXBDb250YWluZXIoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuO1xuXG4gICAgdGhpcy5fdXBkYXRlU2Nyb2xsU3RhdGUoY29udGFpbmVyKTtcblxuICAgIC8vIExpc3RlbiB0byBzY3JvbGwgZXZlbnRzXG4gICAgZnJvbUV2ZW50KGNvbnRhaW5lciwgJ3Njcm9sbCcpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksIGRlYm91bmNlVGltZSg1MCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2Nyb2xsU3RhdGUoY29udGFpbmVyKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gT2JzZXJ2ZSByZXNpemVcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVTY3JvbGxTdGF0ZShjb250YWluZXIpO1xuICAgIH0pO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNjcm9sbFN0YXRlKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxMZWZ0LnNldChjb250YWluZXIuc2Nyb2xsTGVmdCk7XG4gICAgdGhpcy5fc2Nyb2xsV2lkdGguc2V0KGNvbnRhaW5lci5zY3JvbGxXaWR0aCk7XG4gICAgdGhpcy5fY2xpZW50V2lkdGguc2V0KGNvbnRhaW5lci5jbGllbnRXaWR0aCk7XG4gIH1cblxuICBzY3JvbGxUbyhkaXJlY3Rpb246ICdsZWZ0JyB8ICdyaWdodCcpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl90YWJHcm91cENvbnRhaW5lcigpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghY29udGFpbmVyKSByZXR1cm47XG5cbiAgICBjb25zdCBzY3JvbGxBbW91bnQgPSAyMDA7IC8vIEZpeGVkIHNjcm9sbCBhbW91bnQgaW4gcGl4ZWxzXG4gICAgY29uc3QgbmV3U2Nyb2xsTGVmdCA9XG4gICAgICBkaXJlY3Rpb24gPT09ICdsZWZ0J1xuICAgICAgICA/IGNvbnRhaW5lci5zY3JvbGxMZWZ0IC0gc2Nyb2xsQW1vdW50XG4gICAgICAgIDogY29udGFpbmVyLnNjcm9sbExlZnQgKyBzY3JvbGxBbW91bnQ7XG5cbiAgICBjb250YWluZXIuc2Nyb2xsVG8oe1xuICAgICAgbGVmdDogbmV3U2Nyb2xsTGVmdCxcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdFRhYihpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVUYWJJZC5zZXQodGhpcy5fdGFicygpPy5baW5kZXhdLmlkKCkpO1xuICAgIGNvbnN0IHRhYkJ1dHRvbnMgPSB0aGlzLl90YWJCdXR0b25zKCk7XG4gICAgaWYgKHRhYkJ1dHRvbnNbaW5kZXhdPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0YWJCdXR0b25zW2luZGV4XT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHRhYkNvdW50ID0gdGhpcy50YWJzKCkubGVuZ3RoO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuX3RhYnMoKS5maW5kSW5kZXgoKHRhYikgPT4gdGFiLmlkKCkgPT09IHRoaXMuYWN0aXZlVGFiSWQoKSk7XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMuZ2V0TmV4dEVuYWJsZWRJbmRleCh0YWJDb3VudCwgY3VycmVudEluZGV4LCAxKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy5nZXROZXh0RW5hYmxlZEluZGV4KHRhYkNvdW50LCBjdXJyZW50SW5kZXgsIC0xKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMuZ2V0Rmlyc3RFbmFibGVkSW5kZXgodGFiQ291bnQpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLmdldExhc3RFbmFibGVkSW5kZXgodGFiQ291bnQpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXh0RW5hYmxlZEluZGV4KHRhYkNvdW50OiBudW1iZXIsIHN0YXJ0OiBudW1iZXIsIHN0ZXA6IG51bWJlcik6IG51bWJlciB7XG4gICAgZm9yIChsZXQgb2Zmc2V0ID0gMTsgb2Zmc2V0IDwgdGFiQ291bnQ7IG9mZnNldCsrKSB7XG4gICAgICBjb25zdCBpID0gKHN0YXJ0ICsgc3RlcCAqIG9mZnNldCArIHRhYkNvdW50KSAlIHRhYkNvdW50O1xuICAgICAgaWYgKCF0aGlzLnRhYnMoKVtpXS5kaXNhYmxlZCgpKSByZXR1cm4gaTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdEVuYWJsZWRJbmRleCh0YWJDb3VudDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYkNvdW50OyBpKyspIHtcbiAgICAgIGlmICghdGhpcy50YWJzKClbaV0uZGlzYWJsZWQoKSkgcmV0dXJuIGk7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0RW5hYmxlZEluZGV4KHRhYkNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSB0YWJDb3VudCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBpZiAoIXRoaXMudGFicygpW2ldLmRpc2FibGVkKCkpIHJldHVybiBpO1xuICAgIH1cbiAgICByZXR1cm4gdGFiQ291bnQgLSAxO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFiLWdyb3VwLXdyYXBwZXJcIj5cbiAgQGlmIChjYW5TY3JvbGxMZWZ0KCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBuZHdCdXR0b25cbiAgICAgIHNlY29uZGFyeVxuICAgICAgYWx0ZXJuYXRpdmVcbiAgICAgIGV4dHJhLXNtYWxsXG4gICAgICBjbGFzcz1cInNjcm9sbC1hcnJvdyBzY3JvbGwtYXJyb3ctbGVmdFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJTY3JvbGwgbmFhciBsaW5rc1wiXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIChjbGljayk9XCJzY3JvbGxUbygnbGVmdCcpXCJcbiAgICA+XG4gICAgICA8bmR3LWljb24+Y2hldnJvbl9sZWZ0PC9uZHctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIDxkaXYgI3RhYkdyb3VwQ29udGFpbmVyIGNsYXNzPVwidGFiLWdyb3VwXCIgcm9sZT1cInRhYmxpc3RcIiBbY2xhc3Mud2l0aC1wYWRkaW5nXT1cImhhc1BhZGRpbmcoKVwiPlxuICAgIEBmb3IgKHRhYiBvZiB0YWJzKCk7IHRyYWNrIHRhYi5pZCgpOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICAjdGFiQnV0dG9uXG4gICAgICAgIGNsYXNzPVwidGFiLWJ1dHRvblwiXG4gICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYWN0aXZlXT1cInRhYi5hY3RpdmUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFiLXBhbmVsLScgKyB0YWIuaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkKCkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgIFtpZF09XCIndGFiLScgKyB0YWIuaWRcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiLmFjdGl2ZSA/IDAgOiAtMVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RUYWIoaSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IHRhYi50aXRsZSgpIH19XG4gICAgICAgIEBpZiAodGFiLmhhc0Vycm9yKCkpIHtcbiAgICAgICAgICA8bmR3LWJhZGdlIFtzaXplXT1cIidzbWFsbCdcIiBbdmFyaWFudF09XCInZXJyb3InXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGNhblNjcm9sbFJpZ2h0KCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBuZHdCdXR0b25cbiAgICAgIHNlY29uZGFyeVxuICAgICAgYWx0ZXJuYXRpdmVcbiAgICAgIGV4dHJhLXNtYWxsXG4gICAgICBjbGFzcz1cInNjcm9sbC1hcnJvdyBzY3JvbGwtYXJyb3ctcmlnaHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiU2Nyb2xsIG5hYXIgcmVjaHRzXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgKGNsaWNrKT1cInNjcm9sbFRvKCdyaWdodCcpXCJcbiAgICA+XG4gICAgICA8bmR3LWljb24+Y2hldnJvbl9yaWdodDwvbmR3LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuQGZvciAodGFiIG9mIHRhYnMoKTsgdHJhY2sgdGFiLmlkKCk7IGxldCBpID0gJGluZGV4KSB7XG4gIDxkaXZcbiAgICBjbGFzcz1cInRhYi1jb250ZW50XCJcbiAgICBbbmdDbGFzc109XCJ7ICdpcy1oaWRkZW4nOiAhdGFiLmFjdGl2ZSB9XCJcbiAgICBbaWRdPVwiJ3RhYi1wYW5lbC0nICsgdGFiLmlkXCJcbiAgICByb2xlPVwidGFicGFuZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyB0YWIuaWRcIlxuICAgIFt0YWJpbmRleF09XCIwXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi5jb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG59XG4iXX0=","export const ndwAgGridTheme = {\n accentColor: 'var(--ndw-color-primary)',\n oddRowBackgroundColor: 'var(--ndw-color-grey-50)',\n backgroundColor: 'var(--ndw-color-white)',\n borderRadius: 'var(--ndw-border-radius-md)',\n cellFontFamily: 'var(--ndw-font-family-body)',\n fontFamily: 'inherit',\n fontSize: 'var(--ndw-font-size-sm)',\n headerBackgroundColor: 'var(--ndw-color-white)',\n headerFontFamily: 'var(--ndw-font-family-body)',\n headerFontSize: 'var(--ndw-font-size-xs)',\n headerFontWeight: 'var(--ndw-font-weight-bold)',\n headerRowBorder: {\n color: 'var(--ndw-color-grey-200)',\n style: 'solid',\n width: 'var(--ndw-border-size-md)',\n },\n headerTextColor: 'var(--ndw-color-text)',\n textColor: 'var(--ndw-color-text)',\n wrapperBorder: false,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC10aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9hZy1ncmlkLXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZ0M7SUFDekQsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxxQkFBcUIsRUFBRSwwQkFBMEI7SUFDakQsZUFBZSxFQUFFLHdCQUF3QjtJQUN6QyxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsVUFBVSxFQUFFLFNBQVM7SUFDckIsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxxQkFBcUIsRUFBRSx3QkFBd0I7SUFDL0MsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGNBQWMsRUFBRSx5QkFBeUI7SUFDekMsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwyQkFBMkI7UUFDbEMsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsMkJBQTJCO0tBQ25DO0lBQ0QsZUFBZSxFQUFFLHVCQUF1QjtJQUN4QyxTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRoZW1lRGVmYXVsdFBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcblxuZXhwb3J0IGNvbnN0IG5kd0FnR3JpZFRoZW1lOiBQYXJ0aWFsPFRoZW1lRGVmYXVsdFBhcmFtcz4gPSB7XG4gIGFjY2VudENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLXByaW1hcnkpJyxcbiAgb2RkUm93QmFja2dyb3VuZENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLWdyZXktNTApJyxcbiAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLXdoaXRlKScsXG4gIGJvcmRlclJhZGl1czogJ3ZhcigtLW5kdy1ib3JkZXItcmFkaXVzLW1kKScsXG4gIGNlbGxGb250RmFtaWx5OiAndmFyKC0tbmR3LWZvbnQtZmFtaWx5LWJvZHkpJyxcbiAgZm9udEZhbWlseTogJ2luaGVyaXQnLFxuICBmb250U2l6ZTogJ3ZhcigtLW5kdy1mb250LXNpemUtc20pJyxcbiAgaGVhZGVyQmFja2dyb3VuZENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLXdoaXRlKScsXG4gIGhlYWRlckZvbnRGYW1pbHk6ICd2YXIoLS1uZHctZm9udC1mYW1pbHktYm9keSknLFxuICBoZWFkZXJGb250U2l6ZTogJ3ZhcigtLW5kdy1mb250LXNpemUteHMpJyxcbiAgaGVhZGVyRm9udFdlaWdodDogJ3ZhcigtLW5kdy1mb250LXdlaWdodC1ib2xkKScsXG4gIGhlYWRlclJvd0JvcmRlcjoge1xuICAgIGNvbG9yOiAndmFyKC0tbmR3LWNvbG9yLWdyZXktMjAwKScsXG4gICAgc3R5bGU6ICdzb2xpZCcsXG4gICAgd2lkdGg6ICd2YXIoLS1uZHctYm9yZGVyLXNpemUtbWQpJyxcbiAgfSxcbiAgaGVhZGVyVGV4dENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLXRleHQpJyxcbiAgdGV4dENvbG9yOiAndmFyKC0tbmR3LWNvbG9yLXRleHQpJyxcbiAgd3JhcHBlckJvcmRlcjogZmFsc2UsXG59O1xuIl19","import { ChangeDetectionStrategy, Component, ElementRef, inject, input, output, } from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { IconComponent } from '../icon';\nimport * as i0 from \"@angular/core\";\nexport class ToastComponent {\n message = input.required(...(ngDevMode ? [{ debugName: \"message\" }] : []));\n closeButtonLabel = input('Sluit', ...(ngDevMode ? [{ debugName: \"closeButtonLabel\" }] : []));\n id = input(...(ngDevMode ? [undefined, { debugName: \"id\" }] : []));\n duration = input(5000, ...(ngDevMode ? [{ debugName: \"duration\" }] : []));\n paused = input(false, ...(ngDevMode ? [{ debugName: \"paused\" }] : []));\n showProgress = input(true, ...(ngDevMode ? [{ debugName: \"showProgress\" }] : []));\n closed = output();\n elementDimensions = output();\n #elementRef = inject(ElementRef);\n ngAfterViewInit() {\n this.elementDimensions.emit({\n width: this.#elementRef.nativeElement.offsetWidth,\n height: this.#elementRef.nativeElement.offsetHeight,\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.2.4\", type: ToastComponent, isStandalone: true, selector: \"ndw-toast\", inputs: { message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null }, closeButtonLabel: { classPropertyName: \"closeButtonLabel\", publicName: \"closeButtonLabel\", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: \"duration\", publicName: \"duration\", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: \"paused\", publicName: \"paused\", isSignal: true, isRequired: false, transformFunction: null }, showProgress: { classPropertyName: \"showProgress\", publicName: \"showProgress\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: \"closed\", elementDimensions: \"elementDimensions\" }, ngImport: i0, template: \"<ndw-icon>info</ndw-icon>\\n{{ message() }}\\n<button\\n ndwButton\\n tertiary\\n alternative\\n extra-small\\n (click)=\\\"closed.emit()\\\"\\n [attr.aria-label]=\\\"closeButtonLabel()\\\"\\n>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n<div\\n class=\\\"progress-bar\\\"\\n [ngStyle]=\\\"{\\n 'animation-duration': duration() + 'ms',\\n visibility: showProgress() ? 'visible' : 'hidden',\\n }\\\"\\n [class.paused]=\\\"paused()\\\"\\n></div>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;position:relative;align-items:center;background-color:var(--ndw-color-grey-700);border-radius:var(--ndw-spacing-2xs);color:var(--ndw-color-white);display:grid;font-size:var(--ndw-font-size-sm);gap:var(--ndw-spacing-xs);grid-template-columns:auto 1fr auto;line-height:var(--ndw-line-height-md);max-width:20rem;width:20rem;opacity:1;overflow:hidden;padding:var(--ndw-spacing-xs);transition:opacity var(--ndw-animation-speed-fast) ease-in;z-index:2;box-shadow:var(--ndw-elevation-toast)}:host.hide-content{color:transparent}:host.hide-content>*{visibility:hidden}:host .progress-bar{animation:5s linear 0s 1 normal rightToLeft;background-color:var(--ndw-color-secondary-400);bottom:0;height:var(--ndw-spacing-2xs);left:-100%;position:absolute;width:100%;z-index:-1}:host .progress-bar.paused{animation-play-state:paused}:host>ndw-icon{font-size:1rem}:host [ndwButton] ndw-icon{color:var(--ndw-color-white)}@keyframes rightToLeft{0%{transform:translate(100%)}to{transform:translate(0)}}\\n\"], dependencies: [{ kind: \"component\", type: IconComponent, selector: \"ndw-icon\" }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, NgStyle], selector: 'ndw-toast', template: \"<ndw-icon>info</ndw-icon>\\n{{ message() }}\\n<button\\n ndwButton\\n tertiary\\n alternative\\n extra-small\\n (click)=\\\"closed.emit()\\\"\\n [attr.aria-label]=\\\"closeButtonLabel()\\\"\\n>\\n <ndw-icon>close</ndw-icon>\\n</button>\\n<div\\n class=\\\"progress-bar\\\"\\n [ngStyle]=\\\"{\\n 'animation-duration': duration() + 'ms',\\n visibility: showProgress() ? 'visible' : 'hidden',\\n }\\\"\\n [class.paused]=\\\"paused()\\\"\\n></div>\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,400,0..1&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\\\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;position:relative;align-items:center;background-color:var(--ndw-color-grey-700);border-radius:var(--ndw-spacing-2xs);color:var(--ndw-color-white);display:grid;font-size:var(--ndw-font-size-sm);gap:var(--ndw-spacing-xs);grid-template-columns:auto 1fr auto;line-height:var(--ndw-line-height-md);max-width:20rem;width:20rem;opacity:1;overflow:hidden;padding:var(--ndw-spacing-xs);transition:opacity var(--ndw-animation-speed-fast) ease-in;z-index:2;box-shadow:var(--ndw-elevation-toast)}:host.hide-content{color:transparent}:host.hide-content>*{visibility:hidden}:host .progress-bar{animation:5s linear 0s 1 normal rightToLeft;background-color:var(--ndw-color-secondary-400);bottom:0;height:var(--ndw-spacing-2xs);left:-100%;position:absolute;width:100%;z-index:-1}:host .progress-bar.paused{animation-play-state:paused}:host>ndw-icon{font-size:1rem}:host [ndwButton] ndw-icon{color:var(--ndw-color-white)}@keyframes rightToLeft{0%{transform:translate(100%)}to{transform:translate(0)}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZHcvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBY3hDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxrREFBVSxDQUFDO0lBQ25DLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLDREQUFDLENBQUM7SUFDbEMsRUFBRSxHQUFHLEtBQUssd0RBQVUsQ0FBQztJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksb0RBQUMsQ0FBQztJQUN2QixNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssa0RBQUMsQ0FBQztJQUN0QixZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksd0RBQUMsQ0FBQztJQUUzQixNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDbEIsaUJBQWlCLEdBQUcsTUFBTSxFQUFtQixDQUFDO0lBRTlDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakMsZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVc7WUFDakQsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVk7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FsQlUsY0FBYzsyRkFBZCxjQUFjLHM2QkN6QjNCLHlhQW9CQSx3K0ZEQVksYUFBYSxxREFBRSxPQUFPOzsyRkFLckIsY0FBYztrQkFQMUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxZQUN2QixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3REaW1lbnNpb25zIHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnQsIE5nU3R5bGVdLFxuICBzZWxlY3RvcjogJ25kdy10b2FzdCcsXG4gIHN0eWxlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIG1lc3NhZ2UgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGNsb3NlQnV0dG9uTGFiZWwgPSBpbnB1dCgnU2x1aXQnKTtcbiAgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGR1cmF0aW9uID0gaW5wdXQoNTAwMCk7XG4gIHBhdXNlZCA9IGlucHV0KGZhbHNlKTtcbiAgc2hvd1Byb2dyZXNzID0gaW5wdXQodHJ1ZSk7XG5cbiAgY2xvc2VkID0gb3V0cHV0KCk7XG4gIGVsZW1lbnREaW1lbnNpb25zID0gb3V0cHV0PFRvYXN0RGltZW5zaW9ucz4oKTtcblxuICAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50RGltZW5zaW9ucy5lbWl0KHtcbiAgICAgIHdpZHRoOiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZHctaWNvbj5pbmZvPC9uZHctaWNvbj5cbnt7IG1lc3NhZ2UoKSB9fVxuPGJ1dHRvblxuICBuZHdCdXR0b25cbiAgdGVydGlhcnlcbiAgYWx0ZXJuYXRpdmVcbiAgZXh0cmEtc21hbGxcbiAgKGNsaWNrKT1cImNsb3NlZC5lbWl0KClcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlQnV0dG9uTGFiZWwoKVwiXG4+XG4gIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG48L2J1dHRvbj5cbjxkaXZcbiAgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJ2FuaW1hdGlvbi1kdXJhdGlvbic6IGR1cmF0aW9uKCkgKyAnbXMnLFxuICAgIHZpc2liaWxpdHk6IHNob3dQcm9ncmVzcygpID8gJ3Zpc2libGUnIDogJ2hpZGRlbicsXG4gIH1cIlxuICBbY2xhc3MucGF1c2VkXT1cInBhdXNlZCgpXCJcbj48L2Rpdj5cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, inject, signal, viewChildren, } from '@angular/core';\nimport { NgStyle } from '@angular/common';\nimport { ToastComponent } from '../toast.component';\nimport { ToastService } from '../toast.service';\nimport * as i0 from \"@angular/core\";\nexport class ToastListComponent {\n toastService = inject(ToastService);\n toastComponents = viewChildren(ToastComponent, ...(ngDevMode ? [{ debugName: \"toastComponents\" }] : []));\n toastDimensions = signal(new Map(), ...(ngDevMode ? [{ debugName: \"toastDimensions\" }] : []));\n toastOffsetHeights = computed(() => {\n const dimensions = this.toastDimensions();\n const components = this.toastComponents();\n return components\n .map((component) => component.id())\n .filter((id) => id !== null && id !== undefined)\n .reduce((acc, id) => {\n const height = dimensions.get(id)?.height ?? 0;\n return [...acc, acc[acc.length - 1] + height];\n }, [0]);\n }, ...(ngDevMode ? [{ debugName: \"toastOffsetHeights\" }] : []));\n firstToastHeight = computed(() => {\n const firstComponent = this.toastComponents()?.[0];\n const firstId = firstComponent?.id();\n const dimensions = this.toastDimensions();\n if (firstId === null || firstId === undefined) {\n return 0;\n }\n return dimensions.get(firstId)?.height ?? 0;\n }, ...(ngDevMode ? [{ debugName: \"firstToastHeight\" }] : []));\n totalHeightExcludingGaps = computed(() => {\n const heights = this.toastOffsetHeights();\n return heights.length > 0 ? heights[heights.length - 1] : 0;\n }, ...(ngDevMode ? [{ debugName: \"totalHeightExcludingGaps\" }] : []));\n maxToastWidth = computed(() => {\n const dimensions = this.toastDimensions();\n const components = this.toastComponents();\n return components\n .map((component) => component.id())\n .filter((id) => id !== null && id !== undefined)\n .reduce((max, id) => {\n const width = dimensions.get(id)?.width ?? 0;\n return Math.max(max, width);\n }, 0);\n }, ...(ngDevMode ? [{ debugName: \"maxToastWidth\" }] : []));\n setToastDimensions(id, dimensions) {\n this.toastDimensions.update((heights) => {\n heights.set(id, dimensions);\n return heights;\n });\n }\n pause() {\n this.toastService.pause();\n }\n resume() {\n this.toastService.resume();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.2.4\", type: ToastListComponent, isStandalone: true, selector: \"ndw-toast-list\", host: { listeners: { \"mouseenter\": \"pause()\", \"mouseleave\": \"resume()\" }, properties: { \"style.--total-toast-height\": \"totalHeightExcludingGaps() + \\\"px\\\"\", \"style.--total-toast-count\": \"toastComponents().length\", \"style.--max-toast-width\": \"maxToastWidth() + \\\"px\\\"\" } }, viewQueries: [{ propertyName: \"toastComponents\", predicate: ToastComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@for (toast of toastService.toasts(); track toast.id) {\\n <ndw-toast\\n class=\\\"toast\\\"\\n [class.hide-content]=\\\"!toastService.paused() && $index > 0\\\"\\n [ngStyle]=\\\"{\\n '--index': $index,\\n '--offset-height': toastOffsetHeights()[$index] + 'px',\\n '--first-toast-height': firstToastHeight() + 'px',\\n }\\\"\\n [id]=\\\"toast.id\\\"\\n [closeButtonLabel]=\\\"toast.closeButtonLabel ?? 'Sluit'\\\"\\n [message]=\\\"toast.message\\\"\\n [duration]=\\\"toast.duration\\\"\\n [paused]=\\\"toastService.paused()\\\"\\n [showProgress]=\\\"toastService.paused() || $first\\\"\\n (closed)=\\\"toastService.close(toast.id)\\\"\\n (elementDimensions)=\\\"setToastDimensions(toast.id, $event)\\\"\\n ></ndw-toast>\\n}\\n\", styles: [\":host{--stack-gap: var(--ndw-spacing-sm);--animation-speed: var(--ndw-animation-speed-default);position:relative;width:var(--max-toast-width)}:host .toast{--x: 0;--y: calc((var(--stack-gap) * var(--index)));--scaleX: calc(1 - .05 * var(--index));top:0;left:0;position:absolute;transform:translate(var(--x),var(--y));transform-origin:top center;transition-property:transform,opacity;transition-duration:var(--animation-speed);transition-timing-function:ease;z-index:calc(1000 - var(--index))}:host .toast:not(:first-child){transform:translate(var(--x),var(--y)) scaleX(var(--scaleX))}:host:not(:hover):not(:focus-within) .toast:not(:first-child){height:var(--first-toast-height)}:host:hover,:host:focus-within{height:calc(var(--total-toast-height) + var(--stack-gap) * (var(--total-toast-count) - 1))}:host:hover .toast,:host:focus-within .toast{--scaleX: 1;--y: calc(var(--offset-height) + var(--stack-gap) * var(--index));transition-duration:var(--animation-speed)}\\n\"], dependencies: [{ kind: \"component\", type: ToastComponent, selector: \"ndw-toast\", inputs: [\"message\", \"closeButtonLabel\", \"id\", \"duration\", \"paused\", \"showProgress\"], outputs: [\"closed\", \"elementDimensions\"] }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastListComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '(mouseenter)': 'pause()',\n '(mouseleave)': 'resume()',\n '[style.--total-toast-height]': 'totalHeightExcludingGaps() + \"px\"',\n '[style.--total-toast-count]': 'toastComponents().length',\n '[style.--max-toast-width]': 'maxToastWidth() + \"px\"',\n }, imports: [ToastComponent, NgStyle], selector: 'ndw-toast-list', template: \"@for (toast of toastService.toasts(); track toast.id) {\\n <ndw-toast\\n class=\\\"toast\\\"\\n [class.hide-content]=\\\"!toastService.paused() && $index > 0\\\"\\n [ngStyle]=\\\"{\\n '--index': $index,\\n '--offset-height': toastOffsetHeights()[$index] + 'px',\\n '--first-toast-height': firstToastHeight() + 'px',\\n }\\\"\\n [id]=\\\"toast.id\\\"\\n [closeButtonLabel]=\\\"toast.closeButtonLabel ?? 'Sluit'\\\"\\n [message]=\\\"toast.message\\\"\\n [duration]=\\\"toast.duration\\\"\\n [paused]=\\\"toastService.paused()\\\"\\n [showProgress]=\\\"toastService.paused() || $first\\\"\\n (closed)=\\\"toastService.close(toast.id)\\\"\\n (elementDimensions)=\\\"setToastDimensions(toast.id, $event)\\\"\\n ></ndw-toast>\\n}\\n\", styles: [\":host{--stack-gap: var(--ndw-spacing-sm);--animation-speed: var(--ndw-animation-speed-default);position:relative;width:var(--max-toast-width)}:host .toast{--x: 0;--y: calc((var(--stack-gap) * var(--index)));--scaleX: calc(1 - .05 * var(--index));top:0;left:0;position:absolute;transform:translate(var(--x),var(--y));transform-origin:top center;transition-property:transform,opacity;transition-duration:var(--animation-speed);transition-timing-function:ease;z-index:calc(1000 - var(--index))}:host .toast:not(:first-child){transform:translate(var(--x),var(--y)) scaleX(var(--scaleX))}:host:not(:hover):not(:focus-within) .toast:not(:first-child){height:var(--first-toast-height)}:host:hover,:host:focus-within{height:calc(var(--total-toast-height) + var(--stack-gap) * (var(--total-toast-count) - 1))}:host:hover .toast,:host:focus-within .toast{--scaleX: 1;--y: calc(var(--offset-height) + var(--stack-gap) * var(--index));transition-duration:var(--animation-speed)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25kdy9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QtbGlzdC90b2FzdC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC1saXN0L3RvYXN0LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFnQmhELE1BQU0sT0FBTyxrQkFBa0I7SUFDVixZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BDLGVBQWUsR0FBRyxZQUFZLENBQUMsY0FBYywyREFBQyxDQUFDO0lBQy9DLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQTJCLDJEQUFDLENBQUM7SUFFN0Qsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRTFDLE9BQU8sVUFBVTthQUNkLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ2xDLE1BQU0sQ0FBQyxD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LGNBQWMsZ0VDN0JsRSw4c0JBbUJBLGtnQ0RHWSxjQUFjLHFMQUFFLE9BQU87OzJGQUt0QixrQkFBa0I7a0JBZDlCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixjQUFjLEVBQUUsU0FBUzt3QkFDekIsY0FBYyxFQUFFLFVBQVU7d0JBQzFCLDhCQUE4QixFQUFFLG1DQUFtQzt3QkFDbkUsNkJBQTZCLEVBQUUsMEJBQTBCO3dCQUN6RCwyQkFBMkIsRUFBRSx3QkFBd0I7cUJBQ3RELFdBQ1EsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLFlBQ3hCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCwgVG9hc3REaW1lbnNpb25zIH0gZnJvbSAnLi4vdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnKG1vdXNlZW50ZXIpJzogJ3BhdXNlKCknLFxuICAgICcobW91c2VsZWF2ZSknOiAncmVzdW1lKCknLFxuICAgICdbc3R5bGUuLS10b3RhbC10b2FzdC1oZWlnaHRdJzogJ3RvdGFsSGVpZ2h0RXhjbHVkaW5nR2FwcygpICsgXCJweFwiJyxcbiAgICAnW3N0eWxlLi0tdG90YWwtdG9hc3QtY291bnRdJzogJ3RvYXN0Q29tcG9uZW50cygpLmxlbmd0aCcsXG4gICAgJ1tzdHlsZS4tLW1heC10b2FzdC13aWR0aF0nOiAnbWF4VG9hc3RXaWR0aCgpICsgXCJweFwiJyxcbiAgfSxcbiAgaW1wb3J0czogW1RvYXN0Q29tcG9uZW50LCBOZ1N0eWxlXSxcbiAgc2VsZWN0b3I6ICduZHctdG9hc3QtbGlzdCcsXG4gIHN0eWxlVXJsOiAnLi90b2FzdC1saXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdExpc3RDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b2FzdENvbXBvbmVudHMgPSB2aWV3Q2hpbGRyZW4oVG9hc3RDb21wb25lbnQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9hc3REaW1lbnNpb25zID0gc2lnbmFsKG5ldyBNYXA8c3RyaW5nLCBUb2FzdERpbWVuc2lvbnM+KCkpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0b2FzdE9mZnNldEhlaWdodHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IHRoaXMudG9hc3REaW1lbnNpb25zKCk7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IHRoaXMudG9hc3RDb21wb25lbnRzKCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1xuICAgICAgLm1hcCgoY29tcG9uZW50KSA9PiBjb21wb25lbnQuaWQoKSlcbiAgICAgIC5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdW5kZWZpbmVkKVxuICAgICAgLnJlZHVjZShcbiAgICAgICAgKGFjYywgaWQpID0+IHtcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPSBkaW1lbnNpb25zLmdldChpZCk/LmhlaWdodCA/PyAwO1xuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBhY2NbYWNjLmxlbmd0aCAtIDFdICsgaGVpZ2h0XTtcbiAgICAgICAgfSxcbiAgICAgICAgWzBdLFxuICAgICAgKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpcnN0VG9hc3RIZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZmlyc3RDb21wb25lbnQgPSB0aGlzLnRvYXN0Q29tcG9uZW50cygpPy5bMF07XG4gICAgY29uc3QgZmlyc3RJZCA9IGZpcnN0Q29tcG9uZW50Py5pZCgpO1xuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB0aGlzLnRvYXN0RGltZW5zaW9ucygpO1xuXG4gICAgaWYgKGZpcnN0SWQgPT09IG51bGwgfHwgZmlyc3RJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gZGltZW5zaW9ucy5nZXQoZmlyc3RJZCk/LmhlaWdodCA/PyAwO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG90YWxIZWlnaHRFeGNsdWRpbmdHYXBzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGhlaWdodHMgPSB0aGlzLnRvYXN0T2Zmc2V0SGVpZ2h0cygpO1xuICAgIHJldHVybiBoZWlnaHRzLmxlbmd0aCA+IDAgPyBoZWlnaHRzW2hlaWdodHMubGVuZ3RoIC0gMV0gOiAwO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWF4VG9hc3RXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gdGhpcy50b2FzdERpbWVuc2lvbnMoKTtcbiAgICBjb25zdCBjb21wb25lbnRzID0gdGhpcy50b2FzdENvbXBvbmVudHMoKTtcblxuICAgIHJldHVybiBjb21wb25lbnRzXG4gICAgICAubWFwKChjb21wb25lbnQpID0+IGNvbXBvbmVudC5pZCgpKVxuICAgICAgLmZpbHRlcigoaWQpID0+IGlkICE9PSBudWxsICYmIGlkICE9PSB1bmRlZmluZWQpXG4gICAgICAucmVkdWNlKChtYXgsIGlkKSA9PiB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZGltZW5zaW9ucy5nZXQoaWQpPy53aWR0aCA/PyAwO1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgobWF4LCB3aWR0aCk7XG4gICAgICB9LCAwKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHNldFRvYXN0RGltZW5zaW9ucyhpZDogc3RyaW5nLCBkaW1lbnNpb25zOiBUb2FzdERpbWVuc2lvbnMpIHtcbiAgICB0aGlzLnRvYXN0RGltZW5zaW9ucy51cGRhdGUoKGhlaWdodHMpID0+IHtcbiAgICAgIGhlaWdodHMuc2V0KGlkLCBkaW1lbnNpb25zKTtcbiAgICAgIHJldHVybiBoZWlnaHRzO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhdXNlKCkge1xuICAgIHRoaXMudG9hc3RTZXJ2aWNlLnBhdXNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzdW1lKCkge1xuICAgIHRoaXMudG9hc3RTZXJ2aWNlLnJlc3VtZSgpO1xuICB9XG59XG4iLCJAZm9yICh0b2FzdCBvZiB0b2FzdFNlcnZpY2UudG9hc3RzKCk7IHRyYWNrIHRvYXN0LmlkKSB7XG4gIDxuZHctdG9hc3RcbiAgICBjbGFzcz1cInRvYXN0XCJcbiAgICBbY2xhc3MuaGlkZS1jb250ZW50XT1cIiF0b2FzdFNlcnZpY2UucGF1c2VkKCkgJiYgJGluZGV4ID4gMFwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJy0taW5kZXgnOiAkaW5kZXgsXG4gICAgICAnLS1vZmZzZXQtaGVpZ2h0JzogdG9hc3RPZmZzZXRIZWlnaHRzKClbJGluZGV4XSArICdweCcsXG4gICAgICAnLS1maXJzdC10b2FzdC1oZWlnaHQnOiBmaXJzdFRvYXN0SGVpZ2h0KCkgKyAncHgnLFxuICAgIH1cIlxuICAgIFtpZF09XCJ0b2FzdC5pZFwiXG4gICAgW2Nsb3NlQnV0dG9uTGFiZWxdPVwidG9hc3QuY2xvc2VCdXR0b25MYWJlbCA/PyAnU2x1aXQnXCJcbiAgICBbbWVzc2FnZV09XCJ0b2FzdC5tZXNzYWdlXCJcbiAgICBbZHVyYXRpb25dPVwidG9hc3QuZHVyYXRpb25cIlxuICAgIFtwYXVzZWRdPVwidG9hc3RTZXJ2aWNlLnBhdXNlZCgpXCJcbiAgICBbc2hvd1Byb2dyZXNzXT1cInRvYXN0U2VydmljZS5wYXVzZWQoKSB8fCAkZmlyc3RcIlxuICAgIChjbG9zZWQpPVwidG9hc3RTZXJ2aWNlLmNsb3NlKHRvYXN0LmlkKVwiXG4gICAgKGVsZW1lbnREaW1lbnNpb25zKT1cInNldFRvYXN0RGltZW5zaW9ucyh0b2FzdC5pZCwgJGV2ZW50KVwiXG4gID48L25kdy10b2FzdD5cbn1cbiJdfQ==","import { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, filter, interval, map, pairwise, skipWhile, startWith, switchMap, takeWhile, tap, } from 'rxjs';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ToastListComponent } from './toast-list/toast-list.component';\nimport * as i0 from \"@angular/core\";\nexport class ToastService {\n #maxToasts = 3;\n #toasts = signal([], ...(ngDevMode ? [{ debugName: \"#toasts\" }] : []));\n #overlay = inject(Overlay);\n #paused$ = new BehaviorSubject(false);\n #active$ = new BehaviorSubject(false);\n #overlayRef;\n paused = toSignal(this.#paused$, { initialValue: false });\n get toasts() {\n return this.#toasts;\n }\n constructor() {\n const getTimeElapsedWhileActiveAndNotPaused = () => interval(50).pipe(startWith(0), map(() => Date.now()), pairwise(), takeWhile(() => this.#active$.getValue()), filter(() => !this.#paused$.getValue()), map(([previous, current]) => current - previous));\n this.#active$\n .pipe(takeUntilDestroyed(), skipWhile((active) => !active), switchMap(() => getTimeElapsedWhileActiveAndNotPaused()), tap((elapsedMs) => this.#updateToastExpiration(elapsedMs)))\n .subscribe();\n }\n /**\n * Close a toast by its ID. If no ID is provided, all toasts will be closed.\n */\n close(id) {\n const isLastToast = this.#toasts().findIndex((toast) => toast.id === id) === this.toasts().length - 1;\n this.#removeToast(id);\n const hasRemainingToasts = this.#toasts().length > 0;\n if (!hasRemainingToasts) {\n this.#overlayRef?.detach();\n this.#active$.next(false);\n this.#paused$.next(false);\n }\n // When the last toast is closed, resume the timer. This prevents the timer from\n // being paused indefinitely when the last toast is closed as a result of a user\n // action (e.g., clicking the close button). Since that action will not trigger\n // the 'mouseleave' event on the toast list component,\n if (isLastToast) {\n this.#paused$.next(false);\n }\n }\n /**\n * Open a toast notification with the given message and optional duration.\n * @param message The message to display in the toast.\n * @param duration Optional duration in milliseconds for which the toast should be visible. Defaults to 5000ms.\n * @returns The ID of the created toast. Can be used to close the toast.\n */\n open(message, duration, closeButtonLabel) {\n const id = crypto.randomUUID();\n this.#addToast({\n id,\n message,\n duration: duration ?? 5000,\n remainingTime: duration ?? 5000,\n closeButtonLabel,\n });\n if (!this.#overlayRef) {\n this.#overlayRef = this.#overlay.create({\n scrollStrategy: this.#overlay.scrollStrategies.reposition(),\n positionStrategy: this.#overlay.position().global().top('1.5rem').centerHorizontally(),\n });\n }\n if (!this.#overlayRef.hasAttached()) {\n const toastListPortal = new ComponentPortal(ToastListComponent);\n this.#overlayRef.attach(toastListPortal);\n }\n this.#paused$.next(false);\n this.#active$.next(true);\n return id;\n }\n pause() {\n this.#paused$.next(true);\n }\n resume() {\n this.#paused$.next(false);\n }\n #removeToast(id) {\n this.#toasts.update((toasts) => toasts.filter((toast) => toast.id !== id));\n }\n #addToast(toast) {\n this.#toasts.update((toasts) => [toast, ...toasts].slice(0, this.#maxToasts));\n }\n #updateToastExpiration(elapsedMs) {\n this.#toasts.update((toasts) => toasts.map((toast) => ({ ...toast, remainingTime: toast.remainingTime - elapsedMs })));\n this.#toasts().forEach((toast) => {\n if (toast.remainingTime <= 0) {\n this.close(toast.id);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: ToastService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsTUFBTSxFQUNOLFFBQVEsRUFDUixHQUFHLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBZXZFLE1BQU0sT0FBTyxZQUFZO0lBQ2QsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLE9BQU8sR0FBRyxNQUFNLENBQWMsRUFBRSxtREFBQyxDQUFDO0lBQ2xDLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFM0IsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQyxXQUFXLENBQWM7SUFDekIsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFFMUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDtRQUNFLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxFQUFFLENBQ2pELFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2YsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFDckIsUUFBUSxFQUFFLEVBQ1YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDekMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUN2QyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUNqRCxDQUFDO1FBRUosSUFBSSxDQUFDLFFBQVE7YUFDVixJQUFJLENBQ0gsa0JBQWtCLEVBQUUsRUFDcEIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxFQUN4RCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUMzRDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxFQUFXO1FBQ2YsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsZ0ZBQWdGO1FBQ2hGLGdGQUFnRjtRQUNoRiwrRUFBK0U7UUFDL0Usc0RBQXNEO1FBQ3RELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxPQUFlLEVBQUUsUUFBaUIsRUFBRSxnQkFBeUI7UUFDaEUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixFQUFFO1lBQ0YsT0FBTztZQUNQLFFBQVEsRUFBRSxRQUFRLElBQUksSUFBSTtZQUMxQixhQUFhLEVBQUUsUUFBUSxJQUFJLElBQUk7WUFDL0IsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO2dCQUMzRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTthQUN2RixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVk7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWdCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELHNCQUFzQixDQUFDLFNBQWlCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDN0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FDdEYsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQixJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBMUhVLFlBQVk7MkdBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBmaWx0ZXIsXG4gIGludGVydmFsLFxuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBza2lwV2hpbGUsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlV2hpbGUsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUb2FzdExpc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWxpc3QvdG9hc3QtbGlzdC5jb21wb25lbnQnO1xuXG50eXBlIFRvYXN0SWQgPSBzdHJpbmc7XG5cbmludGVyZmFjZSBUb2FzdERhdGEge1xuICBpZDogVG9hc3RJZDtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICByZW1haW5pbmdUaW1lOiBudW1iZXI7XG4gIGNsb3NlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuICByZWFkb25seSAjbWF4VG9hc3RzID0gMztcbiAgcmVhZG9ubHkgI3RvYXN0cyA9IHNpZ25hbDxUb2FzdERhdGFbXT4oW10pO1xuICByZWFkb25seSAjb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcblxuICByZWFkb25seSAjcGF1c2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICByZWFkb25seSAjYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICNvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgcGF1c2VkID0gdG9TaWduYWwodGhpcy4jcGF1c2VkJCwgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuXG4gIGdldCB0b2FzdHMoKTogU2lnbmFsPFRvYXN0RGF0YVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuI3RvYXN0cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGdldFRpbWVFbGFwc2VkV2hpbGVBY3RpdmVBbmROb3RQYXVzZWQgPSAoKSA9PlxuICAgICAgaW50ZXJ2YWwoNTApLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgICAgbWFwKCgpID0+IERhdGUubm93KCkpLFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy4jYWN0aXZlJC5nZXRWYWx1ZSgpKSxcbiAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLiNwYXVzZWQkLmdldFZhbHVlKCkpLFxuICAgICAgICBtYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+IGN1cnJlbnQgLSBwcmV2aW91cyksXG4gICAgICApO1xuXG4gICAgdGhpcy4jYWN0aXZlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICBza2lwV2hpbGUoKGFjdGl2ZSkgPT4gIWFjdGl2ZSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBnZXRUaW1lRWxhcHNlZFdoaWxlQWN0aXZlQW5kTm90UGF1c2VkKCkpLFxuICAgICAgICB0YXAoKGVsYXBzZWRNcykgPT4gdGhpcy4jdXBkYXRlVG9hc3RFeHBpcmF0aW9uKGVsYXBzZWRNcykpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIGEgdG9hc3QgYnkgaXRzIElELiBJZiBubyBJRCBpcyBwcm92aWRlZCwgYWxsIHRvYXN0cyB3aWxsIGJlIGNsb3NlZC5cbiAgICovXG4gIGNsb3NlKGlkPzogc3RyaW5nKSB7XG4gICAgY29uc3QgaXNMYXN0VG9hc3QgPVxuICAgICAgdGhpcy4jdG9hc3RzKCkuZmluZEluZGV4KCh0b2FzdCkgPT4gdG9hc3QuaWQgPT09IGlkKSA9PT0gdGhpcy50b2FzdHMoKS5sZW5ndGggLSAxO1xuXG4gICAgdGhpcy4jcmVtb3ZlVG9hc3QoaWQpO1xuXG4gICAgY29uc3QgaGFzUmVtYWluaW5nVG9hc3RzID0gdGhpcy4jdG9hc3RzKCkubGVuZ3RoID4gMDtcbiAgICBpZiAoIWhhc1JlbWFpbmluZ1RvYXN0cykge1xuICAgICAgdGhpcy4jb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgICB0aGlzLiNhY3RpdmUkLm5leHQoZmFsc2UpO1xuICAgICAgdGhpcy4jcGF1c2VkJC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSBsYXN0IHRvYXN0IGlzIGNsb3NlZCwgcmVzdW1lIHRoZSB0aW1lci4gVGhpcyBwcmV2ZW50cyB0aGUgdGltZXIgZnJvbVxuICAgIC8vIGJlaW5nIHBhdXNlZCBpbmRlZmluaXRlbHkgd2hlbiB0aGUgbGFzdCB0b2FzdCBpcyBjbG9zZWQgYXMgYSByZXN1bHQgb2YgYSB1c2VyXG4gICAgLy8gYWN0aW9uIChlLmcuLCBjbGlja2luZyB0aGUgY2xvc2UgYnV0dG9uKS4gU2luY2UgdGhhdCBhY3Rpb24gd2lsbCBub3QgdHJpZ2dlclxuICAgIC8vIHRoZSAnbW91c2VsZWF2ZScgZXZlbnQgb24gdGhlIHRvYXN0IGxpc3QgY29tcG9uZW50LFxuICAgIGlmIChpc0xhc3RUb2FzdCkge1xuICAgICAgdGhpcy4jcGF1c2VkJC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBhIHRvYXN0IG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBnaXZlbiBtZXNzYWdlIGFuZCBvcHRpb25hbCBkdXJhdGlvbi5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheSBpbiB0aGUgdG9hc3QuXG4gICAqIEBwYXJhbSBkdXJhdGlvbiBPcHRpb25hbCBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRoZSB0b2FzdCBzaG91bGQgYmUgdmlzaWJsZS4gRGVmYXVsdHMgdG8gNTAwMG1zLlxuICAgKiBAcmV0dXJucyBUaGUgSUQgb2YgdGhlIGNyZWF0ZWQgdG9hc3QuIENhbiBiZSB1c2VkIHRvIGNsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIG9wZW4obWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbj86IG51bWJlciwgY2xvc2VCdXR0b25MYWJlbD86IHN0cmluZyk6IFRvYXN0SWQge1xuICAgIGNvbnN0IGlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICAgIHRoaXMuI2FkZFRvYXN0KHtcbiAgICAgIGlkLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbiA/PyA1MDAwLFxuICAgICAgcmVtYWluaW5nVGltZTogZHVyYXRpb24gPz8gNTAwMCxcbiAgICAgIGNsb3NlQnV0dG9uTGFiZWwsXG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMuI292ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSB0aGlzLiNvdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLiNvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLiNvdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkudG9wKCcxLjVyZW0nKS5jZW50ZXJIb3Jpem9udGFsbHkoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy4jb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICBjb25zdCB0b2FzdExpc3RQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvYXN0TGlzdENvbXBvbmVudCk7XG4gICAgICB0aGlzLiNvdmVybGF5UmVmLmF0dGFjaCh0b2FzdExpc3RQb3J0YWwpO1xuICAgIH1cblxuICAgIHRoaXMuI3BhdXNlZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy4jYWN0aXZlJC5uZXh0KHRydWUpO1xuXG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcGF1c2UoKSB7XG4gICAgdGhpcy4jcGF1c2VkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcmVzdW1lKCkge1xuICAgIHRoaXMuI3BhdXNlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICAjcmVtb3ZlVG9hc3QoaWQ/OiBUb2FzdElkKSB7XG4gICAgdGhpcy4jdG9hc3RzLnVwZGF0ZSgodG9hc3RzKSA9PiB0b2FzdHMuZmlsdGVyKCh0b2FzdCkgPT4gdG9hc3QuaWQgIT09IGlkKSk7XG4gIH1cblxuICAjYWRkVG9hc3QodG9hc3Q6IFRvYXN0RGF0YSkge1xuICAgIHRoaXMuI3RvYXN0cy51cGRhdGUoKHRvYXN0cykgPT4gW3RvYXN0LCAuLi50b2FzdHNdLnNsaWNlKDAsIHRoaXMuI21heFRvYXN0cykpO1xuICB9XG5cbiAgI3VwZGF0ZVRvYXN0RXhwaXJhdGlvbihlbGFwc2VkTXM6IG51bWJlcikge1xuICAgIHRoaXMuI3RvYXN0cy51cGRhdGUoKHRvYXN0cykgPT5cbiAgICAgIHRvYXN0cy5tYXAoKHRvYXN0KSA9PiAoeyAuLi50b2FzdCwgcmVtYWluaW5nVGltZTogdG9hc3QucmVtYWluaW5nVGltZSAtIGVsYXBzZWRNcyB9KSksXG4gICAgKTtcblxuICAgIHRoaXMuI3RvYXN0cygpLmZvckVhY2goKHRvYXN0KSA9PiB7XG4gICAgICBpZiAodG9hc3QucmVtYWluaW5nVGltZSA8PSAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2UodG9hc3QuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmR3bnUtZGVzaWduLXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbmR3L3NyYy9uZHdudS1kZXNpZ24tc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ndwnu-design-system.mjs","sources":["../../../../libs/ndw/src/lib/components/badge/badge.component.ts","../../../../libs/ndw/src/lib/components/badge/badge.component.html","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest.directive.ts","../../../../libs/ndw/src/lib/components/icon/icon.component.ts","../../../../libs/ndw/src/lib/components/icon/icon.component.html","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.ts","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.html","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.ts","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.html","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.ts","../../../../libs/ndw/src/lib/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.html","../../../../libs/ndw/src/lib/components/form-field/checkbox/checkbox.component.ts","../../../../libs/ndw/src/lib/components/form-field/checkbox/checkbox.component.html","../../../../libs/ndw/src/lib/components/form-field/checkbox-group/checkbox-group.component.ts","../../../../libs/ndw/src/lib/components/form-field/checkbox-group/checkbox-group.component.html","../../../../libs/ndw/src/lib/components/form-field/datepicker/datepicker-functions.ts","../../../../libs/ndw/src/lib/components/form-field/datepicker/calendar/calendar.component.ts","../../../../libs/ndw/src/lib/components/form-field/datepicker/calendar/calendar.component.html","../../../../libs/ndw/src/lib/components/popover/popover-trigger.directive.ts","../../../../libs/ndw/src/lib/components/tag/tag.component.ts","../../../../libs/ndw/src/lib/components/tag/tag.component.html","../../../../libs/ndw/src/lib/components/form-field/input/input.directive.ts","../../../../libs/ndw/src/lib/components/form-field/datepicker/datepicker.component.ts","../../../../libs/ndw/src/lib/components/form-field/datepicker/datepicker.component.html","../../../../libs/ndw/src/lib/components/form-field/error/error.component.ts","../../../../libs/ndw/src/lib/components/form-field/error/error.component.html","../../../../libs/ndw/src/lib/components/form-field/file-upload/mime-type-map.ts","../../../../libs/ndw/src/lib/components/form-field/file-upload/file-upload.component.ts","../../../../libs/ndw/src/lib/components/form-field/file-upload/file-upload.component.html","../../../../libs/ndw/src/lib/components/tooltip/tooltip.component.ts","../../../../libs/ndw/src/lib/components/tooltip/tooltip.component.html","../../../../libs/ndw/src/lib/components/tooltip/tooltip.directive.ts","../../../../libs/ndw/src/lib/components/form-field/input-button/input-button.component.ts","../../../../libs/ndw/src/lib/components/form-field/input-button/input-button.component.html","../../../../libs/ndw/src/lib/components/form-field/clear-search-button/clear-search-button.component.ts","../../../../libs/ndw/src/lib/components/form-field/clear-search-button/clear-search-button.component.html","../../../../libs/ndw/src/lib/components/form-field/form-field.constant.ts","../../../../libs/ndw/src/lib/components/form-field/form-field.model.ts","../../../../libs/ndw/src/lib/components/form-field/info/info.component.ts","../../../../libs/ndw/src/lib/components/form-field/info/info.component.html","../../../../libs/ndw/src/lib/components/form-field/input-icon/input-icon.component.ts","../../../../libs/ndw/src/lib/components/form-field/input-icon/input-icon.component.html","../../../../libs/ndw/src/lib/components/button/button.directive.ts","../../../../libs/ndw/src/lib/components/form-field/option-group/option.component.ts","../../../../libs/ndw/src/lib/components/form-field/option-group/option-group.component.ts","../../../../libs/ndw/src/lib/components/form-field/option-group/option-group.component.html","../../../../libs/ndw/src/lib/components/form-field/month-input/date-validators.ts","../../../../libs/ndw/src/lib/components/form-field/month-input/month-input-utils.ts","../../../../libs/ndw/src/lib/components/form-field/month-input/month-input.component.ts","../../../../libs/ndw/src/lib/components/form-field/month-input/month-input.component.html","../../../../libs/ndw/src/lib/components/form-field/picker-button/picker-button.component.ts","../../../../libs/ndw/src/lib/components/form-field/picker-button/picker-button.component.html","../../../../libs/ndw/src/lib/components/form-field/success/success.component.ts","../../../../libs/ndw/src/lib/components/form-field/success/success.component.html","../../../../libs/ndw/src/lib/components/form-field/form-field.component.ts","../../../../libs/ndw/src/lib/components/form-field/form-field.component.html","../../../../libs/ndw/src/lib/components/form-field/textarea/auto-grow.directive.ts","../../../../libs/ndw/src/lib/components/form-field/textarea/max-char.directive.ts","../../../../libs/ndw/src/lib/components/form-field/markdown-editor/markdown-editor.component.ts","../../../../libs/ndw/src/lib/components/form-field/markdown-editor/markdown-editor.component.html","../../../../libs/ndw/src/lib/components/form-field/markdown-editor/markdown-parser/markdown-parser.component.ts","../../../../libs/ndw/src/lib/components/form-field/radio-button/radio-button.component.ts","../../../../libs/ndw/src/lib/components/form-field/radio-button/radio-button.component.html","../../../../libs/ndw/src/lib/components/form-field/radio-group/radio-group.component.ts","../../../../libs/ndw/src/lib/components/form-field/radio-group/radio-group.component.html","../../../../libs/ndw/src/lib/components/pill/pill.component.ts","../../../../libs/ndw/src/lib/components/pill/pill.component.html","../../../../libs/ndw/src/lib/components/list-item/list-item.component.ts","../../../../libs/ndw/src/lib/components/list-item/list-item.component.html","../../../../libs/ndw/src/lib/components/collapsible/collapsible.component.ts","../../../../libs/ndw/src/lib/components/collapsible/collapsible.component.html","../../../../libs/ndw/src/lib/components/list/list.component.ts","../../../../libs/ndw/src/lib/components/list/list.component.html","../../../../libs/ndw/src/lib/components/accordion/accordion.service.ts","../../../../libs/ndw/src/lib/components/accordion/accordion.component.ts","../../../../libs/ndw/src/lib/components/accordion/accordion.component.html","../../../../libs/ndw/src/lib/components/alert/alert.component.ts","../../../../libs/ndw/src/lib/components/alert/alert.component.html","../../../../libs/ndw/src/lib/components/avatar/avatar.component.ts","../../../../libs/ndw/src/lib/components/avatar/avatar.component.html","../../../../libs/ndw/src/lib/components/banner/banner.component.ts","../../../../libs/ndw/src/lib/components/banner/banner.component.html","../../../../libs/ndw/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/ndw/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/ndw/src/lib/components/breadcrumb-group/breadcrumb-group.component.ts","../../../../libs/ndw/src/lib/components/breadcrumb-group/breadcrumb-group.component.html","../../../../libs/ndw/src/lib/components/card/card-content/card-content.component.ts","../../../../libs/ndw/src/lib/components/card/card-content/card-content.component.html","../../../../libs/ndw/src/lib/components/card/card-footer/card-footer.component.ts","../../../../libs/ndw/src/lib/components/card/card-footer/card-footer.component.html","../../../../libs/ndw/src/lib/components/card/card.component.ts","../../../../libs/ndw/src/lib/components/card/card.component.html","../../../../libs/ndw/src/lib/components/card/card-header/card-header.component.ts","../../../../libs/ndw/src/lib/components/card/card-header/card-header.component.html","../../../../libs/ndw/src/lib/components/card/index.ts","../../../../libs/ndw/src/lib/components/dashboard-card/dashboard-card.component.ts","../../../../libs/ndw/src/lib/components/dashboard-card/dashboard-card.component.html","../../../../libs/ndw/src/lib/components/dropdown/dropdown.component.ts","../../../../libs/ndw/src/lib/components/dropdown/dropdown.component.html","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar.component.ts","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar.component.html","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar-actions/edit-bar-actions.component.ts","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar-actions/edit-bar-actions.component.html","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar-message/edit-bar-message.component.ts","../../../../libs/ndw/src/lib/components/edit-bar/edit-bar-message/edit-bar-message.component.html","../../../../libs/ndw/src/lib/components/favorite/favorite.component.ts","../../../../libs/ndw/src/lib/components/favorite/favorite.component.html","../../../../libs/ndw/src/lib/components/hoverable-list-item/hoverable-list-item.component.ts","../../../../libs/ndw/src/lib/components/hoverable-list-item/hoverable-list-item.component.html","../../../../libs/ndw/src/lib/components/key-value-list/key-value-list.component.ts","../../../../libs/ndw/src/lib/components/key-value-list/key-value-list.component.html","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation-header/main-navigation-header.component.ts","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation-header/main-navigation-header.component.html","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation-menu/main-navigation-menu.component.ts","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation-menu/main-navigation-menu.component.html","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation.component.ts","../../../../libs/ndw/src/lib/components/main-navigation/main-navigation.component.html","../../../../libs/ndw/src/lib/components/layout/layout.component.ts","../../../../libs/ndw/src/lib/components/layout/layout.component.html","../../../../libs/ndw/src/lib/components/layout-banners/layout-banners.component.ts","../../../../libs/ndw/src/lib/components/layout-banners/layout-banners.component.html","../../../../libs/ndw/src/lib/components/loader/loader.component.ts","../../../../libs/ndw/src/lib/components/loader/loader.component.html","../../../../libs/ndw/src/lib/components/map-button/map-button.model.ts","../../../../libs/ndw/src/lib/components/map-button/map-button.component.ts","../../../../libs/ndw/src/lib/components/map-button/map-button.component.html","../../../../libs/ndw/src/lib/components/map-display/map-display-option/map-display-option.component.ts","../../../../libs/ndw/src/lib/components/map-display/map-display-option/map-display-option.component.html","../../../../libs/ndw/src/lib/components/map-display/map-display.component.ts","../../../../libs/ndw/src/lib/components/map-display/map-display.component.html","../../../../libs/ndw/src/lib/components/map-display/backgrounds.ts","../../../../libs/ndw/src/lib/components/map-display/layers.ts","../../../../libs/ndw/src/lib/components/map-legend/map-legend-option/map-legend-option.component.ts","../../../../libs/ndw/src/lib/components/map-legend/map-legend-option/map-legend-option.component.html","../../../../libs/ndw/src/lib/components/map-legend/map-legend-group/map-legend-group.component.ts","../../../../libs/ndw/src/lib/components/map-legend/map-legend-group/map-legend-group.component.html","../../../../libs/ndw/src/lib/components/map-legend/map-legend.component.ts","../../../../libs/ndw/src/lib/components/map-legend/map-legend.component.html","../../../../libs/ndw/src/lib/components/modal/modal-content/modal-content.component.ts","../../../../libs/ndw/src/lib/components/modal/modal-content/modal-content.component.html","../../../../libs/ndw/src/lib/components/modal/modal-footer/modal-footer.component.ts","../../../../libs/ndw/src/lib/components/modal/modal-footer/modal-footer.component.html","../../../../libs/ndw/src/lib/components/modal/modal.service.ts","../../../../libs/ndw/src/lib/components/modal/modal-header/modal-header.component.ts","../../../../libs/ndw/src/lib/components/modal/modal-header/modal-header.component.html","../../../../libs/ndw/src/lib/components/modal/modal.component.ts","../../../../libs/ndw/src/lib/components/modal/modal.component.html","../../../../libs/ndw/src/lib/components/modal/index.ts","../../../../libs/ndw/src/lib/components/multi-select/multi-select.component.ts","../../../../libs/ndw/src/lib/components/multi-select/multi-select.component.html","../../../../libs/ndw/src/lib/components/router-breadcrumbs/router-breadcrumbs.component.ts","../../../../libs/ndw/src/lib/components/router-breadcrumbs/router-breadcrumbs.component.html","../../../../libs/ndw/src/lib/components/splitter/splitter.component.ts","../../../../libs/ndw/src/lib/components/splitter/splitter.component.html","../../../../libs/ndw/src/lib/components/summary-card/summary-card.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card.component.html","../../../../libs/ndw/src/lib/components/summary-card/summary-card-action/summary-card-action.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-action/summary-card-action.component.html","../../../../libs/ndw/src/lib/components/summary-card/summary-card-actions/summary-card-actions.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-actions/summary-card-actions.component.html","../../../../libs/ndw/src/lib/components/summary-card/summary-card-content/summary-card-content.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-header/summary-card-header.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-header/summary-card-header.component.html","../../../../libs/ndw/src/lib/components/summary-card/summary-card-tags/summary-card-tags.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-tag/summary-card-tag.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-subtitle/summary-card-subtitle.component.ts","../../../../libs/ndw/src/lib/components/summary-card/summary-card-subtitle/summary-card-subtitle.component.html","../../../../libs/ndw/src/lib/components/switcher/switcher.component.ts","../../../../libs/ndw/src/lib/components/switcher/switcher.component.html","../../../../libs/ndw/src/lib/components/tab/tab.component.ts","../../../../libs/ndw/src/lib/components/tab/tab.component.html","../../../../libs/ndw/src/lib/components/tab-group/tab-group.component.ts","../../../../libs/ndw/src/lib/components/tab-group/tab-group.component.html","../../../../libs/ndw/src/lib/components/table/ag-grid-theme.ts","../../../../libs/ndw/src/lib/components/toast/toast.component.ts","../../../../libs/ndw/src/lib/components/toast/toast.component.html","../../../../libs/ndw/src/lib/components/toast/toast-list/toast-list.component.ts","../../../../libs/ndw/src/lib/components/toast/toast-list/toast-list.component.html","../../../../libs/ndw/src/lib/components/toast/toast.service.ts","../../../../libs/ndw/src/ndwnu-design-system.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreBadgeComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-badge',\n styleUrl: './badge.component.scss',\n templateUrl: './badge.component.html',\n})\nexport class BadgeComponent extends CoreBadgeComponent {}\n","@if (variant() === 'error') {\n !\n} @else if (value()) {\n @if (!displayLargeNumbers() && valueOutOfRange()) {\n <span class=\"dot\"></span>\n } @else {\n {{ value() }}\n }\n} @else {\n {{ value() }}\n}\n@if (ariaLabel()) {\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n}\n","import { Directive, forwardRef, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CoreAutosuggestDirective } from '@ndwnu/core';\n\nimport { AutosuggestPanelComponent } from './autosuggest-panel/autosuggest-panel.component';\n\n@Directive({\n host: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n autocomplete: 'off',\n '[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',\n '[attr.aria-expanded]': 'panelOpen.toString()',\n '[attr.aria-owns]': '!panelOpen ? null : ndwAutosuggest()?.id',\n '(blur)': 'onTouched()',\n '(click)': 'handleClick()',\n '(focus)': 'handleFocus()',\n '(input)': 'handleInput($event)',\n '(keydown)': 'handleKeydown($event)',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutosuggestDirective),\n multi: true,\n },\n ],\n selector: 'input[ndwAutosuggest], textarea[ndwAutosuggest]',\n})\nexport class AutosuggestDirective extends CoreAutosuggestDirective<AutosuggestPanelComponent> {\n public readonly ndwAutosuggest = input.required<AutosuggestPanelComponent>();\n\n get autosuggest() {\n return this.ndwAutosuggest();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreIconComponent } from '@ndwnu/core';\n\n@Component({\n selector: 'ndw-icon',\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-hidden': 'true',\n class: 'material-symbols-rounded notranslate',\n translate: 'no',\n },\n})\nexport class IconComponent extends CoreIconComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { CoreAutosuggestOptionComponent, Image, MatchBoldPipe } from '@ndwnu/core';\n\nimport { IconComponent } from '../../../icon';\n\n@Component({\n selector: 'ndw-autosuggest-option',\n imports: [IconComponent, MatchBoldPipe],\n templateUrl: './autosuggest-option.component.html',\n styleUrl: './autosuggest-option.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-autosuggest-option',\n role: 'option',\n '[attr.aria-selected]': 'selected()',\n '[class.ndw-autosuggest-option--active]': 'active()',\n '[class.ndw-autosuggest-option--selected]': 'selected()',\n '[id]': 'id',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n },\n})\nexport class AutosuggestOptionComponent extends CoreAutosuggestOptionComponent {\n icon = input<string>();\n image = input<Image>();\n}\n","@if (icon(); as icon) {\n <ndw-icon>{{ icon }}</ndw-icon>\n}\n@if (image(); as image) {\n <img [alt]=\"image.alt\" [src]=\"image.src\" />\n}\n<span class=\"ndw-option-text\" [innerHTML]=\"label() | matchBold: searchTerm()\"></span>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IconComponent } from '../../../icon';\nimport { CoreAutosuggestAddOptionComponent } from '@ndwnu/core';\n\n@Component({\n selector: 'ndw-autosuggest-add-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n templateUrl: './autosuggest-add-option.component.html',\n styleUrl: '../autosuggest-option/autosuggest-option.component.scss',\n host: {\n class: 'ndw-autosuggest-option ndw-autosuggest-option--add',\n role: 'option',\n '[attr.aria-selected]': 'selected()',\n '[class.ndw-autosuggest-option--active]': 'active()',\n '[class.ndw-autosuggest-option--selected]': 'selected()',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n },\n})\nexport class AutosuggestAddOptionComponent extends CoreAutosuggestAddOptionComponent {}\n","<ndw-icon [size]=\"'sm'\">add</ndw-icon> Voeg <span class=\"truncate\">'{{ value().label }}'</span> toe\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreAutosuggestPanelComponent } from '@ndwnu/core';\n\nimport { IconComponent } from '../../../icon';\nimport { AutosuggestAddOptionComponent } from '../autosuggest-add-option';\nimport { AutosuggestOptionComponent } from '../autosuggest-option';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AutosuggestAddOptionComponent,\n AutosuggestOptionComponent,\n IconComponent,\n NgTemplateOutlet,\n ],\n selector: 'ndw-autosuggest',\n styleUrl: './autosuggest-panel.component.scss',\n templateUrl: './autosuggest-panel.component.html',\n})\nexport class AutosuggestPanelComponent extends CoreAutosuggestPanelComponent {}\n","<ng-template>\n @if (suggestions().length === 0 && !enableAddOption()) {\n <div class=\"ndw-autosuggest-panel\">\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n </div>\n } @else {\n <datalist #panel class=\"ndw-autosuggest-panel\">\n @for (option of slicedOptions(); track option) {\n <ndw-autosuggest-option\n #option\n [icon]=\"option.icon\"\n [image]=\"option.image\"\n [label]=\"option.label\"\n [value]=\"option\"\n [searchTerm]=\"searchTerm()\"\n />\n }\n @if (enableAddOption()) {\n @if (!!searchTerm().trim()) {\n <ndw-autosuggest-add-option\n #option\n [value]=\"createNewOption(searchTerm())\"\n (addOption)=\"addNewOption($event)\"\n />\n } @else if (!suggestions().length) {\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n }\n }\n @if (hasMoreResults()) {\n <p class=\"ndw-autosuggest-panel__more-results\">\n {{ hiddenResultsText() }}\n </p>\n }\n </datalist>\n }\n</ng-template>\n\n<ng-template #emptyResults>\n <div class=\"ndw-autosuggest-panel__empty\">\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\n {{ noResultText() }}\n </div>\n</ng-template>\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CoreCheckboxComponent } from '@ndwnu/core';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.checked]': 'checked()',\n '[class.disabled]': 'disabled()',\n '[class.indeterminate]': 'indeterminate()',\n },\n imports: [IconComponent, NgClass],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ],\n selector: 'ndw-checkbox',\n styleUrls: ['../checkable-input.scss', './checkbox.component.scss'],\n templateUrl: './checkbox.component.html',\n})\nexport class CheckboxComponent extends CoreCheckboxComponent implements ControlValueAccessor {\n public switch = input(false);\n public success = input(false);\n}\n","<input\n type=\"checkbox\"\n class=\"sr-only\"\n [id]=\"'checkbox-' + uuid\"\n [checked]=\"checked()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [indeterminate]=\"indeterminate()\"\n (change)=\"onInputChange($event)\"\n/>\n<label [for]=\"'checkbox-' + uuid\" [ngClass]=\"{ 'switch-text': switch() }\">\n <div\n aria-hidden=\"true\"\n [ngClass]=\"{ error: error(), success: success(), checkbox: !switch(), switch: switch() }\"\n >\n @if (!switch()) {\n @if (checked()) {\n <ndw-icon>check</ndw-icon>\n } @else if (indeterminate()) {\n <ndw-icon>remove</ndw-icon>\n }\n } @else {\n <span class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon>check</ndw-icon>\n } @else {\n <ndw-icon>close</ndw-icon>\n }\n </span>\n }\n </div>\n <span id=\"checkbox-label-{{ uuid }}\">\n <ng-content />\n </span>\n</label>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreCheckboxGroupComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-checkbox-group',\n styleUrl: './checkbox-group.component.scss',\n templateUrl: './checkbox-group.component.html',\n})\nexport class CheckboxGroupComponent extends CoreCheckboxGroupComponent {}\n","<ng-content />\n","import {\n MatCalendarCellClassFunction,\n MatCalendarView,\n MatDatepickerIntl,\n} from '@angular/material/datepicker';\nimport { DatepickerMode } from './datepicker.model';\n\nexport function createDutchDatepickerIntl() {\n const intl = new MatDatepickerIntl();\n intl.calendarLabel = 'Kalender';\n intl.openCalendarLabel = 'Open kalender';\n intl.closeCalendarLabel = 'Sluit kalender';\n intl.comparisonDateLabel = 'Vergelijkingsdatum';\n intl.prevMonthLabel = 'Vorige maand';\n intl.nextMonthLabel = 'Volgende maand';\n intl.nextMultiYearLabel = 'Volgende jaren';\n intl.prevMultiYearLabel = 'Vorige jaren';\n intl.prevYearLabel = 'Vorig jaar';\n intl.nextYearLabel = 'Volgend jaar';\n intl.switchToMonthViewLabel = 'Schakel naar maandweergave';\n intl.switchToMultiYearViewLabel = 'Schakel naar jaartallenweergave';\n return intl;\n}\n\nfunction datesAreSameYear(d1: Date, d2: Date): boolean {\n return d1.getFullYear() === d2.getFullYear();\n}\n\nfunction datesAreSameMonth(d1: Date, d2: Date): boolean {\n return datesAreSameYear(d1, d2) && d1.getMonth() === d2.getMonth();\n}\n\nfunction datesAreSameDay(d1: Date, d2: Date): boolean {\n return datesAreSameMonth(d1, d2) && d1.getDate() === d2.getDate();\n}\n\nexport function toDateArray(value: Date | Date[] | null | undefined): Date[] {\n return [value].flat().filter((v): v is Date => v != null);\n}\n\nexport function toggleDates(current: Date[], toToggle: Date[]): Date[] {\n const toggled = [...current];\n\n toToggle.forEach((date) => {\n const index = toggled.findIndex((d) => areDatesEqual(d, date));\n\n if (index > -1) {\n toggled.splice(index, 1);\n } else {\n toggled.push(date);\n }\n });\n\n return toggled;\n}\n\nexport function getUniqueDates(dates: Date[]): Date[] {\n return dates.filter((date, index) => dates.findIndex((d) => areDatesEqual(d, date)) === index);\n}\n\nexport function compareDates(a: Date, b: Date): number {\n return a.getTime() - b.getTime();\n}\n\nexport function isDateBefore(a: Date, b: Date): boolean {\n return compareDates(a, b) < 0;\n}\n\nexport function isDateAfter(a: Date, b: Date): boolean {\n return compareDates(a, b) > 0;\n}\n\nexport function areDatesEqual(a: Date, b: Date): boolean {\n return compareDates(a, b) === 0;\n}\n\nexport function areDatesEqualInView(a: Date, b: Date, view: MatCalendarView) {\n switch (view) {\n case 'month':\n return datesAreSameDay(a, b);\n case 'year':\n return datesAreSameMonth(a, b);\n case 'multi-year':\n return datesAreSameYear(a, b);\n default:\n return false;\n }\n}\n\nexport function datesToInputValue(dates: Date[], mode: DatepickerMode): string {\n if (dates.length === 0) {\n return '';\n }\n\n switch (mode) {\n case 'month':\n return formatMonth(dates[0]);\n case 'single':\n return formatDate(dates[0]);\n case 'multiple':\n return dates.sort(compareDates).map(formatDate).join(', ');\n case 'range':\n return dates.slice(0, 2).map(formatDate).join(' - ');\n default:\n return '';\n }\n}\n\nfunction formatDate(date: Date): string {\n return new Intl.DateTimeFormat('nl-NL').format(date);\n}\n\nfunction formatMonth(date: Date): string {\n return new Intl.DateTimeFormat('nl-NL', { year: 'numeric', month: 'numeric' }).format(date);\n}\n\nexport function inputValueToDates(input: string, mode: DatepickerMode): Date[] {\n const parts = input.split(/[-,]/).map((part) => parseInt(part.trim(), 10));\n\n const parsed: (Date | null)[] = [];\n\n if (mode === 'month' && parts.length === 2) {\n const [month, year] = parts;\n parsed.push(createDate(year, month - 1, 1));\n } else if (mode === 'single' && parts.length === 3) {\n const [day, month, year] = parts;\n parsed.push(createDate(year, month - 1, day));\n } else if (mode === 'multiple' && parts.length % 3 === 0) {\n for (let i = 0; i < parts.length; i += 3) {\n const [day, month, year] = parts.slice(i, i + 3);\n parsed.push(createDate(year, month - 1, day));\n }\n } else if (mode === 'range' && parts.length === 6) {\n const [day1, month1, year1, day2, month2, year2] = parts;\n parsed.push(createDate(year1, month1 - 1, day1));\n parsed.push(createDate(year2, month2 - 1, day2));\n }\n\n return parsed.filter((date): date is Date => date != null);\n}\n\nexport function createDate(year: number, month: number, day: number): Date | null {\n const minValidYear = 1000;\n\n if (\n isNaN(year) ||\n isNaN(month) ||\n isNaN(day) ||\n year < minValidYear ||\n month < 0 ||\n month > 11 ||\n day < 1 ||\n day > 31\n ) {\n return null;\n }\n\n const date = new Date(year, month, day);\n return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day\n ? date\n : null;\n}\n\nexport function datesToOutputValue(\n dates: Date | Date[] | null,\n mode: DatepickerMode,\n): Date | Date[] | null {\n const array = toDateArray(dates);\n\n switch (mode) {\n case 'single':\n case 'month':\n return array[0] ?? null;\n case 'multiple':\n return array;\n case 'range':\n return array.slice(0, 2);\n }\n}\n\nexport function getDateClassFn(\n dateWithIndicatorFn: (date: Date) => boolean,\n mode: DatepickerMode,\n selectedDates: Date[],\n): MatCalendarCellClassFunction<Date> {\n return (cellDate: Date, view: MatCalendarView) => {\n const classNames = ['ndw-date'];\n\n if (dateWithIndicatorFn(cellDate)) {\n classNames.push('ndw-date-indicator');\n }\n\n if (selectedDates.some((selectedDate) => areDatesEqualInView(cellDate, selectedDate, view))) {\n classNames.push('ndw-date-selected');\n }\n\n if (mode === 'range' && selectedDates.length === 2) {\n if (isDateBefore(selectedDates[0], cellDate) && isDateAfter(selectedDates[1], cellDate)) {\n classNames.push('ndw-date-in-range');\n }\n\n if (areDatesEqual(selectedDates[0], cellDate)) {\n classNames.push('ndw-date-range-start');\n }\n\n if (areDatesEqual(selectedDates[1], cellDate)) {\n classNames.push('ndw-date-range-end');\n }\n }\n\n return classNames;\n };\n}\n","import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n input,\n model,\n OnDestroy,\n signal,\n Signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MAT_DATE_LOCALE, provideNativeDateAdapter } from '@angular/material/core';\nimport {\n DateFilterFn,\n MatCalendar,\n MatDatepickerIntl,\n MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { noop } from 'rxjs';\nimport {\n areDatesEqual,\n compareDates,\n createDutchDatepickerIntl,\n datesToOutputValue,\n getDateClassFn,\n isDateAfter,\n isDateBefore,\n toDateArray,\n toggleDates,\n} from '../datepicker-functions';\nimport { DatepickerMode } from '../datepicker.model';\n\nconst rangePreviewClasses = {\n start: 'ndw-date-range-start-preview',\n end: 'ndw-date-range-end-preview',\n inside: 'ndw-date-in-range-preview',\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatDatepickerModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalendarComponent),\n multi: true,\n },\n { provide: MAT_DATE_LOCALE, useValue: 'nl-NL' },\n { provide: MatDatepickerIntl, useFactory: createDutchDatepickerIntl },\n provideNativeDateAdapter(),\n ],\n selector: 'ndw-calendar',\n styleUrl: './calendar.component.scss',\n templateUrl: './calendar.component.html',\n host: {\n '[class.elevated]': 'elevated()',\n },\n})\nexport class CalendarComponent implements ControlValueAccessor, OnDestroy {\n readonly mode = input<DatepickerMode>('single');\n readonly disabled = model<boolean>(false);\n readonly minDate = input<Date | null>(null);\n readonly maxDate = input<Date | null>(null);\n readonly startAt = input<Date | null>(null);\n readonly dateEnabledFilter = input<DateFilterFn<Date | null>>(() => true);\n readonly dateWithIndicatorFilter = input<DateFilterFn<Date | null>>(() => false);\n readonly elevated = input(true);\n\n protected internalDateEnabledFilter = computed(() => {\n const disabled = this.disabled();\n const filter = this.dateEnabledFilter();\n\n return (date: Date | null) => !disabled && filter(date);\n });\n\n protected readonly calendar = viewChild(MatCalendar);\n protected readonly calendarElement: Signal<ElementRef<HTMLElement> | undefined> = viewChild(\n MatCalendar,\n {\n read: ElementRef<HTMLElement>,\n },\n );\n\n protected readonly value = signal<Date[]>([]);\n protected readonly startView = computed(() => (this.mode() === 'month' ? 'year' : 'month'));\n protected readonly dateClass = computed(() =>\n getDateClassFn(this.dateWithIndicatorFilter(), this.mode(), this.value()),\n );\n\n #onChange: (value: Date | Date[] | null) => void = noop;\n #mouseMoveListener: (() => void) | null = null;\n\n constructor() {\n afterRenderEffect(() => {\n const calendar = this.calendar();\n this.value(); // Depend on value changes.\n\n // Force the calendar to refresh the calendar view.\n // This is needed to redraw after setting classes on dates.\n calendar?.updateTodaysDate();\n });\n\n effect(() => {\n const mode = this.mode();\n const element = this.calendarElement()?.nativeElement;\n const calendar = this.calendar();\n\n this.removeMouseMoveListener();\n\n if (mode !== 'range' || !element || !calendar) {\n return;\n }\n\n this.addMouseMoveListener(element, calendar);\n });\n }\n\n ngOnDestroy(): void {\n this.removeMouseMoveListener();\n }\n\n private addMouseMoveListener(calendarElement: HTMLElement, calendar: MatCalendar<Date>) {\n this.#mouseMoveListener = () => this.addRangePreviewClasses(calendarElement, calendar);\n calendarElement.addEventListener('mousemove', this.#mouseMoveListener);\n }\n\n private removeMouseMoveListener() {\n if (this.#mouseMoveListener) {\n this.calendarElement()?.nativeElement.removeEventListener(\n 'mousemove',\n this.#mouseMoveListener,\n );\n this.#mouseMoveListener = null;\n }\n }\n\n private addRangePreviewClasses(calendarElement: Element, calendar: MatCalendar<Date>) {\n const selection = this.value();\n const hovered = calendarElement.querySelector('.ndw-date:hover');\n\n if (calendar.currentView !== 'month' || selection.length !== 1 || !hovered) {\n calendarElement\n .querySelectorAll('.ndw-date')\n .forEach((btn) => this.removeRangePreviewClasses(btn));\n return;\n }\n\n const getButtonDate = (el: Element) => {\n return new Date(\n calendar.activeDate.getFullYear() || 0,\n calendar.activeDate.getMonth() || 0,\n parseInt(el.textContent || '0', 10),\n );\n };\n\n const selectedDate = selection[0];\n const hoveredDate = getButtonDate(hovered);\n\n // Get all buttons between\n calendarElement.querySelectorAll('.ndw-date').forEach((btn) => {\n const btnDate = getButtonDate(btn);\n\n this.removeRangePreviewClasses(btn);\n\n if (\n (isDateAfter(btnDate, selectedDate) && isDateBefore(btnDate, hoveredDate)) ||\n (isDateBefore(btnDate, selectedDate) && isDateAfter(btnDate, hoveredDate))\n ) {\n btn.classList.add(rangePreviewClasses.inside);\n } else if (areDatesEqual(btnDate, selectedDate) && isDateAfter(hoveredDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.start);\n } else if (areDatesEqual(btnDate, selectedDate) && isDateBefore(hoveredDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.end);\n } else if (areDatesEqual(btnDate, hoveredDate) && isDateAfter(btnDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.end);\n } else if (areDatesEqual(btnDate, hoveredDate) && isDateBefore(btnDate, selectedDate)) {\n btn.classList.add(rangePreviewClasses.start);\n }\n });\n }\n\n private removeRangePreviewClasses(element: Element) {\n Object.values(rangePreviewClasses).forEach((cssClass) => {\n element.classList.remove(cssClass);\n });\n }\n\n protected onDateSelected(date: Date | Date[] | null, toggle = true) {\n const mode = this.mode();\n const dates = toDateArray(date);\n let selection: Date[];\n\n if (mode === 'multiple' && toggle) {\n selection = toggleDates(this.value(), dates);\n } else if (mode === 'range' && toggle) {\n const toggled = toggleDates(this.value(), dates);\n\n // When the user selected a third date, start a new range from that date.\n if (toggled.length > 2) {\n selection = toggled.slice(-1);\n } else {\n selection = toggled;\n }\n } else {\n selection = dates;\n }\n\n selection = selection.sort(compareDates);\n\n this.writeValue(selection);\n this.#onChange(datesToOutputValue(selection, mode));\n }\n\n protected onMonthSelected(date: Date) {\n if (this.mode() === 'month') {\n this.onDateSelected(date);\n }\n }\n\n writeValue(value: Date | Date[] | null): void {\n this.value.set(toDateArray(value));\n }\n\n registerOnChange(fn: (value: Date | Date[] | null) => void): void {\n this.#onChange = fn;\n }\n\n registerOnTouched(_fn: () => void): void {\n // noop\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<mat-calendar\n panelClass=\"ndw-calendar\"\n [minDate]=\"minDate()\"\n [maxDate]=\"maxDate()\"\n [dateClass]=\"dateClass()\"\n [class.range-picker]=\"mode() === 'range'\"\n [class.month-picker]=\"mode() === 'month'\"\n [startView]=\"startView()\"\n [startAt]=\"startAt()\"\n [dateFilter]=\"internalDateEnabledFilter()\"\n (monthSelected)=\"onMonthSelected($event)\"\n (selectedChange)=\"onDateSelected($event)\"\n/>\n","import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n input,\n model,\n OnDestroy,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { take } from 'rxjs';\n\nexport type PopoverPosition = 'nextToTriggerButton' | 'overTriggerButton';\n\n@Directive({\n exportAs: 'ndwPopoverTrigger',\n host: {\n '(click)': 'toggle()',\n },\n selector: '[ndwPopoverTrigger]',\n})\nexport class PopoverTriggerDirective implements OnDestroy {\n @Output() public popoverToggled = new EventEmitter<boolean>();\n public popoverPosition = input<PopoverPosition>('nextToTriggerButton');\n public popoverContent = input.required<TemplateRef<unknown>>({ alias: 'ndwPopoverTrigger' });\n public toggleOnClick = input(true);\n public isOpen = model(false);\n\n public toggle(): void {\n if (!this.toggleOnClick()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n this.togglePopover();\n }\n\n private destroyRef = inject(DestroyRef);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n\n private overlayRef?: OverlayRef;\n\n public ngOnDestroy(): void {\n this.isOpen.set(false);\n this.togglePopover();\n }\n\n public togglePopover(): void {\n if (this.isOpen()) {\n this.open();\n } else {\n this.close();\n }\n this.popoverToggled.emit(this.isOpen());\n }\n\n private open(): void {\n const positions: ConnectedPosition[] = this.getPopoverPosition(this.popoverPosition());\n const templatePortal = new TemplatePortal(this.popoverContent(), this.viewContainerRef);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(positions),\n });\n this.overlayRef.attach(templatePortal);\n this.overlayRef.hostElement.addEventListener('click', (event: MouseEvent) => {\n const target = event.target as HTMLElement | null;\n if (this.nodeOrParentsHaveAttribute(target, 'ndwPopoverCloseTrigger')) {\n this.isOpen.set(false);\n this.togglePopover();\n }\n });\n\n this.trapFocus(this.overlayRef);\n this.closeOverlayOnEscapeKey(this.overlayRef);\n this.closeOverlayOnBackdropClick(this.overlayRef);\n }\n\n private trapFocus(overlayRef: OverlayRef): void {\n this.focusTrapFactory.create(overlayRef.overlayElement);\n }\n\n private closeOverlayOnEscapeKey(overlayRef: OverlayRef): void {\n overlayRef.overlayElement.onkeydown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n this.isOpen.set(false);\n this.togglePopover();\n }\n };\n }\n\n private nodeOrParentsHaveAttribute(node: HTMLElement | null, attribute: string): boolean {\n let next = node;\n while (next) {\n if (next.hasAttribute(attribute)) {\n return true;\n }\n next = next.parentElement;\n }\n return false;\n }\n\n private closeOverlayOnBackdropClick(overlayRef: OverlayRef): void {\n overlayRef\n .backdropClick()\n .pipe(takeUntilDestroyed(this.destroyRef), take(1))\n .subscribe(() => {\n this.isOpen.set(false);\n this.togglePopover();\n });\n }\n\n private close(): void {\n this.overlayRef?.dispose();\n }\n\n private getPopoverPosition(popoverPosition: PopoverPosition): ConnectedPosition[] {\n let positions: ConnectedPosition[];\n\n if (popoverPosition === 'overTriggerButton') {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n panelClass: 'ndw-popover-panel',\n },\n ];\n } else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -4,\n panelClass: 'ndw-popover-panel',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -4,\n panelClass: 'ndw-popover-panel',\n },\n ];\n }\n\n return [\n ...positions,\n ...positions.map(\n (position) =>\n ({\n ...position,\n overlayX: 'center',\n overlayY: 'center',\n }) satisfies ConnectedPosition,\n ),\n ];\n }\n}\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\n\nimport { IconComponent } from '../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.disabled]': 'disabled()',\n },\n imports: [IconComponent],\n selector: 'ndw-tag',\n styleUrl: './tag.component.scss',\n templateUrl: './tag.component.html',\n})\nexport class TagComponent {\n /**\n * Disables the tag\n */\n public disabled = input(false);\n\n /**\n * Aria label for the interactive button\n */\n public suffixAriaLabel = input('Verwijder');\n\n /**\n * The name of the icon to display\n */\n public suffixIcon = input('close');\n\n public clicked = output<Event>();\n}\n","<ng-content />\n<button type=\"button\" [disabled]=\"disabled()\" (click)=\"clicked.emit($event)\">\n <span class=\"sr-only\">{{ suffixAriaLabel() }}</span>\n <ndw-icon>{{ suffixIcon() }}</ndw-icon>\n</button>\n","import { DestroyRef, Directive, ElementRef, inject, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, NgControl, Validators } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',\n})\nexport class InputDirective implements OnInit {\n public set disabled(disabled: boolean) {\n this.element.disabled = disabled;\n }\n\n public get error(): boolean {\n return !!this.element.getAttribute('error');\n }\n\n public set error(error: boolean) {\n this.element.toggleAttribute('error', error);\n }\n\n public set success(success: boolean) {\n this.element.toggleAttribute('success', success);\n }\n\n public set id(id: string) {\n this.element.id = id;\n }\n\n public set ariaDescribedBy(id: string) {\n this.element.setAttribute('aria-describedby', id);\n }\n\n private readonly elementRef = inject(ElementRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngControl = inject(NgControl, { optional: true });\n\n public get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement {\n return this.elementRef.nativeElement as\n | HTMLInputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n }\n\n public get control(): AbstractControl | null {\n return this.ngControl ? this.ngControl.control : null;\n }\n\n public ngOnInit(): void {\n this.updateRequiredAttribute();\n\n this.control?.statusChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateRequiredAttribute();\n });\n\n fromEvent(this.element, 'blur')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.updateErrorAttribute();\n });\n\n // Add ndw-changed attribute when the input is changed and has a value\n fromEvent(this.element, 'input')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.setSelectPlaceholderAttribute();\n });\n\n this.setSelectPlaceholderAttribute();\n }\n\n public updateErrorAttribute(formFieldError?: boolean): void {\n if (this.control) {\n this.error = (this.control.invalid === true && this.control.touched) || !!formFieldError;\n }\n }\n\n private setSelectPlaceholderAttribute(): void {\n if (this.element instanceof HTMLSelectElement) {\n const isPlaceholderSelected =\n this.element.selectedIndex === 0 &&\n this.element.options[this.element.selectedIndex].disabled;\n this.element.toggleAttribute('ndw-placeholder', isPlaceholderSelected);\n }\n }\n\n private updateRequiredAttribute(): void {\n if (this.control) {\n // Mark element as required when the control has a 'required' validator.\n // This will show an asterisk (*)\n this.element.required = this.control.hasValidator(Validators.required);\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateFilterFn, MatDatepickerModule } from '@angular/material/datepicker';\nimport { noop } from 'rxjs';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { TagComponent } from '../../tag';\nimport { InputDirective } from '../input';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport {\n compareDates,\n datesToInputValue,\n datesToOutputValue,\n getUniqueDates,\n inputValueToDates,\n toDateArray,\n} from './datepicker-functions';\nimport { DatepickerMode } from './datepicker.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatDatepickerModule,\n InputDirective,\n IconComponent,\n PopoverTriggerDirective,\n CalendarComponent,\n TagComponent,\n DatePipe,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true,\n },\n ],\n selector: 'ndw-datepicker',\n styleUrl: './datepicker.component.scss',\n templateUrl: './datepicker.component.html',\n})\nexport class DatepickerComponent implements ControlValueAccessor {\n readonly mode = input<DatepickerMode>('single');\n readonly required = input<boolean>(false);\n readonly disabled = model<boolean>(false);\n readonly placeholder = input<string>('Selecteer een datum');\n readonly openCalendarLabel = input<string>('Open kalender');\n readonly minDate = input<Date | null>(null);\n readonly maxDate = input<Date | null>(null);\n readonly dateEnabledFilter = input<DateFilterFn<Date | null>>(() => true);\n readonly dateWithIndicatorFilter = input<DateFilterFn<Date | null>>(() => false);\n\n // Used by the FormFieldComponent to set the success and error state.\n readonly input = viewChild.required(InputDirective);\n\n protected readonly popoverTrigger = viewChild.required(PopoverTriggerDirective);\n\n protected readonly value = model<Date[]>([]);\n protected readonly startAt = computed(() => {\n const value = this.value();\n return value.length > 0 ? value[value.length - 1] : null;\n });\n protected readonly formattedValue = computed(() => datesToInputValue(this.value(), this.mode()));\n protected readonly showTags = computed(() => this.mode() === 'multiple');\n\n #onChange: (value: Date | Date[] | null) => void = noop;\n\n protected onDateInput(input: string) {\n const parsed = inputValueToDates(input, this.mode());\n const merged = this.mode() === 'multiple' ? [...toDateArray(this.value()), ...parsed] : parsed;\n const filtered = getUniqueDates(\n merged.filter((date) => {\n const dateEnabledFilter = this.dateEnabledFilter();\n const minDate = this.minDate() ?? date;\n const maxDate = this.maxDate() ?? date;\n return (\n dateEnabledFilter(date) &&\n compareDates(date, minDate) >= 0 &&\n compareDates(date, maxDate) <= 0\n );\n }),\n );\n\n if (filtered.length > 0) {\n this.onDateSelected(filtered);\n } else {\n this.onDateSelected(null);\n }\n\n if (filtered.length === 0 || this.mode() === 'multiple') {\n this.input().element.value = '';\n }\n }\n\n protected removeDate(date: Date) {\n const filtered = this.value().filter((d) => d.getTime() !== date.getTime());\n this.onDateSelected(filtered);\n }\n\n protected onDateSelected(date: Date | Date[] | null) {\n const mode = this.mode();\n const dates = toDateArray(date).sort(compareDates);\n\n this.writeValue(dates);\n this.#onChange(datesToOutputValue(dates, mode));\n\n if (mode === 'single' || mode === 'month') {\n this.#closeCalendar();\n }\n\n if (!this.popoverTrigger().isOpen()) {\n this.input().control?.markAllAsTouched();\n this.input().updateErrorAttribute();\n }\n }\n\n protected onPopoverOpenChange(isOpen: boolean) {\n if (!isOpen) {\n this.input().control?.markAllAsTouched();\n this.input().updateErrorAttribute();\n }\n }\n\n #closeCalendar() {\n if (this.popoverTrigger().isOpen()) {\n this.popoverTrigger().isOpen.set(false);\n this.popoverTrigger().togglePopover();\n }\n }\n\n writeValue(value: Date | Date[] | null): void {\n this.value.set(toDateArray(value));\n }\n\n registerOnChange(fn: (value: Date | Date[] | null) => void): void {\n this.#onChange = fn;\n }\n\n registerOnTouched(_fn: () => void): void {\n // noop\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<input\n ndwInput\n [value]=\"showTags() ? '' : formattedValue()\"\n (blur)=\"onDateInput($event.target.value)\"\n [min]=\"minDate()\"\n [max]=\"maxDate()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n/>\n\n<button\n ndwButton\n class=\"calendar-button\"\n type=\"button\"\n extra-small\n tertiary\n [ndwPopoverTrigger]=\"calendarTemplate\"\n [toggleOnClick]=\"true\"\n [attr.aria-label]=\"openCalendarLabel()\"\n [disabled]=\"disabled()\"\n (isOpenChange)=\"onPopoverOpenChange($event)\"\n>\n <ndw-icon>calendar_month</ndw-icon>\n</button>\n\n<ng-template #calendarTemplate>\n <ndw-calendar\n [ngModel]=\"value()\"\n (ngModelChange)=\"onDateSelected($event)\"\n [mode]=\"mode()\"\n [minDate]=\"minDate()\"\n [maxDate]=\"maxDate()\"\n [startAt]=\"startAt()\"\n [dateEnabledFilter]=\"dateEnabledFilter()\"\n [dateWithIndicatorFilter]=\"dateWithIndicatorFilter()\"\n [elevated]=\"false\"\n />\n</ng-template>\n\n@if (showTags() && value().length > 0) {\n <div class=\"tag-container\">\n @for (value of value(); track value) {\n <ndw-tag (clicked)=\"removeDate(value)\">{{ value | date: 'd-M-yyyy' }}</ndw-tag>\n }\n </div>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n selector: 'ndw-error',\n styleUrl: './error.component.scss',\n templateUrl: './error.component.html',\n})\nexport class ErrorComponent {}\n","<ndw-icon>warning</ndw-icon>\n<ng-content />\n","export const MIME_TYPE_MAP: Record<string, string> = {\n geojson: 'application/geo+json',\n tsv: 'text/tab-separated-values',\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n computed,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconComponent } from '../../icon';\n\nimport { FileUploadText } from './file-upload-text.interface';\nimport { MIME_TYPE_MAP } from './mime-type-map';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': '!this.canEdit() ? -1 : 0',\n '[class.disabled]': 'disabled()',\n '[class.dragging]': 'draggingOver()',\n '[class.error]': 'error()',\n '[class.file-selected]': '!!selectedFile()',\n '[class.readonly]': 'readonly()',\n '[class.success]': 'success()',\n '(click)': 'onClick()',\n '(dragenter)': 'onDragEnter($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(dragover)': 'onDragOver($event)',\n '(drop)': 'onDrop($event)',\n '(keydown)': 'onKeyDown($event)',\n },\n imports: [IconComponent],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileUploadComponent,\n multi: true,\n },\n ],\n selector: 'ndw-file-upload',\n styleUrl: './file-upload.component.scss',\n templateUrl: './file-upload.component.html',\n})\nexport class FileUploadComponent implements ControlValueAccessor {\n public readonly allowedFileTypeRegex = input<RegExp>();\n public readonly disabled = model(false);\n public readonly fileUploadText = input<FileUploadText>({\n dragText: 'Klik of sleep je bestanden hierheen',\n dragOverText: 'Laat los om te uploaden',\n });\n public readonly maxFileSizeInBytes = input(1000000);\n public readonly mimeTypeMap = input<Record<string, string>>({});\n public readonly readonly = input(false);\n public readonly uploadDate = input('');\n\n public readonly draggingOver = model(false);\n public readonly error = model(false);\n public readonly incorrectFileSize = model(false);\n public readonly incorrectFileType = model(false);\n public readonly selectedFile = model<File | null>();\n public readonly success = model(false);\n\n protected readonly canEdit = computed(\n () => !this.selectedFile() && !this.disabled() && !this.readonly(),\n );\n\n protected readonly displayText = computed(() => {\n const selectedFile = this.selectedFile();\n const draggingOver = this.draggingOver();\n const fileUploadText = this.fileUploadText();\n\n return selectedFile ? '' : draggingOver ? fileUploadText.dragOverText : fileUploadText.dragText;\n });\n\n public readonly fileInputElement = viewChild.required<ElementRef<HTMLInputElement>>('fileInput');\n\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n\n const target = event.target as HTMLElement;\n if (target.tagName.toLowerCase() === 'button') {\n return;\n }\n\n if (this.canEdit()) {\n this.fileInputElement().nativeElement.click();\n }\n }\n\n public onClick(): void {\n if (this.canEdit()) {\n this.fileInputElement().nativeElement.click();\n }\n }\n\n public onDragLeave(event: DragEvent): void {\n event?.preventDefault();\n this.draggingOver.set(false);\n }\n\n public onDragOver(event: DragEvent): void {\n event?.preventDefault();\n if (this.canEdit()) {\n this.draggingOver.set(true);\n }\n }\n\n public onDragEnter(event: DragEvent): void {\n event?.preventDefault();\n if (this.canEdit()) {\n this.draggingOver.set(true);\n }\n }\n\n public onDrop(event: DragEvent): void {\n event.preventDefault();\n if (this.canEdit()) {\n const file: File | undefined = event.dataTransfer?.files[0];\n if (file) {\n this.selectFile(file);\n }\n this.draggingOver.set(false);\n }\n }\n\n public onDownloadFileClick(): void {\n const selectedFile = this.selectedFile();\n if (!selectedFile) {\n return;\n }\n\n const url = window.URL.createObjectURL(selectedFile);\n const linkElement = document.createElement('a');\n linkElement.href = url;\n linkElement.download = selectedFile.name;\n document.body.appendChild(linkElement);\n linkElement.click();\n document.body.removeChild(linkElement);\n window.URL.revokeObjectURL(url);\n }\n\n public onDeleteClick(event: Event): void {\n event?.stopPropagation();\n this.resetFile();\n this.incorrectFileType.set(false);\n this.incorrectFileSize.set(false);\n }\n\n public onFileSelected(event: Event): void {\n if (this.canEdit()) {\n const inputElement = event.target as HTMLInputElement;\n if (inputElement.files) {\n const file: File = inputElement.files[0];\n this.selectFile(file);\n }\n }\n }\n\n public writeValue(value: File): void {\n this.selectedFile.set(value);\n }\n\n public registerOnChange(fn: (value: File | null | undefined) => void): void {\n this.selectedFile.subscribe(fn);\n }\n\n public registerOnTouched(): void {\n // noop\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n private selectFile(file: File): void {\n if (!file) {\n return;\n }\n\n file = this.ensureFileType(file);\n if (!this.correctFileType(file.type)) {\n this.resetFile();\n this.incorrectFileSize.set(false);\n this.incorrectFileType.set(true);\n return;\n }\n\n if (!this.correctFileSize(file.size)) {\n this.resetFile();\n this.incorrectFileType.set(false);\n this.incorrectFileSize.set(true);\n return;\n }\n\n this.incorrectFileSize.set(false);\n this.incorrectFileType.set(false);\n\n this.selectedFile.set(file);\n }\n\n private resetFile(): void {\n this.selectedFile.set(null);\n this.fileInputElement().nativeElement.value = '';\n }\n\n private correctFileSize(fileSize: number): boolean {\n return this.maxFileSizeInBytes() > fileSize;\n }\n\n private correctFileType(fileType: string): boolean {\n return this.allowedFileTypeRegex()?.test(fileType) ? true : false;\n }\n\n /**\n * Ensures that the provided File has a valid MIME type.\n *\n * NOTE: Some file extensions are not automatically mapped to a valid MIME type by the operating system.\n * In such cases, the MIME_TYPE_MAP in combination with the mimeTypeMap input is used to assign the correct MIME type.\n */\n private ensureFileType(file: File): File {\n if (file.type?.trim()) {\n return file;\n }\n\n const nameParts = file.name.split('.');\n if (nameParts.length < 2) {\n console.warn(`Unable to determine MIME type for \"${file.name}\". No file extension detected.`);\n return file;\n }\n\n const extension = nameParts.pop()?.toLowerCase();\n const combinedMimeTypeMap = { ...MIME_TYPE_MAP, ...this.mimeTypeMap() };\n const mimeType = extension && combinedMimeTypeMap[extension];\n if (mimeType) {\n return new File([file], file.name, { type: mimeType, lastModified: file.lastModified });\n }\n\n console.warn(\n `Unable to determine MIME type for \"${file.name}\". Unrecognized file extension \"${extension}\".`,\n );\n return file;\n }\n}\n","@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","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'tooltip',\n },\n selector: 'ndw-tooltip',\n styleUrl: './tooltip.component.scss',\n templateUrl: './tooltip.component.html',\n})\nexport class TooltipComponent {\n public text = input.required<string>();\n}\n","{{ text() }}\n","import { AriaDescriber } from '@angular/cdk/a11y';\nimport { FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[ndwTooltip]',\n host: {\n 'aria-hidden': 'false',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n '(document:keydown.escape)': 'hideOnEscape()',\n '(keydown.escape)': 'hide()',\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n tabindex: '0',\n },\n})\nexport class TooltipDirective implements OnChanges, OnDestroy, OnInit {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly ariaDescriber = inject(AriaDescriber);\n\n public text = input.required<string>({ alias: 'ndwTooltip' });\n\n private overlayRef: OverlayRef | null = null;\n\n public ngOnInit(): void {\n const positionStrategy = this.getFlexibleConnectedPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n this.updateAriaDescription();\n }\n\n public ngOnChanges(): void {\n const positionStrategy = this.getFlexibleConnectedPositionStrategy();\n this.overlayRef?.updatePositionStrategy(positionStrategy);\n }\n\n public ngOnDestroy(): void {\n this.hide();\n this.overlayRef?.dispose();\n }\n\n protected show(): void {\n if (!this.text().length || this.overlayRef === null || this.overlayRef.hasAttached()) {\n return;\n }\n\n const portal = new ComponentPortal(TooltipComponent);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(portal);\n tooltipRef.instance.text = this.text;\n }\n\n protected hide(): void {\n this.overlayRef?.detach();\n }\n\n protected hideOnEscape(): void {\n this.hide();\n }\n\n private updateAriaDescription(): void {\n const element = this.elementRef.nativeElement;\n this.ariaDescriber.describe(element, this.text());\n }\n\n private getFlexibleConnectedPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: -8,\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: 8,\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n }\n}\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\n\nimport { IconComponent } from '../../icon';\nimport { InputDirective } from '../input';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n selector: 'ndw-input-button',\n templateUrl: './input-button.component.html',\n})\nexport class InputButtonComponent {\n public readonly disabled = input(false);\n public readonly input = input<InputDirective>();\n public readonly ariaLabel = input<string>('');\n public readonly alternative = input<boolean>(false);\n\n public readonly buttonClicked = output();\n\n protected onClick(): void {\n this.input()?.element?.focus();\n this.buttonClicked.emit();\n }\n}\n","<button\n ndwButton\n extra-small\n tertiary\n type=\"button\"\n [attr.alternative]=\"alternative() ? true : null\"\n class=\"input-icon\"\n [attr.disabled]=\"disabled() || undefined\"\n (click)=\"onClick()\"\n>\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n <ndw-icon>\n <ng-content />\n </ndw-icon>\n</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n OnDestroy,\n OnInit,\n output,\n signal,\n} from '@angular/core';\n\nimport { InputDirective } from '../input';\nimport { InputButtonComponent } from '../input-button';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [InputButtonComponent],\n selector: 'ndw-clear-search-button',\n styleUrls: ['./clear-search-button.component.scss'],\n templateUrl: './clear-search-button.component.html',\n})\nexport class ClearSearchButtonComponent implements OnInit, OnDestroy {\n public readonly disabled = input(false);\n public readonly input = input<InputDirective>();\n public readonly ariaLabel = input<string>('');\n\n public readonly buttonClicked = output<void>();\n\n protected readonly inputValue = signal<string>('');\n\n private readonly onInput = (): void => {\n this.inputValue.set(this.input()?.element.value ?? '');\n };\n\n public ngOnInit(): void {\n this.onInput();\n this.input()?.element.addEventListener('input', this.onInput);\n }\n\n public ngOnDestroy(): void {\n this.input()?.element.removeEventListener('input', this.onInput);\n }\n\n protected clear(): void {\n const inputElement = this.input()?.element;\n if (!inputElement) {\n return;\n }\n\n inputElement.value = '';\n inputElement.dispatchEvent(new Event('input'));\n this.inputValue.set('');\n this.buttonClicked.emit();\n }\n}\n","@if (inputValue() !== '') {\n <ndw-input-button [alternative]=\"true\" (buttonClicked)=\"clear()\">close</ndw-input-button>\n}\n","export const INPUT_CONTAINER_CLASS = 'input-container';\n","export enum FormFieldElement {\n Dropdown = 'ndw-dropdown',\n Input = 'input',\n Select = 'select',\n Textarea = 'textarea',\n}\n\nexport type CheckType = 'checkbox' | 'radio';\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-info',\n styleUrl: './info.component.scss',\n templateUrl: './info.component.html',\n})\nexport class InfoComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n selector: 'ndw-input-icon',\n styleUrls: ['./input-icon.component.scss'],\n templateUrl: './input-icon.component.html',\n})\nexport class InputIconComponent {}\n","<ndw-icon class=\"input-icon\">\n <ng-content />\n</ndw-icon>\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({\n selector: '[ndwButton]',\n})\nexport class ButtonDirective implements OnInit {\n private readonly elementRef = inject(ElementRef);\n\n public get element(): HTMLButtonElement {\n return this.elementRef.nativeElement as HTMLButtonElement;\n }\n\n public ngOnInit(): void {\n // If the text content of a child node is longer than 35 characters, truncate it\n if (!this.element.childNodes.length) {\n return;\n }\n\n this.element.childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (!node.textContent) {\n return;\n }\n\n const text = node.textContent.trim();\n if (text.length > 35) {\n node.textContent = text.slice(0, 35) + '...';\n }\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-option',\n template: '',\n})\nexport class OptionComponent {\n public value = input.required();\n public label = input.required<string>();\n public description = input<string>();\n public required = input(false);\n public disabled = input(false);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl, Validators } from '@angular/forms';\n\nimport { ButtonDirective } from '../../button';\n\nimport { noop } from 'rxjs';\nimport { OptionGroupMode } from './option-group.model';\nimport { OptionComponent } from './option.component';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.error]': 'error() || null',\n '[attr.required]': 'isRequiredOrHasRequiredValidator',\n '[attr.success]': 'success() || null',\n '[class.grid-columns]': 'fluidColumns() !== null',\n '[style.gridTemplateColumns]': 'fluidColumnStyle()',\n },\n imports: [ButtonDirective],\n selector: 'ndw-option-group',\n styleUrls: ['./option-group.component.scss'],\n templateUrl: './option-group.component.html',\n})\nexport class OptionGroupComponent implements ControlValueAccessor {\n private readonly ngControl = inject(NgControl, { optional: true });\n\n public readonly error = input(false);\n public readonly readonly = input(false);\n public readonly fluid = input(false);\n public readonly fluidColumns = input<number | null>(null);\n public readonly mode = input<OptionGroupMode>('multiple');\n public readonly required = input(false);\n public readonly success = input(false);\n\n protected readonly checkedValues = model<unknown[]>([]);\n public readonly disabled = model(false);\n\n protected readonly fluidColumnStyle = computed(() =>\n this.fluidColumns() ? `repeat(${this.fluidColumns()}, 1fr)` : null,\n );\n\n public readonly children = contentChildren(OptionComponent);\n\n protected readonly uuid = crypto.randomUUID();\n\n public constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n public get isRequiredOrHasRequiredValidator(): boolean | null {\n return this.required() || this.ngControl?.control?.hasValidator(Validators.required)\n ? true\n : null;\n }\n\n private onChange: (value: unknown[]) => void = noop;\n\n protected toggleValue(value: unknown): void {\n if (this.mode() === 'single') {\n this.checkedValues.set([value]);\n this.onChange(this.checkedValues());\n } else {\n const state = [...this.checkedValues()];\n const index = state.indexOf(value);\n if (index >= 0) {\n state.splice(index, 1);\n } else {\n state.push(value);\n }\n\n this.checkedValues.set(state);\n this.onChange(this.checkedValues());\n }\n }\n\n public writeValue(value: unknown[]): void {\n this.checkedValues.set(value ?? []);\n }\n\n public registerOnChange(fn: (value: unknown[]) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(): void {\n // noop\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","@for (child of children(); track child.value()) {\n <label\n ndwButton\n [class.fluid]=\"fluid() && fluidColumns() === null\"\n [class.gridCell]=\"fluidColumns() !== null\"\n [attr.disabled]=\"child.disabled() || disabled() || readonly() ? 'true' : null\"\n [attr.secondary]=\"checkedValues().includes(child.value()) ? null : 'true'\"\n [attr.aria-label]=\"child.description() ?? child.label()\"\n >\n <input\n [type]=\"mode() === 'multiple' ? 'checkbox' : 'radio'\"\n [name]=\"mode() === 'multiple' ? 'option-group-radio-' + uuid : null\"\n [value]=\"child.value()\"\n [disabled]=\"child.disabled() || disabled() || readonly()\"\n [readonly]=\"readonly()\"\n [checked]=\"checkedValues().includes(child.value())\"\n (change)=\"toggleValue(child.value())\"\n />\n {{ child.label() }}\n </label>\n}\n","import { ValidatorFn } from '@angular/forms';\n\nexport const minDateValidator: (min: Date) => ValidatorFn = (min) => {\n return (control) => {\n const value = control.value as Date | null;\n if (value && value < min) {\n return { minDate: { min } };\n }\n return null;\n };\n};\n\nexport const maxDateValidator: (max: Date) => ValidatorFn = (max) => {\n return (control) => {\n const value = control.value as Date | null;\n if (value && value > max) {\n return { maxDate: { max } };\n }\n return null;\n };\n};\n","export function createYearRange(minDate: Date, maxDate: Date): number[] {\n const minYear = minDate.getFullYear();\n const maxYear = maxDate.getFullYear();\n const yearCount = maxYear - minYear + 1;\n return Array.from({ length: yearCount }, (_, index) => minYear + index);\n}\n\nexport function createMonthOptions(\n monthLabels: string[],\n year: number,\n minDate: Date,\n maxDate: Date,\n): { label: string; value: number; disabled: boolean }[] {\n return monthLabels.map((month, index) => {\n const monthMaxDate = new Date(year, index + 1, 0, 23, 59, 59, 999);\n const monthMinDate = new Date(year, index, 1);\n const disabled = monthMaxDate < minDate || monthMinDate > maxDate;\n\n return {\n label: month,\n value: index + 1,\n disabled,\n };\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n model,\n OnInit,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl } from '@angular/forms';\n\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { InputDirective } from '../input';\nimport { OptionComponent, OptionGroupComponent } from '../option-group';\nimport { maxDateValidator, minDateValidator } from './date-validators';\nimport { createMonthOptions, createYearRange } from './month-input-utils';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, noop } from 'rxjs';\n\nconst defaultMonthLabels = [\n 'Jan',\n 'Feb',\n 'Mrt',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dec',\n];\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ButtonDirective,\n FormsModule,\n InputDirective,\n IconComponent,\n OptionGroupComponent,\n OptionComponent,\n PopoverTriggerDirective,\n ],\n selector: 'ndw-month-input',\n styleUrl: './month-input.component.scss',\n templateUrl: './month-input.component.html',\n})\nexport class MonthInputComponent implements ControlValueAccessor, OnInit {\n private readonly destroyRef = inject(DestroyRef);\n protected readonly ngControl = inject(NgControl, { optional: true });\n\n public readonly required = input(false);\n public readonly showMonthPickerLabel = input('Selecteer maand');\n public readonly placeholder = input('JJJJ-MM');\n public readonly yearPlaceholder = input('Jaar');\n public readonly minDate = input(new Date(2020, 0, 1));\n public readonly maxDate = input(new Date(2099, 11, 31));\n public readonly monthLabels = input(defaultMonthLabels);\n public readonly addValidators = input(true);\n\n public readonly disabled = model(false);\n public readonly readonly = input(false);\n protected readonly selectedYear = model(new Date().getFullYear());\n protected readonly selectedMonth = model<number | null>(null);\n\n public readonly inputElement = computed(() => this.input()?.element);\n protected readonly selectedDate = computed(() => {\n const year = this.selectedYear();\n const month = this.selectedMonth();\n return year && month ? new Date(year, month - 1, 1) : null;\n });\n protected readonly inputValue = computed(() => {\n const year = this.selectedYear();\n const month = this.selectedMonth();\n return year && month ? `${year}-${month.toString().padStart(2, '0')}` : null;\n });\n protected readonly years = computed(() => createYearRange(this.minDate(), this.maxDate()));\n protected readonly months = computed(() =>\n createMonthOptions(this.monthLabels(), this.selectedYear(), this.minDate(), this.maxDate()),\n );\n protected readonly isYearValid = computed(() => {\n const year = this.selectedYear();\n return year >= this.minDate().getFullYear() && year <= this.maxDate().getFullYear();\n });\n\n public readonly input = viewChild(InputDirective);\n\n protected showMonthPicker = false;\n\n private onChange: (value: Date | null) => void = noop;\n\n public constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n public ngOnInit(): void {\n const input = this.input();\n if (input) {\n fromEvent(input.element, 'blur')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.updateErrorAttribute();\n });\n }\n\n if (this.ngControl?.control && this.addValidators()) {\n if (this.minDate()) {\n this.ngControl.control.addValidators(minDateValidator(this.minDate()));\n }\n\n if (this.maxDate()) {\n this.ngControl.control.addValidators(maxDateValidator(this.maxDate()));\n }\n\n this.ngControl.control.updateValueAndValidity();\n }\n }\n\n public updateErrorAttribute(formFieldError?: boolean): void {\n const input = this.input();\n if (input && this.ngControl) {\n this.ngControl.control?.markAsTouched();\n input.error = this.ngControl.invalid === true || !!formFieldError;\n }\n }\n\n public writeValue(value: Date | null): void {\n if (value) {\n this.selectedYear.set(value.getFullYear());\n this.selectedMonth.set(value.getMonth() + 1);\n } else {\n this.selectedYear.set(new Date().getFullYear());\n this.selectedMonth.set(null);\n }\n }\n\n public registerOnChange(fn: (value: Date | null) => void): void {\n this.onChange = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n public registerOnTouched(): void {\n // noop\n }\n\n protected onInputChanged(value: string): void {\n const [year, month] = value.split('-');\n this.selectedYear.set(parseInt(year, 10));\n this.selectedMonth.set(parseInt(month, 10));\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n\n protected onYearSelected(year: string): void {\n this.selectedYear.set(parseInt(year, 10));\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n\n protected onMonthSelected(month: number): void {\n this.selectedMonth.set(month);\n this.onChange(this.selectedDate());\n this.updateErrorAttribute();\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n this.adjustMonth(-1);\n event.preventDefault();\n return;\n } else if (event.key === 'ArrowUp') {\n this.adjustMonth(+1);\n event.preventDefault();\n return;\n }\n\n const currentValue = (event.target as HTMLInputElement)?.value;\n const validKeys = [];\n\n if (currentValue.length === 4) {\n validKeys.push('-');\n } else {\n validKeys.push('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');\n }\n\n const isValidKey = validKeys.includes(event.key);\n const isPrintableKey = event.key.length === 1; // Allow pressing special keys like F12, etc.\n if (!isValidKey && isPrintableKey) {\n event.preventDefault();\n }\n }\n\n private adjustMonth(monthIncrement: number): void {\n const now = new Date();\n const date = this.selectedDate() ?? new Date(now.getFullYear(), now.getMonth(), 1);\n\n const adjustedDate = new Date(date); // Prevent mutating this.selectedDate()\n adjustedDate.setMonth(adjustedDate.getMonth() + monthIncrement);\n\n if (adjustedDate >= this.minDate() && adjustedDate <= this.maxDate()) {\n this.writeValue(adjustedDate);\n this.onChange(this.selectedDate());\n }\n }\n}\n","<input\n #input\n ndwInput\n type=\"text\"\n minlength=\"6\"\n maxlength=\"7\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [value]=\"inputValue()\"\n (change)=\"onInputChanged(input.value)\"\n (keydown)=\"onKeyDown($event)\"\n/>\n\n<button\n ndwButton\n extra-small\n tertiary\n class=\"input-suffix-button\"\n [attr.aria-label]=\"showMonthPickerLabel() || undefined\"\n [disabled]=\"disabled() || readonly()\"\n [ndwPopoverTrigger]=\"monthPicker\"\n [popoverPosition]=\"'nextToTriggerButton'\"\n (click)=\"showMonthPicker = !showMonthPicker\"\n>\n <ndw-icon>calendar_month</ndw-icon>\n</button>\n\n<ng-template #monthPicker>\n <input\n ndwInput\n #yearSelect\n type=\"number\"\n [placeholder]=\"yearPlaceholder()\"\n [min]=\"minDate().getFullYear()\"\n [max]=\"maxDate().getFullYear()\"\n [ngModel]=\"selectedYear()\"\n (ngModelChange)=\"onYearSelected(yearSelect.value)\"\n [attr.error]=\"isYearValid() ? null : true\"\n />\n\n <ndw-option-group\n mode=\"single\"\n [fluid]=\"true\"\n [fluidColumns]=\"4\"\n [ngModel]=\"selectedMonth() ? [selectedMonth()] : []\"\n (ngModelChange)=\"onMonthSelected($event?.[0])\"\n >\n @for (month of months(); track month.value) {\n <ndw-option [label]=\"month.label\" [value]=\"month.value\" [disabled]=\"month.disabled\">\n {{ month }}\n </ndw-option>\n }\n </ndw-option-group>\n</ng-template>\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n PLATFORM_ID,\n} from '@angular/core';\nimport { InputType } from '@ndwnu/core';\n\nimport { FormFieldElement } from '../form-field.model';\nimport { InputDirective } from '../input';\nimport { InputButtonComponent } from '../input-button';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [InputButtonComponent],\n selector: 'ndw-picker-button',\n templateUrl: './picker-button.component.html',\n})\nexport class PickerButtonComponent {\n public readonly disabled = input(false);\n public readonly input = input<InputDirective>();\n public readonly ariaLabel = input<string>('');\n public readonly required = input<InputType>();\n\n private readonly platform = inject(PLATFORM_ID);\n\n protected readonly icon = computed(() => this.getIcon());\n\n protected onClick(): void {\n const inputElement = this.input()?.element;\n if (!inputElement) {\n return;\n }\n\n if ('showPicker' in inputElement) {\n inputElement.showPicker();\n }\n }\n\n private getIcon(): string | undefined {\n let isFirefox = false;\n\n if (isPlatformBrowser(this.platform)) {\n isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n }\n\n switch (this.input()?.element.type) {\n case 'date':\n // Firefox always shows its own date picker\n return isFirefox ? undefined : 'calendar_month';\n case 'time':\n // Firefox always shows its own time picker\n return isFirefox ? undefined : 'schedule';\n }\n\n if (this.input()?.element.nodeName.toLowerCase() === FormFieldElement.Select) {\n return 'keyboard_arrow_down';\n }\n\n return undefined;\n }\n}\n","@if (icon(); as icon) {\n <ndw-input-button (buttonClicked)=\"onClick()\">{{ icon }}</ndw-input-button>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n selector: 'ndw-success',\n styleUrl: './success.component.scss',\n templateUrl: './success.component.html',\n})\nexport class SuccessComponent {}\n","<ndw-icon>check</ndw-icon>\n<ng-content />\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { InputType } from '@ndwnu/core';\n\nimport { IconComponent } from '../icon';\nimport { TooltipDirective } from '../tooltip';\n\nimport { ClearSearchButtonComponent } from './clear-search-button';\nimport { DatepickerComponent } from './datepicker';\nimport { ErrorComponent } from './error';\nimport { INPUT_CONTAINER_CLASS } from './form-field.constant';\nimport { FormFieldElement } from './form-field.model';\nimport { InfoComponent } from './info';\nimport { InputDirective } from './input';\nimport { InputIconComponent } from './input-icon';\nimport { MonthInputComponent } from './month-input';\nimport { PickerButtonComponent } from './picker-button';\nimport { SuccessComponent } from './success';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ClearSearchButtonComponent,\n ErrorComponent,\n InfoComponent,\n InputIconComponent,\n IconComponent,\n NgTemplateOutlet,\n PickerButtonComponent,\n SuccessComponent,\n TooltipDirective,\n ],\n selector: 'ndw-form-field',\n styleUrl: './form-field.component.scss',\n templateUrl: './form-field.component.html',\n})\nexport class FormFieldComponent {\n public readonly label = input.required<string>();\n public readonly suffixAriaLabel = input('');\n public readonly hideLabel = input(false);\n\n public readonly disabled = input(false);\n public readonly error = input<string>();\n public readonly success = input<string>();\n public readonly info = input<string>();\n public readonly tooltip = input('');\n\n public readonly clearButtonClicked = output<void>();\n\n protected readonly monthInput = contentChild(MonthInputComponent);\n protected readonly dateInput = contentChild(DatepickerComponent);\n protected readonly regularInput = contentChild(InputDirective);\n protected readonly input = computed(\n () => this.regularInput() ?? this.monthInput()?.input() ?? this.dateInput()?.input(),\n );\n protected readonly inputType = computed(\n () => this.input()?.element.type as InputType | undefined,\n );\n protected readonly isSearchInput = computed(() => this.inputType() === 'search');\n protected readonly hasPickerButton = computed(\n () =>\n this.inputType() === 'date' ||\n this.inputType() === 'time' ||\n this.input()?.element.nodeName.toLowerCase() === FormFieldElement.Select,\n );\n\n protected readonly uuid = crypto.randomUUID();\n protected readonly descriptionUuid = crypto.randomUUID();\n protected readonly inputContainerClass = INPUT_CONTAINER_CLASS;\n\n public constructor() {\n effect(() => {\n const input = this.input();\n if (!input) {\n return;\n }\n\n this.setInputDisabledState(input);\n this.setInputErrorState();\n this.setInputSuccessState(input);\n this.setInputId(input);\n this.setAriaDescribedBy(input);\n });\n }\n\n private setInputDisabledState(input: InputDirective): void {\n input.disabled = this.disabled() || !!this.input()?.element.disabled;\n }\n\n private setInputErrorState(): void {\n this.input()?.updateErrorAttribute(!!this.error()?.length);\n }\n\n private setInputSuccessState(input: InputDirective): void {\n input.success = !!this.success()?.length;\n }\n\n private setInputId(input: InputDirective): void {\n input.id = `input-${this.uuid}`;\n }\n\n private setAriaDescribedBy(input: InputDirective): void {\n input.ariaDescribedBy = this.descriptionUuid;\n }\n}\n","@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 <div\n [class]=\"inputContainerClass\"\n [attr.success]=\"success() ? true : null\"\n [attr.error]=\"error() ? true : null\"\n >\n @if (isSearchInput()) {\n <ndw-input-icon>search</ndw-input-icon>\n }\n\n <ng-content />\n\n @if (isSearchInput()) {\n <ndw-clear-search-button\n [input]=\"input()\"\n [disabled]=\"disabled()\"\n [ariaLabel]=\"suffixAriaLabel()\"\n (buttonClicked)=\"clearButtonClicked.emit()\"\n />\n }\n @if (hasPickerButton()) {\n <ndw-picker-button\n [input]=\"input()\"\n [disabled]=\"disabled()\"\n [ariaLabel]=\"suffixAriaLabel()\"\n />\n }\n </div>\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","import { AfterViewInit, Directive, ElementRef, inject, DestroyRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { startWith } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n/**\n * Directive that automatically grows a textarea element to fit its content.\n *\n * Note that at this moment (2024-09-06) there is an experimental CSS property\n * `field-sizing: content;` that can be used to achieve the same effect. At this\n * moment not all browsers support this property (FF and Safari do not for example).\n *\n * So for now a directive is used to achieve the same effect.\n */\n@Directive({\n selector: 'textarea[ndwAutoGrow]',\n host: {\n '(input)': 'fitContentInTextArea()',\n },\n})\nexport class AutoGrowDirective implements AfterViewInit {\n private readonly elementRef = inject(ElementRef);\n private readonly ngControl = inject(NgControl, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n public get element(): HTMLTextAreaElement {\n return this.elementRef.nativeElement as HTMLTextAreaElement;\n }\n\n public ngAfterViewInit(): void {\n this.element.style.resize = 'none';\n this.element.style.overflow = 'hidden';\n\n // Use set timeout to make sure the textarea is rendered before\n // we set the initial height. This is needed for Firefox.\n setTimeout(() => this.fitContentInTextArea());\n\n this.updateHeightOnNgControlUpdate();\n }\n\n public fitContentInTextArea(): void {\n this.element.style.height = 'auto'; // Make the textarea shrink when a lot of text is removed.\n this.element.style.height = `${this.element.scrollHeight}px`;\n }\n\n private updateHeightOnNgControlUpdate(): void {\n if (!this.ngControl?.control) {\n return;\n }\n\n this.ngControl.control.valueChanges\n .pipe(startWith(this.ngControl.value), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.fitContentInTextArea());\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n afterNextRender,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: 'textarea[ndwMaxChar]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class MaxCharDirective implements OnInit, OnDestroy {\n public ndwMaxChar = input<number>(0);\n public maxCharText = input<string>('');\n\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly destroyRef = inject(DestroyRef);\n\n private counterElement: HTMLElement | null = null;\n private originalParentStyle: CSSStyleDeclaration | null = null;\n private originalElementStyle: CSSStyleDeclaration | null = null;\n\n private get element(): HTMLTextAreaElement {\n return this.elementRef.nativeElement as HTMLTextAreaElement;\n }\n\n private get parentStyle() {\n if (!this.element.parentElement) {\n throw new Error('ndwMaxChar parent element not found');\n }\n return this.element.parentElement.style;\n }\n\n private readonly isRendered = signal(false);\n private readonly isDisabled = signal(false);\n private readonly ngControl = inject(NgControl, { optional: true });\n\n private disabledAttrObserver: MutationObserver | null = null;\n\n public constructor() {\n afterNextRender(() => this.isRendered.set(true));\n\n effect(() => {\n const isDisabled = this.isDisabled();\n const maxChars = this.ndwMaxChar();\n const isRendered = this.isRendered();\n\n if (!isRendered || !this.element.parentNode) {\n return;\n }\n\n if (maxChars > 0 && !isDisabled) {\n if (!this.counterElement) {\n this.addCounterElement();\n this.onInput();\n }\n } else {\n this.removeCounterElement();\n }\n });\n }\n\n public ngOnInit(): void {\n this.monitorDisabledState();\n this.isDisabled.set(this.element.disabled ?? this.ngControl?.disabled);\n }\n\n public ngOnDestroy(): void {\n this.disabledAttrObserver?.disconnect();\n }\n\n public onInput(): void {\n if (!this.counterElement) {\n return;\n }\n\n this.counterElement.textContent = `${this.element.value.length} /\n ${this.ndwMaxChar()} ${this.maxCharText()}`;\n if (this.element.value.length > this.ndwMaxChar()) {\n this.renderer.setStyle(this.counterElement, 'color', 'var(--ndw-color-critical-500)');\n } else {\n this.renderer.setStyle(this.counterElement, 'color', 'var(--ndw-color-grey-500)');\n }\n }\n\n private monitorDisabledState() {\n this.disabledAttrObserver = new MutationObserver(() => {\n this.isDisabled.set(this.element.disabled);\n });\n this.disabledAttrObserver.observe(this.element, {\n attributes: true,\n attributeFilter: ['disabled'],\n });\n\n this.ngControl?.statusChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isDisabled.set(this.element.disabled);\n });\n }\n\n private addCounterElement(): void {\n this.originalElementStyle = { ...this.element.style };\n this.originalParentStyle = { ...this.parentStyle };\n\n const counterElement = this.renderer.createElement('span') as HTMLSpanElement;\n counterElement.style.boxSizing = 'border-box';\n counterElement.style.paddingBlockEnd = 'var(--ndw-spacing-xs)';\n counterElement.style.marginInline = 'var(--ndw-spacing-sm)';\n counterElement.style.position = 'absolute';\n counterElement.style.width = 'calc(100% - 2 * var(--ndw-spacing-sm))';\n counterElement.style.backgroundColor = 'var(--ndw-color-white)';\n counterElement.style.bottom = '0';\n\n this.parentStyle.display = 'block';\n this.parentStyle.position = 'relative';\n\n this.element.style.minHeight = 'calc(4rem)';\n this.element.style.paddingBottom = 'var(--ndw-spacing-xl)';\n this.element.style.scrollPaddingBottom = 'var(--ndw-spacing-lg)';\n\n this.renderer.appendChild(this.element.parentNode, counterElement);\n this.counterElement = counterElement;\n }\n\n private removeCounterElement(): void {\n this.renderer.removeChild(this.element.parentNode, this.counterElement);\n this.counterElement = null;\n\n this.parentStyle.display = this.originalParentStyle?.display ?? '';\n this.parentStyle.position = this.originalParentStyle?.position ?? '';\n\n this.element.style.minHeight = this.originalElementStyle?.minHeight ?? '';\n this.element.style.paddingBottom = this.originalElementStyle?.paddingBottom ?? '';\n this.element.style.scrollPaddingBottom = this.originalElementStyle?.scrollPaddingBottom ?? '';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n CUSTOM_ELEMENTS_SCHEMA,\n inject,\n input,\n model,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { AutoGrowDirective } from '../textarea';\nimport { IconComponent } from '../../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, CommonModule, ReactiveFormsModule, FormsModule, AutoGrowDirective],\n selector: 'ndw-markdown-editor',\n styleUrls: ['./markdown-editor.component.scss'],\n templateUrl: './markdown-editor.component.html',\n host: {\n '[class.disabled]': 'disabled()',\n '[class.error]': 'error()',\n '[class.readonly]': 'readonly()',\n '[class.success]': 'success()',\n '[class.required]': 'isRequiredOrHasRequiredValidator',\n },\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class MarkdownEditorComponent implements ControlValueAccessor {\n private readonly ngControl = inject(NgControl, { optional: true });\n\n readonly uuid = input(crypto.randomUUID());\n readonly value = model('');\n readonly disabled = model(false);\n readonly error = input(false);\n readonly readonly = input(false);\n readonly success = input(false);\n readonly required = input(false);\n readonly toolbar = input([\n 'bold',\n 'header',\n 'italic',\n 'unordered-list',\n 'ordered-list',\n 'task-list',\n ]);\n\n readonly bold = computed(() => this.toolbar().includes('bold'));\n readonly header = computed(() => this.toolbar().includes('header'));\n readonly italic = computed(() => this.toolbar().includes('italic'));\n readonly quote = computed(() => this.toolbar().includes('quote'));\n readonly unorderedList = computed(() => this.toolbar().includes('unordered-list'));\n readonly orderedList = computed(() => this.toolbar().includes('ordered-list'));\n readonly taskList = computed(() => this.toolbar().includes('task-list'));\n\n public get isRequiredOrHasRequiredValidator(): boolean | null {\n return this.required() || this.ngControl?.control?.hasValidator(Validators.required)\n ? true\n : null;\n }\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n if (!customElements.get('markdown-toolbar')) {\n import('@github/markdown-toolbar-element');\n }\n }\n\n onChange(event: Event): void {\n this.value.set((event.target as HTMLTextAreaElement).value ?? '');\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: (value: string | null | undefined) => void): void {\n this.value.subscribe(fn);\n }\n\n registerOnTouched() {\n // noop\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<markdown-toolbar [attr.for]=\"uuid()\" [attr.inert]=\"disabled() || readonly() ? '' : null\">\n @if (bold()) {\n <md-bold>\n <button ndwButton tertiary alternative title=\"Bold\" aria-label=\"Bold\">\n <ndw-icon>format_bold</ndw-icon>\n </button>\n </md-bold>\n }\n @if (header()) {\n <md-header>\n <button ndwButton tertiary alternative title=\"Title\" aria-label=\"Title\">\n <ndw-icon>title</ndw-icon>\n </button>\n </md-header>\n }\n @if (italic()) {\n <md-italic>\n <button ndwButton tertiary alternative title=\"Italic\" aria-label=\"Italic\">\n <ndw-icon>format_italic</ndw-icon>\n </button>\n </md-italic>\n }\n @if (quote()) {\n <md-quote>\n <button ndwButton tertiary alternative title=\"Quote\" aria-label=\"Quote\">\n <ndw-icon>format_quote</ndw-icon>\n </button>\n </md-quote>\n }\n @if (unorderedList()) {\n <md-unordered-list>\n <button ndwButton tertiary alternative title=\"Unordered list\" aria-label=\"Unordered list\">\n <ndw-icon>format_list_bulleted</ndw-icon>\n </button>\n </md-unordered-list>\n }\n @if (orderedList()) {\n <md-ordered-list>\n <button ndwButton tertiary alternative title=\"Ordered list\" aria-label=\"Ordered list\">\n <ndw-icon>format_list_numbered</ndw-icon>\n </button>\n </md-ordered-list>\n }\n @if (taskList()) {\n <md-task-list>\n <button ndwButton tertiary alternative title=\"Task list\" aria-label=\"Task list\">\n <ndw-icon>checklist</ndw-icon>\n </button>\n </md-task-list>\n }\n</markdown-toolbar>\n\n<textarea\n [id]=\"uuid()\"\n class=\"markdown-editor\"\n [value]=\"value()\"\n (input)=\"onChange($event)\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n ndwAutoGrow\n></textarea>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { marked } from 'marked';\nimport DOMPurify from 'dompurify';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n selector: 'ndw-markdown-parser',\n host: {\n '[innerHTML]': 'parsedContent()',\n },\n template: '',\n})\nexport class MarkdownParserComponent {\n readonly content = input('');\n\n readonly parsedContent = computed(() => {\n const content = this.content();\n const escaped = content.replace(/</g, '<').replace(/>/g, '>');\n return DOMPurify.sanitize(marked.parse(escaped || '') as string);\n });\n}\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckableComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.checked]': 'checked()',\n '[class.disabled]': 'disabled()',\n },\n imports: [NgClass],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true,\n },\n ],\n selector: 'ndw-radio-button',\n styleUrls: ['../checkable-input.scss', './radio-button.component.scss'],\n templateUrl: './radio-button.component.html',\n})\nexport class RadioButtonComponent implements ControlValueAccessor, CheckableComponent {\n public checked = model(false);\n public disabled = model(false);\n public error = input(false);\n public success = input(false);\n public required = input(false);\n public value = model();\n\n public name = signal<string | undefined>(undefined);\n\n public uuid = crypto.randomUUID();\n\n public onInputChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked.set(input.checked);\n }\n\n public writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n public registerOnChange(fn: (value: boolean) => void): void {\n this.checked.subscribe(fn);\n }\n\n public registerOnTouched(): void {\n // noop\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<input\n type=\"radio\"\n class=\"sr-only\"\n [id]=\"'radio-button-' + uuid\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n (change)=\"onInputChange($event)\"\n/>\n<label tabindex=\"-1\" id=\"radio-button-label-{{ uuid }}\" [for]=\"'radio-button-' + uuid\">\n <div class=\"radio-button\" aria-hidden=\"true\" [ngClass]=\"{ error: error(), success: success() }\">\n @if (checked()) {\n <span class=\"check\"></span>\n }\n </div>\n <ng-content />\n</label>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { checkRadioItems, setRadioItemsName } from '@ndwnu/core';\nimport { noop } from 'rxjs';\n\nimport { RadioButtonComponent } from '../radio-button';\n\n@Component({\n host: {\n role: 'radiogroup',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioGroupComponent,\n multi: true,\n },\n ],\n selector: 'ndw-radio-group',\n styleUrl: './radio-group.component.scss',\n templateUrl: './radio-group.component.html',\n})\nexport class RadioGroupComponent implements AfterContentInit, ControlValueAccessor {\n public radioButtons = contentChildren(RadioButtonComponent);\n\n private uuid = crypto.randomUUID();\n private onChange: (value: unknown) => void = noop;\n\n public ngAfterContentInit(): void {\n const radioButtons = [...this.radioButtons()];\n setRadioItemsName<RadioButtonComponent>(radioButtons, this.uuid);\n checkRadioItems<RadioButtonComponent>(radioButtons, this.onChange);\n }\n\n public writeValue(value: unknown): void {\n this.radioButtons().forEach((radio) => {\n radio.checked.set(radio.value() === value);\n });\n }\n\n public registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(): void {\n // noop\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.radioButtons().forEach((radio) => radio.disabled.set(isDisabled));\n }\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { CorePillComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-paragraph-md',\n },\n selector: 'ndw-pill',\n styleUrl: './pill.component.scss',\n templateUrl: './pill.component.html',\n})\nexport class PillComponent extends CorePillComponent {}\n","<div>\n <ng-content />\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n input,\n model,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { CheckableComponent, PillColor } from '@ndwnu/core';\n\nimport { BadgeComponent } from '../badge';\nimport { CheckboxComponent, CheckType, RadioButtonComponent } from '../form-field';\nimport { IconComponent } from '../icon';\nimport { PillComponent } from '../pill';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem',\n },\n imports: [\n BadgeComponent,\n CheckboxComponent,\n IconComponent,\n NgTemplateOutlet,\n PillComponent,\n RadioButtonComponent,\n ],\n selector: 'ndw-list-item',\n styleUrl: './list-item.component.scss',\n templateUrl: './list-item.component.html',\n})\nexport class ListItemComponent implements CheckableComponent {\n active = model(false);\n badgeValue = input<number>();\n buttonIcon = input<string>();\n buttonLabel = input<string>();\n checkable = input(false);\n checkType = input<CheckType>('checkbox');\n collapsible = input(false);\n disabled = input(false);\n indented = input(false);\n pillColor = input<PillColor>('green');\n pillLabel = input<string>();\n prefixIcon = input<string>();\n showButton = input(false);\n subtitle = input<string>();\n title = input<string>();\n\n buttonClicked = output<void>();\n\n checked = model(false);\n expanded = model(false);\n\n radioButton = viewChild(RadioButtonComponent);\n\n name = signal<string | undefined>(undefined);\n\n actionable = computed(() => this.checkable() || this.collapsible());\n\n constructor() {\n effect(() => {\n const name = this.name();\n if (name) {\n this.radioButton()?.name.set(name);\n }\n });\n }\n\n onButtonClick(event: Event) {\n event.stopPropagation();\n this.buttonClicked.emit();\n }\n\n onCheckClick(event: Event) {\n event.stopPropagation();\n }\n\n onListItemSelect() {\n if (this.collapsible()) {\n this.#toggleExpanded();\n return;\n }\n\n if (!this.indented()) {\n this.#toggleChecked();\n }\n }\n\n #toggleChecked() {\n this.checked.update((checked) => !checked);\n }\n\n #toggleExpanded() {\n this.expanded.update((expanded) => !expanded);\n }\n}\n","@if (actionable()) {\n <button\n ndw-list-item\n class=\"actionable\"\n [attr.active]=\"active() || undefined\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.disabled]=\"disabled() || undefined\"\n [class.indented]=\"indented()\"\n (click)=\"onListItemSelect()\"\n >\n @if (checkable()) {\n @if (checkType() === 'radio') {\n <ndw-radio-button\n [disabled]=\"disabled()\"\n [class.readonly]=\"!collapsible() && !indented()\"\n [(checked)]=\"checked\"\n (click)=\"onCheckClick($event)\"\n />\n } @else {\n <ndw-checkbox\n [disabled]=\"disabled()\"\n [class.readonly]=\"!collapsible() && !indented()\"\n [(checked)]=\"checked\"\n (click)=\"onCheckClick($event)\"\n />\n }\n }\n <ng-container *ngTemplateOutlet=\"listItem\" />\n </button>\n} @else {\n <div ndw-list-item [class.indented]=\"indented()\">\n <ng-container *ngTemplateOutlet=\"listItem\" />\n </div>\n}\n\n<ng-template #listItem>\n @if (prefixIcon(); as prefix) {\n <ndw-icon class=\"affix\">{{ prefix }}</ndw-icon>\n }\n <ng-content />\n <div class=\"content\">\n @if (title(); as title) {\n <span class=\"title\">{{ title }}</span>\n }\n @if (subtitle(); as subtitle) {\n {{ subtitle }}\n }\n </div>\n @if (pillLabel(); as pillLabel) {\n <ndw-pill [color]=\"pillColor()\">{{ pillLabel }}</ndw-pill>\n }\n @if (badgeValue(); as badgeValue) {\n <ndw-badge [value]=\"badgeValue\" />\n }\n @if (showButton()) {\n <button\n ndwButton\n tertiary\n class=\"suffix-button\"\n [attr.aria-label]=\"buttonLabel()\"\n [attr.disabled]=\"disabled() || undefined\"\n (click)=\"onButtonClick($event)\"\n >\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\n </button>\n }\n @if (collapsible()) {\n <ndw-icon class=\"affix\" [class.expanded]=\"expanded()\">keyboard_arrow_down</ndw-icon>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, inject, input, model } from '@angular/core';\n\nimport { AccordionService } from '../accordion';\nimport { ListItemComponent } from '../list-item';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.expanded]': 'expanded()',\n '[class.open]': 'expanded()',\n '[class.closed]': '!expanded()',\n },\n imports: [ListItemComponent],\n selector: 'ndw-collapsible',\n styleUrl: './collapsible.component.scss',\n templateUrl: './collapsible.component.html',\n})\nexport class CollapsibleComponent {\n index = input.required<number>();\n title = input.required<string>();\n checkable = input(false);\n subtitle = input<string>();\n value = input<number>();\n\n expanded = model(false);\n\n private readonly accordionService = inject(AccordionService);\n\n private readonly uuid = crypto.randomUUID();\n readonly toggleUuid = `toggle-${this.uuid}`;\n readonly sectionUuid = `section-${this.uuid}`;\n\n toggle(): void {\n this.expanded.set(!this.expanded());\n\n if (this.expanded()) {\n this.accordionService.setExpandedCollapsible(this.index());\n }\n }\n}\n","<ndw-list-item\n [attr.aria-controls]=\"sectionUuid\"\n [badgeValue]=\"value()\"\n [checkable]=\"checkable()\"\n [collapsible]=\"true\"\n [expanded]=\"expanded()\"\n [subtitle]=\"subtitle()\"\n [title]=\"title()\"\n (expandedChange)=\"toggle()\"\n>\n <ng-content select=\"custom-header-content\" />\n</ndw-list-item>\n<section role=\"region\" class=\"content\" [id]=\"sectionUuid\" [attr.aria-labelledby]=\"toggleUuid\">\n <div>\n <ng-content />\n </div>\n</section>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n input,\n} from '@angular/core';\nimport { checkRadioItems, setRadioItemsName } from '@ndwnu/core';\n\nimport { ListItemComponent } from '../list-item';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list',\n '[class.elevated]': 'elevated()',\n },\n selector: 'ndw-list',\n styleUrl: './list.component.scss',\n templateUrl: './list.component.html',\n})\nexport class ListComponent implements AfterContentInit {\n elevated = input(false);\n\n listItems = contentChildren(ListItemComponent);\n\n #uuid = crypto.randomUUID();\n\n ngAfterContentInit() {\n const items = [...this.listItems()];\n if (items.some((item) => !item.checkable() || item.checkType() !== 'radio')) {\n return;\n }\n\n setRadioItemsName<ListItemComponent>(items, this.#uuid);\n checkRadioItems<ListItemComponent>(items);\n }\n}\n","<ng-content />\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class AccordionService {\n public expanded$ = new Subject<number>();\n\n public setExpandedCollapsible(index: number): void {\n this.expanded$.next(index);\n }\n}\n","import {\n Component,\n OnInit,\n contentChildren,\n inject,\n input,\n DestroyRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { CollapsibleComponent } from '../collapsible';\nimport { ListComponent } from '../list';\n\nimport { AccordionService } from './accordion.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AccordionService],\n selector: 'ndw-accordion',\n templateUrl: './accordion.component.html',\n})\nexport class AccordionComponent extends ListComponent implements OnInit {\n readonly #accordionService = inject(AccordionService);\n readonly #destroyRef = inject(DestroyRef);\n\n collapseOthers = input(false);\n\n collapsibles = contentChildren(CollapsibleComponent);\n\n ngOnInit() {\n this.#accordionService.expanded$\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((index: number) => {\n if (!this.collapseOthers()) {\n return;\n }\n\n this.collapsibles().forEach((collapsible: CollapsibleComponent) => {\n collapsible.expanded.set(collapsible.index() === index);\n });\n });\n }\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\n\nimport { AriaLive } from '../../models';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\n\nimport { AlertType } from './alert.model';\n\n@Component({\n host: {\n '[attr.aria-live]': 'ariaLive()',\n '[class]': 'type()',\n '[class.actionable]': 'actionable()',\n role: 'alert',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ButtonDirective, IconComponent],\n selector: 'ndw-alert',\n styleUrl: './alert.component.scss',\n templateUrl: './alert.component.html',\n})\nexport class AlertComponent {\n /**\n * Whether the alert is actionable, shows a close icon and a title.\n */\n public actionable = input(false);\n\n /**\n * The title of the alert. Only used when actionable is true.\n */\n public title = input<string>();\n\n /**\n * Use info, info-grey, warning or critical to indicate the type of alert.\n */\n public type = input<AlertType>('info-grey');\n\n /**\n * Use polite, assertive or off to indicate whether the alert is\n * announced automatically by the screen reader.\n */\n public ariaLive = input<AriaLive>('off');\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = output<void>();\n\n public onClose(): void {\n this.close.emit();\n }\n}\n","<section>\n <ndw-icon class=\"info-icon\">info</ndw-icon>\n @if (actionable()) {\n @if (title(); as title) {\n <h2>{{ title }}</h2>\n }\n\n <button ndwButton alternative extra-small tertiary class=\"close-button\" (click)=\"onClose()\">\n <span class=\"sr-only\">Sluit melding</span>\n <ndw-icon>close</ndw-icon>\n </button>\n }\n</section>\n<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { NgClass } from '@angular/common';\nimport { AvatarStatus, AvatarColor } from './avatar.model';\n\n@Component({\n host: {\n '[attr.color]': 'color()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-avatar',\n imports: [IconComponent, NgClass],\n styleUrl: './avatar.component.scss',\n templateUrl: './avatar.component.html',\n})\nexport class AvatarComponent {\n public status = input<AvatarStatus>('none');\n public initials = input(false);\n public color = input<AvatarColor>();\n}\n","<div class=\"content-wrapper\" role=\"img\" [attr.color]=\"color()\">\n <ng-content />\n</div>\n\n@if (status() !== 'none') {\n <div class=\"status-circle\" [ngClass]=\"{ approved: status() === 'approved' }\">\n @if (status() === 'approved') {\n <ndw-icon>check</ndw-icon>\n }\n </div>\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n viewChild,\n} from '@angular/core';\n\nimport { AriaLive } from '../../models';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\n\nimport { BannerType } from './banner.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-live]': 'ariaLive()',\n '[attr.title]': 'message()',\n '[class]': 'type()',\n '(window:resize)': 'setReadMore()',\n role: 'button',\n tabindex: '0',\n },\n imports: [ButtonDirective, IconComponent],\n selector: 'ndw-banner',\n styleUrl: './banner.component.scss',\n templateUrl: './banner.component.html',\n})\nexport class BannerComponent implements AfterViewInit {\n /**\n * The title of the banner.\n */\n public title = input.required<string>();\n\n /**\n * The message of the banner.\n */\n public message = input.required<string>();\n\n /**\n * The read more label if the message is truncated.\n */\n public readMoreLabel = input<string>('lees verder');\n\n /**\n * Use info, info-grey, warning, positive or critical to indicate the type of banner.\n */\n public type = input<BannerType>('info');\n\n /**\n * Use polite, assertive or off to indicate whether the alert is\n * announced automatically by the screen reader.\n */\n public ariaLive = input<AriaLive>('off');\n\n /**\n * Emits when the banner close button is clicked.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = output<void>();\n\n public textContent = viewChild<ElementRef>('textContent');\n\n public showReadMore = false;\n\n public ngAfterViewInit(): void {\n this.setReadMore();\n }\n\n public onClose(event: MouseEvent): void {\n event.stopPropagation();\n this.close.emit();\n }\n\n protected setReadMore(): void {\n this.showReadMore =\n this.textContent()?.nativeElement.scrollWidth > this.textContent()?.nativeElement.clientWidth;\n }\n}\n","<section>\n <ndw-icon class=\"info-icon\">info</ndw-icon>\n <p #textContent>\n <strong>{{ title() }}:</strong>\n {{ message() }}\n </p>\n @if (showReadMore) {\n <p>{{ readMoreLabel() }}</p>\n }\n</section>\n<button ndwButton alternative extra-small tertiary class=\"close-button\" (click)=\"onClose($event)\">\n <span class=\"sr-only\">Sluit melding</span>\n <ndw-icon>close</ndw-icon>\n</button>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreBreadcrumbComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'link',\n },\n selector: 'ndw-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n})\nexport class BreadcrumbComponent extends CoreBreadcrumbComponent {}\n","<ng-template #content>\n <ng-content />\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { CoreBreadcrumbGroupComponent } from '@ndwnu/core';\n\nimport { BreadcrumbComponent } from '../breadcrumb';\nimport { IconComponent } from '../icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, NgTemplateOutlet, RouterLink],\n selector: 'ndw-breadcrumb-group',\n styleUrls: ['../breadcrumb/breadcrumb.component.scss', './breadcrumb-group.component.scss'],\n templateUrl: './breadcrumb-group.component.html',\n})\nexport class BreadcrumbGroupComponent extends CoreBreadcrumbGroupComponent<BreadcrumbComponent> {\n protected breadcrumbs = contentChildren(BreadcrumbComponent);\n}\n","@for (breadcrumb of breadcrumbs(); track breadcrumb.link()) {\n @if ($count > 1 && $index === $count - 2) {\n <ndw-icon class=\"icon-back\" aria-hidden=\"true\">chevron_left</ndw-icon>\n }\n\n <a\n class=\"breadcrumb\"\n [class.current-page]=\"$last\"\n [class.show-on-small-screen]=\"$count === 1 || $index === $count - 2\"\n [attr.aria-current]=\"$last ? 'page' : null\"\n [routerLink]=\"$last ? null : breadcrumb.link()\"\n >\n <ng-template [ngTemplateOutlet]=\"breadcrumb.content()\"></ng-template>\n </a>\n\n @if (!$last) {\n <ndw-icon class=\"icon-forward\" aria-hidden=\"true\">chevron_right</ndw-icon>\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-card-content',\n styleUrl: './card-content.component.scss',\n templateUrl: './card-content.component.html',\n})\nexport class CardContentComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-card-footer',\n styleUrl: './card-footer.component.scss',\n templateUrl: './card-footer.component.html',\n})\nexport class CardFooterComponent {}\n","<ng-content />\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n forwardRef,\n inject,\n InjectionToken,\n model,\n signal,\n} from '@angular/core';\nimport { CardHeaderComponent } from './card-header';\n\nexport const CARD_ID_TOKEN = new InjectionToken<string>('CARD_ID_TOKEN');\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-card',\n styleUrl: './card.component.scss',\n templateUrl: './card.component.html',\n providers: [\n {\n provide: CARD_ID_TOKEN,\n useFactory: () => `ndw-card-${crypto.randomUUID()}`,\n },\n ],\n host: {\n id: 'cardId',\n '[class.collapsible]': 'isCollapsable()',\n '[class.open]': '!isCollapsed()',\n '[class.closed]': 'isCollapsed()',\n '[style.--header-height]': 'this.headerHeight() + \"px\"',\n },\n})\nexport class CardComponent implements AfterContentInit {\n private readonly header = contentChild<CardHeaderComponent>(\n forwardRef(() => CardHeaderComponent),\n );\n\n protected readonly headerHeight = signal(0);\n\n public readonly cardId = inject(CARD_ID_TOKEN);\n\n public readonly isCollapsable = computed(() => this.header()?.isCollapsible() ?? false);\n public readonly isCollapsed = model(false);\n\n ngAfterContentInit(): void {\n const header = this.header();\n if (header) {\n header.isCollapsed.subscribe(() => {\n this.isCollapsed.set(!this.isCollapsed());\n });\n this.headerHeight.set(header.height);\n }\n }\n}\n","<div class=\"content\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { IconComponent } from '../../icon';\nimport { CARD_ID_TOKEN } from '../card.component';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-card-header',\n imports: [IconComponent],\n styleUrl: './card-header.component.scss',\n templateUrl: './card-header.component.html',\n})\nexport class CardHeaderComponent {\n public readonly cardId = inject(CARD_ID_TOKEN, { optional: true });\n public readonly isCollapsible = input(false);\n public readonly isCollapsed = model(false);\n\n private readonly elementRef = inject(ElementRef);\n\n get height(): number {\n return this.elementRef.nativeElement.offsetHeight;\n }\n\n toggleCollapsed(): void {\n this.isCollapsed.set(!this.isCollapsed());\n }\n}\n","@if (isCollapsible()) {\n <button\n class=\"float\"\n type=\"button\"\n ndwButton\n extra-small\n tertiary\n [attr.aria-controls]=\"cardId\"\n [attr.aria-expanded]=\"!isCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n (click)=\"toggleCollapsed()\"\n >\n <ndw-icon>keyboard_arrow_down</ndw-icon>\n </button>\n}\n<ng-content />\n","import { CardContentComponent } from './card-content';\nimport { CardFooterComponent } from './card-footer';\nimport { CardHeaderComponent } from './card-header';\nimport { CardComponent } from './card.component';\n\nexport * from './card-content';\nexport * from './card-footer';\nexport * from './card-header';\nexport * from './card.component';\n\nexport const CARD_COMPONENTS = [\n CardComponent,\n CardHeaderComponent,\n CardContentComponent,\n CardFooterComponent,\n];\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { CardComponent, CardContentComponent } from '../card';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CardComponent, CardContentComponent],\n selector: 'ndw-dashboard-card',\n styleUrl: './dashboard-card.component.scss',\n templateUrl: './dashboard-card.component.html',\n})\nexport class DashboardCardComponent {\n /**\n * The title of the card.\n */\n public readonly title = input.required<string>();\n\n /**\n * The URL to the icon to display on the card. The icon is assumed to be rectangular.\n */\n public readonly imgSource = input.required<string>();\n\n /**\n * The url to open in a new window when the card is clicked.\n */\n public readonly link = input.required<string>();\n\n /**\n * Specifies where to open the linked document.\n * Valid values are `_blank`, `_parent`, `_self`, or `_top`.\n */\n public readonly linkTarget = input('_blank');\n}\n","<a [href]=\"link()\" [target]=\"linkTarget()\" rel=\"noreferrer noopener\" [title]=\"title()\">\n <ndw-card class=\"card\">\n <ndw-card-content class=\"card-content\">\n <img [src]=\"imgSource()\" [alt]=\"title()\" />\n <span class=\"ndw-heading-sm title\">{{ title() }}</span>\n <div class=\"ndw-paragraph-md description\"><ng-content /></div>\n </ndw-card-content>\n </ndw-card>\n</a>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n computed,\n input,\n output,\n viewChild,\n} from '@angular/core';\n\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\nimport { PopoverTriggerDirective } from '../popover';\nimport { TagComponent } from '../tag';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ButtonDirective, IconComponent, PopoverTriggerDirective, TagComponent],\n selector: 'ndw-dropdown',\n styleUrl: 'dropdown.component.scss',\n templateUrl: 'dropdown.component.html',\n})\nexport class DropdownComponent {\n public readonly disabled = input(false);\n public readonly chevron = input(true);\n public readonly buttonText = input.required<string>();\n public readonly prefixIcon = input('');\n public readonly selectAmount = input(0);\n\n public readonly tagClicked = output<void>();\n public readonly isOpenChange = output<boolean>();\n\n public readonly popoverTrigger = viewChild.required(PopoverTriggerDirective);\n public readonly dropdownButton = viewChild.required<ElementRef>('dropdownButton');\n\n public readonly buttonIcon = computed(() =>\n this.popoverTrigger().isOpen() ? 'keyboard_arrow_up' : 'keyboard_arrow_down',\n );\n\n public onTagClicked($event: Event): void {\n $event.stopPropagation();\n this.tagClicked.emit();\n }\n\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.popoverTrigger().isOpen.set(false);\n this.popoverTrigger().togglePopover();\n } else if (event.key === 'Enter' && !this.disabled()) {\n this.popoverTrigger().toggle();\n }\n }\n\n public closeDropdown(): void {\n this.dropdownButton().nativeElement.focus();\n }\n\n public onTagKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' || this.disabled()) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n this.tagClicked.emit();\n setTimeout(() => {\n this.dropdownButton().nativeElement.focus();\n });\n }\n\n public isOpenChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n }\n}\n","<button\n type=\"button\"\n #dropdownButton\n ndwButton\n filter\n [ndwPopoverTrigger]=\"dropdownContent\"\n (isOpenChange)=\"isOpenChanged($event)\"\n (keydown)=\"onKeyDown($event)\"\n [disabled]=\"disabled()\"\n aria-haspopup=\"dialog\"\n>\n @if (prefixIcon(); as prefixIconName) {\n <ndw-icon class=\"dropdown-prefix-icon\">{{ prefixIconName }}</ndw-icon>\n }\n\n {{ buttonText() }}\n\n @if (selectAmount()) {\n <ndw-tag\n [attr.disabled]=\"disabled() ? true : null\"\n (keydown)=\"onTagKeyDown($event)\"\n (clicked)=\"onTagClicked($event)\"\n >\n {{ selectAmount() }}\n </ndw-tag>\n }\n @if (chevron()) {\n <div class=\"button-end\">\n <ndw-icon class=\"button-icon\">{{ buttonIcon() }}</ndw-icon>\n </div>\n }\n</button>\n\n<ng-template #dropdownContent>\n <div role=\"dialog\" (keydown.escape)=\"closeDropdown()\">\n <ng-content />\n </div>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild,\n} from '@angular/core';\nimport { EditBarPosition, EditBarWidth } from './edit-bar.model';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ndw-edit-bar',\n imports: [NgTemplateOutlet],\n templateUrl: './edit-bar.component.html',\n styleUrl: './edit-bar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.height]': 'height() + \"px\"',\n },\n})\nexport class EditBarComponent implements AfterViewInit, OnDestroy {\n readonly grid = input<boolean>(false);\n readonly position = input<EditBarPosition>('fixed');\n readonly positionFixedWidth = input<EditBarWidth>('layout');\n\n readonly editBar = viewChild.required<ElementRef<HTMLDivElement>>('editBar');\n\n readonly height = signal<number | null>(null);\n\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n\n #resizeObserver: ResizeObserver | undefined;\n\n ngAfterViewInit(): void {\n if (this.position() === 'fixed') {\n this.#observeEditBarHeightAndUpdateHostHeight();\n }\n }\n\n ngOnDestroy(): void {\n if (this.#resizeObserver) {\n this.#resizeObserver.unobserve(this.editBar().nativeElement);\n }\n }\n\n #observeEditBarHeightAndUpdateHostHeight(): void {\n this.#resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]): void => {\n this.height.set(entries[0].contentRect.height);\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#resizeObserver.observe(this.editBar().nativeElement);\n }\n}\n","<div\n #editBar\n class=\"ndw-edit-bar\"\n [class.ndw-edit-bar--grid]=\"grid()\"\n [class.ndw-edit-bar--fixed]=\"position() === 'fixed'\"\n [class.ndw-edit-bar--absolute]=\"position() === 'absolute'\"\n [class.ndw-edit-bar--static]=\"position() === 'static'\"\n [class.ndw-edit-bar--sticky]=\"position() === 'sticky'\"\n [class.ndw-edit-bar--full-width]=\"positionFixedWidth() === 'full'\"\n [class.ndw-edit-bar--layout-width]=\"positionFixedWidth() === 'layout'\"\n>\n @if (grid()) {\n <div class=\"ndw-grid\">\n <div class=\"column-12\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n</div>\n\n<ng-template #content>\n <div class=\"ndw-edit-bar__inner\">\n <ng-content select=\"ndw-edit-bar-message\" />\n <ng-content select=\"ndw-edit-bar-actions\" />\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-edit-bar-actions',\n imports: [],\n templateUrl: './edit-bar-actions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-edit-bar-actions',\n },\n})\nexport class EditBarActionsComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-edit-bar-message',\n imports: [],\n templateUrl: './edit-bar-message.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-edit-bar-message',\n },\n})\nexport class EditBarMessageComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, model } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { CoreFavoriteComponent } from '@ndwnu/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, CoreFavoriteComponent],\n selector: 'ndw-favorite',\n styleUrl: './favorite.component.scss',\n templateUrl: './favorite.component.html',\n})\nexport class FavoriteComponent {\n checked = model(false);\n}\n","<core-favorite [(checked)]=\"checked\">\n <ndw-icon [filled]=\"checked()\">favorite</ndw-icon>\n</core-favorite>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\n\nimport { IconComponent } from '../icon';\nimport { HoverableListItemAction } from './hoverable-list-item.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem',\n },\n imports: [IconComponent, NgTemplateOutlet, RouterLink],\n selector: 'ndw-hoverable-list-item',\n styleUrl: './hoverable-list-item.component.scss',\n templateUrl: './hoverable-list-item.component.html',\n})\nexport class HoverableListItemComponent {\n actions = input<HoverableListItemAction[]>();\n disabled = input(false);\n path = input<string[]>();\n prefixIcon = input<string>();\n queryParams = input<Params>();\n subtitle = input<string>();\n title = input<string>();\n\n actionSelected = output<HoverableListItemAction>();\n selected = output<void>();\n\n onActionButtonClick(event: Event, action: HoverableListItemAction) {\n event.stopPropagation();\n if (action.callback) {\n action.callback();\n }\n\n if (!action.path) {\n this.actionSelected.emit(action);\n }\n }\n\n onButtonClick(event: Event) {\n event.stopPropagation();\n this.selected.emit();\n }\n}\n","@if (path(); as path) {\n <a\n ndw-list-item\n class=\"actionable\"\n [attr.aria-disabled]=\"disabled() || undefined\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [queryParams]=\"queryParams()\"\n [routerLink]=\"path\"\n >\n <ng-container *ngTemplateOutlet=\"listItem\" />\n </a>\n} @else {\n <button\n ndw-list-item\n class=\"actionable\"\n [attr.disabled]=\"disabled() || undefined\"\n (click)=\"onButtonClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"listItem\" />\n </button>\n}\n\n<ng-template #listItem>\n @if (prefixIcon(); as prefix) {\n <ndw-icon class=\"affix\">{{ prefix }}</ndw-icon>\n }\n <ng-content />\n <div class=\"content\">\n @if (title(); as title) {\n <span class=\"title\">{{ title }}</span>\n }\n @if (subtitle(); as subtitle) {\n {{ subtitle }}\n }\n </div>\n <div class=\"actions\">\n @for (action of actions(); track $index) {\n @if (action.path) {\n <a\n ndwButton\n tertiary\n extra-small\n [attr.aria-label]=\"action.label\"\n [queryParams]=\"action.queryParams\"\n [routerLink]=\"action.path\"\n (click)=\"onActionButtonClick($event, action)\"\n >\n <ndw-icon>{{ action.icon }}</ndw-icon>\n </a>\n } @else {\n <button\n ndwButton\n tertiary\n extra-small\n [attr.aria-label]=\"action.label\"\n (click)=\"onActionButtonClick($event, action)\"\n >\n <ndw-icon>{{ action.icon }}</ndw-icon>\n </button>\n }\n }\n </div>\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreKeyValueListComponent } from '@ndwnu/core';\nimport { IconComponent } from '../icon';\nimport { TooltipDirective } from '../tooltip';\n\n@Component({\n selector: 'ndw-key-value-list',\n styleUrl: './key-value-list.component.scss',\n templateUrl: './key-value-list.component.html',\n imports: [IconComponent, NgTemplateOutlet, TooltipDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class KeyValueListComponent extends CoreKeyValueListComponent {}\n","<dl [class.striped]=\"hasZebraStripes()\" [class.fluid]=\"fluid()\">\n @for (keyValueRow of normalizedData(); track keyValueRow.key) {\n <dt>\n <ng-container *ngTemplateOutlet=\"cellData; context: { $implicit: keyValueRow.key }\" />\n </dt>\n <dd>\n <ng-container *ngTemplateOutlet=\"cellData; context: { $implicit: keyValueRow.value }\" />\n </dd>\n }\n</dl>\n\n<ng-template #cellData let-data>\n @if (data.url) {\n <a ndwLink target=\"_blank\" [href]=\"data.url\">\n {{ data.label }}\n <ndw-icon size=\"sm\">open_in_new</ndw-icon>\n </a>\n } @else {\n {{ data.label }}\n }\n\n @if (data.tooltip) {\n <ndw-icon class=\"tooltip-icon\" size=\"sm\" [ndwTooltip]=\"data.tooltip\">info</ndw-icon>\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport { IconComponent } from '../../icon';\nimport { PillComponent } from '../../pill';\nimport { Environment } from '../main-navigation.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, PillComponent, RouterLink],\n selector: 'ndw-main-navigation-header',\n styleUrl: './main-navigation-header.component.scss',\n templateUrl: './main-navigation-header.component.html',\n})\nexport class MainNavigationHeaderComponent {\n applicationName = input.required<string>();\n isExpanded = input.required<boolean>();\n isMobile = input.required<boolean>();\n theme = input.required<string>();\n themeImagePath = input.required<string>();\n environment = input<Environment>();\n\n isMobileMenuOpen = model.required<boolean>();\n\n environmentColor = computed(() => {\n switch (this.environment()) {\n case 'Local':\n return 'gray';\n case 'Staging':\n return 'green';\n case 'Acceptance':\n return 'blue';\n default:\n return 'yellow';\n }\n });\n\n public toggleMobileMenu(): void {\n this.isMobileMenuOpen.update((open) => !open);\n }\n}\n","<header [class.expanded]=\"isExpanded() && !isMobile()\">\n <a routerLink=\"/\">\n <img [class]=\"theme()\" [src]=\"themeImagePath()\" [alt]=\"theme().toUpperCase() + ' logo'\" />\n @if (isExpanded() || isMobile()) {\n {{ applicationName() }}\n }\n </a>\n @if (environment()) {\n <ndw-pill [color]=\"environmentColor()\">\n {{ !isExpanded() || isMobile() ? environment()?.charAt(0) : environment() }}\n </ndw-pill>\n }\n @if (isMobile()) {\n <button ndwButton tertiary class=\"mobile-menu-button\" (click)=\"toggleMobileMenu()\">\n <ndw-icon>\n {{ isMobileMenuOpen() ? 'close' : 'menu' }}\n </ndw-icon>\n </button>\n }\n</header>\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BadgeComponent } from '../../badge';\nimport { IconComponent } from '../../icon';\nimport { MenuItem, SubMenuItem } from '../main-navigation.model';\n\n@Component({\n imports: [\n BadgeComponent,\n CdkMenu,\n CdkMenuItem,\n CdkMenuTrigger,\n IconComponent,\n RouterLink,\n NgTemplateOutlet,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-main-navigation-menu',\n styleUrl: './main-navigation-menu.component.scss',\n templateUrl: './main-navigation-menu.component.html',\n})\nexport class MainNavigationMenuComponent {\n isExpanded = input.required<boolean>();\n isMobile = input.required<boolean>();\n items = input.required<MenuItem[]>();\n\n closed = output();\n\n activeMobileItem = signal<MenuItem | undefined>(undefined);\n\n closeMobileMenu(item?: SubMenuItem) {\n item?.callback?.();\n this.setActiveMobileItem(undefined);\n this.closed.emit();\n }\n\n getItemKey(item: MenuItem | SubMenuItem) {\n return JSON.stringify(item);\n }\n\n handleMobileItemKeydown(event: KeyboardEvent, item: MenuItem) {\n if (event.key === 'Enter') {\n this.toggleActiveMobileItem(item);\n }\n\n if (this.activeMobileItem() !== item && event.key === 'ArrowRight') {\n this.setActiveMobileItem(item);\n }\n\n if (this.activeMobileItem() === item && event.key === 'ArrowLeft') {\n this.setActiveMobileItem(undefined);\n }\n }\n\n setActiveMobileItem(item: MenuItem | undefined) {\n this.activeMobileItem.set(item);\n }\n\n toggleActiveMobileItem(item: MenuItem) {\n item.callback?.();\n this.setActiveMobileItem(this.activeMobileItem() === item ? undefined : item);\n }\n}\n","<div cdkMenu class=\"menu\" [class.expanded]=\"isExpanded()\">\n @for (item of items(); track getItemKey(item)) {\n @if (!item.children) {\n @if (item.callback) {\n <button cdkMenuItem ndwButton menu (click)=\"closeMobileMenu(item)\">\n <ndw-icon>{{ item.icon }}</ndw-icon>\n @if (isExpanded() || isMobile()) {\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: item }\" />\n }\n @if (!isExpanded() && item.notifications) {\n <ndw-badge class=\"expanded-badge\" [value]=\"item.notifications\" />\n }\n </button>\n } @else {\n <a\n cdkMenuItem\n ndwButton\n menu\n [queryParams]=\"item.queryParams\"\n [routerLink]=\"item.path\"\n (click)=\"closeMobileMenu()\"\n >\n <ndw-icon>{{ item.icon }}</ndw-icon>\n @if (isExpanded() || isMobile()) {\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: item }\" />\n }\n </a>\n }\n } @else {\n @if (isMobile()) {\n <button\n cdkMenuItem\n ndwButton\n menu\n [attr.active]=\"activeMobileItem() === item || undefined\"\n (click)=\"toggleActiveMobileItem(item)\"\n (keydown)=\"handleMobileItemKeydown($event, item)\"\n >\n <ndw-icon>{{ item.icon }}</ndw-icon>\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: item }\" />\n <ndw-icon class=\"suffix\">\n {{ activeMobileItem() !== item ? 'arrow_drop_down' : 'arrow_drop_up' }}\n </ndw-icon>\n </button>\n @if (activeMobileItem() === item) {\n @for (subItem of item.children; track getItemKey(subItem)) {\n @if (subItem.callback) {\n <button\n cdkMenuItem\n ndwButton\n menu\n class=\"sub-menu-button\"\n (click)=\"closeMobileMenu(subItem)\"\n >\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: subItem }\" />\n </button>\n } @else {\n <a\n cdkMenuItem\n ndwButton\n menu\n class=\"sub-menu-button\"\n [queryParams]=\"subItem.queryParams\"\n [routerLink]=\"subItem.path\"\n (click)=\"closeMobileMenu(subItem)\"\n >\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: subItem }\" />\n </a>\n }\n }\n }\n } @else {\n <button cdkMenuItem ndwButton menu [cdkMenuTriggerFor]=\"subMenu\">\n <ndw-icon>{{ item.icon }}</ndw-icon>\n @if (isExpanded()) {\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: item }\" />\n <ndw-icon class=\"suffix\">arrow_right</ndw-icon>\n }\n </button>\n }\n\n <ng-template #subMenu>\n <div cdkMenu class=\"sub-menu\">\n @for (subItem of item.children; track getItemKey(subItem)) {\n @if (subItem.callback) {\n <button cdkMenuItem ndwButton menu (click)=\"subItem.callback()\">\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: subItem }\" />\n </button>\n } @else {\n <a\n cdkMenuItem\n ndwButton\n menu\n [queryParams]=\"subItem.queryParams\"\n [routerLink]=\"subItem.path\"\n >\n <ng-container *ngTemplateOutlet=\"label; context: { $implicit: subItem }\" />\n </a>\n }\n }\n </div>\n </ng-template>\n }\n }\n</div>\n\n<ng-template #label let-item>\n {{ item.label }}\n @if (item.notifications) {\n <ndw-badge [value]=\"item.notifications\" />\n }\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n Renderer2,\n signal,\n DOCUMENT,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon';\nimport { Environment, MenuItem, Theme } from './main-navigation.model';\nimport { MainNavigationHeaderComponent } from './main-navigation-header';\nimport { MainNavigationMenuComponent } from './main-navigation-menu';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.expanded]': 'isExpanded()',\n '(window:resize)': 'onWindowResize()',\n },\n imports: [IconComponent, MainNavigationHeaderComponent, MainNavigationMenuComponent],\n selector: 'ndw-main-navigation',\n styleUrl: './main-navigation.component.scss',\n templateUrl: './main-navigation.component.html',\n})\nexport class MainNavigationComponent implements AfterViewInit {\n readonly #document = inject(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n\n applicationName = input.required<string>();\n topMenuItems = input.required<MenuItem[]>();\n bottomMenuItems = input<MenuItem[]>();\n environment = input<Environment>();\n footerTexts = input<string[]>();\n isCollapsible = input(true);\n version = input<string>();\n\n isMobile = signal(false);\n isMobileMenuOpen = signal(false);\n theme = signal<Theme>('ndw');\n\n isExpanded = model(true);\n\n mobileMenuItems = computed(() => [...this.topMenuItems(), ...(this.bottomMenuItems() || [])]);\n themeImagePath = computed(() => {\n const variant = !this.isExpanded() || this.isMobile() ? '-short' : '';\n return `images/logos/${this.theme()}-logo${variant}.svg`;\n });\n\n ngAfterViewInit() {\n const theme = this.#document.documentElement.getAttribute('data-theme');\n if (theme) {\n this.theme.set(theme as Theme);\n }\n\n this.#toggleMainNavigationExpandedDataAttributeOnBody();\n this.onWindowResize();\n }\n\n closeMobileMenu() {\n this.isMobileMenuOpen.set(false);\n }\n\n onWindowResize() {\n const windowView = this.#document.defaultView;\n this.isMobile.set(windowView ? windowView.innerWidth <= 1024 : false);\n }\n\n toggleView() {\n this.isExpanded.update((expanded) => !expanded);\n this.#toggleMainNavigationExpandedDataAttributeOnBody();\n }\n\n #toggleMainNavigationExpandedDataAttributeOnBody(): void {\n this.#renderer.setAttribute(\n this.#document.body,\n 'data-main-navigation-expanded',\n this.isExpanded().toString(),\n );\n }\n}\n","<ndw-main-navigation-header\n [applicationName]=\"applicationName()\"\n [environment]=\"environment()\"\n [isExpanded]=\"isExpanded()\"\n [isMobile]=\"isMobile()\"\n [theme]=\"theme()\"\n [themeImagePath]=\"themeImagePath()\"\n [(isMobileMenuOpen)]=\"isMobileMenuOpen\"\n/>\n@if (!isMobile()) {\n <div class=\"content\">\n <main>\n <ndw-main-navigation-menu\n [isExpanded]=\"isExpanded()\"\n [isMobile]=\"isMobile()\"\n [items]=\"topMenuItems()\"\n (closed)=\"closeMobileMenu()\"\n />\n </main>\n <footer>\n @if (bottomMenuItems(); as bottomMenuItems) {\n <ndw-main-navigation-menu\n [isExpanded]=\"isExpanded()\"\n [isMobile]=\"isMobile()\"\n [items]=\"bottomMenuItems\"\n (closed)=\"closeMobileMenu()\"\n />\n }\n <div class=\"texts\">\n @if (isExpanded() || isMobile()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n </div>\n <div class=\"version\">\n <p>{{ version() }}</p>\n </div>\n @if (isCollapsible() && !isMobile()) {\n <button ndwButton menu class=\"collapse-toggle\" (click)=\"toggleView()\">\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\n </button>\n }\n </footer>\n </div>\n} @else {\n @if (isMobileMenuOpen()) {\n <div class=\"content\">\n <main>\n <ndw-main-navigation-menu\n [isExpanded]=\"isExpanded()\"\n [isMobile]=\"isMobile()\"\n [items]=\"mobileMenuItems()\"\n (closed)=\"closeMobileMenu()\"\n />\n </main>\n </div>\n }\n}\n","import { CdkScrollable } from '@angular/cdk/scrolling';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { Environment, MainNavigationComponent, MenuItem } from '../main-navigation';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CdkScrollable, MainNavigationComponent],\n selector: 'ndw-layout',\n styleUrl: './layout.component.scss',\n templateUrl: './layout.component.html',\n})\nexport class LayoutComponent {\n public applicationName = input.required<string>();\n public topMenuItems = input.required<MenuItem[]>();\n public bottomMenuItems = input<MenuItem[]>();\n public environment = input<Environment>();\n public isCollapsible = input(true);\n public isExpanded = input(true);\n public menuFooterTexts = input<string[]>();\n public version = input<string>();\n}\n","<ndw-main-navigation\n [applicationName]=\"applicationName()\"\n [bottomMenuItems]=\"bottomMenuItems()\"\n [environment]=\"environment()\"\n [footerTexts]=\"menuFooterTexts()\"\n [isCollapsible]=\"isCollapsible()\"\n [isExpanded]=\"isExpanded()\"\n [topMenuItems]=\"topMenuItems()\"\n [version]=\"version()\"\n/>\n<main cdk-scrollable>\n <ng-content />\n</main>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-layout-banners',\n styleUrl: './layout-banners.component.scss',\n templateUrl: './layout-banners.component.html',\n})\nexport class LayoutBannersComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-loader',\n styleUrl: './loader.component.scss',\n templateUrl: './loader.component.html',\n})\nexport class LoaderComponent {}\n","<svg viewBox=\"0 0 32 32\">\n <circle cx=\"4\" cy=\"16\" r=\"4\" />\n <circle cx=\"16\" cy=\"16\" r=\"4\" />\n <circle cx=\"28\" cy=\"16\" r=\"4\" />\n</svg>\n","export const fontMapButtonIcons = [\n 'direction',\n 'gps',\n 'high-res',\n 'layers',\n 'polygon',\n 'search',\n 'zoom-in',\n 'zoom-out',\n] as const;\n\nexport const svgMapButtonIcons = [\n 'add-traffic-sign',\n 'add-zone',\n 'download',\n 'hectometer',\n 'low-res',\n 'zoom-to-content',\n] as const;\n\nexport const mapButtonIcons = [...fontMapButtonIcons, ...svgMapButtonIcons] as const;\n\nexport type MapButtonIcon = (typeof mapButtonIcons)[number];\n","import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { IconComponent } from '../icon/icon.component';\nimport { TooltipDirective } from '../tooltip';\nimport { MapButtonIcon, svgMapButtonIcons } from './map-button.model';\n\n@Component({\n selector: 'ndw-map-button',\n imports: [IconComponent, TooltipDirective],\n templateUrl: './map-button.component.html',\n styleUrl: './map-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MapButtonComponent {\n readonly icon = input.required<MapButtonIcon>();\n readonly active = input(false);\n readonly ariaLabel = input<string>();\n readonly disabled = input(false);\n\n readonly clicked = output<void>();\n\n protected readonly buttonIcon = computed(() => this.#icons[this.icon()]);\n protected readonly svgIcon = computed(() => {\n const svgIconNames: string[] = [...svgMapButtonIcons];\n const icon = this.icon();\n const active = this.active();\n\n if (svgIconNames.includes(icon)) {\n return active ? `${icon}-active` : icon;\n }\n\n return undefined;\n });\n\n protected readonly iconLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n const iconLabel = this.#iconLabels[this.icon()];\n return ariaLabel || iconLabel;\n });\n\n // Mapping from button icon names to Material icons or SVG icon IDs.\n readonly #icons: Record<MapButtonIcon, string> = {\n 'add-traffic-sign': 'add_traffic_sign',\n 'add-zone': 'add_zone',\n direction: 'explore',\n download: 'download',\n gps: 'my_location',\n hectometer: 'hectometer',\n 'high-res': 'high_res',\n layers: 'stacks',\n 'low-res': 'low_res',\n polygon: 'activity_zone',\n search: 'search',\n 'zoom-in': 'add',\n 'zoom-out': 'remove',\n 'zoom-to-content': 'zoom-to-content',\n };\n\n readonly #iconLabels: Record<MapButtonIcon, string> = {\n 'add-traffic-sign': 'Voeg verkeersbord toe',\n 'add-zone': 'Voeg een zone toe',\n direction: 'Herstel kaartrichting',\n download: 'Download kaartgegevens',\n gps: 'Ga naar mijn locatie',\n hectometer: 'Toon hectometrering',\n 'high-res': 'Hoge resolutie',\n layers: 'Kaartlagen',\n 'low-res': 'Lage resolutie',\n polygon: 'Selecteer een gebied',\n search: 'Zoeken',\n 'zoom-in': 'Zoom in',\n 'zoom-out': 'Zoom uit',\n 'zoom-to-content': 'Zoom naar inhoud',\n };\n}\n","<button\n class=\"map-control\"\n [class.active]=\"active()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"iconLabel()\"\n (click)=\"clicked.emit()\"\n [ndwTooltip]=\"iconLabel()\"\n>\n @if (svgIcon()) {\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <use [attr.href]=\"'images/map-button-icons.svg#' + svgIcon()\"></use>\n </svg>\n } @else {\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\n }\n <div class=\"content-wrapper\">\n <ng-content />\n </div>\n</button>\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport {\n DisplayOptionDirection,\n DisplayOptionType,\n MapDisplayOption,\n} from './map-display-option.model';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-map-display-option',\n imports: [NgTemplateOutlet, IconComponent],\n templateUrl: './map-display-option.component.html',\n styleUrl: './map-display-option.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MapDisplayOptionComponent {\n option = input.required<MapDisplayOption>();\n direction = input<DisplayOptionDirection>('row');\n type = input<DisplayOptionType>('checkbox');\n group = input<string | undefined>();\n\n selectionChange = output<MapDisplayOption>();\n}\n","@if (type() === 'button') {\n <button\n type=\"button\"\n [title]=\"option().description ?? ''\"\n [class.column]=\"direction() === 'column'\"\n (click)=\"selectionChange.emit(option())\"\n >\n <ng-container *ngTemplateOutlet=\"template\" />\n <span class=\"name\">{{ option().name }}</span>\n </button>\n} @else if (type() === 'radio' || type() === 'checkbox') {\n <label [class.column]=\"direction() === 'column'\" [title]=\"option().description ?? ''\">\n <input\n [type]=\"type()\"\n name=\"{{ group() }}\"\n [checked]=\"option().active\"\n (change)=\"selectionChange.emit(option())\"\n />\n <ng-container *ngTemplateOutlet=\"template\" />\n <span class=\"name\">{{ option().name }}</span>\n </label>\n} @else {\n <ng-container *ngTemplateOutlet=\"template\" />\n}\n\n<ng-template #template>\n @if (option().imageLink) {\n <img [src]=\"option().imageLink\" [alt]=\"option().name\" />\n } @else {\n <ndw-icon>stacks</ndw-icon>\n }\n</ng-template>\n","import { OverlayModule } from '@angular/cdk/overlay';\n\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n linkedSignal,\n model,\n OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { IconComponent } from '../icon';\nimport { TagComponent } from '../tag';\nimport {\n MapBackgroundOption,\n MapDisplayOption,\n MapDisplayOptionComponent,\n} from './map-display-option';\n\n@Component({\n selector: 'ndw-map-display',\n imports: [MapDisplayOptionComponent, OverlayModule, IconComponent, TagComponent],\n templateUrl: './map-display.component.html',\n styleUrl: './map-display.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MapDisplayComponent implements OnInit {\n title = input<string>('Kaartweergave');\n backgroundsTitle = input<string>('Achtergrond');\n layersTitle = input<string>('Gegevens');\n enableClearLayers = input<boolean>(true);\n layerOptionType = input<'radio' | 'checkbox'>('checkbox');\n backgroundOptions = input<MapBackgroundOption[], MapBackgroundOption[]>([], {\n transform: (options: MapBackgroundOption[]): MapBackgroundOption[] =>\n (options ?? []).map((bg) => ({ ...bg })),\n });\n layerOptions = input<MapDisplayOption[], MapDisplayOption[]>([], {\n transform: (options: MapDisplayOption[]): MapDisplayOption[] =>\n (options ?? []).map((layer) => ({ ...layer })),\n });\n\n readonly backgroundChange = output<MapBackgroundOption>();\n readonly layerChange = output<MapDisplayOption>();\n readonly clearAllLayers = output<void>();\n\n readonly open = model(false);\n readonly htmlIsRendered = signal(false);\n readonly showPopover = computed(() => this.open() && this.htmlIsRendered());\n\n readonly linkedBackgroundOptions = linkedSignal(this.backgroundOptions);\n readonly activeBackgroundOption = computed(() =>\n this.linkedBackgroundOptions()?.find((opt) => opt.active),\n );\n\n readonly linkedLayerOptions = linkedSignal(this.layerOptions);\n readonly numberOfSelectedLayers = computed(\n () => this.linkedLayerOptions()?.filter((opt) => opt.active)?.length ?? 0,\n );\n\n constructor() {\n afterNextRender(() => this.htmlIsRendered.set(true));\n }\n\n ngOnInit() {\n this.#initBackgroundOptions();\n }\n\n selectBackground(option: MapDisplayOption) {\n this.linkedBackgroundOptions.update((options) =>\n options.map((opt) => ({ ...opt, active: opt.id === option.id })),\n );\n this.backgroundChange.emit(option as MapBackgroundOption);\n }\n\n toggleLayer(option: MapDisplayOption) {\n const isRadio = this.layerOptionType() === 'radio';\n\n if (isRadio) {\n this.#resetAllLayers();\n }\n\n this.linkedLayerOptions.update((options) =>\n options.map((opt) => {\n let newActive = !!opt.active;\n\n if (opt.id === option.id) {\n newActive = isRadio ? true : !opt.active;\n }\n\n const newOption = { ...opt, active: newActive };\n\n if (newOption.active !== opt.active) {\n this.layerChange.emit(newOption);\n }\n\n return newOption;\n }),\n );\n }\n\n clearLayers() {\n this.#resetAllLayers();\n this.clearAllLayers.emit();\n }\n\n #resetAllLayers(options?: { emitEvent: boolean }): void {\n const { emitEvent = true } = options || {};\n this.linkedLayerOptions.update((options) =>\n options.map((opt) => {\n const newOption = { ...opt, active: false };\n if (opt.active && emitEvent) {\n this.layerChange.emit(newOption);\n }\n return newOption;\n }),\n );\n }\n\n #initBackgroundOptions() {\n const options = this.linkedBackgroundOptions();\n const activeBackground = options?.find((opt) => opt.active);\n\n if (!activeBackground && options?.length) {\n this.selectBackground(options[0]);\n }\n }\n}\n","<div class=\"map-control\" [class.active]=\"open()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n @let activeBackground = activeBackgroundOption();\n @if (activeBackground) {\n <ndw-map-display-option [option]=\"activeBackground\" [type]=\"'none'\" />\n }\n\n <button class=\"content-wrapper\" type=\"button\" (click)=\"open.set(!open())\">\n {{ title() }}\n </button>\n\n @if (numberOfSelectedLayers() && enableClearLayers()) {\n <ndw-tag (clicked)=\"clearLayers()\">{{ numberOfSelectedLayers() }}</ndw-tag>\n }\n\n <ndw-icon class=\"map-control__chevron\">keyboard_arrow_down</ndw-icon>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"showPopover()\"\n (detach)=\"open.set(false)\"\n (overlayOutsideClick)=\"open.set(false)\"\n>\n <div class=\"map-control-dropdown\">\n <header>\n <h3 class=\"ndw-paragraph-bold-lg\">{{ title() }}</h3>\n <button ndwButton tertiary type=\"button\" (click)=\"open.set(false)\">\n <ndw-icon>close</ndw-icon>\n <span class=\"sr-only\">Sluit {{ title() }}</span>\n </button>\n </header>\n\n <div class=\"map-control-dropdown__content\">\n @if (linkedBackgroundOptions().length) {\n <section class=\"map-control-dropdown__section\">\n <h4 class=\"ndw-paragraph-bold-md map-control-dropdown__subtitle\">\n {{ backgroundsTitle() }}\n </h4>\n <ul class=\"map-control-dropdown__backgrounds\">\n @for (backgroundOption of linkedBackgroundOptions(); track backgroundOption.id) {\n <li>\n <ndw-map-display-option\n [option]=\"backgroundOption\"\n [group]=\"'map-backgrounds'\"\n [type]=\"'radio'\"\n [direction]=\"'column'\"\n (selectionChange)=\"selectBackground($event)\"\n />\n </li>\n }\n </ul>\n </section>\n }\n\n @if (linkedLayerOptions().length) {\n <section class=\"map-control-dropdown__section\">\n <h4 class=\"ndw-paragraph-bold-md map-control-dropdown__subtitle\">{{ layersTitle() }}</h4>\n <ul>\n @for (layerOption of linkedLayerOptions(); track layerOption.id) {\n <li>\n <ndw-map-display-option\n [option]=\"layerOption\"\n [group]=\"'map-layers'\"\n [type]=\"layerOptionType()\"\n [direction]=\"'row'\"\n (selectionChange)=\"toggleLayer($event)\"\n />\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </div>\n</ng-template>\n","import { MapBackgrounds } from './map-display-option/map-display-option.model';\n\nexport const MAP_BACKGROUND_IMAGES = {\n OSM_DEFAULT: 'images/map-backgrounds/osm-default.webp',\n OSM_BASIC: 'images/map-backgrounds/osm-basic.webp',\n OSM_COLOR_BLIND: 'images/map-backgrounds/osm-color-blind.webp',\n OSM_DARK: 'images/map-backgrounds/osm-dark.webp',\n OSM_NO_ROADS: 'images/map-backgrounds/osm-default-no-roads.webp',\n OSM_FCD_LINKS: 'images/map-backgrounds/osm-default-with-fcd-links_1-5.webp',\n OSM_FCD_ROADS: 'images/map-backgrounds/osm-default-with-fcd-roads.webp',\n OSM_FCD_SEGMENTS: 'images/map-backgrounds/osm-default-with-fcd-segments.webp',\n OSM_MST: 'images/map-backgrounds/osm-default-with-mst.webp',\n OSM_NWB_ROADS_WHITE: 'images/map-backgrounds/osm-default-with-nwb-roads-white.webp',\n OSM_NWB_ROADS: 'images/map-backgrounds/osm-default-with-nwb-roads.webp',\n OSM_DEFAULT_FULL: 'images/map-backgrounds/osm-default.webp',\n OSM_FRONT_DARK: 'images/map-backgrounds/osm-front-office-dark.webp',\n OSM_FRONT_LIGHT_NWB: 'images/map-backgrounds/osm-front-office-light-with-nwb-roads.webp',\n OSM_FRONT_LIGHT: 'images/map-backgrounds/osm-front-office-light.webp',\n OSM_GREEN: 'images/map-backgrounds/osm-green.webp',\n};\n\nexport const MAP_BACKGROUNDS: MapBackgrounds = {\n OSM_BASIC: {\n id: 'OSM_BASIC',\n name: 'Basis',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_BASIC,\n style: 'https://maps.ndw.nu/styles/osm-basic.json',\n },\n OSM_DEFAULT: {\n id: 'OSM_DEFAULT',\n name: 'Standaard',\n description: 'Standaard',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DEFAULT,\n style: 'https://maps.ndw.nu/styles/osm-default.json',\n },\n OSM_COLOR_BLIND: {\n id: 'OSM_COLOR_BLIND',\n name: 'Kleuren',\n description: 'Kleurenblind',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_COLOR_BLIND,\n style: 'https://maps.ndw.nu/styles/osm-color-blind.json',\n },\n OSM_DARK: {\n id: 'OSM_DARK',\n name: 'Donker',\n description: 'Donker',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DARK,\n style: 'https://maps.ndw.nu/styles/osm-dark.json',\n },\n OSM_NO_ROADS: {\n id: 'OSM_NO_ROADS',\n name: 'OSM N.R.',\n description: 'OSM zonder wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NO_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-no-roads.json',\n },\n OSM_FCD_LINKS: {\n id: 'OSM_FCD_LINKS',\n name: 'FCD L.',\n description: 'OSM met FCD links',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_LINKS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-links_1-5.json',\n },\n OSM_FCD_ROADS: {\n id: 'OSM_FCD_ROADS',\n name: 'FCD R.',\n description: 'OSM met FCD wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-roads.json',\n },\n OSM_FCD_SEGMENTS: {\n id: 'OSM_FCD_SEGMENTS',\n name: 'FCD S.',\n description: 'OSM met FCD segmenten',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FCD_SEGMENTS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-fcd-segments.json',\n },\n OSM_MST: {\n id: 'OSM_MST',\n name: 'OSM MST',\n description: 'OSM met MST',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_MST,\n style: 'https://maps.ndw.nu/styles/osm-default-with-mst.json',\n },\n OSM_NWB_ROADS_WHITE: {\n id: 'OSM_NWB_ROADS_WHITE',\n name: 'NWB W.',\n description: 'OSM met NWB wegen (wit)',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NWB_ROADS_WHITE,\n style: 'https://maps.ndw.nu/styles/osm-default-with-nwb-roads-white.json',\n },\n OSM_NWB_ROADS: {\n id: 'OSM_NWB_ROADS',\n name: 'NWB',\n description: 'OSM met NWB',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_NWB_ROADS,\n style: 'https://maps.ndw.nu/styles/osm-default-with-nwb-roads.json',\n },\n OSM_DEFAULT_FULL: {\n id: 'OSM_DEFAULT_FULL',\n name: 'Default',\n description: 'OSM standaard',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_DEFAULT_FULL,\n style: 'https://maps.ndw.nu/styles/osm-default.json',\n },\n OSM_FRONT_DARK: {\n id: 'OSM_FRONT_DARK',\n name: 'OSM F.D.',\n description: 'OSM front office donker',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_DARK,\n style: 'https://maps.ndw.nu/styles/osm-front-office-dark.json',\n },\n OSM_FRONT_LIGHT_NWB: {\n id: 'OSM_FRONT_LIGHT_NWB',\n name: 'F.L. NWB',\n description: 'OSM front office licht met NWB wegen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_LIGHT_NWB,\n style: 'https://maps.ndw.nu/styles/osm-front-office-light-with-nwb-roads.json',\n },\n OSM_FRONT_LIGHT: {\n id: 'OSM_FRONT_LIGHT',\n name: 'F.L.',\n description: 'OSM front office licht',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_FRONT_LIGHT,\n style: 'https://maps.ndw.nu/styles/osm-front-office-light.json',\n },\n OSM_GREEN: {\n id: 'OSM_GREEN',\n name: 'OSM G.',\n description: 'OSM groen',\n imageLink: MAP_BACKGROUND_IMAGES.OSM_GREEN,\n style: 'https://maps.ndw.nu/styles/osm-green.json',\n },\n};\n\nexport const DEFAULT_BACKGROUNDS = [\n MAP_BACKGROUNDS['OSM_NWB_ROADS'],\n MAP_BACKGROUNDS['OSM_COLOR_BLIND'],\n MAP_BACKGROUNDS['OSM_DARK'],\n];\n","import { MapDisplayOption } from './map-display-option';\n\nexport const MAP_LAYER_IMAGES = {\n ACTUAL_TRAFFIC_V1: 'images/map-layers/actueelverkeer1.webp',\n ACTUAL_TRAFFIC_V2: 'images/map-layers/actueelverkeerv2.webp',\n IMAGE_MODE_V1: 'images/map-layers/beeldstand1.webp',\n IMAGE_MODE_V2: 'images/map-layers/beeldstand2.webp',\n HECTOMETRY: 'images/map-layers/hectometrering.webp',\n ROAD_WORKS: 'images/map-layers/wegwerkzaamheden.webp',\n};\n\nexport const MAP_LAYERS: Record<string, MapDisplayOption> = {\n ACTUAL_TRAFFIC_V1: {\n id: 'ACTUAL_TRAFFIC_V1',\n name: 'Actueel verkeer 1',\n imageLink: MAP_LAYER_IMAGES.ACTUAL_TRAFFIC_V1,\n },\n ACTUAL_TRAFFIC_V2: {\n id: 'ACTUAL_TRAFFIC_V2',\n name: 'Actueel verkeer 2',\n imageLink: MAP_LAYER_IMAGES.ACTUAL_TRAFFIC_V2,\n },\n IMAGE_MODE_V1: {\n id: 'IMAGE_MODE_V1',\n name: 'Beeldstand 1',\n imageLink: MAP_LAYER_IMAGES.IMAGE_MODE_V1,\n },\n IMAGE_MODE_V2: {\n id: 'IMAGE_MODE_V2',\n name: 'Beeldstand 2',\n imageLink: MAP_LAYER_IMAGES.IMAGE_MODE_V2,\n },\n HECTOMETRY: {\n id: 'HECTOMETRY',\n name: 'Hectometrering',\n imageLink: MAP_LAYER_IMAGES.HECTOMETRY,\n },\n ROAD_WORKS: {\n id: 'ROAD_WORKS',\n name: 'Wegwerkzaamheden',\n imageLink: MAP_LAYER_IMAGES.ROAD_WORKS,\n },\n};\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MapLegendOption } from '../map-legend.model';\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-map-legend-option',\n templateUrl: './map-legend-option.component.html',\n styleUrls: ['./map-legend-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n host: {\n role: 'listitem',\n },\n})\nexport class MapLegendOptionComponent {\n readonly option = input.required<MapLegendOption>();\n}\n","@let opt = option();\n<div class=\"option-type\">\n @switch (opt.type) {\n @case ('circle') {\n <div class=\"circle\" [style.--map-legend-option-color]=\"opt.color\"></div>\n }\n\n @case ('line') {\n <div\n class=\"line\"\n [class.dashed]=\"opt.fillMode === 'dashed'\"\n [style.--map-legend-option-color]=\"opt.color\"\n ></div>\n }\n\n @case ('icon') {\n <ndw-icon class=\"icon\">{{ opt.iconName }}</ndw-icon>\n }\n\n @case ('image') {\n <img\n class=\"image\"\n [class.contain]=\"opt.objectFit === 'contain'\"\n [src]=\"opt.src\"\n [alt]=\"opt.label\"\n />\n }\n\n @case ('polygon') {\n <div class=\"polygon\" [style.--map-legend-option-color]=\"opt.color\">\n <svg viewBox=\"0 0 20 20\">\n <polygon points=\"10,1 1,19 19,19\" />\n </svg>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n </div>\n }\n }\n</div>\n\n<span class=\"ndw-paragraph-md option-label\">\n {{ opt.label }}\n</span>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MapLegendOptionGroup } from '../map-legend.model';\nimport { MapLegendOptionComponent } from '../map-legend-option/map-legend-option.component';\n\n@Component({\n selector: 'ndw-map-legend-group',\n templateUrl: './map-legend-group.component.html',\n styleUrls: ['./map-legend-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MapLegendOptionComponent],\n host: {\n role: 'listitem',\n },\n})\nexport class MapLegendGroupComponent {\n readonly group = input.required<MapLegendOptionGroup>();\n readonly singleGroup = input<boolean>(false);\n readonly index = input<number>(0);\n}\n","@if (group().label) {\n <h4\n class=\"ndw-paragraph-bold-md group-title\"\n [class.sr-only]=\"singleGroup()\"\n [class.group-title--first]=\"index() === 0\"\n >\n {{ group().label }}\n </h4>\n}\n<ul>\n @for (option of group().options; let i = $index; track i) {\n <ndw-map-legend-option [option]=\"option\" />\n }\n</ul>\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n signal,\n} from '@angular/core';\nimport { MapLegendOptionGroup, MapLegendViewMode } from './map-legend.model';\nimport { IconComponent } from '../icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MapLegendGroupComponent } from './map-legend-group/map-legend-group.component';\n\n@Component({\n selector: 'ndw-map-legend',\n templateUrl: './map-legend.component.html',\n styleUrls: ['./map-legend.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, NgTemplateOutlet, OverlayModule, MapLegendGroupComponent],\n})\nexport class MapLegendComponent {\n readonly groups = input.required<MapLegendOptionGroup[]>();\n readonly icon = input<string>('legend_toggle');\n readonly title = input<string>('Legenda');\n readonly viewMode = input<MapLegendViewMode>('dropdown');\n\n readonly open = model<boolean>(false);\n readonly htmlIsRendered = signal(false);\n\n readonly showPopover = computed(() => this.open() && this.htmlIsRendered());\n readonly isDropdownViewMode = computed(() => this.viewMode() === 'dropdown');\n readonly isFixedViewMode = computed(() => this.viewMode() === 'fixed');\n readonly hasJustOneGroup = computed(() => this.groups().length === 1);\n\n constructor() {\n afterNextRender(() => this.htmlIsRendered.set(true));\n }\n}\n","@if (isDropdownViewMode()) {\n <button\n class=\"map-control\"\n [class.active]=\"open()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"open.set(!open())\"\n >\n <ndw-icon>{{ icon() }}</ndw-icon>\n <span class=\"content-wrapper\">\n {{ title() }}\n </span>\n <ndw-icon class=\"map-control__chevron\">keyboard_arrow_down</ndw-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"showPopover()\"\n (detach)=\"open.set(false)\"\n >\n <ng-container *ngTemplateOutlet=\"dropdown\" />\n </ng-template>\n} @else {\n <ng-container *ngTemplateOutlet=\"dropdown\" />\n}\n\n<ng-template #dropdown>\n <div class=\"map-control-dropdown\" [class.fixed]=\"isFixedViewMode()\">\n <header>\n <h3 class=\"ndw-paragraph-bold-lg\">{{ title() }}</h3>\n\n @if (isDropdownViewMode()) {\n <button\n class=\"map-control-dropdown__close\"\n ndwButton\n tertiary\n type=\"button\"\n (click)=\"open.set(false)\"\n >\n <ndw-icon>close</ndw-icon>\n <span class=\"sr-only\">Sluit {{ title() }}</span>\n </button>\n }\n </header>\n\n <div class=\"map-control-dropdown__content\">\n @if (hasJustOneGroup()) {\n <ndw-map-legend-group [group]=\"groups()[0]\" [singleGroup]=\"true\" />\n } @else {\n <ul class=\"groups\">\n @for (group of groups(); let i = $index; track i) {\n @if (!!group.options.length) {\n <ndw-map-legend-group [group]=\"group\" [index]=\"i\" />\n }\n }\n </ul>\n }\n </div>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-modal-content',\n styleUrl: '../../card/card-content/card-content.component.scss',\n templateUrl: './modal-content.component.html',\n})\nexport class ModalContentComponent {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ndw-modal-footer',\n styleUrl: '../../card/card-footer/card-footer.component.scss',\n templateUrl: './modal-footer.component.html',\n})\nexport class ModalFooterComponent {}\n","<ng-content />\n","import { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { ModalRef } from './modal-ref';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService extends Dialog {\n #modalRef!: ModalRef<unknown, unknown>;\n\n public backdropClick$?: Observable<MouseEvent>;\n public closed$?: Observable<unknown | undefined>;\n\n public close(): void {\n this.#modalRef?.close();\n }\n\n public override open(\n componentOrTemplateRef: ComponentType<unknown> | TemplateRef<unknown>,\n config?: DialogConfig<unknown, ModalRef<unknown, unknown>>,\n ): ModalRef<unknown, unknown> {\n const modalRef = super.open(componentOrTemplateRef, config);\n this.setModalRef(modalRef);\n\n return this.#modalRef;\n }\n\n public getModalRef(): ModalRef<unknown, unknown> {\n return this.#modalRef;\n }\n\n public setModalRef(modalRef: ModalRef<unknown, unknown>): void {\n this.#modalRef = modalRef;\n this.backdropClick$ = this.#modalRef.backdropClick;\n this.closed$ = this.#modalRef.closed;\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { ModalService } from '../modal.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ButtonDirective, IconComponent],\n selector: 'ndw-modal-header',\n styleUrls: ['../../card/card-header/card-header.component.scss', './modal-header.component.scss'],\n templateUrl: './modal-header.component.html',\n})\nexport class ModalHeaderComponent {\n readonly #modalService = inject(ModalService);\n\n public detachModal(): void {\n this.#modalService?.close();\n }\n}\n","<ng-content />\n<button\n ndwButton\n tertiary\n extra-small\n ariaLabel=\"Close\"\n data-testid=\"close-button\"\n (click)=\"detachModal()\"\n>\n <ndw-icon>close</ndw-icon>\n</button>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type ModalSize = 'sm' | 'md';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.modal-size-md]': 'size() === \"md\"',\n '[class.modal-size-sm]': 'size() === \"sm\"',\n },\n selector: 'ndw-modal',\n styleUrls: ['../card/card.component.scss', './modal.component.scss'],\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent {\n public size = input<ModalSize>('sm');\n}\n","<ng-content />\n","import { ModalContentComponent } from './modal-content';\nimport { ModalFooterComponent } from './modal-footer';\nimport { ModalHeaderComponent } from './modal-header';\nimport { ModalComponent } from './modal.component';\n\nexport * from './modal-content';\nexport * from './modal-footer';\nexport * from './modal-header';\nexport * from './modal.component';\nexport * from './modal.service';\n\nexport const MODAL_COMPONENTS = [\n ModalComponent,\n ModalHeaderComponent,\n ModalContentComponent,\n ModalFooterComponent,\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { DropdownComponent } from '../dropdown';\nimport { FormFieldComponent, InputDirective } from '../form-field';\nimport { IconComponent } from '../icon';\nimport { ListComponent } from '../list';\nimport { ListItemComponent } from '../list-item';\nimport { PopoverTriggerDirective } from '../popover';\n\nimport { CheckboxData } from './checkbox-data.interface';\nimport { SelectAllText } from './select-all-text.interface';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DropdownComponent,\n FormFieldComponent,\n InputDirective,\n IconComponent,\n ListComponent,\n ListItemComponent,\n ],\n selector: 'ndw-multi-select',\n styleUrls: ['multi-select.component.scss'],\n templateUrl: 'multi-select.component.html',\n})\nexport class MultiSelectComponent {\n public readonly dropdownTrigger = viewChild.required(PopoverTriggerDirective);\n\n public readonly buttonText = input.required<string>();\n public readonly searchLabel = input('Zoek in lijst.');\n public readonly prefixIcon = input('');\n public readonly searchPlaceholder = input('Zoek in lijst...');\n public readonly noResultText = input(\n 'Oeps, geen resultaten gevonden. Probeer een andere zoekterm.',\n );\n public readonly chevron = input(true);\n public readonly disabled = input(false);\n public readonly selectAmountHidden = input(false);\n public readonly selectAllText = input<SelectAllText>({\n deselect: 'Deselecteer alles',\n select: 'Selecteer alles',\n });\n\n public readonly dataSource = model<CheckboxData[]>([]);\n protected readonly lastCheckedElementId = model<CheckboxData['id'] | null>();\n protected readonly searchInputValue = model('');\n\n protected readonly isOpen = signal(false);\n\n protected readonly dataSourceSorted = signal<CheckboxData[]>([]);\n\n public readonly selectAmount = computed(\n () => this.dataSource().filter((checkbox: CheckboxData) => checkbox.value).length,\n );\n public readonly noSearchResults = computed(\n () =>\n this.dataSource().filter((checkbox: CheckboxData) =>\n checkbox.label.toLowerCase().includes(this.searchInputValue().toLowerCase()),\n ).length === 0,\n );\n\n public filterSearch(value: string): boolean {\n return value.toLowerCase().includes(this.searchInputValue().toLowerCase());\n }\n\n public searchInputChanged(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.searchInputValue.set(input.value);\n }\n\n public checkboxChanged(id: string | number): void {\n this.dataSource.update((checkboxes: CheckboxData[]) => {\n return checkboxes?.map((checkbox: CheckboxData) =>\n checkbox.id === id ? { ...checkbox, value: !checkbox.value } : checkbox,\n );\n });\n }\n\n public toggleSelectAll(selectAll = true): void {\n this.dataSource.update((checkboxes: CheckboxData[]) => {\n return checkboxes.map((checkbox: CheckboxData) => ({\n ...checkbox,\n value: selectAll,\n }));\n });\n\n this.sortDataSource();\n }\n\n public isOpenChanged(isOpen: boolean): void {\n this.isOpen.set(isOpen);\n if (isOpen) {\n this.searchInputValue.set('');\n this.determineLastCheckedElement();\n this.sortDataSource();\n }\n }\n\n private determineLastCheckedElement(): void {\n if (this.dataSource().some((checkbox) => !checkbox.value)) {\n const sourceList = [...this.dataSource()];\n const lastChecked = sourceList.reverse().find((checkbox) => checkbox.value);\n this.lastCheckedElementId.set(lastChecked ? lastChecked.id : null);\n } else {\n this.lastCheckedElementId.set(null);\n }\n }\n\n private sortDataSource(): void {\n this.dataSourceSorted.set(\n this.dataSource()\n .slice()\n .sort((a, b) => Number(b.value) - Number(a.value)),\n );\n }\n}\n","<ndw-dropdown\n prefixIcon=\"filter_alt\"\n [selectAmount]=\"selectAmountHidden() ? 0 : selectAmount()\"\n (tagClicked)=\"toggleSelectAll(false)\"\n (isOpenChange)=\"isOpenChanged($event)\"\n [buttonText]=\"buttonText()\"\n [disabled]=\"disabled()\"\n [chevron]=\"chevron()\"\n [prefixIcon]=\"prefixIcon()\"\n>\n <ndw-form-field [label]=\"searchLabel()\" [hideLabel]=\"true\">\n <input\n ndwInput\n type=\"search\"\n [value]=\"searchInputValue()\"\n (input)=\"searchInputChanged($event)\"\n [placeholder]=\"searchPlaceholder()\"\n />\n </ndw-form-field>\n @if (noSearchResults()) {\n <div class=\"no-search-results\">\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\n {{ noResultText() }}\n </div>\n } @else {\n <ndw-list class=\"multi-select-container\">\n @for (checkbox of dataSourceSorted(); track checkbox.id) {\n @if (filterSearch(checkbox.label)) {\n <ndw-list-item\n [class.last-checked]=\"lastCheckedElementId() === checkbox.id\"\n [checkable]=\"true\"\n [checked]=\"checkbox.value\"\n [prefixIcon]=\"checkbox.icon\"\n [subtitle]=\"checkbox.label\"\n (checkedChange)=\"checkboxChanged(checkbox.id)\"\n >\n @if (checkbox.image && isOpen()) {\n <img [src]=\"checkbox.image.src\" [alt]=\"checkbox.image.alt\" />\n }\n </ndw-list-item>\n }\n }\n </ndw-list>\n }\n <div class=\"ndw-dialog-footer\">\n @if (selectAmount() === dataSource().length) {\n <button ndwLink (click)=\"toggleSelectAll(false)\">\n {{ selectAllText().deselect }}\n </button>\n } @else {\n <button ndwLink (click)=\"toggleSelectAll(true)\">\n {{ selectAllText().select }}\n </button>\n }\n <div class=\"ndw-dialog-footer-total\" aria-live=\"polite\">\n Geselecteerd: <strong>{{ selectAmount() }}</strong>\n </div>\n </div>\n</ndw-dropdown>\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CoreRouterBreadcrumbsComponent } from '@ndwnu/core';\n\nimport { BreadcrumbComponent } from '../breadcrumb';\nimport { BreadcrumbGroupComponent } from '../breadcrumb-group';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [BreadcrumbGroupComponent, BreadcrumbComponent, AsyncPipe],\n selector: 'ndw-router-breadcrumbs',\n templateUrl: './router-breadcrumbs.component.html',\n})\nexport class RouterBreadcrumbsComponent extends CoreRouterBreadcrumbsComponent {}\n","<ndw-breadcrumb-group>\n @for (breadcrumb of breadcrumbs$ | async; track breadcrumb.url) {\n <ndw-breadcrumb [link]=\"breadcrumb.url\">{{ breadcrumb.title }}</ndw-breadcrumb>\n }\n</ndw-breadcrumb-group>\n","import { CdkDrag, DragDropModule, Point } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n input,\n OnDestroy,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'ndw-splitter',\n imports: [DragDropModule],\n templateUrl: './splitter.component.html',\n styleUrl: './splitter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.disabled]': 'disabled()',\n },\n})\nexport class SplitterComponent implements AfterViewInit, OnDestroy {\n public readonly disabled = input(false);\n\n /**\n * Optional width of the first panel (in pixels) when the component is initialized.\n */\n public readonly initialPanelWidth = input<number>();\n\n /**\n * Minimum width of both panels (in pixels).\n */\n public readonly minimumPanelWidth = input<number>(0);\n\n protected readonly firstPanelWidth = signal(0);\n protected readonly secondPanelWidth = computed(() =>\n this.clampPanelWidth(this.availableWidth() - this.firstPanelWidth()),\n );\n protected readonly isDragging = signal(false);\n\n private readonly container = viewChild.required<ElementRef<HTMLElement>>('container');\n private readonly splitter = viewChild.required<ElementRef<HTMLElement>>('splitter');\n private readonly cdkDrag = viewChild.required(CdkDrag);\n\n private storedFirstPanelWidth = 0;\n\n /**\n * Flag to indicate if the mouse click event should be\n * ignored because the user is dragging the splitter.\n */\n private ignoreMouseClick = false;\n\n /**\n * Reactive object to store the dimensions of the drag elements.\n * Updated by a resize observer on the container.\n */\n private readonly dragElementDimensions = signal({\n containerWidth: 0,\n containerLeft: 0,\n splitterWidth: 0,\n });\n\n private readonly resizeObserver = new ResizeObserver(() => {\n const container = this.container().nativeElement.getBoundingClientRect();\n const splitter = this.splitter().nativeElement.getBoundingClientRect();\n\n this.dragElementDimensions.set({\n containerWidth: Math.round(container.width),\n containerLeft: Math.round(container.left),\n splitterWidth: Math.round(splitter.width),\n });\n });\n\n /**\n * Available width for the panels, without considering the `minimumPanelWidth` input.\n */\n private readonly availableWidth = computed(() => {\n const { containerWidth, splitterWidth } = this.dragElementDimensions();\n return containerWidth - splitterWidth;\n });\n\n /**\n * Position of the drag handle when the component is initialized.\n * The drag position is always relative to this starting position.\n */\n private readonly dragStartPosition = computed(() => this.availableWidth() / 2);\n\n /**\n * Minimum panel width that is safe to use, considering the\n * available container width and the `minimumPanelWidth` input.\n */\n protected readonly safeMinPanelWidth = computed(() =>\n clamp(this.minimumPanelWidth(), 0, this.availableWidth()),\n );\n\n /**\n * Maximum panel width that is safe to use, considering the\n * available container width and the `minimumPanelWidth\n */\n protected readonly safeMaxPanelWidth = computed(() =>\n clamp(\n this.availableWidth() - this.safeMinPanelWidth(),\n this.safeMinPanelWidth(),\n this.availableWidth(),\n ),\n );\n\n constructor() {\n // Update panel width and drag position when the minimum panel or container width change\n effect(() => {\n const minimumPanelWidth = this.minimumPanelWidth();\n const containerWidth = this.dragElementDimensions().containerWidth;\n\n if (minimumPanelWidth === 0 && containerWidth === 0) {\n return;\n }\n\n untracked(() => {\n this.setFirstPanelWidth();\n this.setDragPosition(this.firstPanelWidth());\n });\n });\n }\n\n public ngAfterViewInit() {\n this.resizeObserver.observe(this.container().nativeElement);\n }\n\n public ngOnDestroy() {\n this.resizeObserver.unobserve(this.container().nativeElement);\n this.resizeObserver.disconnect();\n }\n\n protected constrainPosition = (userPointerPosition: Point) => {\n const { containerLeft } = this.dragElementDimensions();\n\n return {\n x: clamp(\n userPointerPosition.x,\n this.safeMinPanelWidth() + containerLeft,\n this.safeMaxPanelWidth() + containerLeft,\n ),\n y: 0,\n };\n };\n\n protected onDragStarted() {\n this.storeFirstPanelWidth();\n this.isDragging.set(true);\n }\n\n protected onDragEnded() {\n this.isDragging.set(false);\n }\n\n protected onDragMoved() {\n this.setFirstPanelWidth();\n this.ignoreMouseClick = true;\n }\n\n protected onSplitterMouseDown() {\n this.ignoreMouseClick = false;\n }\n\n protected onSplitterMouseUp() {\n if (this.ignoreMouseClick) {\n return;\n }\n\n const drag = this.cdkDrag();\n\n if (\n this.firstPanelWidth() <= this.safeMinPanelWidth() ||\n this.secondPanelWidth() <= this.safeMinPanelWidth()\n ) {\n // Return to initial panel widths\n const x = drag.getFreeDragPosition().x + this.storedFirstPanelWidth - this.firstPanelWidth();\n drag.setFreeDragPosition({ x, y: 0 });\n } else if (this.firstPanelWidth() < this.secondPanelWidth()) {\n // Store current left panel width so we can restore it later\n this.storeFirstPanelWidth();\n\n // Maximize right panel\n const x = drag.getFreeDragPosition().x - (this.safeMaxPanelWidth() - this.secondPanelWidth());\n drag.setFreeDragPosition({ x, y: 0 });\n } else {\n // Store current left panel width so we can restore it later\n this.storeFirstPanelWidth();\n\n // Maximize left panel\n const x = drag.getFreeDragPosition().x + (this.safeMaxPanelWidth() - this.firstPanelWidth());\n drag.setFreeDragPosition({ x, y: 0 });\n }\n\n this.setFirstPanelWidth();\n }\n\n protected setDragPosition(position: number) {\n const { containerWidth, splitterWidth } = this.dragElementDimensions();\n const halfContainerWidth = containerWidth / 2;\n const halfSplitterWidth = splitterWidth / 2;\n const distance = position - halfContainerWidth + halfSplitterWidth;\n\n this.cdkDrag().setFreeDragPosition({ x: distance, y: 0 });\n }\n\n protected storeFirstPanelWidth() {\n this.storedFirstPanelWidth = this.clampPanelWidth(\n this.dragStartPosition() + this.cdkDrag().getFreeDragPosition().x,\n );\n }\n\n private setFirstPanelWidth() {\n this.firstPanelWidth.set(\n this.clampPanelWidth(this.dragStartPosition() + this.cdkDrag().getFreeDragPosition().x),\n );\n }\n\n private clampPanelWidth(width: number) {\n return clamp(width, this.safeMinPanelWidth(), this.safeMaxPanelWidth());\n }\n}\n\nfunction clamp(width: number, min: number, max: number) {\n return Math.round(Math.min(Math.max(width, min), max));\n}\n","<div #container class=\"panels\" [class.dragging]=\"isDragging()\">\n <div class=\"panel\" [style.width]=\"firstPanelWidth() + 'px'\">\n <ng-content select=\"[first-panel]\"></ng-content>\n </div>\n <div\n #splitter\n class=\"splitter\"\n role=\"separator\"\n aria-orientation=\"vertical\"\n [attr.aria-valuenow]=\"firstPanelWidth()\"\n [attr.aria-valuemin]=\"safeMinPanelWidth()\"\n [attr.aria-valuemax]=\"safeMaxPanelWidth()\"\n cdkDrag\n cdkDragLockAxis=\"x\"\n [class.disabled]=\"disabled()\"\n [cdkDragBoundary]=\"container\"\n (cdkDragStarted)=\"onDragStarted()\"\n (cdkDragMoved)=\"onDragMoved()\"\n (cdkDragEnded)=\"onDragEnded()\"\n (mousedown)=\"onSplitterMouseDown()\"\n (mouseup)=\"onSplitterMouseUp()\"\n [cdkDragConstrainPosition]=\"constrainPosition\"\n >\n <svg viewBox=\"0 0 4 28\" xmlns=\"http://www.w3.org/2000/svg\" role=\"presentation\">\n @for (i of [0, 1, 2]; track i) {\n <circle cx=\"2\" [attr.cy]=\"2 + i * 12\" r=\"2\" fill=\"currentColor\" />\n }\n </svg>\n </div>\n <div class=\"panel\" [style.width]=\"secondPanelWidth() + 'px'\">\n <ng-content select=\"[second-panel]\"></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-summary-card',\n templateUrl: './summary-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-summary-card',\n },\n})\nexport class SummaryCardComponent {}\n","<div class=\"ndw-summary-card__wrapper\">\n <ng-content select=\"ndw-avatar\" />\n <div class=\"ndw-summary-card__content\">\n <ng-content select=\"ndw-summary-card-header\" />\n <ng-content select=\"ndw-summary-card-content\" />\n <ng-content select=\"ndw-summary-card-tags\" />\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-summary-card-action',\n imports: [IconComponent, ButtonDirective],\n templateUrl: './summary-card-action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem',\n class: 'ndw-summary-card-action',\n },\n})\nexport class SummaryCardActionComponent {\n public readonly iconName = input.required<string>();\n public readonly label = input.required<string>();\n public readonly disabled = input<boolean>();\n\n public readonly action = output<void>();\n\n public readonly template = viewChild.required<TemplateRef<Element>>(TemplateRef);\n}\n","<ng-template>\n <button\n ndwButton\n type=\"button\"\n tertiary\n extra-small\n [title]=\"label()\"\n [disabled]=\"disabled()\"\n (click)=\"action.emit()\"\n >\n <span class=\"sr-only\">{{ label() }}</span>\n <ndw-icon>{{ iconName() }}</ndw-icon>\n </button>\n</ng-template>\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren, input } from '@angular/core';\n\nimport { ButtonDirective } from '../../button';\nimport { IconComponent } from '../../icon';\nimport { PopoverTriggerDirective } from '../../popover';\nimport { SummaryCardActionComponent } from '../summary-card-action/summary-card-action.component';\nimport { SummaryActionsView } from '../summary-card.model';\n\n@Component({\n selector: 'ndw-summary-card-actions',\n imports: [PopoverTriggerDirective, IconComponent, NgTemplateOutlet, NgClass, ButtonDirective],\n templateUrl: './summary-card-actions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list',\n class: 'ndw-summary-card-actions',\n '[class.ndw-summary-card-actions--auto]': 'view() === \"auto\"',\n },\n})\nexport class SummaryCardActionsComponent {\n public readonly view = input<SummaryActionsView>('auto');\n\n public readonly actions = contentChildren(SummaryCardActionComponent, {\n descendants: true,\n });\n}\n","<ng-content select=\"ndw-favorite\" />\n\n@if (view() === 'popover') {\n <ng-container *ngTemplateOutlet=\"popoverActions\"></ng-container>\n} @else if (view() === 'visible') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n <div class=\"popover-wrapper\">\n <ng-container *ngTemplateOutlet=\"popoverActions\"></ng-container>\n </div>\n <div class=\"regular-wrapper\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n\n<ng-template #popoverActions>\n <button\n ndwButton\n extra-small\n tertiary\n [ndwPopoverTrigger]=\"content\"\n [popoverPosition]=\"'nextToTriggerButton'\"\n >\n <span class=\"sr-only\">Open menu</span>\n <ndw-icon>more_horiz</ndw-icon>\n </button>\n</ng-template>\n\n<ng-template #content>\n <div\n class=\"actions\"\n [ngClass]=\"{\n 'actions--popover': view() === 'popover',\n 'actions--visible': view() === 'visible',\n 'actions--auto': view() === 'auto',\n }\"\n >\n @for (action of actions(); track action) {\n <ng-template [ngTemplateOutlet]=\"action.template()\" />\n }\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-summary-card-content',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-summary-card-content',\n },\n})\nexport class SummaryCardContentComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ndw-summary-card-header',\n },\n selector: 'ndw-summary-card-header',\n templateUrl: './summary-card-header.component.html',\n})\nexport class SummaryCardHeaderComponent {}\n","<div class=\"ndw-summary-card-header__wrapper\">\n <ng-content select=\"ndw-pill\" />\n <h3 class=\"ndw-summary-card-header__title\"><ng-content /></h3>\n <ng-content select=\"ndw-summary-card-subtitle\" />\n</div>\n\n<ng-content select=\"ndw-summary-card-actions\" />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-summary-card-tags',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list',\n class: 'ndw-summary-card-tags',\n },\n})\nexport class SummaryCardTagsComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-summary-card-tag',\n template: '<ng-content />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem',\n class: 'ndw-summary-card-tag',\n },\n})\nexport class SummaryCardTagComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-summary-card-subtitle',\n templateUrl: './summary-card-subtitle.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SummaryCardSubtitleComponent {}\n","<div class=\"ndw-summary-card-subtitle\">\n <ng-content select=\"ndw-icon\" />\n\n <div class=\"ndw-summary-card-subtitle__text\">\n <ng-content />\n </div>\n</div>\n","import {\n Component,\n forwardRef,\n OnInit,\n input,\n model,\n output,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconComponent } from '../icon/icon.component';\nimport { SwitcherOption } from './';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'ndw-switcher',\n imports: [IconComponent, CommonModule],\n templateUrl: './switcher.component.html',\n styleUrls: ['./switcher.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitcherComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n '[class.disabled]': 'disabled()',\n '[class.vertical]': 'vertical()',\n },\n})\nexport class SwitcherComponent implements ControlValueAccessor, OnInit {\n readonly options = input<SwitcherOption[]>([]);\n readonly selectedValue = model<string | undefined>(undefined);\n readonly disabled = model(false);\n readonly vertical = input(false);\n\n readonly selectionChange = output<string>();\n\n sliderHeight = '';\n sliderWidth = '';\n sliderPosition = '';\n\n private onChange = (_value: string) => {\n // noop\n };\n private onTouched = () => {\n // noop\n };\n\n ngOnInit() {\n this.#updateSliderProperties();\n }\n\n writeValue(value: string): void {\n this.selectedValue.set(value);\n if (this.options().length > 0) {\n this.#updateSliderProperties();\n }\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n selectOption(value: string): void {\n if (this.disabled()) return;\n\n const option = this.options().find((opt) => opt.value === value);\n if (option?.disabled) return;\n\n this.selectedValue.set(value);\n this.#updateSliderProperties();\n this.onChange(value);\n this.onTouched();\n this.selectionChange.emit(value);\n }\n\n onKeyDown(event: KeyboardEvent, _currentIndex: number): void {\n const enabledOptions = this.options().filter((opt) => !opt.disabled);\n const currentEnabledIndex = enabledOptions.findIndex(\n (opt) => opt.value === this.selectedValue(),\n );\n const prevIndex = currentEnabledIndex > 0 ? currentEnabledIndex - 1 : enabledOptions.length - 1;\n const nextIndex = currentEnabledIndex < enabledOptions.length - 1 ? currentEnabledIndex + 1 : 0;\n const lastOption = enabledOptions[enabledOptions.length - 1];\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.selectOption(enabledOptions[prevIndex].value);\n this.#focusOption(this.options().indexOf(enabledOptions[prevIndex]));\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.selectOption(enabledOptions[nextIndex].value);\n this.#focusOption(this.options().indexOf(enabledOptions[nextIndex]));\n break;\n\n case 'Home':\n event.preventDefault();\n this.selectOption(enabledOptions[0].value);\n this.#focusOption(this.options().indexOf(enabledOptions[0]));\n break;\n\n case 'End':\n event.preventDefault();\n this.selectOption(lastOption.value);\n this.#focusOption(this.options().indexOf(lastOption));\n break;\n }\n }\n\n #focusOption(index: number): void {\n const optionElement = document.getElementById(this.generateId(index));\n optionElement?.focus();\n }\n\n #updateSliderProperties(): void {\n const options = this.options();\n if (options.length === 0) return;\n\n const selectedIndex = options.findIndex((opt) => opt.value === this.selectedValue());\n\n if (selectedIndex >= 0) {\n // Use CSS calc() for precise positioning with design system variables\n // Width: (100% - total padding) divided by number of options\n this.sliderWidth = `calc((100% - var(--ndw-spacing-xs)) / ${this.vertical() ? 1 : options.length})`;\n this.sliderHeight = `calc((100% - var(--ndw-spacing-xs)) / ${this.vertical() ? options.length : 1})`;\n\n // Position: left padding + (selected index * width of each option)\n this.sliderPosition = `calc(var(--ndw-spacing-2xs) + (${selectedIndex} * calc((100% - var(--ndw-spacing-xs)) / ${options.length})))`;\n }\n }\n\n readonly #componentId = crypto.randomUUID();\n\n generateId(index: number): string {\n return `${this.#componentId}-option-${index}`;\n }\n\n get componentName(): string {\n return `switcher-${this.#componentId}`;\n }\n}\n","<div\n class=\"switch-slider\"\n [style.width]=\"sliderWidth\"\n [style.height]=\"sliderHeight\"\n [style.left]=\"vertical() ? null : sliderPosition\"\n [style.top]=\"vertical() ? sliderPosition : null\"\n [attr.aria-hidden]=\"true\"\n></div>\n\n@for (option of options(); track option.value; let i = $index) {\n <label\n class=\"switch-option\"\n [class.active]=\"selectedValue() === option.value\"\n [class.disabled]=\"option.disabled || disabled()\"\n [attr.for]=\"generateId(i)\"\n >\n <input\n type=\"radio\"\n [id]=\"generateId(i)\"\n [name]=\"componentName\"\n [value]=\"option.value\"\n [checked]=\"selectedValue() === option.value\"\n [disabled]=\"option.disabled || disabled()\"\n (change)=\"selectOption(option.value)\"\n (keydown)=\"onKeyDown($event, i)\"\n [attr.aria-describedby]=\"option.disabled ? generateId(i) + '-disabled' : null\"\n class=\"switch-radio\"\n />\n @if (option.icon) {\n <ndw-icon>{{ option.icon }}</ndw-icon>\n }\n <div class=\"switch-label\">{{ option.label }}</div>\n\n @if (option.disabled) {\n <span [id]=\"generateId(i) + '-disabled'\" class=\"sr-only\"> (disabled) </span>\n }\n </label>\n}\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnInit,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'ndw-tab',\n styleUrl: './tab.component.scss',\n templateUrl: './tab.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabComponent implements OnInit {\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _elementRef = inject(ElementRef);\n\n // Portal that will be the hosted content of the tab\n private _content: TemplatePortal | null = null;\n // Content inside the tab\n private readonly _contentTemplate = viewChild.required<TemplateRef<unknown>>('content');\n\n get content(): TemplatePortal | null {\n return this._content;\n }\n\n title = input.required<string>();\n disabled = input(false);\n hasError = input(false);\n active = false;\n id = input<string | number>(crypto.randomUUID());\n\n ngOnInit(): void {\n this._content = new TemplatePortal(this._contentTemplate(), this._viewContainerRef);\n }\n\n getNativeElement(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n}\n","<!-- Create a template for the content of the <ndw-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template #content><ng-content></ng-content></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n afterNextRender,\n Injector,\n DestroyRef,\n inject,\n OnDestroy,\n} from '@angular/core';\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { NgClass } from '@angular/common';\nimport { BadgeComponent } from '../badge';\nimport { TabComponent } from '../tab';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { IconComponent } from '../icon';\nimport { ButtonDirective } from '../button';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'ndw-tab-group',\n styleUrl: './tab-group.component.scss',\n templateUrl: './tab-group.component.html',\n imports: [CdkPortalOutlet, NgClass, BadgeComponent, ButtonDirective, IconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabGroupComponent implements OnDestroy {\n private readonly _injector = inject(Injector);\n private readonly _destroyRef = inject(DestroyRef);\n\n private readonly _tabs = contentChildren(TabComponent);\n private readonly _tabButtons = viewChildren<ElementRef>('tabButton');\n private readonly _tabGroupContainer = viewChild<ElementRef>('tabGroupContainer');\n\n hasPadding = input(false);\n activeTabId = model<string | number>();\n inlinePadding = input(0);\n\n // Scroll state signals\n private readonly _scrollLeft = signal(0);\n private readonly _scrollWidth = signal(0);\n private readonly _clientWidth = signal(0);\n\n tabs = computed(() =>\n this._tabs().map((tab) => {\n tab.active = tab.id() === this.activeTabId();\n return tab;\n }),\n );\n\n canScrollLeft = computed(() => this._scrollLeft() > 0);\n canScrollRight = computed(\n () => this._scrollLeft() < this._scrollWidth() - this._clientWidth() - 1,\n );\n\n private _resizeObserver?: ResizeObserver;\n\n constructor() {\n effect(() => {\n const tabs = this._tabs();\n const activeTab = this.activeTabId();\n if (activeTab === undefined && tabs.length) {\n const firstEnabledTab = tabs.find((tab) => !tab.disabled());\n if (firstEnabledTab) {\n this.activeTabId.set(firstEnabledTab.id());\n }\n }\n });\n effect(() => {\n const id = this.activeTabId();\n const tabs = this._tabs();\n\n tabs.forEach((tab) => {\n tab.active = tab.id() === id;\n });\n });\n\n // Setup scroll detection after render\n afterNextRender(\n () => {\n this._setupScrollDetection();\n },\n { injector: this._injector },\n );\n }\n\n ngOnDestroy(): void {\n this._resizeObserver?.disconnect();\n }\n\n private _setupScrollDetection(): void {\n const container = this._tabGroupContainer()?.nativeElement;\n if (!container) return;\n\n this._updateScrollState(container);\n\n // Listen to scroll events\n fromEvent(container, 'scroll')\n .pipe(takeUntilDestroyed(this._destroyRef), debounceTime(50))\n .subscribe(() => {\n this._updateScrollState(container);\n });\n\n // Observe resize\n this._resizeObserver = new ResizeObserver(() => {\n this._updateScrollState(container);\n });\n this._resizeObserver.observe(container);\n }\n\n private _updateScrollState(container: HTMLElement): void {\n this._scrollLeft.set(container.scrollLeft);\n this._scrollWidth.set(container.scrollWidth);\n this._clientWidth.set(container.clientWidth);\n }\n\n scrollTo(direction: 'left' | 'right'): void {\n const container = this._tabGroupContainer()?.nativeElement;\n if (!container) return;\n\n const scrollAmount = 200; // Fixed scroll amount in pixels\n const newScrollLeft =\n direction === 'left'\n ? container.scrollLeft - scrollAmount\n : container.scrollLeft + scrollAmount;\n\n container.scrollTo({\n left: newScrollLeft,\n behavior: 'smooth',\n });\n }\n\n selectTab(index: number) {\n this.activeTabId.set(this._tabs()?.[index].id());\n const tabButtons = this._tabButtons();\n if (tabButtons[index]?.nativeElement) {\n tabButtons[index]?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n const tabCount = this.tabs().length;\n const currentIndex = this._tabs().findIndex((tab) => tab.id() === this.activeTabId());\n\n switch (event.key) {\n case 'ArrowRight':\n this.selectTab(this.getNextEnabledIndex(tabCount, currentIndex, 1));\n break;\n case 'ArrowLeft':\n this.selectTab(this.getNextEnabledIndex(tabCount, currentIndex, -1));\n break;\n case 'Home':\n event.preventDefault();\n this.selectTab(this.getFirstEnabledIndex(tabCount));\n break;\n case 'End':\n event.preventDefault();\n this.selectTab(this.getLastEnabledIndex(tabCount));\n break;\n }\n }\n\n private getNextEnabledIndex(tabCount: number, start: number, step: number): number {\n for (let offset = 1; offset < tabCount; offset++) {\n const i = (start + step * offset + tabCount) % tabCount;\n if (!this.tabs()[i].disabled()) return i;\n }\n return start;\n }\n\n private getFirstEnabledIndex(tabCount: number): number {\n for (let i = 0; i < tabCount; i++) {\n if (!this.tabs()[i].disabled()) return i;\n }\n return 0;\n }\n\n private getLastEnabledIndex(tabCount: number): number {\n for (let i = tabCount - 1; i >= 0; i--) {\n if (!this.tabs()[i].disabled()) return i;\n }\n return tabCount - 1;\n }\n}\n","<div class=\"tab-group-wrapper\">\n @if (canScrollLeft()) {\n <button\n ndwButton\n secondary\n alternative\n extra-small\n class=\"scroll-arrow scroll-arrow-left\"\n type=\"button\"\n aria-label=\"Scroll naar links\"\n tabindex=\"-1\"\n (click)=\"scrollTo('left')\"\n >\n <ndw-icon>chevron_left</ndw-icon>\n </button>\n }\n\n <div #tabGroupContainer class=\"tab-group\" role=\"tablist\" [class.with-padding]=\"hasPadding()\">\n @for (tab of tabs(); track tab.id(); let i = $index) {\n <button\n #tabButton\n class=\"tab-button\"\n role=\"tab\"\n type=\"button\"\n [attr.active]=\"tab.active ? true : undefined\"\n [attr.aria-controls]=\"'tab-panel-' + tab.id\"\n [attr.aria-selected]=\"tab.active\"\n [disabled]=\"tab.disabled() ? true : null\"\n [id]=\"'tab-' + tab.id\"\n [tabindex]=\"tab.active ? 0 : -1\"\n (click)=\"selectTab(i)\"\n (keydown)=\"onKeyDown($event)\"\n >\n {{ tab.title() }}\n @if (tab.hasError()) {\n <ndw-badge [size]=\"'small'\" [variant]=\"'error'\" />\n }\n </button>\n }\n </div>\n\n @if (canScrollRight()) {\n <button\n ndwButton\n secondary\n alternative\n extra-small\n class=\"scroll-arrow scroll-arrow-right\"\n type=\"button\"\n aria-label=\"Scroll naar rechts\"\n tabindex=\"-1\"\n (click)=\"scrollTo('right')\"\n >\n <ndw-icon>chevron_right</ndw-icon>\n </button>\n }\n</div>\n@for (tab of tabs(); track tab.id(); let i = $index) {\n <div\n class=\"tab-content\"\n [ngClass]=\"{ 'is-hidden': !tab.active }\"\n [id]=\"'tab-panel-' + tab.id\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + tab.id\"\n [tabindex]=\"0\"\n >\n <ng-template [cdkPortalOutlet]=\"tab.content\"></ng-template>\n </div>\n}\n","import type { ThemeDefaultParams } from 'ag-grid-community';\n\nexport const ndwAgGridTheme: Partial<ThemeDefaultParams> = {\n accentColor: 'var(--ndw-color-info-500)',\n oddRowBackgroundColor: 'var(--ndw-color-grey-50)',\n backgroundColor: 'var(--ndw-color-white)',\n borderRadius: 'var(--ndw-border-radius-md)',\n cellFontFamily: 'var(--ndw-font-family-body)',\n fontFamily: 'inherit',\n fontSize: 'var(--ndw-font-size-sm)',\n headerBackgroundColor: 'var(--ndw-color-white)',\n headerFontFamily: 'var(--ndw-font-family-body)',\n headerFontSize: 'var(--ndw-font-size-xs)',\n headerFontWeight: 'var(--ndw-font-weight-bold)',\n headerRowBorder: {\n color: 'var(--ndw-color-grey-200)',\n style: 'solid',\n width: 'var(--ndw-border-size-md)',\n },\n headerTextColor: 'var(--ndw-color-text)',\n textColor: 'var(--ndw-color-text)',\n wrapperBorder: false,\n};\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n output,\n} from '@angular/core';\n\nimport { NgStyle } from '@angular/common';\nimport { IconComponent } from '../icon';\n\nexport interface ToastDimensions {\n width: number;\n height: number;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent, NgStyle],\n selector: 'ndw-toast',\n styleUrl: './toast.component.scss',\n templateUrl: './toast.component.html',\n})\nexport class ToastComponent implements AfterViewInit {\n message = input.required<string>();\n closeButtonLabel = input('Sluit');\n id = input<string>();\n duration = input(5000);\n paused = input(false);\n showProgress = input(true);\n\n closed = output();\n elementDimensions = output<ToastDimensions>();\n\n #elementRef = inject(ElementRef);\n\n ngAfterViewInit(): void {\n this.elementDimensions.emit({\n width: this.#elementRef.nativeElement.offsetWidth,\n height: this.#elementRef.nativeElement.offsetHeight,\n });\n }\n}\n","<ndw-icon>info</ndw-icon>\n{{ message() }}\n<button\n ndwButton\n tertiary\n alternative\n extra-small\n (click)=\"closed.emit()\"\n [attr.aria-label]=\"closeButtonLabel()\"\n>\n <ndw-icon>close</ndw-icon>\n</button>\n<div\n class=\"progress-bar\"\n [ngStyle]=\"{\n 'animation-duration': duration() + 'ms',\n visibility: showProgress() ? 'visible' : 'hidden',\n }\"\n [class.paused]=\"paused()\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n signal,\n viewChildren,\n} from '@angular/core';\n\nimport { NgStyle } from '@angular/common';\nimport { ToastComponent, ToastDimensions } from '../toast.component';\nimport { ToastService } from '../toast.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(mouseenter)': 'pause()',\n '(mouseleave)': 'resume()',\n '[style.--total-toast-height]': 'totalHeightExcludingGaps() + \"px\"',\n '[style.--total-toast-count]': 'toastComponents().length',\n '[style.--max-toast-width]': 'maxToastWidth() + \"px\"',\n },\n imports: [ToastComponent, NgStyle],\n selector: 'ndw-toast-list',\n styleUrl: './toast-list.component.scss',\n templateUrl: './toast-list.component.html',\n})\nexport class ToastListComponent {\n protected readonly toastService = inject(ToastService);\n protected readonly toastComponents = viewChildren(ToastComponent);\n protected readonly toastDimensions = signal(new Map<string, ToastDimensions>());\n\n protected readonly toastOffsetHeights = computed(() => {\n const dimensions = this.toastDimensions();\n const components = this.toastComponents();\n\n return components\n .map((component) => component.id())\n .filter((id) => id !== null && id !== undefined)\n .reduce(\n (acc, id) => {\n const height = dimensions.get(id)?.height ?? 0;\n return [...acc, acc[acc.length - 1] + height];\n },\n [0],\n );\n });\n\n protected readonly firstToastHeight = computed(() => {\n const firstComponent = this.toastComponents()?.[0];\n const firstId = firstComponent?.id();\n const dimensions = this.toastDimensions();\n\n if (firstId === null || firstId === undefined) {\n return 0;\n }\n\n return dimensions.get(firstId)?.height ?? 0;\n });\n\n protected readonly totalHeightExcludingGaps = computed(() => {\n const heights = this.toastOffsetHeights();\n return heights.length > 0 ? heights[heights.length - 1] : 0;\n });\n\n protected readonly maxToastWidth = computed(() => {\n const dimensions = this.toastDimensions();\n const components = this.toastComponents();\n\n return components\n .map((component) => component.id())\n .filter((id) => id !== null && id !== undefined)\n .reduce((max, id) => {\n const width = dimensions.get(id)?.width ?? 0;\n return Math.max(max, width);\n }, 0);\n });\n\n protected setToastDimensions(id: string, dimensions: ToastDimensions) {\n this.toastDimensions.update((heights) => {\n heights.set(id, dimensions);\n return heights;\n });\n }\n\n protected pause() {\n this.toastService.pause();\n }\n\n protected resume() {\n this.toastService.resume();\n }\n}\n","@for (toast of toastService.toasts(); track toast.id) {\n <ndw-toast\n class=\"toast\"\n [class.hide-content]=\"!toastService.paused() && $index > 0\"\n [ngStyle]=\"{\n '--index': $index,\n '--offset-height': toastOffsetHeights()[$index] + 'px',\n '--first-toast-height': firstToastHeight() + 'px',\n }\"\n [id]=\"toast.id\"\n [closeButtonLabel]=\"toast.closeButtonLabel ?? 'Sluit'\"\n [message]=\"toast.message\"\n [duration]=\"toast.duration\"\n [paused]=\"toastService.paused()\"\n [showProgress]=\"toastService.paused() || $first\"\n (closed)=\"toastService.close(toast.id)\"\n (elementDimensions)=\"setToastDimensions(toast.id, $event)\"\n ></ndw-toast>\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, Signal, signal } from '@angular/core';\nimport {\n BehaviorSubject,\n filter,\n interval,\n map,\n pairwise,\n skipWhile,\n startWith,\n switchMap,\n takeWhile,\n tap,\n} from 'rxjs';\n\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ToastListComponent } from './toast-list/toast-list.component';\n\ntype ToastId = string;\n\ninterface ToastData {\n id: ToastId;\n message: string;\n duration: number;\n remainingTime: number;\n closeButtonLabel?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n readonly #maxToasts = 3;\n readonly #toasts = signal<ToastData[]>([]);\n readonly #overlay = inject(Overlay);\n\n readonly #paused$ = new BehaviorSubject(false);\n readonly #active$ = new BehaviorSubject(false);\n\n #overlayRef?: OverlayRef;\n paused = toSignal(this.#paused$, { initialValue: false });\n\n get toasts(): Signal<ToastData[]> {\n return this.#toasts;\n }\n\n constructor() {\n const getTimeElapsedWhileActiveAndNotPaused = () =>\n interval(50).pipe(\n startWith(0),\n map(() => Date.now()),\n pairwise(),\n takeWhile(() => this.#active$.getValue()),\n filter(() => !this.#paused$.getValue()),\n map(([previous, current]) => current - previous),\n );\n\n this.#active$\n .pipe(\n takeUntilDestroyed(),\n skipWhile((active) => !active),\n switchMap(() => getTimeElapsedWhileActiveAndNotPaused()),\n tap((elapsedMs) => this.#updateToastExpiration(elapsedMs)),\n )\n .subscribe();\n }\n\n /**\n * Close a toast by its ID. If no ID is provided, all toasts will be closed.\n */\n close(id?: string) {\n const isLastToast =\n this.#toasts().findIndex((toast) => toast.id === id) === this.toasts().length - 1;\n\n this.#removeToast(id);\n\n const hasRemainingToasts = this.#toasts().length > 0;\n if (!hasRemainingToasts) {\n this.#overlayRef?.detach();\n this.#active$.next(false);\n this.#paused$.next(false);\n }\n\n // When the last toast is closed, resume the timer. This prevents the timer from\n // being paused indefinitely when the last toast is closed as a result of a user\n // action (e.g., clicking the close button). Since that action will not trigger\n // the 'mouseleave' event on the toast list component,\n if (isLastToast) {\n this.#paused$.next(false);\n }\n }\n\n /**\n * Open a toast notification with the given message and optional duration.\n * @param message The message to display in the toast.\n * @param duration Optional duration in milliseconds for which the toast should be visible. Defaults to 5000ms.\n * @returns The ID of the created toast. Can be used to close the toast.\n */\n open(message: string, duration?: number, closeButtonLabel?: string): ToastId {\n const id = crypto.randomUUID();\n\n this.#addToast({\n id,\n message,\n duration: duration ?? 5000,\n remainingTime: duration ?? 5000,\n closeButtonLabel,\n });\n\n if (!this.#overlayRef) {\n this.#overlayRef = this.#overlay.create({\n scrollStrategy: this.#overlay.scrollStrategies.reposition(),\n positionStrategy: this.#overlay.position().global().top('1.5rem').centerHorizontally(),\n });\n }\n\n if (!this.#overlayRef.hasAttached()) {\n const toastListPortal = new ComponentPortal(ToastListComponent);\n this.#overlayRef.attach(toastListPortal);\n }\n\n this.#paused$.next(false);\n this.#active$.next(true);\n\n return id;\n }\n\n pause() {\n this.#paused$.next(true);\n }\n\n resume() {\n this.#paused$.next(false);\n }\n\n #removeToast(id?: ToastId) {\n this.#toasts.update((toasts) => toasts.filter((toast) => toast.id !== id));\n }\n\n #addToast(toast: ToastData) {\n this.#toasts.update((toasts) => [toast, ...toasts].slice(0, this.#maxToasts));\n }\n\n #updateToastExpiration(elapsedMs: number) {\n this.#toasts.update((toasts) =>\n toasts.map((toast) => ({ ...toast, remainingTime: toast.remainingTime - elapsedMs })),\n );\n\n this.#toasts().forEach((toast) => {\n if (toast.remainingTime <= 0) {\n this.close(toast.id);\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|