@nanahoshi/mona-ui 0.1.0 → 0.2.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 (176) hide show
  1. package/auto-complete/package.json +4 -0
  2. package/avatar/package.json +4 -0
  3. package/breadcrumb/package.json +4 -0
  4. package/button/package.json +4 -0
  5. package/button-group/package.json +4 -0
  6. package/calendar/package.json +4 -0
  7. package/check-box/package.json +4 -0
  8. package/chip/package.json +4 -0
  9. package/circular-progress-bar/package.json +4 -0
  10. package/color-gradient/package.json +4 -0
  11. package/color-palette/package.json +4 -0
  12. package/color-picker/package.json +4 -0
  13. package/combo-box/package.json +4 -0
  14. package/common/package.json +4 -0
  15. package/contextmenu/package.json +4 -0
  16. package/date-input/package.json +4 -0
  17. package/date-picker/package.json +4 -0
  18. package/datetime-picker/package.json +4 -0
  19. package/dialog/package.json +4 -0
  20. package/dropdown-button/package.json +4 -0
  21. package/dropdown-list/package.json +4 -0
  22. package/dropdowns/package.json +4 -0
  23. package/editor/package.json +4 -0
  24. package/expansion-panel/package.json +4 -0
  25. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +40 -55
  26. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +24 -58
  27. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +37 -48
  28. package/fesm2022/nanahoshi-mona-ui-button.mjs +130 -129
  29. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +69 -165
  30. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +81 -128
  31. package/fesm2022/nanahoshi-mona-ui-chip.mjs +102 -112
  32. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +11 -25
  33. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +41 -92
  34. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +27 -49
  35. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +64 -65
  36. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +39 -61
  37. package/fesm2022/nanahoshi-mona-ui-date-input.mjs +12 -15
  38. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +44 -33
  39. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +58 -60
  40. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +52 -165
  41. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +36 -59
  42. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +56 -61
  43. package/fesm2022/nanahoshi-mona-ui-editor.mjs +302 -81
  44. package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +33 -84
  45. package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +12 -45
  46. package/fesm2022/nanahoshi-mona-ui-filter.mjs +18 -48
  47. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs → nanahoshi-mona-ui-grid-grid-footer-cell.component-B6FBLtrr.mjs} +14 -14
  48. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs → nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-OJe4UYuw.mjs} +4 -8
  49. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-DCd8K6ng.mjs +121 -0
  50. package/fesm2022/{nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs → nanahoshi-mona-ui-grid-grid-toggle.component-Dl8Hlkhj.mjs} +26 -55
  51. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-C5FRZlvv.mjs +231 -0
  52. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-BRZUd8cE.mjs} +167 -451
  53. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  54. package/fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs +10 -28
  55. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +57 -87
  56. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +48 -139
  57. package/fesm2022/nanahoshi-mona-ui-internal.mjs +29 -1
  58. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +10 -32
  59. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +8 -21
  60. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +50 -156
  61. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +40 -69
  62. package/fesm2022/nanahoshi-mona-ui-notification.mjs +32 -116
  63. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +81 -107
  64. package/fesm2022/nanahoshi-mona-ui-pager.mjs +33 -85
  65. package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +12 -34
  66. package/fesm2022/nanahoshi-mona-ui-popover.mjs +31 -52
  67. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +38 -110
  68. package/fesm2022/nanahoshi-mona-ui-popup.mjs +4 -4
  69. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +21 -62
  70. package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +66 -111
  71. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +60 -151
  72. package/fesm2022/nanahoshi-mona-ui-slider.mjs +117 -173
  73. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +32 -45
  74. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +29 -64
  75. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +38 -101
  76. package/fesm2022/nanahoshi-mona-ui-switch.mjs +58 -79
  77. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +42 -118
  78. package/fesm2022/nanahoshi-mona-ui-text-area.mjs +29 -37
  79. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +60 -81
  80. package/fesm2022/nanahoshi-mona-ui-theme.mjs +1111 -269
  81. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +45 -39
  82. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +45 -109
  83. package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +54 -82
  84. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +2 -2
  85. package/fesm2022/nanahoshi-mona-ui-window.mjs +35 -115
  86. package/fieldset/package.json +4 -0
  87. package/filter/package.json +4 -0
  88. package/grid/package.json +4 -0
  89. package/internal/filter-input/package.json +4 -0
  90. package/internal/indicator-icon/package.json +4 -0
  91. package/internal/list/package.json +4 -0
  92. package/internal/package.json +4 -0
  93. package/internal/tree/package.json +4 -0
  94. package/list/package.json +4 -0
  95. package/list-box/package.json +4 -0
  96. package/list-view/package.json +4 -0
  97. package/menubar/package.json +4 -0
  98. package/multi-select/package.json +4 -0
  99. package/notification/package.json +4 -0
  100. package/numeric-text-box/package.json +4 -0
  101. package/package.json +31 -5
  102. package/pager/package.json +4 -0
  103. package/placeholder/package.json +4 -0
  104. package/popover/package.json +4 -0
  105. package/popup/package.json +4 -0
  106. package/popup-menu/package.json +4 -0
  107. package/progress-bar/package.json +4 -0
  108. package/query/package.json +4 -0
  109. package/radio-button/package.json +4 -0
  110. package/scroll-view/package.json +4 -0
  111. package/slider/package.json +4 -0
  112. package/split-button/package.json +4 -0
  113. package/splitter/package.json +4 -0
  114. package/stepper/package.json +4 -0
  115. package/switch/package.json +4 -0
  116. package/tabs/package.json +4 -0
  117. package/text-area/package.json +4 -0
  118. package/text-box/package.json +4 -0
  119. package/theme/package.json +4 -0
  120. package/time-picker/package.json +4 -0
  121. package/time-selector/package.json +4 -0
  122. package/tooltip/package.json +4 -0
  123. package/tree-view/package.json +4 -0
  124. package/types/nanahoshi-mona-ui-auto-complete.d.ts +6 -7
  125. package/types/nanahoshi-mona-ui-breadcrumb.d.ts +4 -6
  126. package/types/nanahoshi-mona-ui-button-group.d.ts +2 -3
  127. package/types/nanahoshi-mona-ui-button.d.ts +6 -6
  128. package/types/nanahoshi-mona-ui-calendar.d.ts +21 -22
  129. package/types/nanahoshi-mona-ui-check-box.d.ts +6 -9
  130. package/types/nanahoshi-mona-ui-chip.d.ts +2 -3
  131. package/types/nanahoshi-mona-ui-circular-progress-bar.d.ts +2 -4
  132. package/types/nanahoshi-mona-ui-color-gradient.d.ts +10 -11
  133. package/types/nanahoshi-mona-ui-color-palette.d.ts +4 -5
  134. package/types/nanahoshi-mona-ui-color-picker.d.ts +6 -8
  135. package/types/nanahoshi-mona-ui-combo-box.d.ts +6 -7
  136. package/types/nanahoshi-mona-ui-date-input.d.ts +2 -3
  137. package/types/nanahoshi-mona-ui-date-picker.d.ts +2 -3
  138. package/types/nanahoshi-mona-ui-dialog.d.ts +7 -8
  139. package/types/nanahoshi-mona-ui-dropdown-list.d.ts +6 -7
  140. package/types/nanahoshi-mona-ui-dropdowns.d.ts +2 -3
  141. package/types/nanahoshi-mona-ui-editor.d.ts +17 -17
  142. package/types/nanahoshi-mona-ui-expansion-panel.d.ts +8 -10
  143. package/types/nanahoshi-mona-ui-fieldset.d.ts +6 -8
  144. package/types/nanahoshi-mona-ui-filter.d.ts +3 -4
  145. package/types/nanahoshi-mona-ui-grid.d.ts +16 -17
  146. package/types/nanahoshi-mona-ui-internal-indicator-icon.d.ts +0 -1
  147. package/types/nanahoshi-mona-ui-internal-tree.d.ts +16 -16
  148. package/types/nanahoshi-mona-ui-internal.d.ts +8 -1
  149. package/types/nanahoshi-mona-ui-list-box.d.ts +4 -5
  150. package/types/nanahoshi-mona-ui-list-view.d.ts +2 -3
  151. package/types/nanahoshi-mona-ui-menubar.d.ts +7 -8
  152. package/types/nanahoshi-mona-ui-multi-select.d.ts +8 -9
  153. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +2 -3
  154. package/types/nanahoshi-mona-ui-pager.d.ts +6 -7
  155. package/types/nanahoshi-mona-ui-placeholder.d.ts +4 -6
  156. package/types/nanahoshi-mona-ui-popover.d.ts +8 -9
  157. package/types/nanahoshi-mona-ui-popup-menu.d.ts +12 -13
  158. package/types/nanahoshi-mona-ui-progress-bar.d.ts +8 -9
  159. package/types/nanahoshi-mona-ui-radio-button.d.ts +8 -11
  160. package/types/nanahoshi-mona-ui-scroll-view.d.ts +18 -20
  161. package/types/nanahoshi-mona-ui-slider.d.ts +18 -18
  162. package/types/nanahoshi-mona-ui-split-button.d.ts +2 -3
  163. package/types/nanahoshi-mona-ui-splitter.d.ts +6 -8
  164. package/types/nanahoshi-mona-ui-stepper.d.ts +13 -14
  165. package/types/nanahoshi-mona-ui-switch.d.ts +6 -7
  166. package/types/nanahoshi-mona-ui-tabs.d.ts +15 -17
  167. package/types/nanahoshi-mona-ui-text-area.d.ts +2 -4
  168. package/types/nanahoshi-mona-ui-text-box.d.ts +4 -6
  169. package/types/nanahoshi-mona-ui-theme.d.ts +111 -12
  170. package/types/nanahoshi-mona-ui-time-picker.d.ts +2 -3
  171. package/types/nanahoshi-mona-ui-time-selector.d.ts +10 -11
  172. package/types/nanahoshi-mona-ui-tooltip.d.ts +4 -5
  173. package/types/nanahoshi-mona-ui-window.d.ts +16 -17
  174. package/window/package.json +4 -0
  175. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +0 -130
  176. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +0 -240
@@ -2,13 +2,11 @@ import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, inject, DestroyRef, ElementRef, linkedSignal, computed, contentChild, TemplateRef, viewChild, input, output, model, effect, untracked, afterNextRender, forwardRef, Component } from '@angular/core';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
6
- import { createElementControlId, isTypeaheadKey, setupTypeahead } from '@nanahoshi/mona-ui/internal';
7
5
  import * as i1 from '@nanahoshi/mona-ui/dropdowns';
8
6
  import { DropdownListService, DropdownService, DropdownFooterTemplateDirective, DropdownGroupHeaderTemplateDirective, DropdownHeaderTemplateDirective, DropdownItemTemplateDirective, dropdownPopupThemeVariants, DropdownNoDataTemplateDirective, DropdownPrefixTemplateDirective, DropdownLiveRegionDirective, DropdownDataInputToken, DropdownPopupInputToken, DropdownDataHandlerDirective, DropdownListPopupHandlerDirective } from '@nanahoshi/mona-ui/dropdowns';
7
+ import { themeControlSurfaceClasses, createElementControlId, isTypeaheadKey, setupTypeahead } from '@nanahoshi/mona-ui/internal';
9
8
  import { IndicatorIconComponent } from '@nanahoshi/mona-ui/internal/indicator-icon';
10
9
  import { ListService, ListComponent, ListItemTemplateDirective, ListGroupHeaderTemplateDirective, ListFooterTemplateDirective, ListHeaderTemplateDirective, ListNoDataTemplateDirective } from '@nanahoshi/mona-ui/internal/list';
11
- import { ThemeService } from '@nanahoshi/mona-ui/theme';
12
10
  import { Subject } from 'rxjs';
13
11
  import { twMerge } from 'tailwind-merge';
14
12
  import { cva } from 'class-variance-authority';
@@ -24,32 +22,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
24
22
  }]
25
23
  }] });
26
24
 
27
- const dropdownListInputVariants = cva(`
28
- inline-flex items-center
29
-
30
- border border-input-border
31
- bg-background outline-none
32
- shadow-xs
33
- cursor-pointer select-none
34
-
35
- hover:bg-accent hover:text-accent-foreground
36
- transition-[color,box-shadow,border] ease-in-out duration-300
37
- focus-within:ring-1 focus-within:ring-primary/40
25
+ const dropdownListInputThemeVariants = cva(`
26
+ inline-flex items-center
27
+ cursor-pointer select-none
28
+ ${themeControlSurfaceClasses} text-foreground
29
+ border border-input-border shadow-(--shadow-control) outline-none
30
+ transition-[color,box-shadow,border] duration-(--mona-motion-standard) ease-in-out
31
+ data-[readonly='true']:cursor-default
32
+ hover:bg-hover active:bg-active
33
+ focus-within:border-focus-indicator focus-within:ring-2 focus-within:ring-focus-indicator/35
38
34
  `, {
39
35
  variants: {
40
36
  disabled: {
41
- true: "pointer-events-none cursor-not-allowed opacity-50",
37
+ true: `
38
+ pointer-events-none cursor-not-allowed
39
+ bg-disabled-background text-disabled-foreground
40
+ border-disabled-border shadow-none
41
+ `,
42
42
  false: ""
43
43
  },
44
44
  expanded: {
45
- true: "ring-1 ring-primary/40",
45
+ true: "border-focus-indicator ring-2 ring-focus-indicator/35",
46
46
  false: ""
47
47
  },
48
48
  hasPrefix: {
49
49
  false: "ps-2"
50
50
  },
51
51
  invalid: {
52
- true: "border-error ring-1 ring-error/40",
52
+ true: "border-error ring-2 ring-error/35 focus-within:border-error focus-within:ring-error/35",
53
53
  false: ""
54
54
  },
55
55
  rounded: {
@@ -64,41 +64,23 @@ const dropdownListInputVariants = cva(`
64
64
  medium: "h-9 text-sm",
65
65
  small: "h-8 text-xs"
66
66
  }
67
- }
67
+ },
68
+ compoundVariants: [
69
+ {
70
+ expanded: true,
71
+ invalid: true,
72
+ class: "border-error ring-error/35"
73
+ }
74
+ ]
68
75
  });
69
- const dropdownListValueContainerVariants = cva(`overflow-hidden h-full w-full flex items-center`, {
76
+ const dropdownListValueContainerThemeVariants = cva(`flex h-full w-full items-center overflow-hidden`, {
70
77
  variants: {
71
78
  hasTemplate: {
72
79
  false: "[&>span]:truncate [&>span]:items-center [&>span]:inline-block"
73
80
  }
74
81
  }
75
82
  });
76
- const dropdownListAffixContainerVariants = cva(`h-full flex flex-none items-center justify-center`);
77
-
78
- const dropdownListAffixContainerThemeVariants = (theme) => {
79
- switch (theme) {
80
- case "mona":
81
- return dropdownListAffixContainerVariants;
82
- default:
83
- return dropdownListAffixContainerVariants;
84
- }
85
- };
86
- const dropdownListInputThemeVariants = (theme) => {
87
- switch (theme) {
88
- case "mona":
89
- return dropdownListInputVariants;
90
- default:
91
- return dropdownListInputVariants;
92
- }
93
- };
94
- const dropdownListValueContainerThemeVariants = (theme) => {
95
- switch (theme) {
96
- case "mona":
97
- return dropdownListValueContainerVariants;
98
- default:
99
- return dropdownListValueContainerVariants;
100
- }
101
- };
83
+ const dropdownListAffixContainerThemeVariants = cva(`flex h-full flex-none items-center justify-center`);
102
84
 
103
85
  class DropdownListComponent {
104
86
  #destroyRef;
@@ -107,7 +89,6 @@ class DropdownListComponent {
107
89
  #hostElementRef;
108
90
  #navigatedValue;
109
91
  #listService;
110
- #themeService;
111
92
  #typeaheadKey;
112
93
  constructor() {
113
94
  this.#destroyRef = inject(DestroyRef);
@@ -117,7 +98,6 @@ class DropdownListComponent {
117
98
  this.#navigatedValue = linkedSignal(() => this.value(), /* @ts-ignore */
118
99
  ...(ngDevMode ? [{ debugName: "#navigatedValue" }] : /* istanbul ignore next */ []));
119
100
  this.#listService = inject(ListService);
120
- this.#themeService = inject(ThemeService);
121
101
  this.#typeaheadKey = new Subject();
122
102
  this.activeDescendant = computed(() => {
123
103
  const highlightedItem = this.#listService.highlightedItem();
@@ -125,19 +105,17 @@ class DropdownListComponent {
125
105
  }, /* @ts-ignore */
126
106
  ...(ngDevMode ? [{ debugName: "activeDescendant" }] : /* istanbul ignore next */ []));
127
107
  this.affixClass = computed(() => {
128
- const theme = this.#themeService.theme();
129
- return dropdownListAffixContainerThemeVariants(theme)();
108
+ return dropdownListAffixContainerThemeVariants();
130
109
  }, /* @ts-ignore */
131
110
  ...(ngDevMode ? [{ debugName: "affixClass" }] : /* istanbul ignore next */ []));
132
111
  this.baseClass = computed(() => {
133
- const theme = this.#themeService.theme();
134
112
  const disabled = this.disabled();
135
113
  const expanded = this.expanded();
136
114
  const hasPrefix = this.prefixTemplate() != null;
137
115
  const invalid = this.invalidState();
138
116
  const rounded = this.rounded();
139
117
  const size = this.size();
140
- const classes = dropdownListInputThemeVariants(theme)({
118
+ const classes = dropdownListInputThemeVariants({
141
119
  disabled,
142
120
  expanded,
143
121
  hasPrefix,
@@ -163,11 +141,10 @@ class DropdownListComponent {
163
141
  ...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
164
142
  this.listId = createElementControlId();
165
143
  this.listPopupClass = computed(() => {
166
- const theme = this.#themeService.theme();
167
144
  const rounded = this.rounded();
168
145
  const size = this.size();
169
146
  const userClass = this.popupClass();
170
- const variantClass = dropdownPopupThemeVariants(theme)({ rounded, size });
147
+ const variantClass = dropdownPopupThemeVariants({ rounded, size });
171
148
  return twMerge(variantClass, userClass);
172
149
  }, /* @ts-ignore */
173
150
  ...(ngDevMode ? [{ debugName: "listPopupClass" }] : /* istanbul ignore next */ []));
@@ -189,9 +166,8 @@ class DropdownListComponent {
189
166
  }, /* @ts-ignore */
190
167
  ...(ngDevMode ? [{ debugName: "selectedListItem" }] : /* istanbul ignore next */ []));
191
168
  this.valueContainerClass = computed(() => {
192
- const theme = this.#themeService.theme();
193
169
  const hasTemplate = this.valueTemplate() != null;
194
- return dropdownListValueContainerThemeVariants(theme)({ hasTemplate });
170
+ return dropdownListValueContainerThemeVariants({ hasTemplate });
195
171
  }, /* @ts-ignore */
196
172
  ...(ngDevMode ? [{ debugName: "valueContainerClass" }] : /* istanbul ignore next */ []));
197
173
  this.valueTemplate = contentChild(DropdownListValueTemplateDirective, { ...(ngDevMode ? { debugName: "valueTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
@@ -538,7 +514,7 @@ class DropdownListComponent {
538
514
  }
539
515
  }
540
516
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
541
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: DropdownListComponent, isStandalone: true, selector: "mona-dropdown-list", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, itemDisabled: { classPropertyName: "itemDisabled", publicName: "itemDisabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, popupClass: { classPropertyName: "popupClass", publicName: "popupClass", isSignal: true, isRequired: false, transformFunction: null }, popupHeight: { classPropertyName: "popupHeight", publicName: "popupHeight", isSignal: true, isRequired: false, transformFunction: null }, popupWidth: { classPropertyName: "popupWidth", publicName: "popupWidth", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", closed: "closed", disabled: "disabledChange", open: "open", opened: "opened", touch: "touch", value: "valueChange" }, host: { listeners: { "blur": "onBlur()" }, properties: { "attr.aria-activedescendant": "activeDescendant()", "attr.aria-busy": "loading() ? 'true' : undefined", "attr.aria-controls": "listId", "attr.aria-disabled": "disabled() ? true : undefined", "attr.aria-expanded": "expanded()", "attr.aria-haspopup": "'listbox'", "attr.aria-invalid": "invalidState() ? true : undefined", "attr.aria-label": "effectiveAriaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy()", "attr.aria-readonly": "readonly() ? true : undefined", "attr.aria-required": "required() ? true : undefined", "attr.data-invalid": "invalidState() || null", "attr.role": "'combobox'", "attr.tabindex": "disabled() ? null : 0", "class": "baseClass()" } }, providers: [
517
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: DropdownListComponent, isStandalone: true, selector: "mona-dropdown-list", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, itemDisabled: { classPropertyName: "itemDisabled", publicName: "itemDisabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, popupClass: { classPropertyName: "popupClass", publicName: "popupClass", isSignal: true, isRequired: false, transformFunction: null }, popupHeight: { classPropertyName: "popupHeight", publicName: "popupHeight", isSignal: true, isRequired: false, transformFunction: null }, popupWidth: { classPropertyName: "popupWidth", publicName: "popupWidth", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", closed: "closed", disabled: "disabledChange", open: "open", opened: "opened", touch: "touch", value: "valueChange" }, host: { listeners: { "blur": "onBlur()" }, properties: { "attr.aria-activedescendant": "activeDescendant()", "attr.aria-busy": "loading() ? 'true' : undefined", "attr.aria-controls": "listId", "attr.aria-disabled": "disabled() ? true : undefined", "attr.aria-expanded": "expanded()", "attr.aria-haspopup": "'listbox'", "attr.aria-invalid": "invalidState() ? true : undefined", "attr.aria-label": "effectiveAriaLabel() || null", "attr.aria-labelledby": "ariaLabelledBy()", "attr.aria-readonly": "readonly() ? true : undefined", "attr.aria-required": "required() ? true : undefined", "attr.data-disabled": "disabled() || null", "attr.data-invalid": "invalidState() || null", "attr.data-readonly": "readonly() || null", "attr.role": "'combobox'", "attr.tabindex": "disabled() ? null : 0", "class": "baseClass()" } }, providers: [
542
518
  ListService,
543
519
  DropdownService,
544
520
  DropdownListService,
@@ -552,7 +528,7 @@ class DropdownListComponent {
552
528
  useExisting: forwardRef(() => DropdownListComponent),
553
529
  multi: false
554
530
  }
555
- ], queries: [{ propertyName: "footerTemplate", first: true, predicate: DropdownFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: DropdownGroupHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: DropdownHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: DropdownItemTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "noDataTemplate", first: true, predicate: DropdownNoDataTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "prefixTemplate", first: true, predicate: DropdownPrefixTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "valueTemplate", first: true, predicate: DropdownListValueTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.DropdownDataHandlerDirective }, { directive: i1.DropdownListPopupHandlerDirective }], ngImport: i0, template: "@if (prefixTemplate()) {\r\n <span [class]=\"affixClass()\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate()\"></ng-container>\r\n </span>\r\n}\r\n\r\n<span [class]=\"valueContainerClass()\">\r\n @if (!valueTemplate()) {\r\n <span>\r\n @if (selectedListItem()) {\r\n <span>{{ valueText() }}</span>\r\n } @else {\r\n <span>{{ placeholder() }}</span>\r\n }\r\n </span>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"valueTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedDataItem() }\"></ng-container>\r\n }\r\n</span>\r\n\r\n@if (selectedListItem() && showClearButton() && !loading()) {\r\n <mona-indicator-icon\r\n preset=\"clear\"\r\n [interactive]=\"true\"\r\n label=\"Clear\"\r\n (activate)=\"onValueClear($event)\"></mona-indicator-icon>\r\n}\r\n\r\n@if (loading()) {\r\n <mona-indicator-icon preset=\"loading\" [size]=\"12\"></mona-indicator-icon>\r\n}\r\n\r\n<mona-indicator-icon preset=\"dropdown\" [size]=\"18\"></mona-indicator-icon>\r\n\r\n<span monaDropdownLiveRegion></span>\r\n\r\n<ng-template #popupTemplate>\r\n <div [class]=\"listPopupClass()\">\r\n <mona-list [listId]=\"listId\" [focusOnMount]=\"false\" [size]=\"size()\" (itemSelect)=\"onItemSelect($event)\">\r\n @if (footerTemplate()) {\r\n <ng-template monaListFooterTemplate>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (groupHeaderTemplate()) {\r\n <ng-template monaListGroupHeaderTemplate let-group>\r\n <ng-container\r\n [ngTemplateOutlet]=\"groupHeaderTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerTemplate()) {\r\n <ng-template monaListHeaderTemplate>\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (itemTemplate()) {\r\n <ng-template monaListItemTemplate let-dataItem>\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (noDataTemplate()) {\r\n <ng-template monaListNoDataTemplate>\r\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n </mona-list>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: ListComponent, selector: "mona-list", inputs: ["ariaLabel", "data", "focusOnMount", "height", "listClass", "listId", "listItemClass", "listItemStyle", "listStyle", "maxHeight", "maxWidth", "size", "textField", "width"], outputs: ["itemSelect"] }, { kind: "directive", type: ListItemTemplateDirective, selector: "ng-template[monaListItemTemplate]" }, { kind: "directive", type: ListGroupHeaderTemplateDirective, selector: "ng-template[monaListGroupHeaderTemplate]" }, { kind: "directive", type: ListFooterTemplateDirective, selector: "ng-template[monaListFooterTemplate]" }, { kind: "directive", type: ListHeaderTemplateDirective, selector: "ng-template[monaListHeaderTemplate]" }, { kind: "directive", type: ListNoDataTemplateDirective, selector: "ng-template[monaListNoDataTemplate]" }, { kind: "directive", type: DropdownLiveRegionDirective, selector: "span[monaDropdownLiveRegion]" }, { kind: "component", type: IndicatorIconComponent, selector: "mona-indicator-icon", inputs: ["icon", "interactive", "label", "preset", "size", "class"], outputs: ["activate"] }] }); }
531
+ ], queries: [{ propertyName: "footerTemplate", first: true, predicate: DropdownFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: DropdownGroupHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: DropdownHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: DropdownItemTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "noDataTemplate", first: true, predicate: DropdownNoDataTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "prefixTemplate", first: true, predicate: DropdownPrefixTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "valueTemplate", first: true, predicate: DropdownListValueTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.DropdownDataHandlerDirective }, { directive: i1.DropdownListPopupHandlerDirective }], ngImport: i0, template: "@if (prefixTemplate()) {\n <span [class]=\"affixClass()\">\n <ng-container [ngTemplateOutlet]=\"prefixTemplate()\"></ng-container>\n </span>\n}\n\n<span [class]=\"valueContainerClass()\">\n @if (!valueTemplate()) {\n <span>\n @if (selectedListItem()) {\n <span>{{ valueText() }}</span>\n } @else {\n <span>{{ placeholder() }}</span>\n }\n </span>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"valueTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: selectedDataItem() }\"></ng-container>\n }\n</span>\n\n@if (selectedListItem() && showClearButton() && !loading()) {\n <mona-indicator-icon\n preset=\"clear\"\n [interactive]=\"true\"\n label=\"Clear\"\n (activate)=\"onValueClear($event)\"></mona-indicator-icon>\n}\n\n@if (loading()) {\n <mona-indicator-icon preset=\"loading\" [size]=\"12\"></mona-indicator-icon>\n}\n\n<mona-indicator-icon preset=\"dropdown\" [size]=\"18\"></mona-indicator-icon>\n\n<span monaDropdownLiveRegion></span>\n\n<ng-template #popupTemplate>\n <div [class]=\"listPopupClass()\">\n <mona-list [listId]=\"listId\" [focusOnMount]=\"false\" [size]=\"size()\" (itemSelect)=\"onItemSelect($event)\">\n @if (footerTemplate()) {\n <ng-template monaListFooterTemplate>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (groupHeaderTemplate()) {\n <ng-template monaListGroupHeaderTemplate let-group>\n <ng-container\n [ngTemplateOutlet]=\"groupHeaderTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: group }\"></ng-container>\n </ng-template>\n }\n @if (headerTemplate()) {\n <ng-template monaListHeaderTemplate>\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTemplate()) {\n <ng-template monaListItemTemplate let-dataItem>\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\n </ng-template>\n }\n @if (noDataTemplate()) {\n <ng-template monaListNoDataTemplate>\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\n </ng-template>\n }\n </mona-list>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "mona-list", inputs: ["ariaLabel", "data", "focusOnMount", "height", "listClass", "listId", "listItemClass", "listItemStyle", "listStyle", "maxHeight", "maxWidth", "size", "textField", "width"], outputs: ["itemSelect"] }, { kind: "directive", type: ListItemTemplateDirective, selector: "ng-template[monaListItemTemplate]" }, { kind: "directive", type: ListGroupHeaderTemplateDirective, selector: "ng-template[monaListGroupHeaderTemplate]" }, { kind: "directive", type: ListFooterTemplateDirective, selector: "ng-template[monaListFooterTemplate]" }, { kind: "directive", type: ListHeaderTemplateDirective, selector: "ng-template[monaListHeaderTemplate]" }, { kind: "directive", type: ListNoDataTemplateDirective, selector: "ng-template[monaListNoDataTemplate]" }, { kind: "directive", type: DropdownLiveRegionDirective, selector: "span[monaDropdownLiveRegion]" }, { kind: "component", type: IndicatorIconComponent, selector: "mona-indicator-icon", inputs: ["icon", "interactive", "label", "preset", "size", "class"], outputs: ["activate"] }] }); }
556
532
  }
557
533
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownListComponent, decorators: [{
558
534
  type: Component,
@@ -572,7 +548,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
572
548
  }
573
549
  ], imports: [
574
550
  NgTemplateOutlet,
575
- FontAwesomeModule,
576
551
  ListComponent,
577
552
  ListItemTemplateDirective,
578
553
  ListGroupHeaderTemplateDirective,
@@ -593,12 +568,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
593
568
  "[attr.aria-labelledby]": "ariaLabelledBy()",
594
569
  "[attr.aria-readonly]": "readonly() ? true : undefined",
595
570
  "[attr.aria-required]": "required() ? true : undefined",
571
+ "[attr.data-disabled]": "disabled() || null",
596
572
  "[attr.data-invalid]": "invalidState() || null",
573
+ "[attr.data-readonly]": "readonly() || null",
597
574
  "[attr.role]": "'combobox'",
598
575
  "[attr.tabindex]": "disabled() ? null : 0",
599
576
  "[class]": "baseClass()",
600
577
  "(blur)": "onBlur()"
601
- }, template: "@if (prefixTemplate()) {\r\n <span [class]=\"affixClass()\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate()\"></ng-container>\r\n </span>\r\n}\r\n\r\n<span [class]=\"valueContainerClass()\">\r\n @if (!valueTemplate()) {\r\n <span>\r\n @if (selectedListItem()) {\r\n <span>{{ valueText() }}</span>\r\n } @else {\r\n <span>{{ placeholder() }}</span>\r\n }\r\n </span>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"valueTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedDataItem() }\"></ng-container>\r\n }\r\n</span>\r\n\r\n@if (selectedListItem() && showClearButton() && !loading()) {\r\n <mona-indicator-icon\r\n preset=\"clear\"\r\n [interactive]=\"true\"\r\n label=\"Clear\"\r\n (activate)=\"onValueClear($event)\"></mona-indicator-icon>\r\n}\r\n\r\n@if (loading()) {\r\n <mona-indicator-icon preset=\"loading\" [size]=\"12\"></mona-indicator-icon>\r\n}\r\n\r\n<mona-indicator-icon preset=\"dropdown\" [size]=\"18\"></mona-indicator-icon>\r\n\r\n<span monaDropdownLiveRegion></span>\r\n\r\n<ng-template #popupTemplate>\r\n <div [class]=\"listPopupClass()\">\r\n <mona-list [listId]=\"listId\" [focusOnMount]=\"false\" [size]=\"size()\" (itemSelect)=\"onItemSelect($event)\">\r\n @if (footerTemplate()) {\r\n <ng-template monaListFooterTemplate>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (groupHeaderTemplate()) {\r\n <ng-template monaListGroupHeaderTemplate let-group>\r\n <ng-container\r\n [ngTemplateOutlet]=\"groupHeaderTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerTemplate()) {\r\n <ng-template monaListHeaderTemplate>\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (itemTemplate()) {\r\n <ng-template monaListItemTemplate let-dataItem>\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (noDataTemplate()) {\r\n <ng-template monaListNoDataTemplate>\r\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n </mona-list>\r\n </div>\r\n</ng-template>\r\n" }]
578
+ }, template: "@if (prefixTemplate()) {\n <span [class]=\"affixClass()\">\n <ng-container [ngTemplateOutlet]=\"prefixTemplate()\"></ng-container>\n </span>\n}\n\n<span [class]=\"valueContainerClass()\">\n @if (!valueTemplate()) {\n <span>\n @if (selectedListItem()) {\n <span>{{ valueText() }}</span>\n } @else {\n <span>{{ placeholder() }}</span>\n }\n </span>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"valueTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: selectedDataItem() }\"></ng-container>\n }\n</span>\n\n@if (selectedListItem() && showClearButton() && !loading()) {\n <mona-indicator-icon\n preset=\"clear\"\n [interactive]=\"true\"\n label=\"Clear\"\n (activate)=\"onValueClear($event)\"></mona-indicator-icon>\n}\n\n@if (loading()) {\n <mona-indicator-icon preset=\"loading\" [size]=\"12\"></mona-indicator-icon>\n}\n\n<mona-indicator-icon preset=\"dropdown\" [size]=\"18\"></mona-indicator-icon>\n\n<span monaDropdownLiveRegion></span>\n\n<ng-template #popupTemplate>\n <div [class]=\"listPopupClass()\">\n <mona-list [listId]=\"listId\" [focusOnMount]=\"false\" [size]=\"size()\" (itemSelect)=\"onItemSelect($event)\">\n @if (footerTemplate()) {\n <ng-template monaListFooterTemplate>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (groupHeaderTemplate()) {\n <ng-template monaListGroupHeaderTemplate let-group>\n <ng-container\n [ngTemplateOutlet]=\"groupHeaderTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: group }\"></ng-container>\n </ng-template>\n }\n @if (headerTemplate()) {\n <ng-template monaListHeaderTemplate>\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTemplate()) {\n <ng-template monaListItemTemplate let-dataItem>\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\n </ng-template>\n }\n @if (noDataTemplate()) {\n <ng-template monaListNoDataTemplate>\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\n </ng-template>\n }\n </mona-list>\n </div>\n</ng-template>\n" }]
602
579
  }], ctorParameters: () => [], propDecorators: { footerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownFooterTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], groupHeaderTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownGroupHeaderTemplateDirective), { ...{
603
580
  read: TemplateRef
604
581
  }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownHeaderTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownItemTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], noDataTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownNoDataTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], popupTemplate: [{ type: i0.ViewChild, args: ["popupTemplate", { isSignal: true }] }], prefixTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownPrefixTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], valueTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownListValueTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], closed: [{ type: i0.Output, args: ["closed"] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], itemDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemDisabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], open: [{ type: i0.Output, args: ["open"] }], opened: [{ type: i0.Output, args: ["opened"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], popupClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupClass", required: false }] }], popupHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupHeight", required: false }] }], popupWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupWidth", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], showClearButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearButton", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], textField: [{ type: i0.Input, args: [{ isSignal: true, alias: "textField", required: false }] }], touch: [{ type: i0.Output, args: ["touch"] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], valueField: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueField", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
@@ -7,6 +7,7 @@ import { Subject, takeUntil, take, filter, switchMap, fromEvent } from 'rxjs';
7
7
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
8
8
  import { PopupService, dropdownPopupAnimation } from '@nanahoshi/mona-ui/popup';
9
9
  import { cva } from 'class-variance-authority';
10
+ import { themeOverlaySurfaceClasses } from '@nanahoshi/mona-ui/internal';
10
11
 
11
12
  const DropdownDataInputToken = new InjectionToken("DROPDOWN_DATA_INPUT");
12
13
 
@@ -68,11 +69,11 @@ class DropdownFilterableDirective {
68
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownFilterableDirective, decorators: [{
69
70
  type: Directive,
70
71
  args: [{
71
- selector: `
72
- mona-auto-complete[monaDropDownFilterable],
73
- mona-dropdown-list[monaDropDownFilterable],
74
- mona-combo-box[monaDropDownFilterable],
75
- mona-multi-select[monaDropDownFilterable]
72
+ selector: `
73
+ mona-auto-complete[monaDropDownFilterable],
74
+ mona-dropdown-list[monaDropDownFilterable],
75
+ mona-combo-box[monaDropDownFilterable],
76
+ mona-multi-select[monaDropDownFilterable]
76
77
  `
77
78
  }]
78
79
  }], ctorParameters: () => [], propDecorators: { filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "monaDropDownFilterable", required: false }] }] } });
@@ -84,13 +85,13 @@ class DropdownFooterTemplateDirective {
84
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownFooterTemplateDirective, decorators: [{
85
86
  type: Directive,
86
87
  args: [{
87
- selector: `
88
- ng-template[monaDropDownFooterTemplate],
89
- ng-template[monaAutoCompleteFooterTemplate],
90
- ng-template[monaDropDownListFooterTemplate],
91
- ng-template[monaDropDownTreeFooterTemplate],
92
- ng-template[monaComboBoxFooterTemplate],
93
- ng-template[monaMultiSelectFooterTemplate]
88
+ selector: `
89
+ ng-template[monaDropDownFooterTemplate],
90
+ ng-template[monaAutoCompleteFooterTemplate],
91
+ ng-template[monaDropDownListFooterTemplate],
92
+ ng-template[monaDropDownTreeFooterTemplate],
93
+ ng-template[monaComboBoxFooterTemplate],
94
+ ng-template[monaMultiSelectFooterTemplate]
94
95
  `,
95
96
  standalone: true
96
97
  }]
@@ -103,12 +104,12 @@ class DropdownGroupHeaderTemplateDirective {
103
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownGroupHeaderTemplateDirective, decorators: [{
104
105
  type: Directive,
105
106
  args: [{
106
- selector: `
107
- ng-template[monaDropDownGroupHeaderTemplate],
108
- ng-template[monaAutoCompleteGroupHeaderTemplate],
109
- ng-template[monaDropDownListGroupHeaderTemplate],
110
- ng-template[monaComboBoxGroupHeaderTemplate],
111
- ng-template[monaMultiSelectGroupHeaderTemplate]
107
+ selector: `
108
+ ng-template[monaDropDownGroupHeaderTemplate],
109
+ ng-template[monaAutoCompleteGroupHeaderTemplate],
110
+ ng-template[monaDropDownListGroupHeaderTemplate],
111
+ ng-template[monaComboBoxGroupHeaderTemplate],
112
+ ng-template[monaMultiSelectGroupHeaderTemplate]
112
113
  `,
113
114
  standalone: true
114
115
  }]
@@ -152,11 +153,11 @@ class DropdownGroupableDirective {
152
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownGroupableDirective, decorators: [{
153
154
  type: Directive,
154
155
  args: [{
155
- selector: `
156
- mona-auto-complete[monaDropDownGroupable],
157
- mona-combo-box[monaDropDownGroupable],
158
- mona-dropdown-list[monaDropDownGroupable],
159
- mona-multi-select[monaDropDownGroupable],
156
+ selector: `
157
+ mona-auto-complete[monaDropDownGroupable],
158
+ mona-combo-box[monaDropDownGroupable],
159
+ mona-dropdown-list[monaDropDownGroupable],
160
+ mona-multi-select[monaDropDownGroupable],
160
161
  `
161
162
  }]
162
163
  }], ctorParameters: () => [], propDecorators: { groupBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupBy", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "monaDropDownGroupable", required: false }] }] } });
@@ -168,13 +169,13 @@ class DropdownHeaderTemplateDirective {
168
169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownHeaderTemplateDirective, decorators: [{
169
170
  type: Directive,
170
171
  args: [{
171
- selector: `
172
- ng-template[monaDropDownHeaderTemplate],
173
- ng-template[monaAutoCompleteHeaderTemplate],
174
- ng-template[monaDropDownListHeaderTemplate],
175
- ng-template[monaDropDownTreeHeaderTemplate],
176
- ng-template[monaComboBoxHeaderTemplate],
177
- ng-template[monaMultiSelectHeaderTemplate]
172
+ selector: `
173
+ ng-template[monaDropDownHeaderTemplate],
174
+ ng-template[monaAutoCompleteHeaderTemplate],
175
+ ng-template[monaDropDownListHeaderTemplate],
176
+ ng-template[monaDropDownTreeHeaderTemplate],
177
+ ng-template[monaComboBoxHeaderTemplate],
178
+ ng-template[monaMultiSelectHeaderTemplate]
178
179
  `,
179
180
  standalone: true
180
181
  }]
@@ -187,12 +188,12 @@ class DropdownItemTemplateDirective {
187
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownItemTemplateDirective, decorators: [{
188
189
  type: Directive,
189
190
  args: [{
190
- selector: `
191
- ng-template[monaDropDownItemTemplate],
192
- ng-template[monaAutoCompleteItemTemplate],
193
- ng-template[monaDropDownListItemTemplate],
194
- ng-template[monaComboBoxItemTemplate],
195
- ng-template[monaMultiSelectItemTemplate]
191
+ selector: `
192
+ ng-template[monaDropDownItemTemplate],
193
+ ng-template[monaAutoCompleteItemTemplate],
194
+ ng-template[monaDropDownListItemTemplate],
195
+ ng-template[monaComboBoxItemTemplate],
196
+ ng-template[monaMultiSelectItemTemplate]
196
197
  `,
197
198
  standalone: true
198
199
  }]
@@ -205,13 +206,13 @@ class DropdownNoDataTemplateDirective {
205
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownNoDataTemplateDirective, decorators: [{
206
207
  type: Directive,
207
208
  args: [{
208
- selector: `
209
- ng-template[monaDropDownNoDataTemplate],
210
- ng-template[monaAutoCompleteNoDataTemplate],
211
- ng-template[monaDropDownListNoDataTemplate],
212
- ng-template[monaDropDownTreeNoDataTemplate],
213
- ng-template[monaComboBoxNoDataTemplate],
214
- ng-template[monaMultiSelectNoDataTemplate]
209
+ selector: `
210
+ ng-template[monaDropDownNoDataTemplate],
211
+ ng-template[monaAutoCompleteNoDataTemplate],
212
+ ng-template[monaDropDownListNoDataTemplate],
213
+ ng-template[monaDropDownTreeNoDataTemplate],
214
+ ng-template[monaComboBoxNoDataTemplate],
215
+ ng-template[monaMultiSelectNoDataTemplate]
215
216
  `,
216
217
  standalone: true
217
218
  }]
@@ -249,11 +250,11 @@ class DropdownVirtualScrollDirective {
249
250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: DropdownVirtualScrollDirective, decorators: [{
250
251
  type: Directive,
251
252
  args: [{
252
- selector: `
253
- mona-auto-complete[monaDropDownVirtualScroll],
254
- mona-dropdown-list[monaDropDownVirtualScroll],
255
- mona-combo-box[monaDropDownVirtualScroll],
256
- mona-multi-select[monaDropDownVirtualScroll]
253
+ selector: `
254
+ mona-auto-complete[monaDropDownVirtualScroll],
255
+ mona-dropdown-list[monaDropDownVirtualScroll],
256
+ mona-combo-box[monaDropDownVirtualScroll],
257
+ mona-multi-select[monaDropDownVirtualScroll]
257
258
  `,
258
259
  standalone: true
259
260
  }]
@@ -659,10 +660,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
659
660
  }]
660
661
  }] });
661
662
 
662
- const dropdownPopupVariants = cva(`
663
- bg-background shadow-md
664
- border border-input-border
665
- h-full max-h-64 overflow-auto
663
+ const dropdownPopupThemeVariants = cva(`
664
+ h-full max-h-64 overflow-auto
665
+ [scrollbar-color:var(--color-scrollbar-thumb)_var(--color-scrollbar-track)] [scrollbar-width:thin]
666
+ text-foreground
667
+ ${themeOverlaySurfaceClasses}
668
+ [&_mona-list]:[background-color:var(--mona-dropdown-popup-list-background,var(--mona-list-background))]!
669
+ border border-border shadow-(--shadow-overlay)
666
670
  `, {
667
671
  variants: {
668
672
  rounded: {
@@ -684,15 +688,6 @@ const dropdownPopupVariants = cva(`
684
688
  }
685
689
  });
686
690
 
687
- const dropdownPopupThemeVariants = (theme) => {
688
- switch (theme) {
689
- case "mona":
690
- return dropdownPopupVariants;
691
- default:
692
- return dropdownPopupVariants;
693
- }
694
- };
695
-
696
691
  /**
697
692
  * Generated bundle index. Do not edit.
698
693
  */