@ndwnu/design-system 5.1.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/components/alert/alert.model.d.ts +1 -6
  2. package/components/banner/banner.model.d.ts +1 -4
  3. package/components/card/card-header/card-header.component.d.ts +7 -1
  4. package/components/card/card.animation.d.ts +1 -0
  5. package/components/card/card.component.d.ts +15 -2
  6. package/components/dropdown/dropdown.component.d.ts +1 -1
  7. package/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.d.ts +3 -3
  8. package/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.d.ts +7 -7
  9. package/components/form-field/autosuggest/autosuggest-option/autosuggest-option.model.d.ts +5 -2
  10. package/components/form-field/autosuggest/autosuggest-option/base-autosuggest-option.component.d.ts +5 -6
  11. package/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.d.ts +12 -14
  12. package/components/form-field/autosuggest/autosuggest.directive.d.ts +7 -8
  13. package/components/form-field/clear-search-button/clear-search-button.component.d.ts +2 -1
  14. package/components/form-field/form-field.component.d.ts +2 -1
  15. package/components/form-field/input/input.model.d.ts +1 -11
  16. package/components/form-field/textarea/auto-grow.directive.d.ts +6 -3
  17. package/components/form-field/textarea/index.d.ts +1 -0
  18. package/components/form-field/textarea/max-char.directive.d.ts +15 -0
  19. package/components/icon/action-icon/action-icon.component.d.ts +2 -2
  20. package/components/main-navigation/main-navigation.model.d.ts +1 -4
  21. package/components/modal/modal.component.d.ts +1 -2
  22. package/components/multi-select/multi-select.component.d.ts +3 -3
  23. package/components/pill/pill.model.d.ts +1 -8
  24. package/components/router-breadcrumbs/router-breadcrumbs.component.d.ts +2 -2
  25. package/components/summary-card/summary-card-actions/summary-card-actions.component.d.ts +1 -1
  26. package/components/tag/tag.component.d.ts +2 -2
  27. package/core/style/styles.css +32 -12
  28. package/core/style/styles.scss +32 -12
  29. package/fesm2022/ndwnu-design-system.mjs +492 -380
  30. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  31. package/package.json +5 -7
  32. package/esm2022/components/accordion/accordion.component.mjs +0 -32
  33. package/esm2022/components/accordion/accordion.service.mjs +0 -17
  34. package/esm2022/components/accordion/index.mjs +0 -3
  35. package/esm2022/components/alert/alert.component.mjs +0 -42
  36. package/esm2022/components/alert/alert.model.mjs +0 -8
  37. package/esm2022/components/alert/index.mjs +0 -3
  38. package/esm2022/components/badge/badge.component.mjs +0 -21
  39. package/esm2022/components/badge/index.mjs +0 -2
  40. package/esm2022/components/banner/banner.component.mjs +0 -61
  41. package/esm2022/components/banner/banner.model.mjs +0 -6
  42. package/esm2022/components/banner/index.mjs +0 -3
  43. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -15
  44. package/esm2022/components/breadcrumb/index.mjs +0 -2
  45. package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +0 -21
  46. package/esm2022/components/breadcrumb-group/index.mjs +0 -2
  47. package/esm2022/components/button/button.directive.mjs +0 -37
  48. package/esm2022/components/button/index.mjs +0 -2
  49. package/esm2022/components/card/card-content/card-content.component.mjs +0 -11
  50. package/esm2022/components/card/card-content/index.mjs +0 -2
  51. package/esm2022/components/card/card-footer/card-footer.component.mjs +0 -11
  52. package/esm2022/components/card/card-footer/index.mjs +0 -2
  53. package/esm2022/components/card/card-header/card-header.component.mjs +0 -11
  54. package/esm2022/components/card/card-header/index.mjs +0 -2
  55. package/esm2022/components/card/card.component.mjs +0 -11
  56. package/esm2022/components/card/index.mjs +0 -15
  57. package/esm2022/components/collapsible/collapsible.animation.mjs +0 -26
  58. package/esm2022/components/collapsible/collapsible.component.mjs +0 -34
  59. package/esm2022/components/collapsible/index.mjs +0 -2
  60. package/esm2022/components/dashboard-card/dashboard-card.component.mjs +0 -32
  61. package/esm2022/components/dashboard-card/index.mjs +0 -2
  62. package/esm2022/components/dropdown/dropdown.component.mjs +0 -57
  63. package/esm2022/components/dropdown/index.mjs +0 -2
  64. package/esm2022/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.mjs +0 -29
  65. package/esm2022/components/form-field/autosuggest/autosuggest-add-option/index.mjs +0 -2
  66. package/esm2022/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.mjs +0 -45
  67. package/esm2022/components/form-field/autosuggest/autosuggest-option/autosuggest-option.model.mjs +0 -2
  68. package/esm2022/components/form-field/autosuggest/autosuggest-option/base-autosuggest-option.component.mjs +0 -85
  69. package/esm2022/components/form-field/autosuggest/autosuggest-option/index.mjs +0 -3
  70. package/esm2022/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.mjs +0 -82
  71. package/esm2022/components/form-field/autosuggest/autosuggest.directive.mjs +0 -411
  72. package/esm2022/components/form-field/autosuggest/index.mjs +0 -6
  73. package/esm2022/components/form-field/autosuggest/match-bold.pipe.mjs +0 -21
  74. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +0 -62
  75. package/esm2022/components/form-field/checkbox/index.mjs +0 -2
  76. package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +0 -15
  77. package/esm2022/components/form-field/checkbox-group/index.mjs +0 -2
  78. package/esm2022/components/form-field/clear-search-button/clear-search-button.component.mjs +0 -37
  79. package/esm2022/components/form-field/error/error.component.mjs +0 -12
  80. package/esm2022/components/form-field/error/index.mjs +0 -2
  81. package/esm2022/components/form-field/file-upload/file-upload-text.interface.mjs +0 -2
  82. package/esm2022/components/form-field/file-upload/file-upload.component.mjs +0 -172
  83. package/esm2022/components/form-field/file-upload/index.mjs +0 -3
  84. package/esm2022/components/form-field/form-field.component.mjs +0 -81
  85. package/esm2022/components/form-field/form-field.constant.mjs +0 -2
  86. package/esm2022/components/form-field/form-field.model.mjs +0 -8
  87. package/esm2022/components/form-field/index.mjs +0 -17
  88. package/esm2022/components/form-field/info/index.mjs +0 -2
  89. package/esm2022/components/form-field/info/info.component.mjs +0 -11
  90. package/esm2022/components/form-field/input/index.mjs +0 -3
  91. package/esm2022/components/form-field/input/input.directive.mjs +0 -68
  92. package/esm2022/components/form-field/input/input.model.mjs +0 -13
  93. package/esm2022/components/form-field/input-button/index.mjs +0 -2
  94. package/esm2022/components/form-field/input-button/input-button.component.mjs +0 -23
  95. package/esm2022/components/form-field/input-icon/index.mjs +0 -2
  96. package/esm2022/components/form-field/input-icon/input-icon.component.mjs +0 -12
  97. package/esm2022/components/form-field/month-input/index.mjs +0 -2
  98. package/esm2022/components/form-field/month-input/month-input-utils.mjs +0 -13
  99. package/esm2022/components/form-field/month-input/month-input.component.mjs +0 -154
  100. package/esm2022/components/form-field/option-group/index.mjs +0 -4
  101. package/esm2022/components/form-field/option-group/option-group.component.mjs +0 -64
  102. package/esm2022/components/form-field/option-group/option-group.model.mjs +0 -2
  103. package/esm2022/components/form-field/option-group/option.component.mjs +0 -22
  104. package/esm2022/components/form-field/picker-button/picker-button.component.mjs +0 -50
  105. package/esm2022/components/form-field/radio-button/index.mjs +0 -2
  106. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +0 -63
  107. package/esm2022/components/form-field/radio-group/index.mjs +0 -2
  108. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +0 -70
  109. package/esm2022/components/form-field/success/index.mjs +0 -2
  110. package/esm2022/components/form-field/success/success.component.mjs +0 -12
  111. package/esm2022/components/form-field/textarea/auto-grow.directive.mjs +0 -45
  112. package/esm2022/components/form-field/textarea/index.mjs +0 -2
  113. package/esm2022/components/icon/action-icon/action-icon.component.mjs +0 -40
  114. package/esm2022/components/icon/action-icon/index.mjs +0 -2
  115. package/esm2022/components/icon/icon.component.mjs +0 -36
  116. package/esm2022/components/icon/index.mjs +0 -3
  117. package/esm2022/components/index.mjs +0 -29
  118. package/esm2022/components/layout/index.mjs +0 -2
  119. package/esm2022/components/layout/layout.component.mjs +0 -23
  120. package/esm2022/components/layout-banners/index.mjs +0 -2
  121. package/esm2022/components/layout-banners/layout-banners.component.mjs +0 -11
  122. package/esm2022/components/loader/index.mjs +0 -2
  123. package/esm2022/components/loader/loader.component.mjs +0 -11
  124. package/esm2022/components/main-navigation/index.mjs +0 -3
  125. package/esm2022/components/main-navigation/main-navigation.component.mjs +0 -165
  126. package/esm2022/components/main-navigation/main-navigation.imports.mjs +0 -20
  127. package/esm2022/components/main-navigation/main-navigation.model.mjs +0 -6
  128. package/esm2022/components/main-navigation-menu/index.mjs +0 -2
  129. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +0 -20
  130. package/esm2022/components/modal/index.mjs +0 -16
  131. package/esm2022/components/modal/modal-content/index.mjs +0 -2
  132. package/esm2022/components/modal/modal-content/modal-content.component.mjs +0 -11
  133. package/esm2022/components/modal/modal-footer/index.mjs +0 -2
  134. package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +0 -11
  135. package/esm2022/components/modal/modal-header/index.mjs +0 -2
  136. package/esm2022/components/modal/modal-header/modal-header.component.mjs +0 -18
  137. package/esm2022/components/modal/modal-ref.mjs +0 -4
  138. package/esm2022/components/modal/modal.component.mjs +0 -19
  139. package/esm2022/components/modal/modal.service.mjs +0 -31
  140. package/esm2022/components/multi-select/checkbox-data.interface.mjs +0 -2
  141. package/esm2022/components/multi-select/index.mjs +0 -4
  142. package/esm2022/components/multi-select/multi-select.component.mjs +0 -76
  143. package/esm2022/components/multi-select/select-all-text.interface.mjs +0 -2
  144. package/esm2022/components/pill/index.mjs +0 -3
  145. package/esm2022/components/pill/pill.component.mjs +0 -26
  146. package/esm2022/components/pill/pill.model.mjs +0 -10
  147. package/esm2022/components/popover/index.mjs +0 -2
  148. package/esm2022/components/popover/popover-trigger.directive.mjs +0 -182
  149. package/esm2022/components/router-breadcrumbs/index.mjs +0 -2
  150. package/esm2022/components/router-breadcrumbs/router-breadcrumbs.component.mjs +0 -37
  151. package/esm2022/components/summary-card/index.mjs +0 -11
  152. package/esm2022/components/summary-card/summary-card-action/summary-card-action.component.mjs +0 -23
  153. package/esm2022/components/summary-card/summary-card-actions/summary-card-actions.component.mjs +0 -26
  154. package/esm2022/components/summary-card/summary-card-avatar/summary-card-avatar.component.mjs +0 -25
  155. package/esm2022/components/summary-card/summary-card-content/summary-card-content.component.mjs +0 -19
  156. package/esm2022/components/summary-card/summary-card-header/summary-card-header.component.mjs +0 -13
  157. package/esm2022/components/summary-card/summary-card-subtitle/summary-card-subtitle.component.mjs +0 -11
  158. package/esm2022/components/summary-card/summary-card-tag/summary-card-tag.component.mjs +0 -20
  159. package/esm2022/components/summary-card/summary-card-tags/summary-card-tags.component.mjs +0 -20
  160. package/esm2022/components/summary-card/summary-card.component.mjs +0 -14
  161. package/esm2022/components/summary-card/summary-card.model.mjs +0 -2
  162. package/esm2022/components/tab/index.mjs +0 -2
  163. package/esm2022/components/tab/tab.component.mjs +0 -32
  164. package/esm2022/components/tab-group/index.mjs +0 -2
  165. package/esm2022/components/tab-group/tab-group.component.mjs +0 -34
  166. package/esm2022/components/tag/index.mjs +0 -2
  167. package/esm2022/components/tag/tag.component.mjs +0 -29
  168. package/esm2022/components/toast/index.mjs +0 -3
  169. package/esm2022/components/toast/toast.component.mjs +0 -77
  170. package/esm2022/components/toast/toast.service.mjs +0 -43
  171. package/esm2022/components/tooltip/index.mjs +0 -3
  172. package/esm2022/components/tooltip/tooltip.component.mjs +0 -16
  173. package/esm2022/components/tooltip/tooltip.directive.mjs +0 -89
  174. package/esm2022/models/aria.model.mjs +0 -2
  175. package/esm2022/models/index.mjs +0 -2
  176. package/esm2022/ndwnu-design-system.mjs +0 -5
  177. package/esm2022/public-api.mjs +0 -5
@@ -1,34 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject, input, model } from '@angular/core';
2
- import { AccordionService } from '../accordion';
3
- import { BadgeComponent } from '../badge';
4
- import { IconComponent } from '../icon';
5
- import { collapsibleAnimation } from './collapsible.animation';
6
- import * as i0 from "@angular/core";
7
- export class CollapsibleComponent {
8
- constructor() {
9
- this.index = input.required();
10
- this.title = input.required();
11
- this.value = input();
12
- this.expanded = model(false);
13
- this.accordionService = inject(AccordionService);
14
- this.uuid = crypto.randomUUID();
15
- this.toggleUuid = `toggle-${this.uuid}`;
16
- this.sectionUuid = `section-${this.uuid}`;
17
- this.animationState = computed(() => (this.expanded() ? 'open' : 'closed'));
18
- }
19
- toggle() {
20
- this.expanded.set(!this.expanded());
21
- if (this.expanded()) {
22
- this.accordionService.setExpandedCollapsible(this.index());
23
- }
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", 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 }, 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: "<div class=\"collapsible\">\n <h3 class=\"collapsible__header\">\n <button\n class=\"collapsible__button\"\n type=\"button\"\n [id]=\"toggleUuid\"\n [attr.aria-controls]=\"sectionUuid\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n {{ title() }}\n\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n\n <ndw-icon>keyboard_arrow_down</ndw-icon>\n </button>\n </h3>\n\n <section\n role=\"region\"\n class=\"collapsible__section\"\n [id]=\"sectionUuid\"\n [attr.aria-labelledby]=\"toggleUuid\"\n [@collapsible]=\"animationState()\"\n >\n <ng-content />\n </section>\n</div>\n", styles: [".collapsible{display:block;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}.collapsible__header{margin:0}.collapsible__button{overflow:hidden;display:flex;gap:var(--ndw-spacing-xs);justify-content:space-between;align-items:center;padding:0;width:100%;padding-block:var(--ndw-spacing-md);border:none;font-size:var(--ndw-font-size-sm);font-family:var(--ndw-font-family-body);font-weight:var(--ndw-font-weight-bold);word-break:break-word;cursor:pointer;background-color:transparent;transition:color var(--ndw-animation-speed-fast) ease-in-out}.collapsible__button:hover{color:var(--ndw-color-primary)}.collapsible__button:focus-visible{box-shadow:var(--ndw-elevation-info);outline:none;color:var(--ndw-color-primary)}.collapsible__button ndw-icon{margin-left:auto;color:var(--ndw-color-primary);transition:transform var(--ndw-animation-speed-fast) ease-in-out;font-size:var(--ndw-spacing-lg)}.collapsible__section{display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-fast) ease-in-out}:host(.expanded) .collapsible__header ndw-icon{transform:rotate(-180deg)}:host(.expanded) .collapsible__section{display:block;margin-block:var(--ndw-spacing-sm) var(--ndw-spacing-md)}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }], animations: [collapsibleAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CollapsibleComponent, decorators: [{
29
- type: Component,
30
- args: [{ animations: [collapsibleAnimation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
31
- '[class.expanded]': 'expanded()',
32
- }, imports: [BadgeComponent, IconComponent], selector: 'ndw-collapsible', standalone: true, template: "<div class=\"collapsible\">\n <h3 class=\"collapsible__header\">\n <button\n class=\"collapsible__button\"\n type=\"button\"\n [id]=\"toggleUuid\"\n [attr.aria-controls]=\"sectionUuid\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n {{ title() }}\n\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n\n <ndw-icon>keyboard_arrow_down</ndw-icon>\n </button>\n </h3>\n\n <section\n role=\"region\"\n class=\"collapsible__section\"\n [id]=\"sectionUuid\"\n [attr.aria-labelledby]=\"toggleUuid\"\n [@collapsible]=\"animationState()\"\n >\n <ng-content />\n </section>\n</div>\n", styles: [".collapsible{display:block;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}.collapsible__header{margin:0}.collapsible__button{overflow:hidden;display:flex;gap:var(--ndw-spacing-xs);justify-content:space-between;align-items:center;padding:0;width:100%;padding-block:var(--ndw-spacing-md);border:none;font-size:var(--ndw-font-size-sm);font-family:var(--ndw-font-family-body);font-weight:var(--ndw-font-weight-bold);word-break:break-word;cursor:pointer;background-color:transparent;transition:color var(--ndw-animation-speed-fast) ease-in-out}.collapsible__button:hover{color:var(--ndw-color-primary)}.collapsible__button:focus-visible{box-shadow:var(--ndw-elevation-info);outline:none;color:var(--ndw-color-primary)}.collapsible__button ndw-icon{margin-left:auto;color:var(--ndw-color-primary);transition:transform var(--ndw-animation-speed-fast) ease-in-out;font-size:var(--ndw-spacing-lg)}.collapsible__section{display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-fast) ease-in-out}:host(.expanded) .collapsible__header ndw-icon{transform:rotate(-180deg)}:host(.expanded) .collapsible__section{display:block;margin-block:var(--ndw-spacing-sm) var(--ndw-spacing-md)}\n"] }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9jb2xsYXBzaWJsZS9jb2xsYXBzaWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWMvRCxNQUFNLE9BQU8sb0JBQW9CO0lBWmpDO1FBYVMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUV4QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQUcsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU5QyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBUy9FO0lBUFEsTUFBTTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7OEdBckJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGlxQkNwQmpDLDJyQkE4QkEsdXhDRGhCWSxjQUFjLHNGQUFFLGFBQWEseURBTDNCLENBQUMsb0JBQW9CLENBQUM7OzJGQVd2QixvQkFBb0I7a0JBWmhDLFNBQVM7aUNBQ0ksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixrQkFBa0IsRUFBRSxZQUFZO3FCQUNqQyxXQUNRLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxZQUM5QixpQkFBaUIsY0FDZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9iYWRnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IGNvbGxhcHNpYmxlQW5pbWF0aW9uIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS5hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgYW5pbWF0aW9uczogW2NvbGxhcHNpYmxlQW5pbWF0aW9uXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmV4cGFuZGVkXSc6ICdleHBhbmRlZCgpJyxcbiAgfSxcbiAgaW1wb3J0czogW0JhZGdlQ29tcG9uZW50LCBJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICduZHctY29sbGFwc2libGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vY29sbGFwc2libGUuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGFwc2libGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBpbmRleCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgcHVibGljIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdmFsdWUgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGV4cGFuZGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uU2VydmljZSA9IGluamVjdChBY2NvcmRpb25TZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHV1aWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9nZ2xlVXVpZCA9IGB0b2dnbGUtJHt0aGlzLnV1aWR9YDtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3Rpb25VdWlkID0gYHNlY3Rpb24tJHt0aGlzLnV1aWR9YDtcblxuICBwdWJsaWMgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5leHBhbmRlZCgpID8gJ29wZW4nIDogJ2Nsb3NlZCcpKTtcblxuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KCF0aGlzLmV4cGFuZGVkKCkpO1xuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWQoKSkge1xuICAgICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnNldEV4cGFuZGVkQ29sbGFwc2libGUodGhpcy5pbmRleCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2xsYXBzaWJsZVwiPlxuICA8aDMgY2xhc3M9XCJjb2xsYXBzaWJsZV9faGVhZGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjb2xsYXBzaWJsZV9fYnV0dG9uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2lkXT1cInRvZ2dsZVV1aWRcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJzZWN0aW9uVXVpZFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkKClcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICA+XG4gICAgICB7eyB0aXRsZSgpIH19XG5cbiAgICAgIEBpZiAodmFsdWUoKTsgYXMgdmFsdWUpIHtcbiAgICAgICAgPG5kdy1iYWRnZSBbdmFsdWVdPVwidmFsdWVcIiAvPlxuICAgICAgfVxuXG4gICAgICA8bmR3LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbmR3LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvaDM+XG5cbiAgPHNlY3Rpb25cbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICBjbGFzcz1cImNvbGxhcHNpYmxlX19zZWN0aW9uXCJcbiAgICBbaWRdPVwic2VjdGlvblV1aWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0b2dnbGVVdWlkXCJcbiAgICBbQGNvbGxhcHNpYmxlXT1cImFuaW1hdGlvblN0YXRlKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './collapsible.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvY29sbGFwc2libGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sbGFwc2libGUuY29tcG9uZW50JztcbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import { CardContentComponent } from '../card/card-content/card-content.component';
3
- import { CardComponent } from '../card/card.component';
4
- import * as i0 from "@angular/core";
5
- export class DashboardCardComponent {
6
- constructor() {
7
- /**
8
- * The title of the card.
9
- */
10
- this.title = input.required();
11
- /**
12
- * The URL to the icon to display on the card. The icon is assumed to be rectangular.
13
- */
14
- this.imgSource = input.required();
15
- /**
16
- * The url to open in a new window when the card is clicked.
17
- */
18
- this.link = input.required();
19
- /**
20
- * Specifies where to open the linked document.
21
- * Valid values are `_blank`, `_parent`, `_self`, or `_top`.
22
- */
23
- this.linkTarget = input('_blank');
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DashboardCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", 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" }, { kind: "component", type: CardContentComponent, selector: "ndw-card-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DashboardCardComponent, decorators: [{
29
- type: Component,
30
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CardComponent, CardContentComponent], selector: 'ndw-dashboard-card', standalone: true, 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"] }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Rhc2hib2FyZC1jYXJkL2Rhc2hib2FyZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9kYXNoYm9hcmQtY2FyZC9kYXNoYm9hcmQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBVXZELE1BQU0sT0FBTyxzQkFBc0I7SUFSbkM7UUFTRTs7V0FFRztRQUNhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFakQ7O1dBRUc7UUFDYSxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXJEOztXQUVHO1FBQ2EsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoRDs7O1dBR0c7UUFDYSxlQUFVLEdBQUcsS0FBSyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0tBQ3REOzhHQXJCWSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwra0JDWm5DLDZaQVNBLHlyRERIWSxhQUFhLHFEQUFFLG9CQUFvQjs7MkZBTWxDLHNCQUFzQjtrQkFSbEMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLFlBQ3BDLG9CQUFvQixjQUNsQixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhcmRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLWNvbnRlbnQvY2FyZC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NhcmRDb21wb25lbnQsIENhcmRDb250ZW50Q29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICduZHctZGFzaGJvYXJkLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRDYXJkQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgY2FyZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0aXRsZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIFVSTCB0byB0aGUgaWNvbiB0byBkaXNwbGF5IG9uIHRoZSBjYXJkLiBUaGUgaWNvbiBpcyBhc3N1bWVkIHRvIGJlIHJlY3Rhbmd1bGFyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGltZ1NvdXJjZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIHVybCB0byBvcGVuIGluIGEgbmV3IHdpbmRvdyB3aGVuIHRoZSBjYXJkIGlzIGNsaWNrZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbGluayA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXJlIHRvIG9wZW4gdGhlIGxpbmtlZCBkb2N1bWVudC5cbiAgICogVmFsaWQgdmFsdWVzIGFyZSBgX2JsYW5rYCwgYF9wYXJlbnRgLCBgX3NlbGZgLCBvciBgX3RvcGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbGlua1RhcmdldCA9IGlucHV0PHN0cmluZz4oJ19ibGFuaycpO1xufVxuIiwiPGEgW2hyZWZdPVwibGluaygpXCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0KClcIiByZWw9XCJub3JlZmVycmVyIG5vb3BlbmVyXCIgW3RpdGxlXT1cInRpdGxlKClcIj5cbiAgPG5kdy1jYXJkIGNsYXNzPVwiY2FyZFwiPlxuICAgIDxuZHctY2FyZC1jb250ZW50IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaW1nU291cmNlKClcIiBbYWx0XT1cInRpdGxlKClcIiAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJuZHctaGVhZGluZy1zbSB0aXRsZVwiPnt7IHRpdGxlKCkgfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwibmR3LXBhcmFncmFwaC1tZCBkZXNjcmlwdGlvblwiPjxuZy1jb250ZW50IC8+PC9kaXY+XG4gICAgPC9uZHctY2FyZC1jb250ZW50PlxuICA8L25kdy1jYXJkPlxuPC9hPlxuIl19
@@ -1,2 +0,0 @@
1
- export * from './dashboard-card.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZGFzaGJvYXJkLWNhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, input, output, viewChild, } from '@angular/core';
2
- import { ButtonDirective } from '../button';
3
- import { IconComponent } from '../icon';
4
- import { PopoverTriggerDirective } from '../popover';
5
- import { TagComponent } from '../tag';
6
- import * as i0 from "@angular/core";
7
- export class DropdownComponent {
8
- constructor() {
9
- this.disabled = input(false);
10
- this.chevron = input();
11
- this.buttonText = input.required();
12
- this.prefixIcon = input('');
13
- this.selectAmount = input(0);
14
- this.tagClicked = output();
15
- this.isOpenChange = output();
16
- this.popoverTrigger = viewChild.required(PopoverTriggerDirective);
17
- this.dropdownButton = viewChild.required('dropdownButton');
18
- this.buttonIcon = computed(() => this.popoverTrigger().isOpen() ? 'keyboard_arrow_up' : 'keyboard_arrow_down');
19
- }
20
- onTagClicked($event) {
21
- $event.stopPropagation();
22
- this.tagClicked.emit();
23
- }
24
- onKeyDown(event) {
25
- if (event.key === 'Escape') {
26
- this.popoverTrigger().isOpen.set(false);
27
- this.popoverTrigger().togglePopover();
28
- }
29
- else if (event.key === 'Enter' && !this.disabled()) {
30
- this.popoverTrigger().toggle();
31
- }
32
- }
33
- closeDropdown() {
34
- this.dropdownButton().nativeElement.focus();
35
- }
36
- onTagKeyDown(event) {
37
- if (event.key !== 'Enter' || this.disabled()) {
38
- return;
39
- }
40
- event.stopPropagation();
41
- event.preventDefault();
42
- this.tagClicked.emit();
43
- setTimeout(() => {
44
- this.dropdownButton().nativeElement.focus();
45
- });
46
- }
47
- isOpenChanged(isOpen) {
48
- this.isOpenChange.emit(isOpen);
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", 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 (onClick)=\"onTagClicked($event)\"\n >\n {{ selectAmount() }}\n </ndw-tag>\n }\n\n @if (chevron()) {\n <ndw-icon class=\"button-icon\">{{ buttonIcon() }}</ndw-icon>\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;justify-content:space-between}.dropdown-prefix-icon{color:var(--ndw-color-grey-300)}\n"], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[ndwButton]" }, { kind: "directive", type: PopoverTriggerDirective, selector: "[ndwPopoverTrigger]", inputs: ["popoverPosition", "ndwPopoverTrigger", "toggleOnClick", "isOpen"], outputs: ["popoverToggled", "isOpenChange"], exportAs: ["ndwPopoverTrigger"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "component", type: TagComponent, selector: "ndw-tag", inputs: ["disabled", "suffixAriaLabel", "suffixIcon"], outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DropdownComponent, decorators: [{
54
- type: Component,
55
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonDirective, PopoverTriggerDirective, IconComponent, TagComponent], selector: 'ndw-dropdown', standalone: true, 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 (onClick)=\"onTagClicked($event)\"\n >\n {{ selectAmount() }}\n </ndw-tag>\n }\n\n @if (chevron()) {\n <ndw-icon class=\"button-icon\">{{ buttonIcon() }}</ndw-icon>\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;justify-content:space-between}.dropdown-prefix-icon{color:var(--ndw-color-grey-300)}\n"] }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQVV0QyxNQUFNLE9BQU8saUJBQWlCO0lBUjlCO1FBU2tCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDdEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixpQkFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4QixlQUFVLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFDNUIsaUJBQVksR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUVqQyxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM3RCxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWEsZ0JBQWdCLENBQUMsQ0FBQztRQUVsRSxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FDN0UsQ0FBQztLQXFDSDtJQW5DUSxZQUFZLENBQUMsTUFBYTtRQUMvQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQW9CO1FBQ25DLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFvQjtRQUN0QyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBRUQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFlO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBbkRVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGsyQkFVd0IsdUJBQXVCLG1MQ2hDN0UsczNCQXFDQSwwTURyQlksZUFBZSx3REFBRSx1QkFBdUIsMk5BQUUsYUFBYSx1RUFBRSxZQUFZOzsyRkFNcEUsaUJBQWlCO2tCQVI3QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxZQUN0RSxjQUFjLGNBR1osSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wb3Zlcic7XG5pbXBvcnQgeyBUYWdDb21wb25lbnQgfSBmcm9tICcuLi90YWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtCdXR0b25EaXJlY3RpdmUsIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBJY29uQ29tcG9uZW50LCBUYWdDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ25kdy1kcm9wZG93bicsXG4gIHN0eWxlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBjaGV2cm9uID0gaW5wdXQoKTtcbiAgcHVibGljIHJlYWRvbmx5IGJ1dHRvblRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZWFkb25seSBwcmVmaXhJY29uID0gaW5wdXQoJycpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QW1vdW50ID0gaW5wdXQoMCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRhZ0NsaWNrZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzT3BlbkNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3BvdmVyVHJpZ2dlciA9IHZpZXdDaGlsZC5yZXF1aXJlZChQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSk7XG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkJ1dHRvbiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignZHJvcGRvd25CdXR0b24nKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uSWNvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLmlzT3BlbigpID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJyxcbiAgKTtcblxuICBwdWJsaWMgb25UYWdDbGlja2VkKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50YWdDbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlcigpLnRvZ2dsZVBvcG92ZXIoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiAhdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLnBvcG92ZXJUcmlnZ2VyKCkudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bkJ1dHRvbigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhZ0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInIHx8IHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLnRhZ0NsaWNrZWQuZW1pdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kcm9wZG93bkJ1dHRvbigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wZW5DaGFuZ2VkKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwiYnV0dG9uXCJcbiAgI2Ryb3Bkb3duQnV0dG9uXG4gIG5kd0J1dHRvblxuICBmaWx0ZXJcbiAgW25kd1BvcG92ZXJUcmlnZ2VyXT1cImRyb3Bkb3duQ29udGVudFwiXG4gIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlZCgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuPlxuICBAaWYgKHByZWZpeEljb24oKTsgYXMgcHJlZml4SWNvbk5hbWUpIHtcbiAgICA8bmR3LWljb24gY2xhc3M9XCJkcm9wZG93bi1wcmVmaXgtaWNvblwiPnt7IHByZWZpeEljb25OYW1lIH19PC9uZHctaWNvbj5cbiAgfVxuXG4gIHt7IGJ1dHRvblRleHQoKSB9fVxuXG4gIEBpZiAoc2VsZWN0QW1vdW50KCkpIHtcbiAgICA8bmR3LXRhZ1xuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSA/IHRydWUgOiBudWxsXCJcbiAgICAgIChrZXlkb3duKT1cIm9uVGFnS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChvbkNsaWNrKT1cIm9uVGFnQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RBbW91bnQoKSB9fVxuICAgIDwvbmR3LXRhZz5cbiAgfVxuXG4gIEBpZiAoY2hldnJvbigpKSB7XG4gICAgPG5kdy1pY29uIGNsYXNzPVwiYnV0dG9uLWljb25cIj57eyBidXR0b25JY29uKCkgfX08L25kdy1pY29uPlxuICB9XG48L2J1dHRvbj5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG4gIDxkaXYgcm9sZT1cImRpYWxvZ1wiIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZURyb3Bkb3duKClcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './dropdown.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, output } from '@angular/core';
2
- import { IconComponent } from '../../../icon';
3
- import { AutocompleteOptionSelectionChange, BaseAutosuggestOptionComponent, } from '../autosuggest-option';
4
- import * as i0 from "@angular/core";
5
- export class AutosuggestAddOptionComponent extends BaseAutosuggestOptionComponent {
6
- constructor() {
7
- super(...arguments);
8
- this.addOption = output();
9
- }
10
- emitSelectionChangeEvent(isUserInput = false) {
11
- this.addOption.emit(this.value());
12
- this.selectionChange.emit(new AutocompleteOptionSelectionChange(this, isUserInput));
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestAddOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: AutosuggestAddOptionComponent, isStandalone: true, selector: "ndw-autosuggest-add-option", outputs: { addOption: "addOption" }, host: { attributes: { "role": "option" }, listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "class.ndw-autosuggest-option--active": "active", "class.ndw-autosuggest-option--selected": "selected", "attr.aria-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() }}'</span> toe\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;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.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", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestAddOptionComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'ndw-autosuggest-add-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [IconComponent], host: {
20
- role: 'option',
21
- class: 'ndw-autosuggest-option ndw-autosuggest-option--add',
22
- '[class.ndw-autosuggest-option--active]': 'active',
23
- '[class.ndw-autosuggest-option--selected]': 'selected',
24
- '[attr.aria-selected]': 'selected',
25
- '(click)': 'selectViaInteraction()',
26
- '(keydown)': 'handleKeydown($event)',
27
- }, template: "<ndw-icon [size]=\"'sm'\">add</ndw-icon> Voeg <span class=\"truncate\">'{{ value() }}'</span> toe\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;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.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"] }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9hdXRvc3VnZ2VzdC9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbi9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyw4QkFBOEIsR0FDL0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFtQi9CLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSw4QkFBOEI7SUFqQmpGOztRQWtCa0IsY0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBTTlDO0lBSlcsd0JBQXdCLENBQUMsV0FBVyxHQUFHLEtBQUs7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBWSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDOzhHQU5VLDZCQUE2QjtrR0FBN0IsNkJBQTZCLG9mQ3hCMUMscUdBQ0EsbWhDRFVZLGFBQWE7OzJGQWFaLDZCQUE2QjtrQkFqQnpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUNyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsQ0FBQyxRQUdsQjt3QkFDSixJQUFJLEVBQUUsUUFBUTt3QkFDZCxLQUFLLEVBQUUsb0RBQW9EO3dCQUMzRCx3Q0FBd0MsRUFBRSxRQUFRO3dCQUNsRCwwQ0FBMEMsRUFBRSxVQUFVO3dCQUN0RCxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ljb24nO1xuaW1wb3J0IHtcbiAgQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlLFxuICBCYXNlQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQsXG59IGZyb20gJy4uL2F1dG9zdWdnZXN0LW9wdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uL2F1dG9zdWdnZXN0LW9wdGlvbi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ29wdGlvbicsXG4gICAgY2xhc3M6ICduZHctYXV0b3N1Z2dlc3Qtb3B0aW9uIG5kdy1hdXRvc3VnZ2VzdC1vcHRpb24tLWFkZCcsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJyhjbGljayknOiAnc2VsZWN0VmlhSW50ZXJhY3Rpb24oKScsXG4gICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBhZGRPcHRpb24gPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIHByb3RlY3RlZCBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuYWRkT3B0aW9uLmVtaXQodGhpcy52YWx1ZSgpIGFzIHN0cmluZyk7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlKHRoaXMsIGlzVXNlcklucHV0KSk7XG4gIH1cbn1cbiIsIjxuZHctaWNvbiBbc2l6ZV09XCInc20nXCI+YWRkPC9uZHctaWNvbj4gVm9lZyA8c3BhbiBjbGFzcz1cInRydW5jYXRlXCI+J3t7IHZhbHVlKCkgfX0nPC9zcGFuPiB0b2VcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './autosuggest-add-option.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9hdXRvc3VnZ2VzdC9hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24uY29tcG9uZW50JztcbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import { BaseAutosuggestOptionComponent } from './base-autosuggest-option.component';
3
- import { MatchBoldPipe } from '../match-bold.pipe';
4
- import * as i0 from "@angular/core";
5
- export class AutocompleteOptionSelectionChange {
6
- constructor(source, isUserInput = false) {
7
- this.source = source;
8
- this.isUserInput = isUserInput;
9
- }
10
- }
11
- export class AutosuggestOptionComponent extends BaseAutosuggestOptionComponent {
12
- get viewValue() {
13
- return (this.getHostElement().textContent ?? '').trim();
14
- }
15
- constructor() {
16
- super();
17
- this.searchTerm = input('');
18
- this.label = input.required();
19
- this.id = `ndw-option-${crypto.randomUUID()}`;
20
- }
21
- // getLabel is required in the FocusableOption interface, which is
22
- // implemented by BaseAutosuggestOptionComponent
23
- getLabel() {
24
- return this.viewValue;
25
- }
26
- emitSelectionChangeEvent(isUserInput = false) {
27
- this.selectionChange.emit(new AutocompleteOptionSelectionChange(this, isUserInput));
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: AutosuggestOptionComponent, isStandalone: true, selector: "ndw-autosuggest-option", inputs: { searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "id": "id", "class.ndw-autosuggest-option--selected": "selected", "class.ndw-autosuggest-option--active": "active", "attr.aria-selected": "selected" }, classAttribute: "ndw-autosuggest-option" }, usesInheritance: true, ngImport: i0, template: "<span class=\"ndw-option-text\" [innerHTML]=\"label() | matchBold: searchTerm()\"></span>\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;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.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: "pipe", type: MatchBoldPipe, name: "matchBold" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestOptionComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'ndw-autosuggest-option', standalone: true, imports: [MatchBoldPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
35
- role: 'option',
36
- '[id]': 'id',
37
- class: 'ndw-autosuggest-option',
38
- '[class.ndw-autosuggest-option--selected]': 'selected',
39
- '[class.ndw-autosuggest-option--active]': 'active',
40
- '[attr.aria-selected]': 'selected',
41
- '(click)': 'selectViaInteraction()',
42
- '(keydown)': 'handleKeydown($event)',
43
- }, template: "<span class=\"ndw-option-text\" [innerHTML]=\"label() | matchBold: searchTerm()\"></span>\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;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.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"] }]
44
- }], ctorParameters: () => [] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2F1dG9zdWdnZXN0L2F1dG9zdWdnZXN0LW9wdGlvbi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRW5ELE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDUyxNQUFrRSxFQUNsRSxjQUFjLEtBQUs7UUFEbkIsV0FBTSxHQUFOLE1BQU0sQ0FBNEQ7UUFDbEUsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFDekIsQ0FBQztDQUNMO0FBb0JELE1BQU0sT0FBTywwQkFBMkIsU0FBUSw4QkFBOEI7SUFNNUUsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVk0sZUFBVSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBVS9DLElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLGdEQUFnRDtJQUN6QyxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxXQUFXLEdBQUcsS0FBSztRQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBdkJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFzQkM5QnZDLDZGQUNBLDhnQ0RjWSxhQUFhOzsyRkFlWiwwQkFBMEI7a0JBbEJ0QyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLENBQUMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixJQUFJLEVBQUUsUUFBUTt3QkFDZCxNQUFNLEVBQUUsSUFBSTt3QkFDWixLQUFLLEVBQUUsd0JBQXdCO3dCQUMvQiwwQ0FBMEMsRUFBRSxVQUFVO3dCQUN0RCx3Q0FBd0MsRUFBRSxRQUFRO3dCQUNsRCxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24nO1xuaW1wb3J0IHsgQmFzZUF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWF1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Y2hCb2xkUGlwZSB9IGZyb20gJy4uL21hdGNoLWJvbGQucGlwZSc7XG5cbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCxcbiAgICBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZSxcbiAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctYXV0b3N1Z2dlc3Qtb3B0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdGNoQm9sZFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ29wdGlvbicsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgIGNsYXNzOiAnbmR3LWF1dG9zdWdnZXN0LW9wdGlvbicsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICdbY2xhc3MubmR3LWF1dG9zdWdnZXN0LW9wdGlvbi0tYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJyhjbGljayknOiAnc2VsZWN0VmlhSW50ZXJhY3Rpb24oKScsXG4gICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hUZXJtID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5nZXRIb3N0RWxlbWVudCgpLnRleHRDb250ZW50ID8/ICcnKS50cmltKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gYG5kdy1vcHRpb24tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWA7XG4gIH1cblxuICAvLyBnZXRMYWJlbCBpcyByZXF1aXJlZCBpbiB0aGUgRm9jdXNhYmxlT3B0aW9uIGludGVyZmFjZSwgd2hpY2ggaXNcbiAgLy8gaW1wbGVtZW50ZWQgYnkgQmFzZUF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50XG4gIHB1YmxpYyBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpZXdWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQobmV3IEF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cIm5kdy1vcHRpb24tdGV4dFwiIFtpbm5lckhUTUxdPVwibGFiZWwoKSB8IG1hdGNoQm9sZDogc2VhcmNoVGVybSgpXCI+PC9zcGFuPlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3Qtb3B0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXV0b3N1Z2dlc3RPcHRpb24gPSBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbmV4cG9ydCB0eXBlIEF1dG9zdWdnZXN0T3B0aW9ucyA9IEFycmF5PEF1dG9zdWdnZXN0T3B0aW9uPjtcbiJdfQ==
@@ -1,85 +0,0 @@
1
- import { ChangeDetectorRef, Component, ElementRef, ChangeDetectionStrategy, EventEmitter, inject, input, } from '@angular/core';
2
- import { hasModifierKey } from '@angular/cdk/keycodes';
3
- import * as i0 from "@angular/core";
4
- export class BaseAutosuggestOptionComponent {
5
- constructor() {
6
- this.value = input();
7
- this.selectionChange = new EventEmitter();
8
- this._active = false;
9
- this._selected = false;
10
- this.element = inject(ElementRef);
11
- this.changeDetectorRef = inject(ChangeDetectorRef);
12
- }
13
- get active() {
14
- return this._active;
15
- }
16
- get selected() {
17
- return this._selected;
18
- }
19
- // This method is used by FocusableOption
20
- focus(_origin, options) {
21
- const element = this.element.nativeElement;
22
- if (typeof element.focus === 'function') {
23
- element.focus(options);
24
- }
25
- }
26
- // This method is used by the KeyManager
27
- setActiveStyles() {
28
- if (!this._active) {
29
- this._active = true;
30
- this.changeDetectorRef.markForCheck();
31
- }
32
- }
33
- // This method is used by KeyManager
34
- setInactiveStyles() {
35
- if (this._active) {
36
- this._active = false;
37
- this.changeDetectorRef.markForCheck();
38
- }
39
- }
40
- select(emitEvent = true) {
41
- if (!this._selected) {
42
- this._selected = true;
43
- this.changeDetectorRef.markForCheck();
44
- if (emitEvent) {
45
- this.emitSelectionChangeEvent();
46
- }
47
- }
48
- }
49
- deselect(emitEvent = true) {
50
- if (this._selected) {
51
- this._selected = false;
52
- this.changeDetectorRef.markForCheck();
53
- if (emitEvent) {
54
- this.emitSelectionChangeEvent();
55
- }
56
- }
57
- }
58
- handleKeydown(event) {
59
- if ((event.key === 'Enter' || event.key === 'Space') && !hasModifierKey(event)) {
60
- this.selectViaInteraction();
61
- event.preventDefault();
62
- }
63
- }
64
- selectViaInteraction() {
65
- this._selected = true;
66
- this.changeDetectorRef.markForCheck();
67
- this.emitSelectionChangeEvent(true);
68
- }
69
- ngOnDestroy() {
70
- this.selectionChange.complete();
71
- }
72
- getHostElement() {
73
- return this.element.nativeElement;
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseAutosuggestOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: BaseAutosuggestOptionComponent, selector: "ng-component", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseAutosuggestOptionComponent, decorators: [{
79
- type: Component,
80
- args: [{
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- template: '',
83
- }]
84
- }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2Jhc2UtYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixNQUFNLEVBRU4sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFnQiw4QkFBOEI7SUFKcEQ7UUFLa0IsVUFBSyxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBRTlFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVVYLFlBQU8sR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBdUVoRTtJQWhGQyxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUtELHlDQUF5QztJQUNsQyxLQUFLLENBQUMsT0FBcUIsRUFBRSxPQUFzQjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUUzQyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLGVBQWU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxvQ0FBb0M7SUFDN0IsaUJBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBSU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDcEMsQ0FBQzs4R0F0Rm1CLDhCQUE4QjtrR0FBOUIsOEJBQThCLHdMQUZ4QyxFQUFFOzsyRkFFUSw4QkFBOEI7a0JBSm5ELFNBQVM7bUJBQUM7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQXV0b3N1Z2dlc3RPcHRpb24gfSBmcm9tICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBGb2N1c2FibGVPcHRpb24sIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0PEF1dG9zdWdnZXN0T3B0aW9uPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2U+KCk7XG5cbiAgcHJvdGVjdGVkIF9hY3RpdmUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgYnkgRm9jdXNhYmxlT3B0aW9uXG4gIHB1YmxpYyBmb2N1cyhfb3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAodHlwZW9mIGVsZW1lbnQuZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBtZXRob2QgaXMgdXNlZCBieSB0aGUgS2V5TWFuYWdlclxuICBwdWJsaWMgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIGJ5IEtleU1hbmFnZXJcbiAgcHVibGljIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdTcGFjZScpICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdFZpYUludGVyYWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dD86IGJvb2xlYW4pOiB2b2lkO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './autosuggest-option.component';
2
- export * from './base-autosuggest-option.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9hdXRvc3VnZ2VzdC9hdXRvc3VnZ2VzdC1vcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50JztcbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, output, signal, TemplateRef, viewChild, ViewChildren, } from '@angular/core';
2
- import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
3
- import { IconComponent } from '../../../icon';
4
- import { AutosuggestAddOptionComponent } from '../autosuggest-add-option';
5
- import { AutosuggestOptionComponent } from '../autosuggest-option';
6
- import { NgTemplateOutlet } from '@angular/common';
7
- import * as i0 from "@angular/core";
8
- const DEFAULTMAXRESULTS = 100;
9
- const DEFAULTNORESULTTEXT = 'Geen resultaten gevonden. Probeer een andere zoekterm.';
10
- export class AutosuggestPanelComponent {
11
- constructor() {
12
- // Inputs
13
- this.suggestions = input([]);
14
- this.enableAddOption = input(false);
15
- this.maxResults = input(DEFAULTMAXRESULTS);
16
- this.noResultText = input(DEFAULTNORESULTTEXT);
17
- this.displayWith = input();
18
- // Outputs
19
- this.opened = output();
20
- this.closed = output();
21
- this.optionSelected = output();
22
- this.addOption = output();
23
- this.template = viewChild.required(TemplateRef);
24
- this.panel = viewChild.required('panel');
25
- // Variables & Signals
26
- this.searchTerm = signal('');
27
- this.slicedOptions = computed(() => this.suggestions().slice(0, this.maxResults()));
28
- this.hasMoreResults = computed(() => this.suggestions().length > this.maxResults());
29
- this.numberOfLeftOverResults = computed(() => this.suggestions().length - this.maxResults());
30
- this.showPanel = false;
31
- this.isOpen = false;
32
- this.changeDetectorRef = inject(ChangeDetectorRef);
33
- this.id = `ndw-autosuggest-${crypto.randomUUID()}`;
34
- }
35
- ngAfterViewInit() {
36
- this.keyManager = new ActiveDescendantKeyManager(this.items)
37
- .withPageUpDown()
38
- .withWrap()
39
- .withTypeAhead();
40
- this.setVisibility();
41
- }
42
- ngOnDestroy() {
43
- this.keyManager?.destroy();
44
- }
45
- // Methods
46
- getLabelOption(option) {
47
- const displayFn = this.displayWith();
48
- return displayFn ? displayFn(option) : option;
49
- }
50
- setScrollTop(scrollTop) {
51
- const panel = this.panel();
52
- if (panel) {
53
- panel.nativeElement.scrollTop = scrollTop;
54
- }
55
- }
56
- setVisibility() {
57
- this.showPanel = !!this.items?.length;
58
- this.changeDetectorRef.markForCheck();
59
- }
60
- emitSelectEvent(option) {
61
- this.optionSelected.emit(option.value() ?? null);
62
- }
63
- addNewOption(value) {
64
- this.optionSelected.emit(value);
65
- this.addOption.emit(value);
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: AutosuggestPanelComponent, isStandalone: true, selector: "ndw-autosuggest", inputs: { suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, enableAddOption: { classPropertyName: "enableAddOption", publicName: "enableAddOption", isSignal: true, isRequired: false, transformFunction: null }, maxResults: { classPropertyName: "maxResults", publicName: "maxResults", isSignal: true, isRequired: false, transformFunction: null }, noResultText: { classPropertyName: "noResultText", publicName: "noResultText", isSignal: true, isRequired: false, transformFunction: null }, displayWith: { classPropertyName: "displayWith", publicName: "displayWith", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed", optionSelected: "optionSelected", addOption: "addOption" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "items", predicate: ["option"], descendants: true }], exportAs: ["apAutocomplete"], 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 [value]=\"option\"\n [label]=\"getLabelOption(option)\"\n [searchTerm]=\"searchTerm()\"\n />\n }\n\n @if (enableAddOption()) {\n @if (!!searchTerm().trim()) {\n <ndw-autosuggest-add-option\n #option\n [value]=\"searchTerm()\"\n (addOption)=\"addNewOption($event)\"\n />\n } @else if (!suggestions().length) {\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n }\n }\n\n @if (hasMoreResults()) {\n <p class=\"ndw-autosuggest-panel__more-results\">\n Er zijn nog {{ numberOfLeftOverResults() }} niet-getoonde resultaten, maak je zoekopdracht\n specifieker\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);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: AutosuggestOptionComponent, selector: "ndw-autosuggest-option", inputs: ["searchTerm", "label"] }, { kind: "component", type: AutosuggestAddOptionComponent, selector: "ndw-autosuggest-add-option", outputs: ["addOption"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestPanelComponent, decorators: [{
71
- type: Component,
72
- args: [{ selector: 'ndw-autosuggest', standalone: true, imports: [
73
- AutosuggestOptionComponent,
74
- AutosuggestAddOptionComponent,
75
- IconComponent,
76
- NgTemplateOutlet,
77
- ], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'apAutocomplete', 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 [value]=\"option\"\n [label]=\"getLabelOption(option)\"\n [searchTerm]=\"searchTerm()\"\n />\n }\n\n @if (enableAddOption()) {\n @if (!!searchTerm().trim()) {\n <ndw-autosuggest-add-option\n #option\n [value]=\"searchTerm()\"\n (addOption)=\"addNewOption($event)\"\n />\n } @else if (!suggestions().length) {\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n }\n }\n\n @if (hasMoreResults()) {\n <p class=\"ndw-autosuggest-panel__more-results\">\n Er zijn nog {{ numberOfLeftOverResults() }} niet-getoonde resultaten, maak je zoekopdracht\n specifieker\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);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"] }]
78
- }], ctorParameters: () => [], propDecorators: { items: [{
79
- type: ViewChildren,
80
- args: ['option']
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFFUixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyx3REFBd0QsQ0FBQztBQWdCckYsTUFBTSxPQUFPLHlCQUF5QjtJQXFDcEM7UUFwQ0EsU0FBUztRQUNPLGdCQUFXLEdBQUcsS0FBSyxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsS0FBSyxDQUFTLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsaUJBQVksR0FBRyxLQUFLLENBQVMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLEtBQUssRUFBd0MsQ0FBQztRQUU1RSxVQUFVO1FBQ00sV0FBTSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sRUFBNEIsQ0FBQztRQUNwRCxjQUFTLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFLN0IsYUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsVUFBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTZCLE9BQU8sQ0FBQyxDQUFDO1FBRWhGLHNCQUFzQjtRQUNOLGVBQVUsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLDRCQUF1QixHQUFHLFFBQVEsQ0FDaEQsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ3BELENBQUM7UUFLSyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTCxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUc3RCxJQUFJLENBQUMsRUFBRSxHQUFHLG1CQUFtQixNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksMEJBQTBCLENBRTlDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDVixjQUFjLEVBQUU7YUFDaEIsUUFBUSxFQUFFO2FBQ1YsYUFBYSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7SUFDSCxjQUFjLENBQUMsTUFBeUI7UUFDN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFFLE1BQWlCLENBQUM7SUFDNUQsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFpQjtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFM0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0U7UUFDdkYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxZQUFZLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQWpGVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwwNkJBaUJVLFdBQVcsb1FDOUQzRCwyMENBNENBLHdpQ0RUSSwwQkFBMEIsb0dBQzFCLDZCQUE2QiwrRkFDN0IsYUFBYSx1RUFDYixnQkFBZ0I7OzJGQU9QLHlCQUF5QjtrQkFkckMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0I7d0RBa0JuQixLQUFLO3NCQURYLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uJztcbmltcG9ydCB7IEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbic7XG5pbXBvcnQgeyBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9zdWdnZXN0LW9wdGlvbic7XG5pbXBvcnQge1xuICBBdXRvc3VnZ2VzdE9wdGlvbixcbiAgQXV0b3N1Z2dlc3RPcHRpb25zLFxufSBmcm9tICcuLi9hdXRvc3VnZ2VzdC1vcHRpb24vYXV0b3N1Z2dlc3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCBERUZBVUxUTUFYUkVTVUxUUyA9IDEwMDtcbmNvbnN0IERFRkFVTFROT1JFU1VMVFRFWFQgPSAnR2VlbiByZXN1bHRhdGVuIGdldm9uZGVuLiBQcm9iZWVyIGVlbiBhbmRlcmUgem9la3Rlcm0uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWF1dG9zdWdnZXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50LFxuICAgIEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9zdWdnZXN0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F1dG9zdWdnZXN0LXBhbmVsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGV4cG9ydEFzOiAnYXBBdXRvY29tcGxldGUnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdFBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gSW5wdXRzXG4gIHB1YmxpYyByZWFkb25seSBzdWdnZXN0aW9ucyA9IGlucHV0PEF1dG9zdWdnZXN0T3B0aW9ucz4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlQWRkT3B0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4UmVzdWx0cyA9IGlucHV0PG51bWJlcj4oREVGQVVMVE1BWFJFU1VMVFMpO1xuICBwdWJsaWMgcmVhZG9ubHkgbm9SZXN1bHRUZXh0ID0gaW5wdXQ8c3RyaW5nPihERUZBVUxUTk9SRVNVTFRURVhUKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlXaXRoID0gaW5wdXQ8KHZhbHVlOiBBdXRvc3VnZ2VzdE9wdGlvbikgPT4gc3RyaW5nPigpO1xuXG4gIC8vIE91dHB1dHNcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VkID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpb25TZWxlY3RlZCA9IG91dHB1dDxBdXRvc3VnZ2VzdE9wdGlvbiB8IG51bGw+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRPcHRpb24gPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIC8vIFZpZXcgUmVmZXJlbmNlc1xuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nKVxuICBwdWJsaWMgaXRlbXMhOiBRdWVyeUxpc3Q8QXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudD47XG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZSA9IHZpZXdDaGlsZC5yZXF1aXJlZChUZW1wbGF0ZVJlZik7XG4gIHB1YmxpYyByZWFkb25seSBwYW5lbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ3BhbmVsJyk7XG5cbiAgLy8gVmFyaWFibGVzICYgU2lnbmFsc1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoVGVybSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IHNsaWNlZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN1Z2dlc3Rpb25zKCkuc2xpY2UoMCwgdGhpcy5tYXhSZXN1bHRzKCkpKTtcbiAgcHVibGljIHJlYWRvbmx5IGhhc01vcmVSZXN1bHRzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdWdnZXN0aW9ucygpLmxlbmd0aCA+IHRoaXMubWF4UmVzdWx0cygpKTtcbiAgcHVibGljIHJlYWRvbmx5IG51bWJlck9mTGVmdE92ZXJSZXN1bHRzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5zdWdnZXN0aW9ucygpLmxlbmd0aCAtIHRoaXMubWF4UmVzdWx0cygpLFxuICApO1xuXG4gIHB1YmxpYyBrZXlNYW5hZ2VyOlxuICAgIHwgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8QXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHNob3dQYW5lbCA9IGZhbHNlO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlkID0gYG5kdy1hdXRvc3VnZ2VzdC0ke2NyeXB0by5yYW5kb21VVUlEKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFxuICAgICAgQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudFxuICAgID4odGhpcy5pdGVtcylcbiAgICAgIC53aXRoUGFnZVVwRG93bigpXG4gICAgICAud2l0aFdyYXAoKVxuICAgICAgLndpdGhUeXBlQWhlYWQoKTtcbiAgICB0aGlzLnNldFZpc2liaWxpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIE1ldGhvZHNcbiAgcHVibGljIGdldExhYmVsT3B0aW9uKG9wdGlvbjogQXV0b3N1Z2dlc3RPcHRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpc3BsYXlGbiA9IHRoaXMuZGlzcGxheVdpdGgoKTtcbiAgICByZXR1cm4gZGlzcGxheUZuID8gZGlzcGxheUZuKG9wdGlvbikgOiAob3B0aW9uIGFzIHN0cmluZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcGFuZWwgPSB0aGlzLnBhbmVsKCk7XG5cbiAgICBpZiAocGFuZWwpIHtcbiAgICAgIHBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1BhbmVsID0gISF0aGlzLml0ZW1zPy5sZW5ndGg7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U2VsZWN0RXZlbnQob3B0aW9uOiBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB8IEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbi52YWx1ZSgpID8/IG51bGwpO1xuICB9XG5cbiAgcHVibGljIGFkZE5ld09wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmFkZE9wdGlvbi5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICBAaWYgKHN1Z2dlc3Rpb25zKCkubGVuZ3RoID09PSAwICYmICFlbmFibGVBZGRPcHRpb24oKSkge1xuICAgIDxkaXYgY2xhc3M9XCJuZHctYXV0b3N1Z2dlc3QtcGFuZWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRhdGFsaXN0ICNwYW5lbCBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbFwiPlxuICAgICAgQGZvciAob3B0aW9uIG9mIHNsaWNlZE9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgIDxuZHctYXV0b3N1Z2dlc3Qtb3B0aW9uXG4gICAgICAgICAgI29wdGlvblxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgIFtsYWJlbF09XCJnZXRMYWJlbE9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hUZXJtKClcIlxuICAgICAgICAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGVuYWJsZUFkZE9wdGlvbigpKSB7XG4gICAgICAgIEBpZiAoISFzZWFyY2hUZXJtKCkudHJpbSgpKSB7XG4gICAgICAgICAgPG5kdy1hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uXG4gICAgICAgICAgICAjb3B0aW9uXG4gICAgICAgICAgICBbdmFsdWVdPVwic2VhcmNoVGVybSgpXCJcbiAgICAgICAgICAgIChhZGRPcHRpb24pPVwiYWRkTmV3T3B0aW9uKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKCFzdWdnZXN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGhhc01vcmVSZXN1bHRzKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJuZHctYXV0b3N1Z2dlc3QtcGFuZWxfX21vcmUtcmVzdWx0c1wiPlxuICAgICAgICAgIEVyIHppam4gbm9nIHt7IG51bWJlck9mTGVmdE92ZXJSZXN1bHRzKCkgfX0gbmlldC1nZXRvb25kZSByZXN1bHRhdGVuLCBtYWFrIGplIHpvZWtvcGRyYWNodFxuICAgICAgICAgIHNwZWNpZmlla2VyXG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICA8L2RhdGFsaXN0PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0cz5cbiAgPGRpdiBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbF9fZW1wdHlcIj5cbiAgICA8bmR3LWljb24+c2VudGltZW50X2Rpc3NhdGlzZmllZDwvbmR3LWljb24+XG4gICAge3sgbm9SZXN1bHRUZXh0KCkgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19