@ndwnu/design-system 0.0.1-beta.1 → 1.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 (89) hide show
  1. package/README.md +3 -136
  2. package/assets/icons/icons.json +830 -46
  3. package/assets/images/ndw-logo-short.svg +1 -1
  4. package/assets/images/nwb-logo-short.svg +10 -0
  5. package/assets/images/nwb-logo.svg +3 -10
  6. package/components/collapsible/collapsible.animation.d.ts +1 -0
  7. package/components/collapsible/collapsible.component.d.ts +1 -0
  8. package/components/dropdown/dropdown-trigger.directive.d.ts +23 -0
  9. package/components/dropdown/dropdown.component.d.ts +6 -17
  10. package/components/dropdown/index.d.ts +1 -0
  11. package/components/form-field/checkbox/checkbox.component.d.ts +23 -0
  12. package/components/form-field/checkbox/index.d.ts +1 -0
  13. package/components/form-field/checkbox-group/checkbox-group.component.d.ts +5 -0
  14. package/components/form-field/checkbox-group/index.d.ts +1 -0
  15. package/components/form-field/form-field.component.d.ts +12 -8
  16. package/components/form-field/form-field.model.d.ts +1 -0
  17. package/components/form-field/index.d.ts +7 -0
  18. package/components/form-field/radio-button/index.d.ts +1 -0
  19. package/components/form-field/radio-button/radio-button.component.d.ts +22 -0
  20. package/components/form-field/radio-group/index.d.ts +1 -0
  21. package/components/form-field/radio-group/radio-group.component.d.ts +11 -0
  22. package/components/icon/icon.component.d.ts +2 -5
  23. package/components/index.d.ts +4 -4
  24. package/components/main-navigation/main-navigation.component.d.ts +18 -9
  25. package/components/main-navigation-menu/main-navigation-menu.component.d.ts +2 -4
  26. package/components/modal/index.d.ts +1 -0
  27. package/components/modal/modal-trigger.directive.d.ts +20 -0
  28. package/components/pill/index.d.ts +2 -0
  29. package/components/pill/pill.component.d.ts +8 -0
  30. package/components/pill/pill.model.d.ts +8 -0
  31. package/core/styles/ndw-styles.scss +48 -116
  32. package/core/styles/nwb-styles.scss +48 -116
  33. package/esm2022/components/accordion/accordion.component.mjs +1 -1
  34. package/esm2022/components/accordion/accordion.service.mjs +2 -2
  35. package/esm2022/components/badge/badge.component.mjs +3 -3
  36. package/esm2022/components/card/card.component.mjs +3 -3
  37. package/esm2022/components/collapsible/collapsible.animation.mjs +36 -0
  38. package/esm2022/components/collapsible/collapsible.component.mjs +7 -9
  39. package/esm2022/components/dropdown/dropdown-trigger.directive.mjs +99 -0
  40. package/esm2022/components/dropdown/dropdown.component.mjs +10 -65
  41. package/esm2022/components/dropdown/index.mjs +2 -1
  42. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +91 -0
  43. package/esm2022/components/form-field/checkbox/index.mjs +2 -0
  44. package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +11 -0
  45. package/esm2022/components/form-field/checkbox-group/index.mjs +2 -0
  46. package/esm2022/components/form-field/error/error.component.mjs +12 -0
  47. package/esm2022/components/form-field/error/index.mjs +2 -0
  48. package/esm2022/components/form-field/form-field.component.mjs +67 -44
  49. package/esm2022/components/form-field/form-field.model.mjs +2 -1
  50. package/esm2022/components/form-field/index.mjs +8 -1
  51. package/esm2022/components/form-field/info/index.mjs +2 -0
  52. package/esm2022/components/{info → form-field/info}/info.component.mjs +1 -1
  53. package/esm2022/components/form-field/input/index.mjs +3 -0
  54. package/esm2022/components/form-field/input/input.directive.mjs +36 -0
  55. package/esm2022/components/form-field/input/input.model.mjs +13 -0
  56. package/esm2022/components/form-field/radio-button/index.mjs +2 -0
  57. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +81 -0
  58. package/esm2022/components/form-field/radio-group/index.mjs +2 -0
  59. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +34 -0
  60. package/esm2022/components/icon/icon.component.mjs +12 -20
  61. package/esm2022/components/icon/icon.service.mjs +2 -2
  62. package/esm2022/components/index.mjs +5 -5
  63. package/esm2022/components/main-navigation/main-navigation.component.mjs +50 -15
  64. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +5 -13
  65. package/esm2022/components/modal/index.mjs +2 -0
  66. package/esm2022/components/modal/modal-trigger.directive.mjs +77 -0
  67. package/esm2022/components/pill/index.mjs +3 -0
  68. package/esm2022/components/pill/pill.component.mjs +20 -0
  69. package/esm2022/components/pill/pill.model.mjs +2 -0
  70. package/esm2022/components/tab/tab.component.mjs +2 -2
  71. package/esm2022/components/tab-group/tab-group.component.mjs +3 -3
  72. package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
  73. package/esm2022/components/tooltip/tooltip.directive.mjs +4 -3
  74. package/fesm2022/ndwnu-design-system.mjs +610 -205
  75. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  76. package/package.json +3 -2
  77. package/esm2022/components/error/error.component.mjs +0 -14
  78. package/esm2022/components/error/index.mjs +0 -2
  79. package/esm2022/components/info/index.mjs +0 -2
  80. package/esm2022/components/input/index.mjs +0 -3
  81. package/esm2022/components/input/input.directive.mjs +0 -36
  82. package/esm2022/components/input/input.model.mjs +0 -13
  83. /package/components/{error → form-field/error}/error.component.d.ts +0 -0
  84. /package/components/{error → form-field/error}/index.d.ts +0 -0
  85. /package/components/{info → form-field/info}/index.d.ts +0 -0
  86. /package/components/{info → form-field/info}/info.component.d.ts +0 -0
  87. /package/components/{input → form-field/input}/index.d.ts +0 -0
  88. /package/components/{input → form-field/input}/input.directive.d.ts +0 -0
  89. /package/components/{input → form-field/input}/input.model.d.ts +0 -0
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class CardComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CardComponent, isStandalone: true, selector: "ndw-card", ngImport: i0, template: "<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>", styles: [":host{display:grid;border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);padding:var(--ndw-spacing-lg);box-shadow:var(--ndw-elevation-content)}.ndw-card-title{display:flex;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700;margin-bottom:var(--ndw-spacing-xs)}.ndw-card-body{font-size:var(--ndw-font-size-sm)}.ndw-card-footer{display:flex;gap:var(--ndw-spacing-xs);margin-top:var(--ndw-spacing-xs);font-size:var(--ndw-font-size-sm)}\n"] }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CardComponent, isStandalone: true, selector: "ndw-card", ngImport: i0, template: "<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n", styles: [":host{display:grid;border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);padding:var(--ndw-spacing-lg);box-shadow:var(--ndw-elevation-content)}:host[cardModal] .ndw-card-body{max-height:100%;overflow-y:auto;width:500px}:host[cardModal] .ndw-card-footer{display:flex;justify-content:flex-end;gap:var(--ndw-spacing-md)}.ndw-card-title{display:flex;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700;margin-bottom:var(--ndw-spacing-xs)}.ndw-card-body{font-size:var(--ndw-font-size-sm)}.ndw-card-footer{display:flex;gap:var(--ndw-spacing-xs);margin-top:var(--ndw-spacing-xs);font-size:var(--ndw-font-size-sm)}\n"] }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CardComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'ndw-card', standalone: true, imports: [], template: "<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>", styles: [":host{display:grid;border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);padding:var(--ndw-spacing-lg);box-shadow:var(--ndw-elevation-content)}.ndw-card-title{display:flex;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700;margin-bottom:var(--ndw-spacing-xs)}.ndw-card-body{font-size:var(--ndw-font-size-sm)}.ndw-card-footer{display:flex;gap:var(--ndw-spacing-xs);margin-top:var(--ndw-spacing-xs);font-size:var(--ndw-font-size-sm)}\n"] }]
9
+ args: [{ selector: 'ndw-card', standalone: true, imports: [], template: "<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n", styles: [":host{display:grid;border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);padding:var(--ndw-spacing-lg);box-shadow:var(--ndw-elevation-content)}:host[cardModal] .ndw-card-body{max-height:100%;overflow-y:auto;width:500px}:host[cardModal] .ndw-card-footer{display:flex;justify-content:flex-end;gap:var(--ndw-spacing-md)}.ndw-card-title{display:flex;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700;margin-bottom:var(--ndw-spacing-xs)}.ndw-card-body{font-size:var(--ndw-font-size-sm)}.ndw-card-footer{display:flex;gap:var(--ndw-spacing-xs);margin-top:var(--ndw-spacing-xs);font-size:var(--ndw-font-size-sm)}\n"] }]
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTtrR0FBYixhQUFhLG9FQ1QxQix3UUFRTTs7MkZEQ08sYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJuZHctY2FyZC10aXRsZVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibmR3LWNhcmQtYm9keVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJuZHctY2FyZC1mb290ZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTtrR0FBYixhQUFhLG9FQ1QxQiwwUUFTQTs7MkZEQWEsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJuZHctY2FyZC10aXRsZVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibmR3LWNhcmQtYm9keVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJuZHctY2FyZC1mb290ZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { animate, group, state, style, transition, trigger } from '@angular/animations';
2
+ export const collapsibleAnimation = [
3
+ trigger('collapsible', [
4
+ state('in', style({
5
+ 'max-height': '100vh',
6
+ opacity: '1',
7
+ visibility: 'visible',
8
+ })),
9
+ state('out', style({
10
+ 'max-height': '0',
11
+ opacity: '0',
12
+ visibility: 'hidden',
13
+ })),
14
+ transition('in => out', [
15
+ group([
16
+ animate('500ms ease-in-out', style({
17
+ 'max-height': '0px',
18
+ opacity: '0',
19
+ visibility: 'hidden',
20
+ })),
21
+ ]),
22
+ ]),
23
+ transition('out => in', [
24
+ group([
25
+ animate('300ms ease-in-out', style({
26
+ opacity: '1',
27
+ })),
28
+ animate('500ms ease-in-out', style({
29
+ 'max-height': '100vh',
30
+ visibility: 'visible',
31
+ })),
32
+ ]),
33
+ ]),
34
+ ]),
35
+ ];
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxPQUFPLENBQUMsYUFBYSxFQUFFO1FBQ3JCLEtBQUssQ0FDSCxJQUFJLEVBQ0osS0FBSyxDQUFDO1lBQ0osWUFBWSxFQUFFLE9BQU87WUFDckIsT0FBTyxFQUFFLEdBQUc7WUFDWixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDLENBQ0g7UUFDRCxLQUFLLENBQ0gsS0FBSyxFQUNMLEtBQUssQ0FBQztZQUNKLFlBQVksRUFBRSxHQUFHO1lBQ2pCLE9BQU8sRUFBRSxHQUFHO1lBQ1osVUFBVSxFQUFFLFFBQVE7U0FDckIsQ0FBQyxDQUNIO1FBQ0QsVUFBVSxDQUFDLFdBQVcsRUFBRTtZQUN0QixLQUFLLENBQUM7Z0JBQ0osT0FBTyxDQUNMLG1CQUFtQixFQUNuQixLQUFLLENBQUM7b0JBQ0osWUFBWSxFQUFFLEtBQUs7b0JBQ25CLE9BQU8sRUFBRSxHQUFHO29CQUNaLFVBQVUsRUFBRSxRQUFRO2lCQUNyQixDQUFDLENBQ0g7YUFDRixDQUFDO1NBQ0gsQ0FBQztRQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7WUFDdEIsS0FBSyxDQUFDO2dCQUNKLE9BQU8sQ0FDTCxtQkFBbUIsRUFDbkIsS0FBSyxDQUFDO29CQUNKLE9BQU8sRUFBRSxHQUFHO2lCQUNiLENBQUMsQ0FDSDtnQkFDRCxPQUFPLENBQ0wsbUJBQW1CLEVBQ25CLEtBQUssQ0FBQztvQkFDSixZQUFZLEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLFNBQVM7aUJBQ3RCLENBQUMsQ0FDSDthQUNGLENBQUM7U0FDSCxDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBjb2xsYXBzaWJsZUFuaW1hdGlvbiA9IFtcbiAgdHJpZ2dlcignY29sbGFwc2libGUnLCBbXG4gICAgc3RhdGUoXG4gICAgICAnaW4nLFxuICAgICAgc3R5bGUoe1xuICAgICAgICAnbWF4LWhlaWdodCc6ICcxMDB2aCcsXG4gICAgICAgIG9wYWNpdHk6ICcxJyxcbiAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBzdGF0ZShcbiAgICAgICdvdXQnLFxuICAgICAgc3R5bGUoe1xuICAgICAgICAnbWF4LWhlaWdodCc6ICcwJyxcbiAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgIH0pLFxuICAgICksXG4gICAgdHJhbnNpdGlvbignaW4gPT4gb3V0JywgW1xuICAgICAgZ3JvdXAoW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICc1MDBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgJ21heC1oZWlnaHQnOiAnMHB4JyxcbiAgICAgICAgICAgIG9wYWNpdHk6ICcwJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW1xuICAgICAgZ3JvdXAoW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICczMDBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogJzEnLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICc1MDBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgJ21heC1oZWlnaHQnOiAnMTAwdmgnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0pLFxuXTtcbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  import { NgClass } from '@angular/common';
2
- import { Component, HostBinding, inject, input, model } from '@angular/core';
2
+ import { Component, HostBinding, computed, inject, input, model } from '@angular/core';
3
3
  import { AccordionService } from '../accordion';
4
4
  import { BadgeComponent } from '../badge';
5
5
  import { IconComponent } from '../icon';
6
+ import { collapsibleAnimation } from './collapsible.animation';
6
7
  import * as i0 from "@angular/core";
7
8
  export class CollapsibleComponent {
8
9
  constructor() {
@@ -11,6 +12,7 @@ export class CollapsibleComponent {
11
12
  this.value = input();
12
13
  this.expanded = model(false);
13
14
  this.accordionService = inject(AccordionService);
15
+ this.animationState = computed(() => (this.expanded() ? 'in' : 'out'));
14
16
  }
15
17
  get expandedClass() {
16
18
  return this.expanded();
@@ -19,7 +21,7 @@ export class CollapsibleComponent {
19
21
  this.toggle();
20
22
  }
21
23
  onKeydown(event) {
22
- if (event.key !== 'Enter' && event.key !== ' ') {
24
+ if (event.key !== 'Enter') {
23
25
  return;
24
26
  }
25
27
  event.preventDefault();
@@ -32,17 +34,13 @@ export class CollapsibleComponent {
32
34
  }
33
35
  }
34
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", 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": "this.expandedClass" } }, ngImport: i0, template: "<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section>\n <ng-content />\n</section>\n", styles: ["header{align-items:center;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);cursor:pointer;display:flex;gap:var(--ndw-spacing-xs);justify-content:space-between;padding-block:var(--ndw-spacing-md);transition:color var(--ndw-animation-speed-default) ease-in-out}header .title{display:flex;gap:var(--ndw-spacing-xs)}header ndw-icon{color:var(--ndw-color-primary);height:var(--ndw-spacing-lg);transition:transform var(--ndw-animation-speed-default) ease-in-out;width:var(--ndw-spacing-lg)}header:hover{color:var(--ndw-color-primary)}header:active,header:focus{box-shadow:var(--ndw-elevation-info);color:var(--ndw-color-primary);outline:none}section{display:none;height:0;margin-bottom:0;overflow:hidden;transition:height var(--ndw-animation-speed-slow) ease-in-out}:host(.expanded) header ndw-icon{transform:rotate(-180deg)}:host(.expanded) section{display:block;height:fit-content;margin-bottom:var(--ndw-spacing-md)}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }] }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", 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": "this.expandedClass" } }, ngImport: i0, template: "<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section [@collapsible]=\"animationState()\">\n <ng-content />\n</section>\n", styles: [":host{display:block;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}header{align-items:center;cursor:pointer;display:flex;font-size:var(--ndw-font-size-sm);gap:var(--ndw-spacing-xs);justify-content:space-between;padding-block:var(--ndw-spacing-md);transition:color var(--ndw-animation-speed-fast) ease-in-out}header .title{display:flex;gap:var(--ndw-spacing-xs)}header ndw-icon{color:var(--ndw-color-primary);height:var(--ndw-spacing-lg);transition:transform var(--ndw-animation-speed-fast) ease-in-out;width:var(--ndw-spacing-lg)}header:hover{color:var(--ndw-color-primary)}header:focus-visible{box-shadow:var(--ndw-elevation-info);color:var(--ndw-color-primary);outline:none}section{display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-slow) ease-in-out}:host(.expanded) header ndw-icon{transform:rotate(-180deg)}:host(.expanded) section{display:block;margin-block:var(--ndw-spacing-sm) var(--ndw-spacing-md)}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }], animations: [collapsibleAnimation] }); }
36
38
  }
37
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CollapsibleComponent, decorators: [{
38
40
  type: Component,
39
- args: [{ selector: 'ndw-collapsible', standalone: true, imports: [
40
- BadgeComponent,
41
- IconComponent,
42
- NgClass,
43
- ], template: "<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section>\n <ng-content />\n</section>\n", styles: ["header{align-items:center;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);cursor:pointer;display:flex;gap:var(--ndw-spacing-xs);justify-content:space-between;padding-block:var(--ndw-spacing-md);transition:color var(--ndw-animation-speed-default) ease-in-out}header .title{display:flex;gap:var(--ndw-spacing-xs)}header ndw-icon{color:var(--ndw-color-primary);height:var(--ndw-spacing-lg);transition:transform var(--ndw-animation-speed-default) ease-in-out;width:var(--ndw-spacing-lg)}header:hover{color:var(--ndw-color-primary)}header:active,header:focus{box-shadow:var(--ndw-elevation-info);color:var(--ndw-color-primary);outline:none}section{display:none;height:0;margin-bottom:0;overflow:hidden;transition:height var(--ndw-animation-speed-slow) ease-in-out}:host(.expanded) header ndw-icon{transform:rotate(-180deg)}:host(.expanded) section{display:block;height:fit-content;margin-bottom:var(--ndw-spacing-md)}\n"] }]
41
+ args: [{ selector: 'ndw-collapsible', standalone: true, imports: [BadgeComponent, IconComponent, NgClass], animations: [collapsibleAnimation], template: "<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section [@collapsible]=\"animationState()\">\n <ng-content />\n</section>\n", styles: [":host{display:block;border-bottom:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}header{align-items:center;cursor:pointer;display:flex;font-size:var(--ndw-font-size-sm);gap:var(--ndw-spacing-xs);justify-content:space-between;padding-block:var(--ndw-spacing-md);transition:color var(--ndw-animation-speed-fast) ease-in-out}header .title{display:flex;gap:var(--ndw-spacing-xs)}header ndw-icon{color:var(--ndw-color-primary);height:var(--ndw-spacing-lg);transition:transform var(--ndw-animation-speed-fast) ease-in-out;width:var(--ndw-spacing-lg)}header:hover{color:var(--ndw-color-primary)}header:focus-visible{box-shadow:var(--ndw-elevation-info);color:var(--ndw-color-primary);outline:none}section{display:none;height:fit-content;margin-block:0;overflow:hidden;transition:height var(--ndw-animation-speed-slow) ease-in-out}:host(.expanded) header ndw-icon{transform:rotate(-180deg)}:host(.expanded) section{display:block;margin-block:var(--ndw-spacing-sm) var(--ndw-spacing-md)}\n"] }]
44
42
  }], propDecorators: { expandedClass: [{
45
43
  type: HostBinding,
46
44
  args: ['class.expanded']
47
45
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9jb2xsYXBzaWJsZS9jb2xsYXBzaWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFheEMsTUFBTSxPQUFPLG9CQUFvQjtJQVhqQztRQVlTLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVkLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMEI5RDtJQXhCQyxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQzs4R0FoQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IseXFCQ2xCakMsOFNBWUEsbytCRERJLGNBQWMseUVBQ2QsYUFBYTs7MkZBTUosb0JBQW9CO2tCQVhoQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsT0FBTztxQkFDUjs4QkFjVSxhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWNjb3JkaW9uU2VydmljZSB9IGZyb20gJy4uL2FjY29yZGlvbic7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWNvbGxhcHNpYmxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNpYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvbGxhcHNpYmxlLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBpbmRleCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgcHVibGljIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdmFsdWUgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGV4cGFuZGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uU2VydmljZSA9IGluamVjdChBY2NvcmRpb25TZXJ2aWNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV4cGFuZGVkJylcbiAgcHVibGljIGdldCBleHBhbmRlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMudG9nZ2xlKCk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkLnNldCghdGhpcy5leHBhbmRlZCgpKTtcbiAgICBpZiAodGhpcy5leHBhbmRlZCgpKSB7XG4gICAgICB0aGlzLmFjY29yZGlvblNlcnZpY2Uuc2V0RXhwYW5kZWRDb2xsYXBzaWJsZSh0aGlzLmluZGV4KCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGhlYWRlciB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwib25DbGljaygpXCIgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAge3sgdGl0bGUoKSB9fVxuICAgIEBpZiAodmFsdWUoKTsgYXMgdmFsdWUpIHtcbiAgICAgIDxuZHctYmFkZ2UgW3ZhbHVlXT1cInZhbHVlXCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuICA8bmR3LWljb24gbmFtZT1cImNoZXZyb24tZG93blwiIC8+XG48L2hlYWRlcj5cbjxzZWN0aW9uPlxuICA8bmctY29udGVudCAvPlxuPC9zZWN0aW9uPlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9jb2xsYXBzaWJsZS9jb2xsYXBzaWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBVS9ELE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTUyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXhCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFZCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQU90RCxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBcUIxRTtJQTFCQyxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlNLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQzs4R0FsQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IseXFCQ2pCakMsa1ZBWUEseWhDREFZLGNBQWMseUVBQUUsYUFBYSx3RUFHM0IsQ0FBQyxvQkFBb0IsQ0FBQzs7MkZBRXZCLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxjQUdyQyxDQUFDLG9CQUFvQixDQUFDOzhCQVl2QixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9iYWRnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IGNvbGxhcHNpYmxlQW5pbWF0aW9uIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS5hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctY29sbGFwc2libGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQmFkZ2VDb21wb25lbnQsIEljb25Db21wb25lbnQsIE5nQ2xhc3NdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGFwc2libGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGFwc2libGUuY29tcG9uZW50LnNjc3MnLFxuICBhbmltYXRpb25zOiBbY29sbGFwc2libGVBbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBpbmRleCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgcHVibGljIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdmFsdWUgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGV4cGFuZGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uU2VydmljZSA9IGluamVjdChBY2NvcmRpb25TZXJ2aWNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV4cGFuZGVkJylcbiAgcHVibGljIGdldCBleHBhbmRlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkKCk7XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5leHBhbmRlZCgpID8gJ2luJyA6ICdvdXQnKSk7XG5cbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZC5zZXQoIXRoaXMuZXhwYW5kZWQoKSk7XG4gICAgaWYgKHRoaXMuZXhwYW5kZWQoKSkge1xuICAgICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnNldEV4cGFuZGVkQ29sbGFwc2libGUodGhpcy5pbmRleCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoZWFkZXIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxuICAgIHt7IHRpdGxlKCkgfX1cbiAgICBAaWYgKHZhbHVlKCk7IGFzIHZhbHVlKSB7XG4gICAgICA8bmR3LWJhZGdlIFt2YWx1ZV09XCJ2YWx1ZVwiIC8+XG4gICAgfVxuICA8L2Rpdj5cbiAgPG5kdy1pY29uIG5hbWU9XCJjaGV2cm9uLWRvd25cIiAvPlxuPC9oZWFkZXI+XG48c2VjdGlvbiBbQGNvbGxhcHNpYmxlXT1cImFuaW1hdGlvblN0YXRlKClcIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -0,0 +1,99 @@
1
+ import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
2
+ import { Overlay } from '@angular/cdk/overlay';
3
+ import { TemplatePortal } from '@angular/cdk/portal';
4
+ import { DestroyRef, Directive, ElementRef, HostListener, ViewContainerRef, effect, inject, input, model, } from '@angular/core';
5
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
+ import { first } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ export class DropdownTriggerDirective {
9
+ toggle() {
10
+ if (!this.toggleOnClick()) {
11
+ return;
12
+ }
13
+ this.isOpen.set(!this.isOpen());
14
+ }
15
+ trapFocus() {
16
+ if (this.overlayRef?.overlayElement) {
17
+ this.focusTrapFactory.create(this.overlayRef?.overlayElement);
18
+ }
19
+ }
20
+ constructor() {
21
+ this.dropdownContent = input.required({ alias: 'ndwDropdownTrigger' });
22
+ this.toggleOnClick = input(true);
23
+ this.isOpen = model(false);
24
+ this.destroyRef = inject(DestroyRef);
25
+ this.elementRef = inject((ElementRef));
26
+ this.overlay = inject(Overlay);
27
+ this.viewContainerRef = inject(ViewContainerRef);
28
+ this.focusTrapFactory = inject(ConfigurableFocusTrapFactory);
29
+ effect(() => {
30
+ if (this.isOpen()) {
31
+ this.open();
32
+ }
33
+ else {
34
+ this.close();
35
+ }
36
+ });
37
+ }
38
+ ngOnDestroy() {
39
+ this.isOpen.set(false);
40
+ }
41
+ open() {
42
+ const position = {
43
+ originX: 'start',
44
+ originY: 'bottom',
45
+ overlayX: 'start',
46
+ overlayY: 'top',
47
+ offsetY: 4,
48
+ panelClass: 'ndw-dropdown-panel',
49
+ };
50
+ const templatePortal = new TemplatePortal(this.dropdownContent(), this.viewContainerRef);
51
+ this.overlayRef = this.overlay.create({
52
+ hasBackdrop: true,
53
+ backdropClass: 'cdk-overlay-transparent-backdrop',
54
+ scrollStrategy: this.overlay.scrollStrategies.reposition(),
55
+ positionStrategy: this.overlay
56
+ .position()
57
+ .flexibleConnectedTo(this.elementRef)
58
+ .withPositions([position]),
59
+ });
60
+ this.overlayRef.attach(templatePortal);
61
+ this.closeOverlayOnEscapeKey(this.overlayRef);
62
+ this.closeOverlayOnBackdropClick(this.overlayRef);
63
+ }
64
+ closeOverlayOnEscapeKey(overlayRef) {
65
+ overlayRef.overlayElement.onkeydown = (event) => {
66
+ if (event.key === 'Escape') {
67
+ this.isOpen.set(false);
68
+ }
69
+ };
70
+ }
71
+ closeOverlayOnBackdropClick(overlayRef) {
72
+ overlayRef
73
+ .backdropClick()
74
+ .pipe(takeUntilDestroyed(this.destroyRef), first())
75
+ .subscribe(() => {
76
+ this.isOpen.set(false);
77
+ });
78
+ }
79
+ close() {
80
+ this.overlayRef?.detach();
81
+ this.elementRef.nativeElement.focus();
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DropdownTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.0", type: DropdownTriggerDirective, isStandalone: true, selector: "[ndwDropdownTrigger]", inputs: { dropdownContent: { classPropertyName: "dropdownContent", publicName: "ndwDropdownTrigger", isSignal: true, isRequired: true, transformFunction: null }, toggleOnClick: { classPropertyName: "toggleOnClick", publicName: "toggleOnClick", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { listeners: { "click": "toggle()", "keydown.tab": "trapFocus()" } }, ngImport: i0 }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DropdownTriggerDirective, decorators: [{
87
+ type: Directive,
88
+ args: [{
89
+ selector: '[ndwDropdownTrigger]',
90
+ standalone: true,
91
+ }]
92
+ }], ctorParameters: () => [], propDecorators: { toggle: [{
93
+ type: HostListener,
94
+ args: ['click']
95
+ }], trapFocus: [{
96
+ type: HostListener,
97
+ args: ['keydown.tab']
98
+ }] } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFxQixPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFHWixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTdCLE1BQU0sT0FBTyx3QkFBd0I7SUFNNUIsTUFBTTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUdNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBVUQ7UUE1Qk8sb0JBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUF1QixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDeEYsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsV0FBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQWtCckIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQ3RFLFlBQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFLOUQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sSUFBSTtRQUNWLE1BQU0sUUFBUSxHQUFzQjtZQUNsQyxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLE9BQU8sRUFBRSxDQUFDO1lBQ1YsVUFBVSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDcEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztZQUNqRCxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU87aUJBQzNCLFFBQVEsRUFBRTtpQkFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUNwQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFVBQXNCO1FBQ3BELFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBUSxFQUFFO1lBQ25FLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxVQUFzQjtRQUN4RCxVQUFVO2FBQ1AsYUFBYSxFQUFFO2FBQ2YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNsRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0F6RlUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQU9RLE1BQU07c0JBRFosWUFBWTt1QkFBQyxPQUFPO2dCQVVkLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBPbkRlc3Ryb3ksXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZHdEcm9wZG93blRyaWdnZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGRyb3Bkb3duQ29udGVudCA9IGlucHV0LnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24+Pih7IGFsaWFzOiAnbmR3RHJvcGRvd25UcmlnZ2VyJyB9KTtcbiAgcHVibGljIHRvZ2dsZU9uQ2xpY2sgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIGlzT3BlbiA9IG1vZGVsKGZhbHNlKTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvZ2dsZU9uQ2xpY2soKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNPcGVuLnNldCghdGhpcy5pc09wZW4oKSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicpXG4gIHB1YmxpYyB0cmFwRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgZm9jdXNUcmFwRmFjdG9yeSA9IGluamVjdChDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5KTtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbigpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgIG9mZnNldFk6IDQsXG4gICAgICBwYW5lbENsYXNzOiAnbmR3LWRyb3Bkb3duLXBhbmVsJyxcbiAgICB9O1xuICAgIGNvbnN0IHRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZHJvcGRvd25Db250ZW50KCksIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXlcbiAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbcG9zaXRpb25dKSxcbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRlbXBsYXRlUG9ydGFsKTtcblxuICAgIHRoaXMuY2xvc2VPdmVybGF5T25Fc2NhcGVLZXkodGhpcy5vdmVybGF5UmVmKTtcbiAgICB0aGlzLmNsb3NlT3ZlcmxheU9uQmFja2Ryb3BDbGljayh0aGlzLm92ZXJsYXlSZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZU92ZXJsYXlPbkVzY2FwZUtleShvdmVybGF5UmVmOiBPdmVybGF5UmVmKTogdm9pZCB7XG4gICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5vbmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VPdmVybGF5T25CYWNrZHJvcENsaWNrKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpOiB2b2lkIHtcbiAgICBvdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSwgZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIl19
@@ -1,75 +1,20 @@
1
- import { Component, HostBinding, HostListener, input } from '@angular/core';
2
- import { OverlayModule } from '@angular/cdk/overlay';
1
+ import { ChangeDetectionStrategy, Component, computed, input, viewChild } from '@angular/core';
2
+ import { ButtonDirective } from '../button';
3
3
  import { IconComponent } from '../icon';
4
+ import { DropdownTriggerDirective } from './dropdown-trigger.directive';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/overlay";
6
6
  export class DropdownComponent {
7
7
  constructor() {
8
- this.dropdownId = `dropdown-${Math.random()}`;
9
- this.dropdownContainerId = `overlay-${Math.random()}`;
10
- this.label = input();
11
- this.placeholder = input();
12
- this.autoWidth = input(true);
13
- this.isOpen = false;
14
8
  this.disabled = input(false);
15
- this.autoClose = input(true);
16
- this.overlayPositions = [
17
- {
18
- originX: 'start',
19
- originY: 'bottom',
20
- overlayX: 'start',
21
- overlayY: 'top',
22
- },
23
- {
24
- originX: 'start',
25
- originY: 'bottom',
26
- overlayX: 'start',
27
- overlayY: 'bottom',
28
- },
29
- ];
30
- }
31
- get isActive() {
32
- return this.isOpen ? this.isOpen : null;
33
- }
34
- onClick() {
35
- if (!this.disabled()) {
36
- this.isOpen = !this.isOpen;
37
- }
38
- }
39
- onAttach() {
40
- const dropdownContainer = document.getElementById(this.dropdownContainerId);
41
- const dropdown = document.getElementById(this.dropdownId);
42
- if (dropdownContainer && dropdown && this.autoWidth()) {
43
- dropdownContainer.style.width = dropdown.offsetWidth + 'px';
44
- }
45
- }
46
- closeOverlay(event) {
47
- event.stopPropagation();
48
- this.isOpen = false;
49
- }
50
- onDropDownKeyDown(event) {
51
- if (event.key !== 'Enter' || this.disabled()) {
52
- return;
53
- }
54
- this.isOpen = !this.isOpen;
55
- }
56
- onKeyDown(event) {
57
- if (event.key !== 'Escape' || this.disabled()) {
58
- return;
59
- }
60
- this.isOpen = false;
9
+ this.dropdownTrigger = viewChild.required(DropdownTriggerDirective);
10
+ this.buttonIcon = computed(() => this.dropdownTrigger().isOpen() ? 'chevron-up' : 'chevron-down');
11
+ this.buttonText = input.required();
61
12
  }
62
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: DropdownComponent, isStandalone: true, selector: "ndw-dropdown", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, autoWidth: { classPropertyName: "autoWidth", publicName: "autoWidth", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.active": "this.isActive" } }, ngImport: i0, template: "<div\n class=\"ndw-dropdown\"\n [attr.tabindex]=\"disabled() ? null : 0\"\n [attr.disabled]=\"disabled() ? true : null\"\n [attr.active]=\"isOpen ? true : null\"\n #cdkOverlayOrigin\n [attr.id]=\"dropdownId\"\n (keydown)=\"onDropDownKeyDown($event)\">\n @if (label(); as label) {\n <span class=\"ndw-dropdown-label\">{{ label }}</span>\n }\n @else if (placeholder()) {\n <span class=\"ndw-dropdown-placeholder\">{{ placeholder() }}</span>\n }\n <ndw-icon class=\"ndw-dropdown-icon\" name=\"chevron-down\"/>\n</div>\n \n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayWidth]=\"'flexible'\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n (attach)=\"onAttach()\"\n (overlayOutsideClick)=\"autoClose() ? closeOverlay($event) : null\"\n (overlayKeydown)=\"onKeyDown($event)\"\n>\n <div class=\"ndw-dropdown-container\" [attr.id]=\"dropdownContainerId\">\n <ng-content select=\"[dropdownContent]\"/>\n </div>\n</ng-template>", styles: [":host{display:grid}:host[active] .ndw-dropdown{border:var(--ndw-border-size-sm) solid var(--ndw-color-primary)}:host[active] .ndw-dropdown-icon{transform:var(--ndw-rotate-half)}.ndw-dropdown{display:flex;align-items:center;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);position:relative;cursor:pointer;padding:var(--ndw-spacing-sm) var(--ndw-spacing-xl) var(--ndw-spacing-sm) var(--ndw-spacing-sm);border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);transition:var(--ndw-animation-speed-fast) ease-in-out;overflow:hidden}.ndw-dropdown[disabled]{background-color:var(--ndw-color-grey-100);pointer-events:none}.ndw-dropdown[disabled]:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}.ndw-dropdown[disabled] .ndw-dropdown-icon{color:var(--ndw-color-grey-300)}.ndw-dropdown[disabled] .ndw-dropdown-label{color:var(--ndw-color-grey-400)}.ndw-dropdown:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300)}.ndw-dropdown:focus-visible{border:var(--ndw-border-size-sm) solid var(--ndw-color-info-500);box-shadow:var(--ndw-elevation-info);outline:none}.ndw-dropdown .ndw-dropdown-label,.ndw-dropdown .ndw-dropdown-placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ndw-dropdown-placeholder{color:var(--ndw-color-grey-300)}.ndw-dropdown-container{margin-top:var(--ndw-spacing-2xs);padding:var(--ndw-spacing-sm);border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-dropdown)}.ndw-dropdown-icon{position:absolute;right:12px;color:var(--ndw-color-primary);height:var(--ndw-icon-size-lg);width:var(--ndw-icon-size-lg);transition:var(--ndw-animation-speed-fast) ease-in-out}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }] }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.0", type: DropdownComponent, isStandalone: true, selector: "ndw-dropdown", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, buttonText: { classPropertyName: "buttonText", publicName: "buttonText", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownTrigger", first: true, predicate: DropdownTriggerDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<button\n type=\"button\"\n ndwButton\n filter\n [ndwDropdownTrigger]=\"dropdownContent\"\n [disabled]=\"disabled()\"\n>\n {{ buttonText() }}\n <ndw-icon [name]=\"buttonIcon()\" />\n</button>\n<ng-template #dropdownContent>\n <ng-content />\n</ng-template>\n", styles: [":host{display:inline-block}button{width:100%;display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[ndwButton]" }, { kind: "directive", type: DropdownTriggerDirective, selector: "[ndwDropdownTrigger]", inputs: ["ndwDropdownTrigger", "toggleOnClick", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
15
  }
65
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
66
17
  type: Component,
67
- args: [{ selector: 'ndw-dropdown', standalone: true, imports: [OverlayModule, IconComponent], template: "<div\n class=\"ndw-dropdown\"\n [attr.tabindex]=\"disabled() ? null : 0\"\n [attr.disabled]=\"disabled() ? true : null\"\n [attr.active]=\"isOpen ? true : null\"\n #cdkOverlayOrigin\n [attr.id]=\"dropdownId\"\n (keydown)=\"onDropDownKeyDown($event)\">\n @if (label(); as label) {\n <span class=\"ndw-dropdown-label\">{{ label }}</span>\n }\n @else if (placeholder()) {\n <span class=\"ndw-dropdown-placeholder\">{{ placeholder() }}</span>\n }\n <ndw-icon class=\"ndw-dropdown-icon\" name=\"chevron-down\"/>\n</div>\n \n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayWidth]=\"'flexible'\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n (attach)=\"onAttach()\"\n (overlayOutsideClick)=\"autoClose() ? closeOverlay($event) : null\"\n (overlayKeydown)=\"onKeyDown($event)\"\n>\n <div class=\"ndw-dropdown-container\" [attr.id]=\"dropdownContainerId\">\n <ng-content select=\"[dropdownContent]\"/>\n </div>\n</ng-template>", styles: [":host{display:grid}:host[active] .ndw-dropdown{border:var(--ndw-border-size-sm) solid var(--ndw-color-primary)}:host[active] .ndw-dropdown-icon{transform:var(--ndw-rotate-half)}.ndw-dropdown{display:flex;align-items:center;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-sm);position:relative;cursor:pointer;padding:var(--ndw-spacing-sm) var(--ndw-spacing-xl) var(--ndw-spacing-sm) var(--ndw-spacing-sm);border-radius:var(--ndw-border-radius-sm);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);transition:var(--ndw-animation-speed-fast) ease-in-out;overflow:hidden}.ndw-dropdown[disabled]{background-color:var(--ndw-color-grey-100);pointer-events:none}.ndw-dropdown[disabled]:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200)}.ndw-dropdown[disabled] .ndw-dropdown-icon{color:var(--ndw-color-grey-300)}.ndw-dropdown[disabled] .ndw-dropdown-label{color:var(--ndw-color-grey-400)}.ndw-dropdown:hover{border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300)}.ndw-dropdown:focus-visible{border:var(--ndw-border-size-sm) solid var(--ndw-color-info-500);box-shadow:var(--ndw-elevation-info);outline:none}.ndw-dropdown .ndw-dropdown-label,.ndw-dropdown .ndw-dropdown-placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ndw-dropdown-placeholder{color:var(--ndw-color-grey-300)}.ndw-dropdown-container{margin-top:var(--ndw-spacing-2xs);padding:var(--ndw-spacing-sm);border-radius:var(--ndw-border-radius-md);background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-dropdown)}.ndw-dropdown-icon{position:absolute;right:12px;color:var(--ndw-color-primary);height:var(--ndw-icon-size-lg);width:var(--ndw-icon-size-lg);transition:var(--ndw-animation-speed-fast) ease-in-out}\n"] }]
68
- }], propDecorators: { isActive: [{
69
- type: HostBinding,
70
- args: ['attr.active']
71
- }], onClick: [{
72
- type: HostListener,
73
- args: ['click', ['$event']]
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBcUIsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBVXhDLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRUyxlQUFVLEdBQUcsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN6Qyx3QkFBbUIsR0FBRyxXQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2pELFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixnQkFBVyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixxQkFBZ0IsR0FBd0I7WUFDN0M7Z0JBQ0UsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsUUFBUTthQUNuQjtTQUNGLENBQUM7S0F5Q0g7SUF2Q0MsSUFDYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFHTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM1RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxJQUFJLGlCQUFpQixJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN0RCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzlELENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUFvQjtRQUMzQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQzlDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0E5RFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbzBCQ1o5QixvaUNBOEJjLHV4RER0QkYsYUFBYSxpaUNBQUUsYUFBYTs7MkZBSTNCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQzs4QkE2QnpCLFFBQVE7c0JBRHJCLFdBQVc7dUJBQUMsYUFBYTtnQkFNbkIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1kcm9wZG93bicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHB1YmxpYyBkcm9wZG93bklkID0gYGRyb3Bkb3duLSR7TWF0aC5yYW5kb20oKX1gO1xuICBwdWJsaWMgZHJvcGRvd25Db250YWluZXJJZCA9IGBvdmVybGF5LSR7TWF0aC5yYW5kb20oKX1gO1xuICBwdWJsaWMgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIGF1dG9XaWR0aCA9IGlucHV0KHRydWUpO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGF1dG9DbG9zZSA9IGlucHV0KHRydWUpO1xuICBwdWJsaWMgb3ZlcmxheVBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIH0sXG4gIF07XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFjdGl2ZScpXG4gIHByb3RlY3RlZCBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbiA/IHRoaXMuaXNPcGVuIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkF0dGFjaCgpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93bkNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZHJvcGRvd25Db250YWluZXJJZCk7XG4gICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmRyb3Bkb3duSWQpO1xuXG4gICAgaWYgKGRyb3Bkb3duQ29udGFpbmVyICYmIGRyb3Bkb3duICYmIHRoaXMuYXV0b1dpZHRoKCkpIHtcbiAgICAgIGRyb3Bkb3duQ29udGFpbmVyLnN0eWxlLndpZHRoID0gZHJvcGRvd24ub2Zmc2V0V2lkdGggKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU92ZXJsYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRyb3BEb3duS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgfHwgdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFc2NhcGUnIHx8IHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwibmR3LWRyb3Bkb3duXCJcbiAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IG51bGwgOiAwXCJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSA/IHRydWUgOiBudWxsXCJcbiAgW2F0dHIuYWN0aXZlXT1cImlzT3BlbiA/IHRydWUgOiBudWxsXCJcbiAgI2Nka092ZXJsYXlPcmlnaW5cbiAgW2F0dHIuaWRdPVwiZHJvcGRvd25JZFwiXG4gIChrZXlkb3duKT1cIm9uRHJvcERvd25LZXlEb3duKCRldmVudClcIj5cbiAgQGlmIChsYWJlbCgpOyBhcyBsYWJlbCkge1xuICAgIDxzcGFuIGNsYXNzPVwibmR3LWRyb3Bkb3duLWxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gIH1cbiAgQGVsc2UgaWYgKHBsYWNlaG9sZGVyKCkpIHtcbiAgICA8c3BhbiBjbGFzcz1cIm5kdy1kcm9wZG93bi1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L3NwYW4+XG4gIH1cbiAgPG5kdy1pY29uIGNsYXNzPVwibmR3LWRyb3Bkb3duLWljb25cIiBuYW1lPVwiY2hldnJvbi1kb3duXCIvPlxuPC9kaXY+XG4gIFxuPG5nLXRlbXBsYXRlXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cIm92ZXJsYXlQb3NpdGlvbnNcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoXT1cIidmbGV4aWJsZSdcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiaXNPcGVuXCJcbiAgKGF0dGFjaCk9XCJvbkF0dGFjaCgpXCJcbiAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiYXV0b0Nsb3NlKCkgPyBjbG9zZU92ZXJsYXkoJGV2ZW50KSA6IG51bGxcIlxuICAob3ZlcmxheUtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuPlxuICA8ZGl2IGNsYXNzPVwibmR3LWRyb3Bkb3duLWNvbnRhaW5lclwiIFthdHRyLmlkXT1cImRyb3Bkb3duQ29udGFpbmVySWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJvcGRvd25Db250ZW50XVwiLz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
18
+ args: [{ selector: 'ndw-dropdown', standalone: true, imports: [ButtonDirective, DropdownTriggerDirective, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n ndwButton\n filter\n [ndwDropdownTrigger]=\"dropdownContent\"\n [disabled]=\"disabled()\"\n>\n {{ buttonText() }}\n <ndw-icon [name]=\"buttonIcon()\" />\n</button>\n<ng-template #dropdownContent>\n <ng-content />\n</ng-template>\n", styles: [":host{display:inline-block}button{width:100%;display:flex;justify-content:space-between}\n"] }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFVeEUsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVNrQixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQy9ELGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ2hFLENBQUM7UUFDYyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0tBQ3ZEOzhHQVBZLGlCQUFpQjtrR0FBakIsaUJBQWlCLDRZQUV5Qix3QkFBd0IsZ0VDZi9FLDRRQWFBLG9KREhZLGVBQWUsd0RBQUUsd0JBQXdCLHVKQUFFLGFBQWE7OzJGQUd2RCxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsY0FBYyxjQUdaLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLENBQUMsbUJBQ2xELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25EaXJlY3RpdmUsIERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRyb3Bkb3duVHJpZ2dlciA9IHZpZXdDaGlsZC5yZXF1aXJlZChEcm9wZG93blRyaWdnZXJEaXJlY3RpdmUpO1xuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uSWNvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5kcm9wZG93blRyaWdnZXIoKS5pc09wZW4oKSA/ICdjaGV2cm9uLXVwJyA6ICdjaGV2cm9uLWRvd24nLFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uVGV4dCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbn1cbiIsIjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIG5kd0J1dHRvblxuICBmaWx0ZXJcbiAgW25kd0Ryb3Bkb3duVHJpZ2dlcl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4+XG4gIHt7IGJ1dHRvblRleHQoKSB9fVxuICA8bmR3LWljb24gW25hbWVdPVwiYnV0dG9uSWNvbigpXCIgLz5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,2 +1,3 @@
1
+ export * from './dropdown-trigger.directive';
1
2
  export * from './dropdown.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, input, model, } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { IconComponent } from '../../icon';
5
+ import * as i0 from "@angular/core";
6
+ export class CheckboxComponent {
7
+ constructor() {
8
+ this.checked = model(false);
9
+ this.switch = input(false);
10
+ this.disabled = input(false);
11
+ this.error = input(false);
12
+ this.indeterminate = input(false);
13
+ this.required = input(false);
14
+ this.switched = model(false);
15
+ this.uuid = crypto.randomUUID();
16
+ }
17
+ get checkedClass() {
18
+ return this.checked();
19
+ }
20
+ get disabledClass() {
21
+ return this.disabled();
22
+ }
23
+ get indeterminateClass() {
24
+ return this.indeterminate();
25
+ }
26
+ get tabindexAttr() {
27
+ return this.disabled() ? -1 : 0;
28
+ }
29
+ onClick() {
30
+ this.checked.set(!this.checked());
31
+ if (this.switch()) {
32
+ this.switched.set(true);
33
+ }
34
+ }
35
+ onKeyDown(event) {
36
+ if (event.key !== 'Enter' || this.disabled()) {
37
+ return;
38
+ }
39
+ this.checked.set(!this.checked());
40
+ if (this.switch()) {
41
+ this.switched.set(true);
42
+ }
43
+ event.preventDefault();
44
+ }
45
+ writeValue(value) {
46
+ this.checked.set(value);
47
+ }
48
+ registerOnChange(fn) {
49
+ this.checked.subscribe(fn);
50
+ }
51
+ registerOnTouched() {
52
+ // noop
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CheckboxComponent, isStandalone: true, selector: "ndw-checkbox", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, switch: { classPropertyName: "switch", publicName: "switch", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, switched: { classPropertyName: "switched", publicName: "switched", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", switched: "switchedChange" }, host: { listeners: { "click": "onClick()", "keydown": "onKeyDown($event)" }, properties: { "class.checked": "this.checkedClass", "class.disabled": "this.disabledClass", "class.indeterminate": "this.indeterminateClass", "attr.tabindex": "this.tabindexAttr" } }, providers: [
56
+ {
57
+ provide: NG_VALUE_ACCESSOR,
58
+ useExisting: CheckboxComponent,
59
+ multi: true,
60
+ },
61
+ ], ngImport: i0, template: "<input\n type=\"checkbox\"\n [id]=\"'checkbox-' + uuid\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n/>\n@if (!switch()) {\n <div class=\"checkbox\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else if (indeterminate()) {\n <ndw-icon name=\"minus\" />\n }\n </div>\n} @else {\n <div class=\"switch\" [ngClass]=\"{ error: error(), switched: switched() }\">\n <div class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else {\n <ndw-icon name=\"x\" />\n }\n </div>\n </div>\n}\n<label tabindex=\"-1\" [for]=\"'checkbox-' + uuid\" (click)=\"onClick()\" (keydown)=\"onKeyDown($event)\">\n <ng-content />\n</label>\n", styles: [":host{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ndw-spacing-xs);height:1.375rem;width:fit-content}input{display:none}.checkbox{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-white);display:flex;height:1.25rem;position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-in-out,border-color var(--ndw-animation-speed-fast) ease-in-out,box-shadow var(--ndw-animation-speed-fast) ease-in-out;width:1.25rem}.checkbox ndw-icon{height:calc(100% * var(--ndw-border-size-sm) * 2);inset:calc(var(--ndw-border-size-sm) * -1);position:absolute;width:calc(100% * var(--ndw-border-size-sm) * 2)}.checkbox.error{background-color:var(--ndw-color-negative-100);border-color:var(--ndw-color-negative-500)}.switch{width:2.75rem;height:var(--ndw-spacing-lg);border-radius:calc(var(--ndw-spacing-lg) / 2);background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-border-size-lg);transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out}.switch.switched .switch-icon{animation:translateToLeft var(--ndw-animation-speed-fast) ease-out forwards}.switch .switch-icon{background-color:var(--ndw-color-grey-300);border-radius:50%;width:var(--ndw-spacing-md);height:var(--ndw-spacing-md);display:flex;align-items:center;justify-content:center}.switch .switch-icon ndw-icon{color:var(--ndw-color-white);width:var(--ndw-spacing-sm);height:var(--ndw-spacing-sm)}label{font-family:var(--ndw-font-family);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;color:var(--ndw-color-grey-600);cursor:pointer;display:flex;margin-top:var(--ndw-spacing-2xs);width:fit-content}label:focus{outline:none}:host(.checked) .checkbox,:host(.indeterminate) .checkbox{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) .checkbox.error,:host(.indeterminate) .checkbox.error{background-color:var(--ndw-color-negative-500);border-color:var(--ndw-color-negative-500)}:host(.checked) .switch,:host(.indeterminate) .switch{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) .switch .switch-icon,:host(.indeterminate) .switch .switch-icon{background-color:var(--ndw-color-white);animation:translateToRight var(--ndw-animation-speed-fast) ease-out forwards}:host(.checked) .switch .switch-icon ndw-icon,:host(.indeterminate) .switch .switch-icon ndw-icon{color:var(--ndw-color-positive-500)}:host(:hover) .checkbox{background-color:var(--ndw-color-white);border-color:var(--ndw-color-primary-500)}:host(:hover) .switch{background-color:var(--ndw-color-white);border-color:var(--ndw-color-grey-500)}:host(:hover) .switch ndw-icon{color:var(--ndw-color-white)}:host(.checked:hover) .checkbox,:host(.indeterminate:hover) .checkbox{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(.checked:hover) .switch,:host(.indeterminate:hover) .switch{background-color:var(--ndw-color-positive-600);border-color:var(--ndw-color-positive-600)}:host(.checked:hover) .switch ndw-icon,:host(.indeterminate:hover) .switch ndw-icon{color:var(--ndw-color-positive-600)}:host(:focus){outline:none}:host(:focus) .checkbox{box-shadow:var(--ndw-elevation-info)}:host(:focus) .switch{border-color:var(--ndw-color-info-500);box-shadow:var(--ndw-elevation-info)}:host(:active) .checkbox,:host(:focus) .checkbox,:host(:not(.checked):active) .checkbox,:host(:not(.indeterminate):active) .checkbox{border-color:var(--ndw-color-info-500)}:host(:active) .switch,:host(:focus) .switch,:host(:not(.checked):active) .switch,:host(:not(.indeterminate):active) .switch{border-color:var(--ndw-color-info-500)}:host(.checked:focus) .checkbox,:host(.indeterminate:focus) .checkbox{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) .checkbox{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) label{color:var(--ndw-color-grey-400)}:host(.disabled) .switch{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) .switch .switch-icon{background-color:var(--ndw-color-grey-200)}:host(.disabled) .switch .switch-icon ndw-icon{background-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .checkbox,:host(.indeterminate.disabled) .checkbox{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .switch,:host(.indeterminate.disabled) .switch{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .switch .switch-icon,:host(.indeterminate.disabled) .switch .switch-icon{background-color:var(--ndw-color-white)}:host(.checked.disabled) .switch .switch-icon ndw-icon,:host(.indeterminate.disabled) .switch .switch-icon ndw-icon{background-color:var(--ndw-color-white);color:var(--ndw-color-grey-200)}@keyframes translateToRight{0%{transform:translate(0);background-color:var(--ndw-color-grey-300)}to{transform:translate(20px);background-color:var(--ndw-color-white)}}@keyframes translateToLeft{0%{transform:translate(20px);background-color:var(--ndw-color-white)}to{transform:translate(0);background-color:var(--ndw-color-grey-300)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'ndw-checkbox', standalone: true, imports: [IconComponent, NgClass], providers: [
66
+ {
67
+ provide: NG_VALUE_ACCESSOR,
68
+ useExisting: CheckboxComponent,
69
+ multi: true,
70
+ },
71
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n type=\"checkbox\"\n [id]=\"'checkbox-' + uuid\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n/>\n@if (!switch()) {\n <div class=\"checkbox\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else if (indeterminate()) {\n <ndw-icon name=\"minus\" />\n }\n </div>\n} @else {\n <div class=\"switch\" [ngClass]=\"{ error: error(), switched: switched() }\">\n <div class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else {\n <ndw-icon name=\"x\" />\n }\n </div>\n </div>\n}\n<label tabindex=\"-1\" [for]=\"'checkbox-' + uuid\" (click)=\"onClick()\" (keydown)=\"onKeyDown($event)\">\n <ng-content />\n</label>\n", styles: [":host{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ndw-spacing-xs);height:1.375rem;width:fit-content}input{display:none}.checkbox{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);color:var(--ndw-color-white);display:flex;height:1.25rem;position:relative;transition:background-color var(--ndw-animation-speed-fast) ease-in-out,border-color var(--ndw-animation-speed-fast) ease-in-out,box-shadow var(--ndw-animation-speed-fast) ease-in-out;width:1.25rem}.checkbox ndw-icon{height:calc(100% * var(--ndw-border-size-sm) * 2);inset:calc(var(--ndw-border-size-sm) * -1);position:absolute;width:calc(100% * var(--ndw-border-size-sm) * 2)}.checkbox.error{background-color:var(--ndw-color-negative-100);border-color:var(--ndw-color-negative-500)}.switch{width:2.75rem;height:var(--ndw-spacing-lg);border-radius:calc(var(--ndw-spacing-lg) / 2);background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);padding:var(--ndw-border-size-lg);transition:background-color var(--ndw-animation-speed-fast) ease-out,border-color var(--ndw-animation-speed-fast) ease-out,box-shadow var(--ndw-animation-speed-fast) ease-out}.switch.switched .switch-icon{animation:translateToLeft var(--ndw-animation-speed-fast) ease-out forwards}.switch .switch-icon{background-color:var(--ndw-color-grey-300);border-radius:50%;width:var(--ndw-spacing-md);height:var(--ndw-spacing-md);display:flex;align-items:center;justify-content:center}.switch .switch-icon ndw-icon{color:var(--ndw-color-white);width:var(--ndw-spacing-sm);height:var(--ndw-spacing-sm)}label{font-family:var(--ndw-font-family);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;color:var(--ndw-color-grey-600);cursor:pointer;display:flex;margin-top:var(--ndw-spacing-2xs);width:fit-content}label:focus{outline:none}:host(.checked) .checkbox,:host(.indeterminate) .checkbox{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) .checkbox.error,:host(.indeterminate) .checkbox.error{background-color:var(--ndw-color-negative-500);border-color:var(--ndw-color-negative-500)}:host(.checked) .switch,:host(.indeterminate) .switch{background-color:var(--ndw-color-positive-500);border-color:var(--ndw-color-positive-500)}:host(.checked) .switch .switch-icon,:host(.indeterminate) .switch .switch-icon{background-color:var(--ndw-color-white);animation:translateToRight var(--ndw-animation-speed-fast) ease-out forwards}:host(.checked) .switch .switch-icon ndw-icon,:host(.indeterminate) .switch .switch-icon ndw-icon{color:var(--ndw-color-positive-500)}:host(:hover) .checkbox{background-color:var(--ndw-color-white);border-color:var(--ndw-color-primary-500)}:host(:hover) .switch{background-color:var(--ndw-color-white);border-color:var(--ndw-color-grey-500)}:host(:hover) .switch ndw-icon{color:var(--ndw-color-white)}:host(.checked:hover) .checkbox,:host(.indeterminate:hover) .checkbox{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(.checked:hover) .switch,:host(.indeterminate:hover) .switch{background-color:var(--ndw-color-positive-600);border-color:var(--ndw-color-positive-600)}:host(.checked:hover) .switch ndw-icon,:host(.indeterminate:hover) .switch ndw-icon{color:var(--ndw-color-positive-600)}:host(:focus){outline:none}:host(:focus) .checkbox{box-shadow:var(--ndw-elevation-info)}:host(:focus) .switch{border-color:var(--ndw-color-info-500);box-shadow:var(--ndw-elevation-info)}:host(:active) .checkbox,:host(:focus) .checkbox,:host(:not(.checked):active) .checkbox,:host(:not(.indeterminate):active) .checkbox{border-color:var(--ndw-color-info-500)}:host(:active) .switch,:host(:focus) .switch,:host(:not(.checked):active) .switch,:host(:not(.indeterminate):active) .switch{border-color:var(--ndw-color-info-500)}:host(.checked:focus) .checkbox,:host(.indeterminate:focus) .checkbox{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) .checkbox{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) label{color:var(--ndw-color-grey-400)}:host(.disabled) .switch{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) .switch .switch-icon{background-color:var(--ndw-color-grey-200)}:host(.disabled) .switch .switch-icon ndw-icon{background-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .checkbox,:host(.indeterminate.disabled) .checkbox{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .switch,:host(.indeterminate.disabled) .switch{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}:host(.checked.disabled) .switch .switch-icon,:host(.indeterminate.disabled) .switch .switch-icon{background-color:var(--ndw-color-white)}:host(.checked.disabled) .switch .switch-icon ndw-icon,:host(.indeterminate.disabled) .switch .switch-icon ndw-icon{background-color:var(--ndw-color-white);color:var(--ndw-color-grey-200)}@keyframes translateToRight{0%{transform:translate(0);background-color:var(--ndw-color-grey-300)}to{transform:translate(20px);background-color:var(--ndw-color-white)}}@keyframes translateToLeft{0%{transform:translate(20px);background-color:var(--ndw-color-white)}to{transform:translate(0);background-color:var(--ndw-color-grey-300)}}\n"] }]
72
+ }], propDecorators: { checkedClass: [{
73
+ type: HostBinding,
74
+ args: ['class.checked']
75
+ }], disabledClass: [{
76
+ type: HostBinding,
77
+ args: ['class.disabled']
78
+ }], indeterminateClass: [{
79
+ type: HostBinding,
80
+ args: ['class.indeterminate']
81
+ }], tabindexAttr: [{
82
+ type: HostBinding,
83
+ args: ['attr.tabindex']
84
+ }], onClick: [{
85
+ type: HostListener,
86
+ args: ['click']
87
+ }], onKeyDown: [{
88
+ type: HostListener,
89
+ args: ['keydown', ['$event']]
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFpQjNDLE1BQU0sT0FBTyxpQkFBaUI7SUFmOUI7UUFnQlMsWUFBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixXQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixrQkFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQXVEbkM7SUFyREMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ1csa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUdNLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFHTSxTQUFTLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBNEI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPO0lBQ1QsQ0FBQzs4R0EvRFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbXhDQVhqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN2QkgsZ3hCQTZCQSw2L0tEYlksYUFBYSxzRkFBRSxPQUFPOzsyRkFZckIsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQ3RCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFjcEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxlQUFlO2dCQU1qQixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNbEIsa0JBQWtCO3NCQUQ1QixXQUFXO3VCQUFDLHFCQUFxQjtnQkFNdkIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxlQUFlO2dCQU1yQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTztnQkFVZCxTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbnB1dCxcbiAgbW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1jaGVja2JveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBOZ0NsYXNzXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBjaGVja2VkID0gbW9kZWwoZmFsc2UpO1xuICBwdWJsaWMgc3dpdGNoID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBlcnJvciA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGluZGV0ZXJtaW5hdGUgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIHN3aXRjaGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIHB1YmxpYyB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNoZWNrZWQnKVxuICBwdWJsaWMgZ2V0IGNoZWNrZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJylcbiAgcHVibGljIGdldCBkaXNhYmxlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmluZGV0ZXJtaW5hdGUnKVxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGVDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmRldGVybWluYXRlKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwdWJsaWMgZ2V0IHRhYmluZGV4QXR0cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkKCkgPyAtMSA6IDA7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZC5zZXQoIXRoaXMuY2hlY2tlZCgpKTtcblxuICAgIGlmICh0aGlzLnN3aXRjaCgpKSB7XG4gICAgICB0aGlzLnN3aXRjaGVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgfHwgdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGVja2VkLnNldCghdGhpcy5jaGVja2VkKCkpO1xuICAgIGlmICh0aGlzLnN3aXRjaCgpKSB7XG4gICAgICB0aGlzLnN3aXRjaGVkLnNldCh0cnVlKTtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnN1YnNjcmliZShmbik7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gICAgLy8gbm9vcFxuICB9XG59XG4iLCI8aW5wdXRcbiAgdHlwZT1cImNoZWNrYm94XCJcbiAgW2lkXT1cIidjaGVja2JveC0nICsgdXVpZFwiXG4gIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuLz5cbkBpZiAoIXN3aXRjaCgpKSB7XG4gIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCkgfVwiPlxuICAgIEBpZiAoY2hlY2tlZCgpKSB7XG4gICAgICA8bmR3LWljb24gbmFtZT1cImNoZWNrXCIgLz5cbiAgICB9IEBlbHNlIGlmIChpbmRldGVybWluYXRlKCkpIHtcbiAgICAgIDxuZHctaWNvbiBuYW1lPVwibWludXNcIiAvPlxuICAgIH1cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInN3aXRjaFwiIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCksIHN3aXRjaGVkOiBzd2l0Y2hlZCgpIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3dpdGNoLWljb25cIj5cbiAgICAgIEBpZiAoY2hlY2tlZCgpKSB7XG4gICAgICAgIDxuZHctaWNvbiBuYW1lPVwiY2hlY2tcIiAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZHctaWNvbiBuYW1lPVwieFwiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuPGxhYmVsIHRhYmluZGV4PVwiLTFcIiBbZm9yXT1cIidjaGVja2JveC0nICsgdXVpZFwiIChjbGljayk9XCJvbkNsaWNrKClcIiAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiPlxuICA8bmctY29udGVudCAvPlxuPC9sYWJlbD5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './checkbox.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9jaGVja2JveC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CheckboxGroupComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CheckboxGroupComponent, isStandalone: true, selector: "ndw-checkbox-group", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'ndw-checkbox-group', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCO2tHQUF0QixzQkFBc0IsOEVDVG5DLGtCQUNBOzsyRkRRYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1jaGVja2JveC1ncm91cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudCAvPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './checkbox-group.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9jaGVja2JveC1ncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import { IconComponent } from '../../icon';
3
+ import * as i0 from "@angular/core";
4
+ export class ErrorComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ErrorComponent, isStandalone: true, selector: "ndw-error", ngImport: i0, template: "<ndw-icon name=\"error\" />\n<ng-content />\n", styles: [":host{align-content:center;align-items:center;color:var(--ndw-color-negative-700);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;height:1rem;line-height:100%}ndw-icon{width:.875rem}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'ndw-error', standalone: true, imports: [IconComponent], template: "<ndw-icon name=\"error\" />\n<ng-content />\n", styles: [":host{align-content:center;align-items:center;color:var(--ndw-color-negative-700);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;height:1rem;line-height:100%}ndw-icon{width:.875rem}\n"] }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjO2tHQUFkLGNBQWMscUVDWDNCLCtDQUVBLDhVREtZLGFBQWE7OzJGQUlaLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1lcnJvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQge31cbiIsIjxuZHctaWNvbiBuYW1lPVwiZXJyb3JcIiAvPlxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './error.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9lcnJvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvci5jb21wb25lbnQnO1xuIl19