@malva-ui/core 0.1.13 → 0.1.14

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 (1618) hide show
  1. package/AGENTS.md +4 -1
  2. package/README.md +15 -0
  3. package/docs/ai/avatar.md +2 -0
  4. package/docs/ai/breadcrumb.md +67 -7
  5. package/docs/ai/button.md +74 -19
  6. package/docs/ai/card.md +8 -6
  7. package/docs/ai/chat.md +59 -45
  8. package/docs/ai/checkbox.md +12 -0
  9. package/docs/ai/combobox.md +18 -2
  10. package/docs/ai/copy-to-clipboard.md +1 -1
  11. package/docs/ai/core.md +15 -0
  12. package/docs/ai/data-table.md +89 -54
  13. package/docs/ai/dialog.md +76 -67
  14. package/docs/ai/drawer.md +15 -12
  15. package/docs/ai/dropdown.md +24 -19
  16. package/docs/ai/empty-state.md +3 -3
  17. package/docs/ai/filter.md +24 -5
  18. package/docs/ai/form-utils.md +160 -5
  19. package/docs/ai/icon-toggle.md +160 -0
  20. package/docs/ai/input.md +30 -0
  21. package/docs/ai/layout.md +23 -0
  22. package/docs/ai/list.md +10 -6
  23. package/docs/ai/menu.md +75 -1
  24. package/docs/ai/page.md +220 -60
  25. package/docs/ai/radio.md +9 -0
  26. package/docs/ai/scrollbar.md +30 -8
  27. package/docs/ai/segmented.md +35 -35
  28. package/docs/ai/select.md +30 -5
  29. package/docs/ai/sidebar.md +45 -27
  30. package/docs/ai/switch.md +114 -19
  31. package/docs/ai/table.md +69 -0
  32. package/docs/ai/tabs.md +2 -1
  33. package/docs/ai/tile.md +311 -85
  34. package/docs/ai/timeline.md +63 -39
  35. package/docs/ai/tokenizer.md +21 -5
  36. package/docs/ai/tooltip.md +5 -5
  37. package/docs/ai/view-variant.md +75 -0
  38. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  40. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  42. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  43. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  44. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  46. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  48. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  50. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  51. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  52. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  54. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  56. package/fesm2022/malva-ui-core-button.mjs +406 -0
  57. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  58. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  60. package/fesm2022/malva-ui-core-card.mjs +164 -0
  61. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  62. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  63. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  64. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  66. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  67. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  68. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  70. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  72. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  74. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  76. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  78. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  80. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  82. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  84. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  85. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  86. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  88. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  90. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  92. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  94. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  95. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  96. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  98. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  99. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  100. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  102. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  104. package/fesm2022/malva-ui-core-form.mjs +283 -0
  105. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  106. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  108. package/fesm2022/malva-ui-core-input.mjs +375 -0
  109. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  110. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  112. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  113. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  114. package/fesm2022/malva-ui-core-link.mjs +89 -0
  115. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  116. package/fesm2022/malva-ui-core-list.mjs +413 -0
  117. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  118. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  119. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  120. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  121. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  122. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  123. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  124. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  126. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  127. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  128. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  130. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  132. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  133. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  134. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  135. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  136. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  137. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  138. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  139. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  140. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  142. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  144. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  146. package/fesm2022/malva-ui-core-select.mjs +855 -0
  147. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  148. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  150. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  152. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  153. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  154. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  156. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  158. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  160. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  161. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  162. package/fesm2022/malva-ui-core-table.mjs +79 -0
  163. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  164. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  166. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  168. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  169. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  170. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  172. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  174. package/fesm2022/malva-ui-core-title.mjs +178 -0
  175. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  176. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  177. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  178. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  180. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  182. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  184. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  185. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  186. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  188. package/fesm2022/malva-ui-core.mjs +77 -0
  189. package/fesm2022/malva-ui-core.mjs.map +1 -0
  190. package/package.json +179 -156
  191. package/styles/malva-ui.css +253 -220
  192. package/styles/tokens.md +174 -173
  193. package/table/README.md +46 -0
  194. package/types/malva-ui-core-accordion.d.ts +121 -0
  195. package/types/malva-ui-core-action-bar.d.ts +82 -0
  196. package/types/malva-ui-core-alert.d.ts +131 -0
  197. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  198. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  199. package/types/malva-ui-core-avatar.d.ts +156 -0
  200. package/types/malva-ui-core-badge.d.ts +97 -0
  201. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  202. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  203. package/types/malva-ui-core-button.d.ts +194 -0
  204. package/types/malva-ui-core-calendar.d.ts +339 -0
  205. package/types/malva-ui-core-card.d.ts +88 -0
  206. package/types/malva-ui-core-chat.d.ts +375 -0
  207. package/types/malva-ui-core-checkbox.d.ts +158 -0
  208. package/types/malva-ui-core-chip.d.ts +128 -0
  209. package/types/malva-ui-core-color-picker.d.ts +442 -0
  210. package/types/malva-ui-core-combobox.d.ts +419 -0
  211. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  212. package/types/malva-ui-core-data-table.d.ts +1074 -0
  213. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  214. package/types/malva-ui-core-day-picker.d.ts +55 -0
  215. package/types/malva-ui-core-dialog.d.ts +597 -0
  216. package/types/malva-ui-core-divider.d.ts +68 -0
  217. package/types/malva-ui-core-drawer.d.ts +333 -0
  218. package/types/malva-ui-core-dropdown.d.ts +592 -0
  219. package/types/malva-ui-core-empty-state.d.ts +37 -0
  220. package/types/malva-ui-core-expand.d.ts +102 -0
  221. package/types/malva-ui-core-file-upload.d.ts +267 -0
  222. package/types/malva-ui-core-filter.d.ts +552 -0
  223. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  224. package/types/malva-ui-core-form-utils.d.ts +579 -0
  225. package/types/malva-ui-core-form.d.ts +176 -0
  226. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  227. package/types/malva-ui-core-input.d.ts +262 -0
  228. package/types/malva-ui-core-kbd.d.ts +56 -0
  229. package/types/malva-ui-core-layout.d.ts +70 -0
  230. package/types/malva-ui-core-link.d.ts +28 -0
  231. package/types/malva-ui-core-list.d.ts +252 -0
  232. package/types/malva-ui-core-loader.d.ts +89 -0
  233. package/types/malva-ui-core-menu.d.ts +954 -0
  234. package/types/malva-ui-core-notification.d.ts +122 -0
  235. package/types/malva-ui-core-number-input.d.ts +167 -0
  236. package/types/malva-ui-core-page.d.ts +799 -0
  237. package/types/malva-ui-core-pagination.d.ts +261 -0
  238. package/types/malva-ui-core-pin-input.d.ts +203 -0
  239. package/types/malva-ui-core-popup.d.ts +834 -0
  240. package/types/malva-ui-core-progress.d.ts +73 -0
  241. package/types/malva-ui-core-radio.d.ts +130 -0
  242. package/types/malva-ui-core-rating.d.ts +115 -0
  243. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  244. package/types/malva-ui-core-search-field.d.ts +408 -0
  245. package/types/malva-ui-core-segmented.d.ts +206 -0
  246. package/types/malva-ui-core-select.d.ts +456 -0
  247. package/types/malva-ui-core-sidebar.d.ts +698 -0
  248. package/types/malva-ui-core-skeleton.d.ts +64 -0
  249. package/types/malva-ui-core-slider.d.ts +219 -0
  250. package/types/malva-ui-core-split-pane.d.ts +149 -0
  251. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  252. package/types/malva-ui-core-stepper.d.ts +168 -0
  253. package/types/malva-ui-core-switch.d.ts +146 -0
  254. package/types/malva-ui-core-table.d.ts +37 -0
  255. package/types/malva-ui-core-tabs.d.ts +339 -0
  256. package/types/malva-ui-core-textarea.d.ts +79 -0
  257. package/types/malva-ui-core-tile.d.ts +373 -0
  258. package/types/malva-ui-core-time-picker.d.ts +141 -0
  259. package/types/malva-ui-core-timeline.d.ts +188 -0
  260. package/types/malva-ui-core-title.d.ts +66 -0
  261. package/types/malva-ui-core-toast.d.ts +432 -0
  262. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  263. package/types/malva-ui-core-toolbar.d.ts +91 -0
  264. package/types/malva-ui-core-tooltip.d.ts +200 -0
  265. package/types/malva-ui-core-tree.d.ts +289 -0
  266. package/types/malva-ui-core-view-variant.d.ts +207 -0
  267. package/types/malva-ui-core.d.ts +72 -0
  268. package/view-variant/README.md +3 -0
  269. package/accordion/index.d.ts +0 -3
  270. package/accordion/lib/accordion/accordion.d.ts +0 -47
  271. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  272. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  273. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  274. package/action-bar/index.d.ts +0 -4
  275. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  276. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  277. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  278. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  279. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  280. package/alert/index.d.ts +0 -2
  281. package/alert/lib/alert/alert.d.ts +0 -84
  282. package/alert/lib/alert/alert.directives.d.ts +0 -44
  283. package/alert/malva-ui-core-alert.d.ts +0 -5
  284. package/autocomplete/index.d.ts +0 -1
  285. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  286. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  287. package/avatar/index.d.ts +0 -2
  288. package/avatar/lib/avatar/avatar.d.ts +0 -125
  289. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  290. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  291. package/avatar-group/index.d.ts +0 -1
  292. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  293. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  294. package/badge/index.d.ts +0 -2
  295. package/badge/lib/badge/badge.d.ts +0 -59
  296. package/badge/lib/badge-icon.d.ts +0 -35
  297. package/badge/malva-ui-core-badge.d.ts +0 -5
  298. package/bottom-nav/index.d.ts +0 -1
  299. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  300. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  301. package/breadcrumb/index.d.ts +0 -5
  302. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  305. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  307. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  308. package/button/index.d.ts +0 -7
  309. package/button/lib/button/button.d.ts +0 -61
  310. package/button/lib/button-close/button-close.d.ts +0 -24
  311. package/button/lib/button-group/button-group.d.ts +0 -21
  312. package/button/lib/button-split/button-split.d.ts +0 -21
  313. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  314. package/button/lib/button-variant.token.d.ts +0 -13
  315. package/button/lib/button.directives.d.ts +0 -14
  316. package/button/lib/button.types.d.ts +0 -8
  317. package/button/malva-ui-core-button.d.ts +0 -5
  318. package/calendar/index.d.ts +0 -3
  319. package/calendar/lib/calendar/calendar.d.ts +0 -182
  320. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  321. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  322. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  323. package/card/index.d.ts +0 -5
  324. package/card/lib/card/card.d.ts +0 -43
  325. package/card/lib/card-actions-def.d.ts +0 -10
  326. package/card/lib/card-footer-def.d.ts +0 -13
  327. package/card/lib/card-header-def.d.ts +0 -10
  328. package/card/lib/card-subheader-def.d.ts +0 -16
  329. package/card/malva-ui-core-card.d.ts +0 -5
  330. package/chat/index.d.ts +0 -9
  331. package/chat/lib/chat/chat.d.ts +0 -133
  332. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  333. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  334. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  335. package/chat/lib/chat-format.d.ts +0 -5
  336. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  337. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  338. package/chat/lib/chat-render-list.d.ts +0 -16
  339. package/chat/lib/chat-tokens.d.ts +0 -25
  340. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  341. package/chat/lib/chat.types.d.ts +0 -80
  342. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  343. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  344. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  345. package/chat/malva-ui-core-chat.d.ts +0 -5
  346. package/checkbox/index.d.ts +0 -3
  347. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  348. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  349. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  350. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  351. package/chip/index.d.ts +0 -2
  352. package/chip/lib/chip/chip.d.ts +0 -107
  353. package/chip/lib/chip/chip.directives.d.ts +0 -18
  354. package/chip/malva-ui-core-chip.d.ts +0 -5
  355. package/color-picker/index.d.ts +0 -3
  356. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  357. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  358. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  359. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  360. package/combobox/index.d.ts +0 -2
  361. package/combobox/lib/combobox/combobox.d.ts +0 -400
  362. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  363. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  364. package/copy-to-clipboard/index.d.ts +0 -1
  365. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  366. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  367. package/data-table/index.d.ts +0 -8
  368. package/data-table/lib/data-source.d.ts +0 -5
  369. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  370. package/data-table/lib/data-table/data-table.d.ts +0 -699
  371. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  372. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  373. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  374. package/data-table/lib/data-table-cell.d.ts +0 -44
  375. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-error.d.ts +0 -37
  377. package/data-table/lib/data-table-footer.d.ts +0 -26
  378. package/data-table/lib/data-table-no-data.d.ts +0 -19
  379. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  380. package/data-table/lib/types.d.ts +0 -134
  381. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  382. package/date-range-picker/index.d.ts +0 -1
  383. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  384. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  385. package/day-picker/index.d.ts +0 -1
  386. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  387. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  388. package/dialog/index.d.ts +0 -11
  389. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  390. package/dialog/lib/confirm-dialog.d.ts +0 -52
  391. package/dialog/lib/dialog/dialog.d.ts +0 -22
  392. package/dialog/lib/dialog-body.d.ts +0 -9
  393. package/dialog/lib/dialog-close.d.ts +0 -27
  394. package/dialog/lib/dialog-config.d.ts +0 -112
  395. package/dialog/lib/dialog-container.d.ts +0 -40
  396. package/dialog/lib/dialog-footer.d.ts +0 -13
  397. package/dialog/lib/dialog-header.d.ts +0 -74
  398. package/dialog/lib/dialog-ref.d.ts +0 -95
  399. package/dialog/lib/dialog-template.d.ts +0 -65
  400. package/dialog/lib/dialog-text-content.d.ts +0 -24
  401. package/dialog/lib/dialog.service.d.ts +0 -63
  402. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  403. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  404. package/dialog/lib/routable-dialog.d.ts +0 -30
  405. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  406. package/divider/index.d.ts +0 -1
  407. package/divider/lib/divider/divider.d.ts +0 -64
  408. package/divider/malva-ui-core-divider.d.ts +0 -5
  409. package/drawer/index.d.ts +0 -11
  410. package/drawer/lib/drawer/drawer.d.ts +0 -106
  411. package/drawer/lib/drawer-body.d.ts +0 -8
  412. package/drawer/lib/drawer-content.d.ts +0 -6
  413. package/drawer/lib/drawer-footer.d.ts +0 -5
  414. package/drawer/lib/drawer-header.d.ts +0 -5
  415. package/drawer/lib/drawer-ref.d.ts +0 -29
  416. package/drawer/lib/drawer-resize.d.ts +0 -65
  417. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  418. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  419. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  420. package/drawer/lib/drawer.service.d.ts +0 -66
  421. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  422. package/drawer/lib/routable-drawer.d.ts +0 -30
  423. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  424. package/dropdown/index.d.ts +0 -9
  425. package/dropdown/lib/active-descendant.d.ts +0 -64
  426. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  427. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  428. package/dropdown/lib/option-matcher.d.ts +0 -87
  429. package/dropdown/lib/options-adapter.d.ts +0 -142
  430. package/dropdown/lib/options-result.d.ts +0 -6
  431. package/dropdown/lib/reconciliation.d.ts +0 -19
  432. package/dropdown/lib/select-data-source.d.ts +0 -18
  433. package/dropdown/lib/select-option.d.ts +0 -37
  434. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  435. package/empty-state/index.d.ts +0 -1
  436. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  437. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  438. package/esm2022/accordion/index.js +0 -4
  439. package/esm2022/accordion/index.js.map +0 -1
  440. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  441. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  442. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  444. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  446. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  447. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  448. package/esm2022/action-bar/index.js +0 -5
  449. package/esm2022/action-bar/index.js.map +0 -1
  450. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  452. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  458. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  460. package/esm2022/alert/index.js +0 -3
  461. package/esm2022/alert/index.js.map +0 -1
  462. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  463. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  464. package/esm2022/alert/lib/alert/alert.js +0 -118
  465. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  466. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  467. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  468. package/esm2022/autocomplete/index.js +0 -2
  469. package/esm2022/autocomplete/index.js.map +0 -1
  470. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  472. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  474. package/esm2022/avatar/index.js +0 -3
  475. package/esm2022/avatar/index.js.map +0 -1
  476. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  477. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  478. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  479. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  480. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  481. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  482. package/esm2022/avatar-group/index.js +0 -2
  483. package/esm2022/avatar-group/index.js.map +0 -1
  484. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  486. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  488. package/esm2022/badge/index.js +0 -3
  489. package/esm2022/badge/index.js.map +0 -1
  490. package/esm2022/badge/lib/badge/badge.js +0 -71
  491. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  492. package/esm2022/badge/lib/badge-icon.js +0 -47
  493. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  494. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  495. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  496. package/esm2022/bottom-nav/index.js +0 -2
  497. package/esm2022/bottom-nav/index.js.map +0 -1
  498. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  500. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  502. package/esm2022/breadcrumb/index.js +0 -6
  503. package/esm2022/breadcrumb/index.js.map +0 -1
  504. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  514. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  516. package/esm2022/button/index.js +0 -8
  517. package/esm2022/button/index.js.map +0 -1
  518. package/esm2022/button/lib/button/button.js +0 -137
  519. package/esm2022/button/lib/button/button.js.map +0 -1
  520. package/esm2022/button/lib/button-close/button-close.js +0 -52
  521. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  522. package/esm2022/button/lib/button-group/button-group.js +0 -44
  523. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  524. package/esm2022/button/lib/button-split/button-split.js +0 -44
  525. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  526. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  527. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  528. package/esm2022/button/lib/button-variant.token.js +0 -4
  529. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  530. package/esm2022/button/lib/button.directives.js +0 -37
  531. package/esm2022/button/lib/button.directives.js.map +0 -1
  532. package/esm2022/button/lib/button.types.js +0 -1
  533. package/esm2022/button/lib/button.types.js.map +0 -1
  534. package/esm2022/button/malva-ui-core-button.js +0 -5
  535. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  536. package/esm2022/calendar/index.js +0 -4
  537. package/esm2022/calendar/index.js.map +0 -1
  538. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  539. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  540. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  542. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  544. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  545. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  546. package/esm2022/card/index.js +0 -6
  547. package/esm2022/card/index.js.map +0 -1
  548. package/esm2022/card/lib/card/card.js +0 -54
  549. package/esm2022/card/lib/card/card.js.map +0 -1
  550. package/esm2022/card/lib/card-actions-def.js +0 -27
  551. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  552. package/esm2022/card/lib/card-footer-def.js +0 -32
  553. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  554. package/esm2022/card/lib/card-header-def.js +0 -27
  555. package/esm2022/card/lib/card-header-def.js.map +0 -1
  556. package/esm2022/card/lib/card-subheader-def.js +0 -33
  557. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  558. package/esm2022/card/malva-ui-core-card.js +0 -5
  559. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  560. package/esm2022/chat/index.js +0 -10
  561. package/esm2022/chat/index.js.map +0 -1
  562. package/esm2022/chat/lib/chat/chat.js +0 -326
  563. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  564. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  566. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  568. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  569. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  570. package/esm2022/chat/lib/chat-format.js +0 -11
  571. package/esm2022/chat/lib/chat-format.js.map +0 -1
  572. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  574. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  575. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  576. package/esm2022/chat/lib/chat-render-list.js +0 -55
  577. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  578. package/esm2022/chat/lib/chat-tokens.js +0 -9
  579. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  580. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  582. package/esm2022/chat/lib/chat.types.js +0 -1
  583. package/esm2022/chat/lib/chat.types.js.map +0 -1
  584. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  585. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  586. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  587. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  588. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  589. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  590. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  591. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  592. package/esm2022/checkbox/index.js +0 -4
  593. package/esm2022/checkbox/index.js.map +0 -1
  594. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  596. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  598. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  599. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  600. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  602. package/esm2022/chip/index.js +0 -3
  603. package/esm2022/chip/index.js.map +0 -1
  604. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  605. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  606. package/esm2022/chip/lib/chip/chip.js +0 -140
  607. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  608. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  609. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  610. package/esm2022/color-picker/index.js +0 -4
  611. package/esm2022/color-picker/index.js.map +0 -1
  612. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  614. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  616. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  618. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  620. package/esm2022/combobox/index.js +0 -3
  621. package/esm2022/combobox/index.js.map +0 -1
  622. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  623. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  624. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  625. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  626. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  627. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  628. package/esm2022/copy-to-clipboard/index.js +0 -2
  629. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  630. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  632. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  634. package/esm2022/data-table/index.js +0 -9
  635. package/esm2022/data-table/index.js.map +0 -1
  636. package/esm2022/data-table/lib/data-source.js +0 -6
  637. package/esm2022/data-table/lib/data-source.js.map +0 -1
  638. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  640. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  641. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  642. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  644. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  646. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  648. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  649. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  650. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  651. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  652. package/esm2022/data-table/lib/data-table-error.js +0 -37
  653. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  654. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  655. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  656. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  657. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  658. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  660. package/esm2022/data-table/lib/types.js +0 -1
  661. package/esm2022/data-table/lib/types.js.map +0 -1
  662. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  663. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  664. package/esm2022/date-range-picker/index.js +0 -2
  665. package/esm2022/date-range-picker/index.js.map +0 -1
  666. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  668. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  670. package/esm2022/day-picker/index.js +0 -2
  671. package/esm2022/day-picker/index.js.map +0 -1
  672. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  674. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  676. package/esm2022/dialog/index.js +0 -12
  677. package/esm2022/dialog/index.js.map +0 -1
  678. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  681. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  682. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  683. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  684. package/esm2022/dialog/lib/dialog-body.js +0 -33
  685. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  686. package/esm2022/dialog/lib/dialog-close.js +0 -45
  687. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  688. package/esm2022/dialog/lib/dialog-config.js +0 -23
  689. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  690. package/esm2022/dialog/lib/dialog-container.js +0 -69
  691. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  692. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  693. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  694. package/esm2022/dialog/lib/dialog-header.js +0 -181
  695. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  696. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  697. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  698. package/esm2022/dialog/lib/dialog-template.js +0 -136
  699. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  700. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  701. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  702. package/esm2022/dialog/lib/dialog.service.js +0 -205
  703. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  704. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  706. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  707. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  708. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  709. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  710. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  711. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  712. package/esm2022/divider/index.js +0 -2
  713. package/esm2022/divider/index.js.map +0 -1
  714. package/esm2022/divider/lib/divider/divider.js +0 -73
  715. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  716. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  717. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  718. package/esm2022/drawer/index.js +0 -12
  719. package/esm2022/drawer/index.js.map +0 -1
  720. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  721. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  722. package/esm2022/drawer/lib/drawer-body.js +0 -32
  723. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  724. package/esm2022/drawer/lib/drawer-content.js +0 -14
  725. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  726. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  727. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  728. package/esm2022/drawer/lib/drawer-header.js +0 -14
  729. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  730. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  731. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  732. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  733. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  734. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  736. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  738. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  739. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  740. package/esm2022/drawer/lib/drawer.service.js +0 -86
  741. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  742. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  744. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  745. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  746. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  747. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  748. package/esm2022/dropdown/index.js +0 -10
  749. package/esm2022/dropdown/index.js.map +0 -1
  750. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  751. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  752. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  754. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  756. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  757. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  758. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  759. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  760. package/esm2022/dropdown/lib/options-result.js +0 -11
  761. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  762. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  763. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  764. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  765. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  766. package/esm2022/dropdown/lib/select-option.js +0 -25
  767. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  768. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  770. package/esm2022/empty-state/index.js +0 -2
  771. package/esm2022/empty-state/index.js.map +0 -1
  772. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  774. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  776. package/esm2022/expand/index.js +0 -3
  777. package/esm2022/expand/index.js.map +0 -1
  778. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  779. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  780. package/esm2022/expand/lib/expand/expand.js +0 -93
  781. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  782. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  783. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  784. package/esm2022/file-upload/index.js +0 -5
  785. package/esm2022/file-upload/index.js.map +0 -1
  786. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  788. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  790. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  791. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  792. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  794. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  796. package/esm2022/filter/index.js +0 -4
  797. package/esm2022/filter/index.js.map +0 -1
  798. package/esm2022/filter/lib/filter/filter.js +0 -552
  799. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  800. package/esm2022/filter/lib/filter.types.js +0 -1
  801. package/esm2022/filter/lib/filter.types.js.map +0 -1
  802. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  804. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  805. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  806. package/esm2022/form/index.js +0 -7
  807. package/esm2022/form/index.js.map +0 -1
  808. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  809. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  810. package/esm2022/form/lib/fieldset-span.js +0 -49
  811. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  812. package/esm2022/form/lib/form/form.js +0 -60
  813. package/esm2022/form/lib/form/form.js.map +0 -1
  814. package/esm2022/form/lib/form-actions.js +0 -34
  815. package/esm2022/form/lib/form-actions.js.map +0 -1
  816. package/esm2022/form/lib/form-gap.js +0 -15
  817. package/esm2022/form/lib/form-gap.js.map +0 -1
  818. package/esm2022/form/lib/form-header.js +0 -27
  819. package/esm2022/form/lib/form-header.js.map +0 -1
  820. package/esm2022/form/lib/form.types.js +0 -1
  821. package/esm2022/form/lib/form.types.js.map +0 -1
  822. package/esm2022/form/malva-ui-core-form.js +0 -5
  823. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  824. package/esm2022/form-utils/index.js +0 -16
  825. package/esm2022/form-utils/index.js.map +0 -1
  826. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  827. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  828. package/esm2022/form-utils/lib/description/description.js +0 -24
  829. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  830. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  831. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  832. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  834. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  835. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  836. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  840. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  841. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  842. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  843. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  844. package/esm2022/form-utils/lib/label/label.js +0 -55
  845. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  846. package/esm2022/form-utils/lib/message/message.js +0 -20
  847. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  848. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  850. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  851. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  852. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  854. package/esm2022/form-utils/lib/selection.service.js +0 -81
  855. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  856. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  858. package/esm2022/form-utils/testing/index.js +0 -2
  859. package/esm2022/form-utils/testing/index.js.map +0 -1
  860. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  862. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  864. package/esm2022/index.js +0 -70
  865. package/esm2022/index.js.map +0 -1
  866. package/esm2022/input/index.js +0 -4
  867. package/esm2022/input/index.js.map +0 -1
  868. package/esm2022/input/lib/input/input-native.js +0 -49
  869. package/esm2022/input/lib/input/input-native.js.map +0 -1
  870. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  871. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  872. package/esm2022/input/lib/input/input.js +0 -277
  873. package/esm2022/input/lib/input/input.js.map +0 -1
  874. package/esm2022/input/lib/input/password-strength.js +0 -46
  875. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  876. package/esm2022/input/malva-ui-core-input.js +0 -5
  877. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  878. package/esm2022/kbd/index.js +0 -2
  879. package/esm2022/kbd/index.js.map +0 -1
  880. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  881. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  882. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  883. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  884. package/esm2022/layout/index.js +0 -5
  885. package/esm2022/layout/index.js.map +0 -1
  886. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  890. package/esm2022/layout/lib/layout/layout.js +0 -43
  891. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  892. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  893. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  894. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  895. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  896. package/esm2022/link/index.js +0 -3
  897. package/esm2022/link/index.js.map +0 -1
  898. package/esm2022/link/lib/link/link.directives.js +0 -24
  899. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  900. package/esm2022/link/lib/link/link.js +0 -61
  901. package/esm2022/link/lib/link/link.js.map +0 -1
  902. package/esm2022/link/malva-ui-core-link.js +0 -5
  903. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  904. package/esm2022/list/index.js +0 -14
  905. package/esm2022/list/index.js.map +0 -1
  906. package/esm2022/list/lib/list/list.js +0 -28
  907. package/esm2022/list/lib/list/list.js.map +0 -1
  908. package/esm2022/list/lib/list-item/list-item.js +0 -125
  909. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  910. package/esm2022/list/lib/list-item-actions.js +0 -23
  911. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  912. package/esm2022/list/lib/list-item-byline.js +0 -13
  913. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  914. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  915. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  916. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  917. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  918. package/esm2022/list/lib/list-item-media.js +0 -13
  919. package/esm2022/list/lib/list-item-media.js.map +0 -1
  920. package/esm2022/list/lib/list-item-meta.js +0 -13
  921. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  922. package/esm2022/list/lib/list-item-prefix.js +0 -13
  923. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  924. package/esm2022/list/lib/list-item-suffix.js +0 -13
  925. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  926. package/esm2022/list/lib/list-item-template.js +0 -14
  927. package/esm2022/list/lib/list-item-template.js.map +0 -1
  928. package/esm2022/list/lib/list-item-title.js +0 -13
  929. package/esm2022/list/lib/list-item-title.js.map +0 -1
  930. package/esm2022/list/lib/list-selectable.js +0 -116
  931. package/esm2022/list/lib/list-selectable.js.map +0 -1
  932. package/esm2022/list/malva-ui-core-list.js +0 -5
  933. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  934. package/esm2022/loader/index.js +0 -2
  935. package/esm2022/loader/index.js.map +0 -1
  936. package/esm2022/loader/lib/loader/loader.js +0 -134
  937. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  938. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  939. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  940. package/esm2022/malva-ui-core.js +0 -5
  941. package/esm2022/malva-ui-core.js.map +0 -1
  942. package/esm2022/menu/index.js +0 -10
  943. package/esm2022/menu/index.js.map +0 -1
  944. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  945. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  946. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  947. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  948. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  949. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  950. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  951. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  952. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  953. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  954. package/esm2022/menu/lib/menu/menu.js +0 -308
  955. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  956. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  957. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  958. package/esm2022/menu/lib/menu/menubar.js +0 -257
  959. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  960. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  961. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  962. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  963. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  964. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  965. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  966. package/esm2022/notification/index.js +0 -5
  967. package/esm2022/notification/index.js.map +0 -1
  968. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  969. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  970. package/esm2022/notification/lib/notification-ref.js +0 -13
  971. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  972. package/esm2022/notification/lib/notification.service.js +0 -118
  973. package/esm2022/notification/lib/notification.service.js.map +0 -1
  974. package/esm2022/notification/lib/notification.types.js +0 -6
  975. package/esm2022/notification/lib/notification.types.js.map +0 -1
  976. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  977. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  978. package/esm2022/number-input/index.js +0 -2
  979. package/esm2022/number-input/index.js.map +0 -1
  980. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  981. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  982. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  983. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  984. package/esm2022/page/index.js +0 -15
  985. package/esm2022/page/index.js.map +0 -1
  986. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  987. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  988. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  989. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  990. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  991. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  992. package/esm2022/page/lib/page/page.js +0 -173
  993. package/esm2022/page/lib/page/page.js.map +0 -1
  994. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  995. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  996. package/esm2022/page/lib/page-content/page-content.js +0 -72
  997. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  998. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  999. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1000. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1002. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1003. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1004. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1005. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1006. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1008. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1010. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1011. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1012. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1014. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1016. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1017. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1018. package/esm2022/page/malva-ui-core-page.js +0 -5
  1019. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1020. package/esm2022/pagination/index.js +0 -5
  1021. package/esm2022/pagination/index.js.map +0 -1
  1022. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1024. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1025. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1026. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1030. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1031. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1032. package/esm2022/pin-input/index.js +0 -3
  1033. package/esm2022/pin-input/index.js.map +0 -1
  1034. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1036. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1038. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1040. package/esm2022/popup/index.js +0 -10
  1041. package/esm2022/popup/index.js.map +0 -1
  1042. package/esm2022/popup/lib/popup/popup.js +0 -500
  1043. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1044. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1045. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1046. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1048. package/esm2022/popup/lib/popup-content.js +0 -14
  1049. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1050. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1051. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1052. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1053. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1054. package/esm2022/popup/lib/popup-positions.js +0 -252
  1055. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1056. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1058. package/esm2022/popup/lib/popup.service.js +0 -188
  1059. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1060. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1061. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1062. package/esm2022/progress/index.js +0 -2
  1063. package/esm2022/progress/index.js.map +0 -1
  1064. package/esm2022/progress/lib/progress/progress.js +0 -102
  1065. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1066. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1067. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1068. package/esm2022/radio/index.js +0 -3
  1069. package/esm2022/radio/index.js.map +0 -1
  1070. package/esm2022/radio/lib/radio/radio.js +0 -134
  1071. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1072. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1073. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1074. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1075. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1076. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1077. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1078. package/esm2022/rating/index.js +0 -2
  1079. package/esm2022/rating/index.js.map +0 -1
  1080. package/esm2022/rating/lib/rating/rating.js +0 -208
  1081. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1082. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1083. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1084. package/esm2022/scrollbar/index.js +0 -2
  1085. package/esm2022/scrollbar/index.js.map +0 -1
  1086. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1088. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1090. package/esm2022/search-field/index.js +0 -3
  1091. package/esm2022/search-field/index.js.map +0 -1
  1092. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1093. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1094. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1096. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1097. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1098. package/esm2022/segmented/index.js +0 -5
  1099. package/esm2022/segmented/index.js.map +0 -1
  1100. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1101. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1102. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1104. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1105. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1106. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1108. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1109. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1110. package/esm2022/select/index.js +0 -4
  1111. package/esm2022/select/index.js.map +0 -1
  1112. package/esm2022/select/lib/select/select.js +0 -685
  1113. package/esm2022/select/lib/select/select.js.map +0 -1
  1114. package/esm2022/select/lib/select-option.js +0 -2
  1115. package/esm2022/select/lib/select-option.js.map +0 -1
  1116. package/esm2022/select/lib/select-template.directives.js +0 -34
  1117. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1118. package/esm2022/select/malva-ui-core-select.js +0 -5
  1119. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1120. package/esm2022/sidebar/index.js +0 -16
  1121. package/esm2022/sidebar/index.js.map +0 -1
  1122. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1124. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1125. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1126. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1127. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1128. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1129. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1130. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1132. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1133. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1134. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1136. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1138. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1140. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1144. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1146. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1152. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1154. package/esm2022/skeleton/index.js +0 -2
  1155. package/esm2022/skeleton/index.js.map +0 -1
  1156. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1158. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1160. package/esm2022/slider/index.js +0 -3
  1161. package/esm2022/slider/index.js.map +0 -1
  1162. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1164. package/esm2022/slider/lib/slider/slider.js +0 -468
  1165. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1166. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1167. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1168. package/esm2022/split-pane/index.js +0 -4
  1169. package/esm2022/split-pane/index.js.map +0 -1
  1170. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1172. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1176. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1178. package/esm2022/status-indicator/index.js +0 -2
  1179. package/esm2022/status-indicator/index.js.map +0 -1
  1180. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1182. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1184. package/esm2022/stepper/index.js +0 -5
  1185. package/esm2022/stepper/index.js.map +0 -1
  1186. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1187. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1188. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1189. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1190. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1192. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1193. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1194. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1196. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1197. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1198. package/esm2022/switch/index.js +0 -3
  1199. package/esm2022/switch/index.js.map +0 -1
  1200. package/esm2022/switch/lib/switch/switch.js +0 -190
  1201. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1202. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1203. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1204. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1205. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1206. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1207. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1208. package/esm2022/tabs/index.js +0 -9
  1209. package/esm2022/tabs/index.js.map +0 -1
  1210. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1211. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1212. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1214. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1215. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1216. package/esm2022/tabs/lib/tab-def.js +0 -17
  1217. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1218. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1219. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1220. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1222. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1223. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1224. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1225. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1226. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1227. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1228. package/esm2022/textarea/index.js +0 -2
  1229. package/esm2022/textarea/index.js.map +0 -1
  1230. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1231. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1232. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1233. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1234. package/esm2022/tile/index.js +0 -3
  1235. package/esm2022/tile/index.js.map +0 -1
  1236. package/esm2022/tile/lib/tile/tile.js +0 -39
  1237. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1238. package/esm2022/tile/lib/tile-header.js +0 -14
  1239. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1240. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1241. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1242. package/esm2022/time-picker/index.js +0 -2
  1243. package/esm2022/time-picker/index.js.map +0 -1
  1244. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1246. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1248. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1250. package/esm2022/timeline/index.js +0 -6
  1251. package/esm2022/timeline/index.js.map +0 -1
  1252. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1254. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1256. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1258. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1259. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1260. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1262. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1263. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1264. package/esm2022/title/index.js +0 -2
  1265. package/esm2022/title/index.js.map +0 -1
  1266. package/esm2022/title/lib/title/title.js +0 -171
  1267. package/esm2022/title/lib/title/title.js.map +0 -1
  1268. package/esm2022/title/malva-ui-core-title.js +0 -5
  1269. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1270. package/esm2022/toast/index.js +0 -13
  1271. package/esm2022/toast/index.js.map +0 -1
  1272. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1273. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1274. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1275. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1276. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1277. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1278. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1279. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1280. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1281. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1282. package/esm2022/toast/lib/toast-ref.js +0 -54
  1283. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1284. package/esm2022/toast/lib/toast-timer.js +0 -37
  1285. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1286. package/esm2022/toast/lib/toast.directives.js +0 -76
  1287. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1288. package/esm2022/toast/lib/toast.service.js +0 -127
  1289. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1290. package/esm2022/toast/lib/toast.types.js +0 -39
  1291. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1292. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1293. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1294. package/esm2022/tokenizer/index.js +0 -4
  1295. package/esm2022/tokenizer/index.js.map +0 -1
  1296. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1297. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1298. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1299. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1300. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1302. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1304. package/esm2022/toolbar/index.js +0 -4
  1305. package/esm2022/toolbar/index.js.map +0 -1
  1306. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1310. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1312. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1314. package/esm2022/tooltip/index.js +0 -4
  1315. package/esm2022/tooltip/index.js.map +0 -1
  1316. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1318. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1322. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1324. package/esm2022/tree/index.js +0 -5
  1325. package/esm2022/tree/index.js.map +0 -1
  1326. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1327. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1328. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1329. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1330. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1332. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1333. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1334. package/esm2022/tree/lib/tree/tree.js +0 -362
  1335. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1336. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1337. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1338. package/expand/index.d.ts +0 -2
  1339. package/expand/lib/expand/expand-content.d.ts +0 -26
  1340. package/expand/lib/expand/expand.d.ts +0 -74
  1341. package/expand/malva-ui-core-expand.d.ts +0 -5
  1342. package/file-upload/index.d.ts +0 -4
  1343. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1344. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1345. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1346. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1347. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1348. package/filter/index.d.ts +0 -3
  1349. package/filter/lib/filter/filter.d.ts +0 -156
  1350. package/filter/lib/filter.types.d.ts +0 -75
  1351. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1352. package/filter/malva-ui-core-filter.d.ts +0 -5
  1353. package/form/index.d.ts +0 -6
  1354. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1355. package/form/lib/fieldset-span.d.ts +0 -28
  1356. package/form/lib/form/form.d.ts +0 -37
  1357. package/form/lib/form-actions.d.ts +0 -20
  1358. package/form/lib/form-gap.d.ts +0 -5
  1359. package/form/lib/form-header.d.ts +0 -18
  1360. package/form/lib/form.types.d.ts +0 -13
  1361. package/form/malva-ui-core-form.d.ts +0 -5
  1362. package/form-utils/index.d.ts +0 -15
  1363. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1364. package/form-utils/lib/description/description.d.ts +0 -16
  1365. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1366. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1367. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1368. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1370. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1371. package/form-utils/lib/hint/hint.d.ts +0 -5
  1372. package/form-utils/lib/label/label.d.ts +0 -22
  1373. package/form-utils/lib/message/message.d.ts +0 -7
  1374. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1375. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1376. package/form-utils/lib/models/form-state.d.ts +0 -1
  1377. package/form-utils/lib/selection.service.d.ts +0 -27
  1378. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1379. package/form-utils/testing/index.d.ts +0 -1
  1380. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1381. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1382. package/index.d.ts +0 -69
  1383. package/input/index.d.ts +0 -3
  1384. package/input/lib/input/input-native.d.ts +0 -36
  1385. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1386. package/input/lib/input/input.d.ts +0 -189
  1387. package/input/lib/input/password-strength.d.ts +0 -34
  1388. package/input/malva-ui-core-input.d.ts +0 -5
  1389. package/kbd/index.d.ts +0 -1
  1390. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1391. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1392. package/layout/index.d.ts +0 -4
  1393. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1394. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1395. package/layout/lib/layout/layout.d.ts +0 -20
  1396. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1397. package/layout/malva-ui-core-layout.d.ts +0 -5
  1398. package/link/index.d.ts +0 -2
  1399. package/link/lib/link/link.d.ts +0 -15
  1400. package/link/lib/link/link.directives.d.ts +0 -10
  1401. package/link/malva-ui-core-link.d.ts +0 -5
  1402. package/list/index.d.ts +0 -13
  1403. package/list/lib/list/list.d.ts +0 -25
  1404. package/list/lib/list-item/list-item.d.ts +0 -67
  1405. package/list/lib/list-item-actions.d.ts +0 -12
  1406. package/list/lib/list-item-byline.d.ts +0 -5
  1407. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1408. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1409. package/list/lib/list-item-media.d.ts +0 -5
  1410. package/list/lib/list-item-meta.d.ts +0 -5
  1411. package/list/lib/list-item-prefix.d.ts +0 -5
  1412. package/list/lib/list-item-suffix.d.ts +0 -5
  1413. package/list/lib/list-item-template.d.ts +0 -10
  1414. package/list/lib/list-item-title.d.ts +0 -5
  1415. package/list/lib/list-selectable.d.ts +0 -73
  1416. package/list/malva-ui-core-list.d.ts +0 -5
  1417. package/loader/index.d.ts +0 -1
  1418. package/loader/lib/loader/loader.d.ts +0 -84
  1419. package/loader/malva-ui-core-loader.d.ts +0 -5
  1420. package/malva-ui-core.d.ts +0 -5
  1421. package/menu/index.d.ts +0 -9
  1422. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1423. package/menu/lib/menu/menu-group.d.ts +0 -27
  1424. package/menu/lib/menu/menu-item.d.ts +0 -76
  1425. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1426. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1427. package/menu/lib/menu/menu.d.ts +0 -149
  1428. package/menu/lib/menu/menu.types.d.ts +0 -13
  1429. package/menu/lib/menu/menubar.d.ts +0 -131
  1430. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1431. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1432. package/menu/malva-ui-core-menu.d.ts +0 -5
  1433. package/notification/index.d.ts +0 -4
  1434. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1435. package/notification/lib/notification-ref.d.ts +0 -12
  1436. package/notification/lib/notification.service.d.ts +0 -43
  1437. package/notification/lib/notification.types.d.ts +0 -52
  1438. package/notification/malva-ui-core-notification.d.ts +0 -5
  1439. package/number-input/index.d.ts +0 -1
  1440. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1441. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1442. package/page/index.d.ts +0 -14
  1443. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1444. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1445. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1446. package/page/lib/page/page.d.ts +0 -74
  1447. package/page/lib/page-content/page-aside.d.ts +0 -7
  1448. package/page/lib/page-content/page-content.d.ts +0 -37
  1449. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1450. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1451. package/page/lib/page-header/page-header.d.ts +0 -77
  1452. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1453. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1454. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1455. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1456. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1457. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1458. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1459. package/page/malva-ui-core-page.d.ts +0 -5
  1460. package/pagination/index.d.ts +0 -4
  1461. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1462. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1463. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1464. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1465. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1466. package/pin-input/index.d.ts +0 -2
  1467. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1468. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1469. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1470. package/popup/index.d.ts +0 -9
  1471. package/popup/lib/popup/popup.d.ts +0 -343
  1472. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1473. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1474. package/popup/lib/popup-content.d.ts +0 -6
  1475. package/popup/lib/popup-header-content.d.ts +0 -18
  1476. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1477. package/popup/lib/popup-positions.d.ts +0 -105
  1478. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1479. package/popup/lib/popup.service.d.ts +0 -159
  1480. package/popup/malva-ui-core-popup.d.ts +0 -5
  1481. package/progress/index.d.ts +0 -1
  1482. package/progress/lib/progress/progress.d.ts +0 -69
  1483. package/progress/malva-ui-core-progress.d.ts +0 -5
  1484. package/radio/index.d.ts +0 -2
  1485. package/radio/lib/radio/radio.d.ts +0 -87
  1486. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1487. package/radio/lib/radio-group-token.d.ts +0 -7
  1488. package/radio/malva-ui-core-radio.d.ts +0 -5
  1489. package/rating/index.d.ts +0 -1
  1490. package/rating/lib/rating/rating.d.ts +0 -100
  1491. package/rating/malva-ui-core-rating.d.ts +0 -5
  1492. package/scrollbar/index.d.ts +0 -1
  1493. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1494. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1495. package/search-field/index.d.ts +0 -2
  1496. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1497. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1498. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1499. package/segmented/index.d.ts +0 -4
  1500. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1501. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1502. package/segmented/lib/segmented-token.d.ts +0 -22
  1503. package/segmented/lib/segmented.types.d.ts +0 -9
  1504. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1505. package/select/index.d.ts +0 -3
  1506. package/select/lib/select/select.d.ts +0 -379
  1507. package/select/lib/select-option.d.ts +0 -1
  1508. package/select/lib/select-template.directives.d.ts +0 -14
  1509. package/select/malva-ui-core-select.d.ts +0 -5
  1510. package/sidebar/index.d.ts +0 -15
  1511. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1512. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1513. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1514. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1515. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1516. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1517. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1518. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1519. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1520. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1521. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1522. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1523. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1526. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1527. package/skeleton/index.d.ts +0 -1
  1528. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1529. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1530. package/slider/index.d.ts +0 -2
  1531. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1532. package/slider/lib/slider/slider.d.ts +0 -171
  1533. package/slider/malva-ui-core-slider.d.ts +0 -5
  1534. package/split-pane/index.d.ts +0 -3
  1535. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1536. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1537. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1538. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1539. package/status-indicator/index.d.ts +0 -1
  1540. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1541. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1542. package/stepper/index.d.ts +0 -4
  1543. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1544. package/stepper/lib/stepper/step.d.ts +0 -51
  1545. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1546. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1547. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1548. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1549. package/switch/index.d.ts +0 -2
  1550. package/switch/lib/switch/switch.d.ts +0 -118
  1551. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1552. package/switch/lib/switch-group-token.d.ts +0 -6
  1553. package/switch/malva-ui-core-switch.d.ts +0 -5
  1554. package/tabs/index.d.ts +0 -8
  1555. package/tabs/lib/tab/tab.d.ts +0 -46
  1556. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1557. package/tabs/lib/tab-content-def.d.ts +0 -6
  1558. package/tabs/lib/tab-def.d.ts +0 -11
  1559. package/tabs/lib/tab-group-token.d.ts +0 -10
  1560. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1561. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1562. package/tabs/lib/tabs.service.d.ts +0 -24
  1563. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1564. package/textarea/index.d.ts +0 -1
  1565. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1566. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1567. package/tile/index.d.ts +0 -2
  1568. package/tile/lib/tile/tile.d.ts +0 -20
  1569. package/tile/lib/tile-header.d.ts +0 -6
  1570. package/tile/malva-ui-core-tile.d.ts +0 -5
  1571. package/time-picker/index.d.ts +0 -1
  1572. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1573. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1574. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1575. package/timeline/index.d.ts +0 -5
  1576. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1577. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1579. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1580. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1581. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1582. package/title/index.d.ts +0 -1
  1583. package/title/lib/title/title.d.ts +0 -63
  1584. package/title/malva-ui-core-title.d.ts +0 -5
  1585. package/toast/index.d.ts +0 -10
  1586. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1587. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1588. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1589. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1590. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1591. package/toast/lib/toast-ref.d.ts +0 -33
  1592. package/toast/lib/toast-timer.d.ts +0 -24
  1593. package/toast/lib/toast.directives.d.ts +0 -13
  1594. package/toast/lib/toast.service.d.ts +0 -41
  1595. package/toast/lib/toast.types.d.ts +0 -139
  1596. package/toast/malva-ui-core-toast.d.ts +0 -5
  1597. package/tokenizer/index.d.ts +0 -3
  1598. package/tokenizer/lib/token/token.d.ts +0 -60
  1599. package/tokenizer/lib/token-template.d.ts +0 -29
  1600. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1601. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1602. package/toolbar/index.d.ts +0 -3
  1603. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1604. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1605. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1606. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1607. package/tooltip/index.d.ts +0 -3
  1608. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1609. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1610. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1611. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1612. package/tree/index.d.ts +0 -4
  1613. package/tree/lib/tree/tree-context.d.ts +0 -62
  1614. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1615. package/tree/lib/tree/tree-node.d.ts +0 -45
  1616. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1617. package/tree/lib/tree/tree.d.ts +0 -156
  1618. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1,945 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, model, input, output, computed, inject, signal, contentChild, viewChild, effect, untracked, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { NgTemplateOutlet } from '@angular/common';
5
+ import { MlvPopup, MlvPopupContent, MlvPopupContainer, MlvPopupHeaderContent } from '@malva-ui/core/popup';
6
+ import { MlvSignalFormControlBase, MlvSelectionService, toAriaValues, fromAriaValues, MlvDescription, MlvFormControlWrapper, MlvFormControlWrapperControl, MlvHint, MlvLabel, MlvMessage, MLV_FORM_CONTROL } from '@malva-ui/core/form-utils';
7
+ import { defaultOptionTransform, MlvOptionsAdapter, MlvActiveDescendant, filterOptions, optionId, isReconciliationEmit, filteredOutCommitted, MlvDropdownPanel } from '@malva-ui/core/dropdown';
8
+ import { MlvChip } from '@malva-ui/core/chip';
9
+ import { MlvStructural, MlvResizeObserver } from '@malva-ui/cdk/utils';
10
+ import { LucideChevronDown } from '@lucide/angular';
11
+ import { MlvInput } from '@malva-ui/core/input';
12
+ import { MLV_COMBOBOX_I18N, MLV_FORM_UTILS_I18N, MlvI18nResolverService } from '@malva-ui/i18n';
13
+ import { MlvLoader } from '@malva-ui/core/loader';
14
+ import { MlvButtonClose } from '@malva-ui/core/button';
15
+
16
+ class MlvComboboxItemDef extends MlvStructural {
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvComboboxItemDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvComboboxItemDef, isStandalone: true, selector: "[mlvComboboxItemDef]", usesInheritance: true, ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvComboboxItemDef, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[mlvComboboxItemDef]',
24
+ }]
25
+ }] });
26
+ class MlvComboboxSelectedItemDef extends MlvStructural {
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvComboboxSelectedItemDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvComboboxSelectedItemDef, isStandalone: true, selector: "[mlvComboboxSelectedItemDef]", usesInheritance: true, ngImport: i0 });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvComboboxSelectedItemDef, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ selector: '[mlvComboboxSelectedItemDef]',
34
+ }]
35
+ }] });
36
+
37
+ class MlvCombobox extends MlvSignalFormControlBase {
38
+ /** The scalar, array, or null selection used by all Angular forms APIs. */
39
+ value = model(null, /* @ts-ignore */
40
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
41
+ /**
42
+ * Selectable options: a plain array, an observable of arrays, or an
43
+ * `MlvDataSource` (source-side search + lazy paging). Arrays and observables
44
+ * are filtered locally by the typed query; a data source owns its filtering
45
+ * and receives the query through `setSearch`.
46
+ */
47
+ options = input([], /* @ts-ignore */
48
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
49
+ /**
50
+ * Remote search: `(query) => T[] | Promise<T[]> | Observable<T[]>`. When set it
51
+ * supersedes {@link options} as the item source; the list is not filtered
52
+ * locally. Bind `[loading]` yourself if you want a spinner beyond the
53
+ * source-owned one.
54
+ */
55
+ searchFn = input(null, /* @ts-ignore */
56
+ ...(ngDevMode ? [{ debugName: "searchFn" }] : /* istanbul ignore next */ []));
57
+ /** Debounce (ms) for remote searches (`MlvDataSource` / {@link searchFn}). Local filtering stays instant. */
58
+ searchDebounce = input(200, /* @ts-ignore */
59
+ ...(ngDevMode ? [{ debugName: "searchDebounce" }] : /* istanbul ignore next */ []));
60
+ /** Whether multiple options can be selected at once. */
61
+ multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
62
+ /** Custom placeholder override. Falls back to the i18n-provided placeholder. */
63
+ placeholder = input(undefined, /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
65
+ /** Whether the user can create a new value via Enter when no option matches. */
66
+ allowCreate = input(false, { ...(ngDevMode ? { debugName: "allowCreate" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
67
+ toOption = input(defaultOptionTransform, /* @ts-ignore */
68
+ ...(ngDevMode ? [{ debugName: "toOption" }] : /* istanbul ignore next */ []));
69
+ /**
70
+ * Equality predicate used to match option values against the current
71
+ * selection (and against values written through any forms binding).
72
+ * Defaults to reference equality. Provide a custom comparator — e.g.
73
+ * `(a, b) => a.id === b.id` — so object values survive a serialize /
74
+ * deserialize round-trip and still match their option instances (check-marks
75
+ * and the displayed label stay in agreement).
76
+ */
77
+ compareWith = input((a, b) => a === b, /* @ts-ignore */
78
+ ...(ngDevMode ? [{ debugName: "compareWith" }] : /* istanbul ignore next */ []));
79
+ /**
80
+ * Custom predicate deciding whether an option satisfies the current query
81
+ * (e.g. fuzzy or secondary-field matching). Defaults to the shared case- and
82
+ * diacritic-insensitive substring match. Filtered results are always ranked
83
+ * prefix-matches-first by the shared `filterOptions`, regardless of matcher.
84
+ * Mirrors `[mlvAutocomplete]`'s `mlvAutocompleteMatcher`.
85
+ */
86
+ matcher = input(undefined, /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "matcher" }] : /* istanbul ignore next */ []));
88
+ /** Emitted only when the user actually creates a brand-new value via Enter. */
89
+ valueCreated = output();
90
+ /**
91
+ * Controls whether the dropdown renders as a full-screen mobile sheet.
92
+ *
93
+ * Passed straight through to the underlying `mlv-popup`. Defaults to
94
+ * `'auto'` — full-screen below the `md` breakpoint (viewport < 768px),
95
+ * trigger-anchored above it — matching `mlv-select` and the date/time
96
+ * pickers. Set to `'off'` to always anchor, or `'fullscreen'` to always
97
+ * render the sheet (e.g. demos).
98
+ *
99
+ * In full-screen mode the search field would normally be occluded by the
100
+ * solid backdrop and blocked by the sheet's focus trap (it lives in the
101
+ * trigger row, outside the overlay panel). The combobox therefore projects an
102
+ * **in-sheet search input** into the popup's `[mlvPopupHeaderContent]` slot,
103
+ * wired to the same `searchQuery` and keyboard handlers, so type-to-filter
104
+ * keeps working.
105
+ */
106
+ mobileMode = input('auto', /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "mobileMode" }] : /* istanbul ignore next */ []));
108
+ /**
109
+ * Density applied to the dropdown's option list.
110
+ *
111
+ * The dropdown panel is portaled to the CDK overlay container, outside the
112
+ * component's DOM tree, so ancestor density classes cannot cascade into it.
113
+ * This input is forwarded to the underlying `mlv-popup`, which stamps the
114
+ * resolved `mlv--{density}` class on the detached panel. When omitted, the
115
+ * nearest ancestor `MLV_DENSITY_CONTEXT` (e.g. a `form[mlvForm]`) applies,
116
+ * then the global `MlvDensityService`.
117
+ */
118
+ mlvDensity = input(undefined, /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "mlvDensity" }] : /* istanbul ignore next */ []));
120
+ /**
121
+ * Optional visible heading rendered in the full-screen sheet's header bar.
122
+ * When omitted, falls back to the field's `label` (or, when unset, the
123
+ * resolved placeholder). Only shown while the dropdown is full-screen.
124
+ */
125
+ mobileTitle = input(undefined, /* @ts-ignore */
126
+ ...(ngDevMode ? [{ debugName: "mobileTitle" }] : /* istanbul ignore next */ []));
127
+ /**
128
+ * @protected Resolved full-screen sheet title: explicit `mobileTitle` input
129
+ * takes precedence over the field's label, then the resolved placeholder.
130
+ */
131
+ _resolvedMobileTitle = computed(() => this.mobileTitle() ?? (this.label() || this._resolvedPlaceholder()), /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "_resolvedMobileTitle" }] : /* istanbul ignore next */ []));
133
+ /** @protected The component's i18n strings signal. */
134
+ _i18n = inject(MLV_COMBOBOX_I18N);
135
+ _formI18n = inject(MLV_FORM_UTILS_I18N);
136
+ /** @protected Resolved placeholder: explicit input takes precedence over i18n default. */
137
+ _resolvedPlaceholder = computed(() => this.placeholder() ?? this._i18n().searchPlaceholder, /* @ts-ignore */
138
+ ...(ngDevMode ? [{ debugName: "_resolvedPlaceholder" }] : /* istanbul ignore next */ []));
139
+ /**
140
+ * @protected Accessible name forwarded to the dropdown panel's inner
141
+ * `role="listbox"` (`mlv-dropdown-panel`'s `ariaLabel`). Mirrors the outer
142
+ * trigger input's own resolution — the visible {@link label} when set
143
+ * (linked there via the wrapper's `<mlv-label for>`), else the explicit
144
+ * {@link ariaLabel} input (rendered as the trigger's own `aria-label`) — so
145
+ * the listbox shares the same accessible name as the field it belongs to.
146
+ * `null` when neither is set, same as an unlabelled trigger.
147
+ */
148
+ _panelAriaLabel = computed(() => this.label() || this.ariaLabel(), /* @ts-ignore */
149
+ ...(ngDevMode ? [{ debugName: "_panelAriaLabel" }] : /* istanbul ignore next */ []));
150
+ // Override focused to also be true when the popup is open so the field keeps
151
+ // its focus ring while the dropdown is showing.
152
+ focused = computed(() => this._focused() || this.isOpen(), /* @ts-ignore */
153
+ ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
154
+ /**
155
+ * @private Latches `true` the first time a **remote** source reports
156
+ * `ready()`, and never flips back. It gates {@link _adapter}'s `eager` flag
157
+ * off for good.
158
+ *
159
+ * Without the latch, a `searchFn` bound to an inline arrow — a fresh
160
+ * reference on every change detection run — re-arms the adapter's lazy gate
161
+ * on every pass; while `eager` is still `true` (a committed value the first
162
+ * response did not contain) each pass would fire another request, whose
163
+ * result triggers the next pass. The latch bounds that to exactly one eager
164
+ * load per mount.
165
+ */
166
+ _eagerDone = signal(false, /* @ts-ignore */
167
+ ...(ngDevMode ? [{ debugName: "_eagerDone" }] : /* istanbul ignore next */ []));
168
+ /**
169
+ * @protected Shared source adapter — arrays / observables are local (this
170
+ * component filters), a data source or a `searchFn` is remote (the source
171
+ * filters and the items render as-is). Template-facing: the paging bindings
172
+ * (`hasMore` / `loadingMore` / `loadMore`) read straight off it.
173
+ *
174
+ * The `eager` closure reads {@link hasValue} / {@link _allValuesMatched}
175
+ * lazily, so declaring those below is fine — the adapter's effects run after
176
+ * construction. A committed value with no resolvable label is what makes a
177
+ * `searchFn` load without waiting for the first open. The explicit type
178
+ * annotation breaks the inference cycle that closure creates
179
+ * (`_adapter` → `eager` → `_allValuesMatched` → `resolvedOptions` → `_adapter`).
180
+ */
181
+ _adapter = new MlvOptionsAdapter({
182
+ source: this.options,
183
+ searchFn: this.searchFn,
184
+ debounce: this.searchDebounce,
185
+ eager: computed(() => this.hasValue() && !this._allValuesMatched() && !this._eagerDone()),
186
+ });
187
+ /** @private ICU resolver for parameterised i18n strings. */
188
+ _resolver = inject(MlvI18nResolverService);
189
+ /** @private Last query sent to a remote source (so a close can reset it once). */
190
+ _remoteQuery = '';
191
+ resolvedOptions = computed(() => this._adapter.items().map((item) => this.toOption()(item)), /* @ts-ignore */
192
+ ...(ngDevMode ? [{ debugName: "resolvedOptions" }] : /* istanbul ignore next */ []));
193
+ isOpen = signal(false, /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
195
+ /** Current text in the input. For single-select this doubles as the committed label when not actively searching. */
196
+ searchQuery = signal('', /* @ts-ignore */
197
+ ...(ngDevMode ? [{ debugName: "searchQuery" }] : /* istanbul ignore next */ []));
198
+ triggerWidth = signal(0, /* @ts-ignore */
199
+ ...(ngDevMode ? [{ debugName: "triggerWidth" }] : /* istanbul ignore next */ []));
200
+ /** @private Whether `searchQuery` represents live user search text (vs. a displayed committed label). */
201
+ _searching = signal(false, /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "_searching" }] : /* istanbul ignore next */ []));
203
+ /**
204
+ * @private Shared activedescendant bookkeeping: tracks the active (highlighted)
205
+ * option index over the filtered options with wrap-around navigation. The same
206
+ * engine backs `[mlvAutocomplete]`.
207
+ */
208
+ _activeDescendant = new MlvActiveDescendant(() => this.filteredOptions().length);
209
+ /** @protected Exposed to the template for the panel's `[activeIndex]`. */
210
+ activeIndex = this._activeDescendant.index;
211
+ /** The HTML `id` assigned to the inner listbox element for `aria-controls` linking. */
212
+ listboxId = computed(() => `${this.id()}-listbox`, /* @ts-ignore */
213
+ ...(ngDevMode ? [{ debugName: "listboxId" }] : /* istanbul ignore next */ []));
214
+ dropdownPositions = [
215
+ {
216
+ originX: 'start',
217
+ originY: 'bottom',
218
+ overlayX: 'start',
219
+ overlayY: 'top',
220
+ offsetY: 8,
221
+ },
222
+ {
223
+ originX: 'start',
224
+ originY: 'top',
225
+ overlayX: 'start',
226
+ overlayY: 'bottom',
227
+ offsetY: -8,
228
+ },
229
+ ];
230
+ filteredOptions = computed(() => {
231
+ const resolved = this.resolvedOptions();
232
+ // Remote sources (data source / `searchFn`) own their filtering — filtering
233
+ // again here would hide server results that do not match the local matcher,
234
+ // and would empty the list while a newer query is still in flight.
235
+ if (this._adapter.mode() === 'remote')
236
+ return resolved;
237
+ const query = this._searching() ? this.searchQuery() : '';
238
+ // Shared substring filter (case- and diacritic-insensitive; blank query
239
+ // returns every option; prefix matches ranked first) — extracted to
240
+ // `@malva-ui/core/dropdown` so the same matching powers `[mlvAutocomplete]`.
241
+ return filterOptions(resolved, query, this.matcher());
242
+ }, /* @ts-ignore */
243
+ ...(ngDevMode ? [{ debugName: "filteredOptions" }] : /* istanbul ignore next */ []));
244
+ /**
245
+ * @protected The live query to highlight inside each suggestion (matched
246
+ * substring emphasis). Empty unless the user is actively searching, so a
247
+ * committed single-select label is never highlighted.
248
+ */
249
+ _highlightQuery = computed(() => this._searching() ? this.searchQuery().trim() : '', /* @ts-ignore */
250
+ ...(ngDevMode ? [{ debugName: "_highlightQuery" }] : /* istanbul ignore next */ []));
251
+ /** @protected The options currently selected, resolved to `MlvSelectOption` for chip / template rendering. */
252
+ selectedOptions = computed(() => {
253
+ const transform = this.toOption();
254
+ return this.selectionService
255
+ .selectedValues()
256
+ .map((value) => transform(value));
257
+ }, /* @ts-ignore */
258
+ ...(ngDevMode ? [{ debugName: "selectedOptions" }] : /* istanbul ignore next */ []));
259
+ /** @protected The single-select committed label, or `''` when nothing is selected. */
260
+ _committedLabel = computed(() => {
261
+ const opts = this.selectedOptions();
262
+ return opts.length ? opts[0].label : '';
263
+ }, /* @ts-ignore */
264
+ ...(ngDevMode ? [{ debugName: "_committedLabel" }] : /* istanbul ignore next */ []));
265
+ /** @protected Whether every committed value has a matching option (by `compareWith`). */
266
+ _allValuesMatched = computed(() => {
267
+ const compare = this.compareWith();
268
+ const opts = this.resolvedOptions();
269
+ return this.selectionService
270
+ .selectedValues()
271
+ .every((v) => opts.some((o) => compare(o.value, v)));
272
+ }, /* @ts-ignore */
273
+ ...(ngDevMode ? [{ debugName: "_allValuesMatched" }] : /* istanbul ignore next */ []));
274
+ /** @protected First payload arrived and no consumer-driven `loading`. */
275
+ _ready = computed(() => this._adapter.ready() && !this.loading(), /* @ts-ignore */
276
+ ...(ngDevMode ? [{ debugName: "_ready" }] : /* istanbul ignore next */ []));
277
+ /**
278
+ * @protected Loading variant: a value is committed but no option resolves its
279
+ * label yet. The field is inert (readonly, no open) and shows a spinner in
280
+ * place of the chevron until the first load resolves.
281
+ */
282
+ _awaitingValueLabel = computed(() => this.hasValue() && !this._ready() && !this._allValuesMatched(), /* @ts-ignore */
283
+ ...(ngDevMode ? [{ debugName: "_awaitingValueLabel" }] : /* istanbul ignore next */ []));
284
+ /** @protected Panel spinner row: source-owned loading OR the consumer's `[loading]`. */
285
+ _panelLoading = computed(() => this._adapter.loading() || this.loading(), /* @ts-ignore */
286
+ ...(ngDevMode ? [{ debugName: "_panelLoading" }] : /* istanbul ignore next */ []));
287
+ /** @protected Chips to render: while awaiting, only options that resolved. */
288
+ _chipOptions = computed(() => {
289
+ const selected = this.selectedOptions();
290
+ if (!this._awaitingValueLabel())
291
+ return selected;
292
+ const compare = this.compareWith();
293
+ const opts = this.resolvedOptions();
294
+ return selected.filter((s) => opts.some((o) => compare(o.value, s.value)));
295
+ }, /* @ts-ignore */
296
+ ...(ngDevMode ? [{ debugName: "_chipOptions" }] : /* istanbul ignore next */ []));
297
+ /** @protected `Press Enter to add "{query}"` resolved through i18n. */
298
+ _pressEnterToAdd = computed(() => this._resolver.resolve(this._i18n(), 'pressEnterToAdd', { query: this.searchQuery().trim() }), /* @ts-ignore */
299
+ ...(ngDevMode ? [{ debugName: "_pressEnterToAdd" }] : /* istanbul ignore next */ []));
300
+ /**
301
+ * @protected Whether the custom single-select display template should render
302
+ * over the input: single-select, a `selectedTemplate` is provided, a value is
303
+ * committed, and the field is not currently focused/searching (so the raw
304
+ * input text is shown for editing while focused).
305
+ */
306
+ _showSingleTemplate = computed(() => !this.multiple() &&
307
+ !!this.selectedTemplate()?.templateRef &&
308
+ !!this._committedLabel() &&
309
+ !this.focused(), /* @ts-ignore */
310
+ ...(ngDevMode ? [{ debugName: "_showSingleTemplate" }] : /* istanbul ignore next */ []));
311
+ /** @protected `aria-activedescendant` target: the DOM id of the active option row, or `null`. */
312
+ _activeOptionId = computed(() => {
313
+ const index = this._activeDescendant.index();
314
+ if (index < 0 || index >= this.filteredOptions().length)
315
+ return null;
316
+ return optionId(this.listboxId(), index);
317
+ }, /* @ts-ignore */
318
+ ...(ngDevMode ? [{ debugName: "_activeOptionId" }] : /* istanbul ignore next */ []));
319
+ /**
320
+ * @protected Polite screen-reader announcement of the current result count.
321
+ * Empty while the popup is closed so no stale count is read out. Mirrors the
322
+ * visible empty-state copy rendered inside the dropdown panel.
323
+ */
324
+ _resultsAnnouncement = computed(() => {
325
+ if (!this.isOpen())
326
+ return '';
327
+ const count = this.filteredOptions().length;
328
+ if (count === 0) {
329
+ return this.allowCreate() && this.searchQuery().trim()
330
+ ? this._pressEnterToAdd()
331
+ : this._i18n().noResults;
332
+ }
333
+ return this._resolver.resolve(this._i18n(), 'resultsAvailable', { count });
334
+ }, /* @ts-ignore */
335
+ ...(ngDevMode ? [{ debugName: "_resultsAnnouncement" }] : /* istanbul ignore next */ []));
336
+ selectionService = inject(MlvSelectionService);
337
+ itemTemplate = contentChild(MlvComboboxItemDef, /* @ts-ignore */
338
+ ...(ngDevMode ? [{ debugName: "itemTemplate" }] : /* istanbul ignore next */ []));
339
+ selectedTemplate = contentChild(MlvComboboxSelectedItemDef, /* @ts-ignore */
340
+ ...(ngDevMode ? [{ debugName: "selectedTemplate" }] : /* istanbul ignore next */ []));
341
+ /** @private The inner `mlv-input` — the tab stop and focus target for the whole control. */
342
+ _input = viewChild(MlvInput, /* @ts-ignore */
343
+ ...(ngDevMode ? [{ debugName: "_input" }] : /* istanbul ignore next */ []));
344
+ /** @private The trigger row element (chips + input + chevron), used as the popup's click-outside exclusion. */
345
+ _triggerRef = viewChild('trigger', /* @ts-ignore */
346
+ ...(ngDevMode ? [{ debugName: "_triggerRef" }] : /* istanbul ignore next */ []));
347
+ /** @private The dropdown popup — read to know whether it is rendering as a full-screen sheet. */
348
+ _popupRef = viewChild(MlvPopup, /* @ts-ignore */
349
+ ...(ngDevMode ? [{ debugName: "_popupRef" }] : /* istanbul ignore next */ []));
350
+ /**
351
+ * @protected Whether the dropdown is currently a full-screen mobile sheet
352
+ * (mirrors `mlv-popup`'s own `isFullscreen()`). Drives the in-sheet search
353
+ * input's ARIA/focus handoff and suppresses the outer trigger input's
354
+ * combobox semantics so exactly one `role="combobox"` is exposed at a time.
355
+ */
356
+ _isFullscreen = computed(() => this._popupRef()?.isFullscreen() ?? false, /* @ts-ignore */
357
+ ...(ngDevMode ? [{ debugName: "_isFullscreen" }] : /* istanbul ignore next */ []));
358
+ /**
359
+ * @protected Whether the outer trigger input owns the combobox semantics.
360
+ * `false` only while the full-screen sheet is actually open — then the
361
+ * in-sheet input is the live combobox and the outer input relinquishes the
362
+ * role/ARIA so exactly one `role="combobox"` is exposed. While anchored (or
363
+ * full-screen but closed, when the outer input is the visible trigger) the
364
+ * outer input keeps the combobox semantics.
365
+ */
366
+ _outerIsCombobox = computed(() => !(this._isFullscreen() && this.isOpen()), /* @ts-ignore */
367
+ ...(ngDevMode ? [{ debugName: "_outerIsCombobox" }] : /* istanbul ignore next */ []));
368
+ /**
369
+ * @protected DOM `id` of the in-sheet search input. Distinct from the outer
370
+ * input's `id()` so both can coexist while full-screen and the in-sheet field
371
+ * can be focus-targeted by id after the sheet opens.
372
+ */
373
+ _sheetInputId = computed(() => `${this.id()}-sheet-input`, /* @ts-ignore */
374
+ ...(ngDevMode ? [{ debugName: "_sheetInputId" }] : /* istanbul ignore next */ []));
375
+ /**
376
+ * @protected Elements the backdrop-less dropdown popup treats as "inside" for
377
+ * click-outside dismissal. The trigger row lives outside the floating panel,
378
+ * so without this a click on the input (e.g. to reposition the caret) would
379
+ * dismiss the open list. Passed to `mlv-popup`'s `dismissExcludeElements`.
380
+ */
381
+ _popupExcludeElements = computed(() => {
382
+ const el = this._triggerRef()?.nativeElement;
383
+ return el ? [el] : [];
384
+ }, /* @ts-ignore */
385
+ ...(ngDevMode ? [{ debugName: "_popupExcludeElements" }] : /* istanbul ignore next */ []));
386
+ /** @private Raw values last written through a forms binding, pre-normalisation. */
387
+ _pendingValues = [];
388
+ constructor() {
389
+ super();
390
+ effect(() => {
391
+ this.selectionService.multiple.set(this.multiple());
392
+ });
393
+ effect(() => {
394
+ this.selectionService.compareWith.set(this.compareWith());
395
+ });
396
+ // External value path. `toAriaValues` normalises scalar / array / `null`
397
+ // forms shapes into the flat `T[]` the aria listbox panel expects; each
398
+ // value is then matched against the current options via `compareWith` so
399
+ // deserialized object values collapse onto their option instances (aria
400
+ // listbox, check-marks and displayed label all agree). The **selection** is
401
+ // normalised immediately, but the visible search text is left alone while a
402
+ // live search is in flight — every exit from a search (commit / close /
403
+ // clear) re-syncs it. See `_applyPendingValues`.
404
+ effect(() => {
405
+ this._pendingValues = toAriaValues(this.value());
406
+ this._applyPendingValues();
407
+ });
408
+ // A `searchFn` is lazy: the first open is what triggers its initial load.
409
+ effect(() => {
410
+ if (this.isOpen())
411
+ untracked(() => this._adapter.ensureLoaded());
412
+ });
413
+ // Latch the eager gate off once a *remote* source has answered — see
414
+ // `_eagerDone`. The mode check matters: an array source is `ready()` from
415
+ // the first tick, so latching on readiness alone would disarm the gate
416
+ // before a `searchFn` bound through a signal/late input ever became the
417
+ // active branch.
418
+ effect(() => {
419
+ if (this._adapter.mode() === 'remote' && this._adapter.ready()) {
420
+ untracked(() => this._eagerDone.set(true));
421
+ }
422
+ });
423
+ }
424
+ // ─── Input / focus events ────────────────────────────────────────────────
425
+ /**
426
+ * @protected Whether the last selected chip is "armed" — a visual-only
427
+ * selection driven by Backspace in the empty search input while DOM focus
428
+ * stays in the input (ported from mlv-tokenizer). The first Backspace arms;
429
+ * the next Backspace (or Delete) removes the armed chip and arms the new
430
+ * last one. Multi-select only.
431
+ */
432
+ _armed = signal(false, /* @ts-ignore */
433
+ ...(ngDevMode ? [{ debugName: "_armed" }] : /* istanbul ignore next */ []));
434
+ /** @protected Polite screen-reader announcement for the armed chip. */
435
+ _armedMessage = signal('', /* @ts-ignore */
436
+ ...(ngDevMode ? [{ debugName: "_armedMessage" }] : /* istanbul ignore next */ []));
437
+ /**
438
+ * @protected Whether the given selected option is the currently armed chip.
439
+ * Armed always targets the LAST selected chip.
440
+ */
441
+ _isChipArmed(option) {
442
+ const selected = this.selectedOptions();
443
+ return this._armed() && option === selected[selected.length - 1];
444
+ }
445
+ /**
446
+ * Handles Backspace in the search input (outer or in-sheet). When the input
447
+ * holds text this is a native edit and is left alone. With an empty input in
448
+ * multi-select: the first press arms the last chip (no deletion); each
449
+ * subsequent press removes the armed chip and arms the new last one.
450
+ */
451
+ onInputBackspace(event) {
452
+ if (!this.multiple() || this._isInert())
453
+ return;
454
+ const el = event.target;
455
+ if ((el?.value ?? '') !== '')
456
+ return; // caret editing text
457
+ const selected = this.selectedOptions();
458
+ if (selected.length === 0)
459
+ return;
460
+ event.preventDefault();
461
+ if (!this._armed()) {
462
+ this._armed.set(true);
463
+ this._armedMessage.set(selected[selected.length - 1]?.label ?? '');
464
+ return;
465
+ }
466
+ this._deleteArmedAndRearm();
467
+ }
468
+ /**
469
+ * Handles Delete in the search input — parity with the second Backspace:
470
+ * removes the armed chip and arms the new last one; no-op when nothing is
471
+ * armed.
472
+ */
473
+ onInputDelete(event) {
474
+ if (!this._armed())
475
+ return;
476
+ event.preventDefault();
477
+ this._deleteArmedAndRearm();
478
+ }
479
+ /**
480
+ * @private Removes the armed (last) chip through the regular deselection
481
+ * path and re-arms the new last chip, or disarms when none remain.
482
+ */
483
+ _deleteArmedAndRearm() {
484
+ const selected = this.selectedOptions();
485
+ const last = selected[selected.length - 1];
486
+ if (!last) {
487
+ this._disarmChips();
488
+ return;
489
+ }
490
+ this._internalChipRemoval = true;
491
+ try {
492
+ this.removeSelected(last.value);
493
+ }
494
+ finally {
495
+ this._internalChipRemoval = false;
496
+ }
497
+ const remaining = this.selectedOptions();
498
+ if (remaining.length === 0) {
499
+ this._disarmChips();
500
+ }
501
+ else {
502
+ this._armed.set(true);
503
+ this._armedMessage.set(remaining[remaining.length - 1]?.label ?? '');
504
+ }
505
+ }
506
+ /**
507
+ * @private Marks a removeSelected call as originating from the arm-driven
508
+ * deletion flow, so it preserves (re-arms) instead of disarming.
509
+ */
510
+ _internalChipRemoval = false;
511
+ /** @private Clears the armed chip selection and its live announcement. */
512
+ _disarmChips() {
513
+ if (this._armed())
514
+ this._armed.set(false);
515
+ if (this._armedMessage())
516
+ this._armedMessage.set('');
517
+ }
518
+ onSearchInput(event) {
519
+ if (this._isInert())
520
+ return;
521
+ // Typing is a caret edit — disarm any chip selection.
522
+ this._disarmChips();
523
+ const value = event.target.value;
524
+ this.searchQuery.set(value);
525
+ this._searching.set(true);
526
+ this._activeDescendant.reset();
527
+ if (!this.isOpen())
528
+ this.isOpen.set(true);
529
+ // Remote sources filter server-side — forward the query (debounced) instead
530
+ // of narrowing the rendered list locally.
531
+ if (this._adapter.mode() === 'remote') {
532
+ this._remoteQuery = value;
533
+ this._adapter.search(value);
534
+ }
535
+ }
536
+ /**
537
+ * Opens the dropdown when the input gains focus (unless disabled/readonly).
538
+ * Full-screen sheet mode is the exception: focus alone must NOT open — Tab
539
+ * focus would trap the user straight into the sheet, and the programmatic
540
+ * focus-restore in `_onPopupClosed` would instantly reopen it in a loop.
541
+ * There the sheet opens via pointer ({@link onTriggerClick}), the chevron,
542
+ * or explicit keyboard navigation (ArrowUp/Down).
543
+ */
544
+ onInputFocus() {
545
+ this.setFocused(true);
546
+ if (this._isInert() || this._isFullscreen())
547
+ return;
548
+ this.isOpen.set(true);
549
+ // Single-select: select the committed label so the next keystroke replaces it.
550
+ if (!this.multiple() && this._committedLabel()) {
551
+ this._input()?.select();
552
+ }
553
+ }
554
+ /**
555
+ * Opens the dropdown on a pointer click on the trigger input. This is the
556
+ * open gesture for the full-screen sheet (where focus alone never opens it);
557
+ * while anchored it is a no-op in practice because the preceding focus event
558
+ * already opened the panel.
559
+ */
560
+ onTriggerClick() {
561
+ if (this._isInert())
562
+ return;
563
+ this._disarmChips();
564
+ this.isOpen.set(true);
565
+ }
566
+ /** Closes the dropdown, reverts stale text, and marks touched when focus genuinely leaves the field. */
567
+ onInputBlur() {
568
+ // Focus leaving the field disarms the chip selection (tokenizer parity).
569
+ this._disarmChips();
570
+ this.setFocused(false);
571
+ this._markTouched();
572
+ // Full-screen sheet: the outer trigger input blurs the moment focus is
573
+ // handed to the in-sheet input on open, and the sheet's focus trap keeps
574
+ // focus moving between the in-sheet input, chips, and options. Blur must
575
+ // NOT close/revert here — the sheet is dismissed only via the X button,
576
+ // Escape, or a committed selection (all routed through `_onPopupClosed`).
577
+ if (this._isFullscreen())
578
+ return;
579
+ this._revertAndClose();
580
+ }
581
+ /**
582
+ * @protected Called after the dropdown popup finishes opening. In full-screen
583
+ * mode, hands focus to the in-sheet search input (the outer trigger input is
584
+ * occluded by the backdrop and outside the sheet's focus trap). No-op while
585
+ * trigger-anchored, so the desktop path is unchanged.
586
+ */
587
+ _onPopupOpened() {
588
+ if (!this._isFullscreen())
589
+ return;
590
+ // The in-sheet input is stamped inside the overlay (a detached embedded
591
+ // view), so it is not reachable via this component's view queries — locate
592
+ // it by its deterministic id, mirroring the day-picker's focus-into-panel.
593
+ document.getElementById(this._sheetInputId())?.focus();
594
+ }
595
+ /**
596
+ * @protected Called after the dropdown popup finishes closing. In full-screen
597
+ * mode, reverts any stale search text to the committed selection and restores
598
+ * focus to the outer trigger input (matching the desktop close behaviour that
599
+ * `onInputBlur`/`onEscape` provide when anchored). No-op while anchored.
600
+ */
601
+ _onPopupClosed() {
602
+ if (!this._isFullscreen())
603
+ return;
604
+ this._activeDescendant.reset();
605
+ this._syncDisplayText();
606
+ this.setInitialFocus();
607
+ }
608
+ setFocused(isFocused = true) {
609
+ this._focused.set(isFocused);
610
+ }
611
+ // ─── Keyboard ────────────────────────────────────────────────────────────
612
+ onArrowDown(event) {
613
+ event.preventDefault();
614
+ if (this._isInert())
615
+ return;
616
+ this._openForNavigation();
617
+ this._activeDescendant.move(1);
618
+ }
619
+ onArrowUp(event) {
620
+ event.preventDefault();
621
+ if (this._isInert())
622
+ return;
623
+ this._openForNavigation();
624
+ this._activeDescendant.move(-1);
625
+ }
626
+ onHome(event) {
627
+ if (!this.isOpen() || this._isInert())
628
+ return;
629
+ event.preventDefault();
630
+ this._activeDescendant.first();
631
+ }
632
+ onEnd(event) {
633
+ if (!this.isOpen() || this._isInert())
634
+ return;
635
+ event.preventDefault();
636
+ this._activeDescendant.last();
637
+ }
638
+ onEnterKey(event) {
639
+ event?.preventDefault();
640
+ if (this._isInert())
641
+ return;
642
+ const filtered = this.filteredOptions();
643
+ const active = this._activeDescendant.index();
644
+ // 1. A navigated (highlighted) option wins — APG "Enter selects active".
645
+ if (active >= 0 && active < filtered.length) {
646
+ this._commitValue(filtered[active].value);
647
+ return;
648
+ }
649
+ const query = this.searchQuery().trim();
650
+ if (!query)
651
+ return;
652
+ // 2. Exact text match selects (never deselects).
653
+ const exactMatch = filtered.find((o) => o.label.toLowerCase() === query.toLowerCase());
654
+ if (exactMatch) {
655
+ this._commitValue(exactMatch.value);
656
+ return;
657
+ }
658
+ // 3. allowCreate: ADD a brand-new value (never toggle-off, never duplicate).
659
+ if (this.allowCreate()) {
660
+ const value = query;
661
+ if (!this.selectionService.isSelected(value)) {
662
+ this._addOrReplace(value);
663
+ this.valueCreated.emit(value);
664
+ this._emitValue();
665
+ }
666
+ this._afterCommit();
667
+ }
668
+ }
669
+ /** First press (open) closes + reverts; second press (already closed) clears. */
670
+ onEscape(event) {
671
+ event.preventDefault();
672
+ if (this.isOpen()) {
673
+ this._revertAndClose();
674
+ }
675
+ else {
676
+ this.onClear();
677
+ }
678
+ }
679
+ /** Chevron toggle. Uses `mousedown` + `preventDefault` so the input keeps focus. */
680
+ onChevronMousedown(event) {
681
+ event.preventDefault();
682
+ if (this._isInert())
683
+ return;
684
+ if (this.isOpen()) {
685
+ this.isOpen.set(false);
686
+ }
687
+ else {
688
+ this._input()?.focus();
689
+ this.isOpen.set(true);
690
+ }
691
+ }
692
+ // ─── Selection ───────────────────────────────────────────────────────────
693
+ /**
694
+ * Panel (pointer) selection path: aria emits the full selected-values array.
695
+ *
696
+ * The aria `ngListbox` re-emits its `value` model whenever the *rendered*
697
+ * option set changes — not only on user interaction. Typing filters the
698
+ * selected option out of view, so aria reconciles `value` down to the
699
+ * currently-rendered options and re-emits (see the `afterRenderEffect` in
700
+ * `@angular/aria`'s `Listbox`). That reconciliation is NOT a user action and
701
+ * must never mutate the committed selection or run commit side-effects
702
+ * (close / emit) — otherwise a single-select loses its value on any
703
+ * re-search and multi/allowCreate drop previously-picked items while typing
704
+ * to add another. We detect and ignore those emissions here.
705
+ */
706
+ selectValues(values) {
707
+ const incoming = [...values];
708
+ const committed = this.selectionService.selectedValues();
709
+ // Reconciliation noise: the emit adds nothing to the committed selection
710
+ // and only drops values whose option is currently filtered out of view. A
711
+ // genuine pointer selection either ADDS a value or REMOVES a still-visible
712
+ // one — so this is safe to ignore entirely (no mutation, no side-effects).
713
+ if (this._isReconciliationEmit(incoming, committed))
714
+ return;
715
+ // Genuine pointer selection. In multi-select, aria has already reconciled
716
+ // any filtered-out committed value out of its model, so re-add those
717
+ // (otherwise "type to add another" silently drops earlier picks). Single-
718
+ // select replaces, so no preservation is needed.
719
+ const next = this.multiple()
720
+ ? [...incoming, ...this._filteredOutCommitted(incoming, committed)]
721
+ : incoming;
722
+ this.selectionService.setValues(next);
723
+ this._emitValue();
724
+ this._afterCommit();
725
+ }
726
+ /**
727
+ * @private Whether an incoming panel `valueChange` is pure aria reconciliation
728
+ * noise rather than a user selection. True when the emit (a) adds no value not
729
+ * already committed and (b) only removes values whose option is currently
730
+ * filtered out of the rendered list. An emit that adds a value, removes a
731
+ * still-visible value (a genuine deselection), or exactly re-states the
732
+ * committed selection (nets to no change) is handled accordingly — the last
733
+ * case is treated as reconciliation so a spurious re-emit never re-runs the
734
+ * commit side-effects (e.g. closing a single-select popup mid-search).
735
+ */
736
+ _isReconciliationEmit(incoming, committed) {
737
+ return isReconciliationEmit(incoming, committed, this.filteredOptions().map((o) => o.value), this.compareWith());
738
+ }
739
+ /**
740
+ * @private Committed values that aria dropped from its model only because
741
+ * their option is filtered out of the rendered list (and are not in the
742
+ * incoming array). Re-added to a genuine multi-select selection so earlier
743
+ * picks survive typing to add another value.
744
+ */
745
+ _filteredOutCommitted(incoming, committed) {
746
+ return filteredOutCommitted(incoming, committed, this.filteredOptions().map((o) => o.value), this.compareWith());
747
+ }
748
+ /** Removes a single selected value (multi-select chip close / keyboard remove). */
749
+ removeSelected(value) {
750
+ // A click-removal (or any external deselection) disarms; the arm-driven
751
+ // deletion flow re-arms itself afterwards.
752
+ if (!this._internalChipRemoval)
753
+ this._disarmChips();
754
+ this.selectionService.deselect(value);
755
+ this._emitValue();
756
+ this._focusActiveInput();
757
+ }
758
+ /**
759
+ * @private Focuses whichever search input is currently interactive: the
760
+ * in-sheet input while full-screen, otherwise the outer trigger input.
761
+ */
762
+ _focusActiveInput() {
763
+ if (this._isFullscreen()) {
764
+ document.getElementById(this._sheetInputId())?.focus();
765
+ return;
766
+ }
767
+ this._input()?.focus();
768
+ }
769
+ /** Clears the whole selection and search text, emits, and refocuses the input. */
770
+ onClear() {
771
+ this.selectionService.clear();
772
+ this.searchQuery.set('');
773
+ this._searching.set(false);
774
+ this._activeDescendant.reset();
775
+ this._resetRemoteSearch();
776
+ this._emitValue();
777
+ this._input()?.focus();
778
+ }
779
+ /** Moves focus back to the input (e.g. after single-select commit / close). */
780
+ setInitialFocus() {
781
+ this._input()?.focus();
782
+ }
783
+ updateTriggerWidth(evt) {
784
+ this.triggerWidth.set(evt[0].target.getBoundingClientRect().width);
785
+ }
786
+ // ─── Forms value ─────────────────────────────────────────────────────────
787
+ /**
788
+ * The combobox renders its own clear button inline in the trigger row,
789
+ * before the chevron — the wrapper must not render its trailing copy.
790
+ */
791
+ ownsClearButton = computed(() => true, /* @ts-ignore */
792
+ ...(ngDevMode ? [{ debugName: "ownsClearButton" }] : /* istanbul ignore next */ []));
793
+ /** Whether the control holds a clearable value — At least one committed option selected (search text alone is not a value). */
794
+ hasValue = computed(() => this.selectionService.selectedValues().length > 0, /* @ts-ignore */
795
+ ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
796
+ /** @private Normalises the pending form values against the current options and syncs display text. */
797
+ _applyPendingValues() {
798
+ const compare = this.compareWith();
799
+ const opts = this.resolvedOptions();
800
+ const normalized = this._pendingValues.map((v) => opts.find((o) => compare(o.value, v))?.value ?? v);
801
+ this.selectionService.setValues(normalized);
802
+ // This effect re-runs on every `resolvedOptions()` change — which now
803
+ // includes every remote response and every observable emission. Resyncing
804
+ // the display text there would wipe the query the user is still typing, so
805
+ // it is skipped while a live search is in flight; every exit from a search
806
+ // (commit / revert / clear) calls `_syncDisplayText()` itself. Read
807
+ // untracked so the effect's dependency set stays value + options.
808
+ if (!untracked(() => this._searching()))
809
+ this._syncDisplayText();
810
+ }
811
+ // ─── Internal helpers ─────────────────────────────────────────────────────
812
+ /** @private Whether all open / interaction paths must be suppressed. */
813
+ _isInert() {
814
+ return (this.computedDisabled() || this.readonly() || this._awaitingValueLabel());
815
+ }
816
+ /** @private Opens the popup for keyboard navigation, resetting the active index on first open. */
817
+ _openForNavigation() {
818
+ if (!this.isOpen()) {
819
+ this.isOpen.set(true);
820
+ this._activeDescendant.reset();
821
+ }
822
+ }
823
+ /** @private ADD-only selection: single-select replaces, multi-select appends without duplicating. */
824
+ _addOrReplace(value) {
825
+ if (this.multiple()) {
826
+ if (!this.selectionService.isSelected(value)) {
827
+ this.selectionService.setValues([
828
+ ...this.selectionService.selectedValues(),
829
+ value,
830
+ ]);
831
+ }
832
+ }
833
+ else {
834
+ this.selectionService.setValues([value]);
835
+ }
836
+ }
837
+ /** @private Commits an option value (Enter / active / exact-match path) and settles the UI. */
838
+ _commitValue(value) {
839
+ this._addOrReplace(value);
840
+ this._emitValue();
841
+ this._afterCommit();
842
+ }
843
+ /** @private Settles UI after a committed selection: single closes + refocuses, multi stays open for more. */
844
+ _afterCommit() {
845
+ this._activeDescendant.reset();
846
+ if (this.multiple()) {
847
+ this.searchQuery.set('');
848
+ this._searching.set(false);
849
+ this._resetRemoteSearch();
850
+ this._input()?.focus();
851
+ }
852
+ else {
853
+ this._syncDisplayText();
854
+ this._resetRemoteSearch();
855
+ // Refocus first (the focus handler re-opens), then force the popup shut so
856
+ // the field ends up focused-but-closed after a single-select commit.
857
+ this.setInitialFocus();
858
+ this.isOpen.set(false);
859
+ }
860
+ }
861
+ /** @private Reverts stale search text to the committed state and closes the popup. */
862
+ _revertAndClose() {
863
+ this.isOpen.set(false);
864
+ this._activeDescendant.reset();
865
+ this._syncDisplayText();
866
+ this._resetRemoteSearch();
867
+ }
868
+ /**
869
+ * @private Re-searches `''` once whenever the visible query is dropped
870
+ * (close / revert, a commit in either selection mode, or a clear), so a blank
871
+ * input never sits above a list still filtered by the previous query. No-op
872
+ * in local mode and when the last remote query was already blank.
873
+ */
874
+ _resetRemoteSearch() {
875
+ if (this._adapter.mode() === 'remote' && this._remoteQuery !== '') {
876
+ this._remoteQuery = '';
877
+ this._adapter.search('');
878
+ }
879
+ }
880
+ /** @private Sets the input text to reflect the committed selection (single) or clears it (multi). */
881
+ _syncDisplayText() {
882
+ this._searching.set(false);
883
+ this.searchQuery.set(this.multiple() ? '' : this._committedLabel());
884
+ }
885
+ /**
886
+ * @private Commits the current selection to the forms model. {@link fromAriaValues}
887
+ * collapses the aria-side selection array back to the public value shape: `T[]`
888
+ * for multi-select, or the first value / `null` when empty for single-select.
889
+ */
890
+ _emitValue() {
891
+ this.value.set(fromAriaValues(this.selectionService.selectedValues(), this.multiple()));
892
+ this._markTouched();
893
+ }
894
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCombobox, deps: [], target: i0.ɵɵFactoryTarget.Component });
895
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvCombobox, isStandalone: true, selector: "mlv-combobox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, searchFn: { classPropertyName: "searchFn", publicName: "searchFn", isSignal: true, isRequired: false, transformFunction: null }, searchDebounce: { classPropertyName: "searchDebounce", publicName: "searchDebounce", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, allowCreate: { classPropertyName: "allowCreate", publicName: "allowCreate", isSignal: true, isRequired: false, transformFunction: null }, toOption: { classPropertyName: "toOption", publicName: "toOption", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, matcher: { classPropertyName: "matcher", publicName: "matcher", isSignal: true, isRequired: false, transformFunction: null }, mobileMode: { classPropertyName: "mobileMode", publicName: "mobileMode", isSignal: true, isRequired: false, transformFunction: null }, mlvDensity: { classPropertyName: "mlvDensity", publicName: "mlvDensity", isSignal: true, isRequired: false, transformFunction: null }, mobileTitle: { classPropertyName: "mobileTitle", publicName: "mobileTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueCreated: "valueCreated" }, host: { properties: { "class": "\"mlv-combobox--\" + resolvedState()", "class.mlv-combobox--disabled": "computedDisabled()", "class.mlv-combobox--open": "isOpen()", "class.mlv-combobox--multiple": "multiple()", "class.mlv-combobox--loading": "_awaitingValueLabel()" }, classAttribute: "mlv-combobox" }, providers: [
896
+ MlvSelectionService,
897
+ {
898
+ provide: MLV_FORM_CONTROL,
899
+ useExisting: forwardRef(() => MlvCombobox),
900
+ },
901
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: MlvComboboxItemDef, descendants: true, isSignal: true }, { propertyName: "selectedTemplate", first: true, predicate: MlvComboboxSelectedItemDef, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_input", first: true, predicate: MlvInput, descendants: true, isSignal: true }, { propertyName: "_triggerRef", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "_popupRef", first: true, predicate: MlvPopup, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<mlv-form-control-wrapper (clear)=\"onClear()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-popup-container class=\"mlv-combobox__popup-container\">\n <div\n class=\"mlv-combobox__trigger\"\n mlvResizeObserver\n #trigger\n [attr.aria-busy]=\"_awaitingValueLabel() || null\"\n (resized)=\"updateTriggerWidth($event)\"\n >\n @if (multiple()) { @for (opt of _chipOptions(); track opt.value) {\n <mlv-chip\n class=\"mlv-combobox__chip\"\n [class.mlv-combobox__chip--armed]=\"_isChipArmed(opt)\"\n muted\n [closable]=\"!computedDisabled() && !readonly()\"\n (mousedown)=\"$event.preventDefault()\"\n (chipClose)=\"removeSelected(opt.value)\"\n >\n @if (selectedTemplate()?.templateRef; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl; context: { $implicit: opt }\" />\n } @else { {{ opt.label }} }\n </mlv-chip>\n } }\n\n <div\n class=\"mlv-combobox__field\"\n [class.mlv-combobox__field--template-display]=\"_showSingleTemplate()\"\n >\n <mlv-input\n bare\n class=\"mlv-combobox__input\"\n [id]=\"id()\"\n [role]=\"_outerIsCombobox() ? 'combobox' : null\"\n [ariaExpanded]=\"_outerIsCombobox() ? isOpen() : null\"\n [ariaHasPopup]=\"_outerIsCombobox() ? 'listbox' : null\"\n [ariaAutocomplete]=\"_outerIsCombobox() ? 'list' : null\"\n [ariaControls]=\"_outerIsCombobox() && isOpen() ? listboxId() : null\"\n [ariaActiveDescendant]=\"\n _outerIsCombobox() ? _activeOptionId() : null\n \"\n [ariaLabel]=\"label() ? null : ariaLabel()\"\n [required]=\"required()\"\n [ariaDescribedBy]=\"_describedBy()\"\n [placeholder]=\"\n _awaitingValueLabel() ? _i18n().loading : _resolvedPlaceholder()\n \"\n [disabled]=\"computedDisabled()\"\n [readonly]=\"readonly() || _awaitingValueLabel()\"\n [value]=\"_awaitingValueLabel() ? '' : searchQuery()\"\n [autocomplete]=\"'off'\"\n (input)=\"onSearchInput($event)\"\n (inputFocus)=\"onInputFocus()\"\n (inputBlur)=\"onInputBlur()\"\n (click)=\"onTriggerClick()\"\n (keydown.enter)=\"onEnterKey($event)\"\n (keydown.backspace)=\"onInputBackspace($event)\"\n (keydown.delete)=\"onInputDelete($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.home)=\"onHome($event)\"\n (keydown.end)=\"onEnd($event)\"\n (keydown.escape)=\"onEscape($event)\"\n />\n\n @if (_showSingleTemplate()) {\n <div class=\"mlv-combobox__single-display\" aria-hidden=\"true\">\n <ng-container\n *ngTemplateOutlet=\"\n selectedTemplate()!.templateRef;\n context: { $implicit: selectedOptions()[0] }\n \"\n />\n </div>\n }\n </div>\n\n @if (clearable() && hasValue() && !computedDisabled() && !readonly()) {\n <!-- Inline clear, BEFORE the chevron (ownsClearButton suppresses the\n wrapper's trailing copy). mousedown is prevented so the input keeps\n focus while clearing. -->\n <mlv-button-close\n class=\"mlv-combobox__clear\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onClear()\"\n mlvDensity=\"tight\"\n [ariaLabel]=\"_formI18n().clear\"\n />\n }\n <!-- The chevron is replaced by a spinner while the committed value's\n label is still resolving \u2014 the field is inert then, so a toggle\n button would be a dead control. -->\n @if (_awaitingValueLabel()) {\n <mlv-loader\n class=\"mlv-combobox__loader\"\n variant=\"circle\"\n indeterminate\n [size]=\"18\"\n [strokeWidth]=\"2\"\n [ariaLabel]=\"_i18n().loading\"\n />\n } @else {\n <button\n type=\"button\"\n class=\"mlv-combobox__arrow\"\n tabindex=\"-1\"\n [attr.aria-label]=\"_i18n().toggleOptions\"\n [disabled]=\"computedDisabled()\"\n (mousedown)=\"onChevronMousedown($event)\"\n >\n <svg size=\"20\" lucideChevronDown></svg>\n </button>\n }\n </div>\n\n <mlv-popup\n [(opened)]=\"isOpen\"\n [width]=\"triggerWidth()\"\n [hasShadow]=\"true\"\n [hasBackdrop]=\"false\"\n [flexibleDimensions]=\"true\"\n [positions]=\"dropdownPositions\"\n [dismissExcludeElements]=\"_popupExcludeElements()\"\n [mobileMode]=\"mobileMode()\"\n [mobileTitle]=\"_resolvedMobileTitle()\"\n [mlvDensity]=\"mlvDensity()\"\n class=\"mlv-combobox__popup\"\n (afterOpened)=\"_onPopupOpened()\"\n (afterClosed)=\"_onPopupClosed()\"\n >\n <!-- Full-screen sheet only: an in-sheet search field (and, for\n multi-select, the selected chips) rendered in the popup header so\n type-to-filter survives the sheet's solid backdrop + focus trap.\n Not stamped while trigger-anchored, so desktop is unaffected. -->\n <ng-template mlvPopupHeaderContent>\n <div class=\"mlv-combobox__sheet-header\">\n @if (multiple() && _chipOptions().length) {\n <div class=\"mlv-combobox__sheet-chips\">\n @for (opt of _chipOptions(); track opt.value) {\n <mlv-chip\n class=\"mlv-combobox__chip\"\n [class.mlv-combobox__chip--armed]=\"_isChipArmed(opt)\"\n muted\n [closable]=\"!computedDisabled() && !readonly()\"\n (mousedown)=\"$event.preventDefault()\"\n (chipClose)=\"removeSelected(opt.value)\"\n >\n @if (selectedTemplate()?.templateRef; as tpl) {\n <ng-container\n *ngTemplateOutlet=\"tpl; context: { $implicit: opt }\"\n />\n } @else { {{ opt.label }} }\n </mlv-chip>\n }\n </div>\n }\n\n <mlv-input\n class=\"mlv-combobox__sheet-input\"\n [id]=\"_sheetInputId()\"\n [role]=\"_isFullscreen() ? 'combobox' : null\"\n [ariaLabel]=\"_resolvedMobileTitle()\"\n [ariaExpanded]=\"_isFullscreen() ? isOpen() : null\"\n [ariaHasPopup]=\"_isFullscreen() ? 'listbox' : null\"\n [ariaAutocomplete]=\"_isFullscreen() ? 'list' : null\"\n [ariaControls]=\"\n _isFullscreen() && isOpen() ? listboxId() : null\n \"\n [ariaActiveDescendant]=\"\n _isFullscreen() ? _activeOptionId() : null\n \"\n [placeholder]=\"\n _awaitingValueLabel() ? _i18n().loading : _resolvedPlaceholder()\n \"\n [disabled]=\"computedDisabled()\"\n [readonly]=\"readonly() || _awaitingValueLabel()\"\n [value]=\"_awaitingValueLabel() ? '' : searchQuery()\"\n [autocomplete]=\"'off'\"\n (input)=\"onSearchInput($event)\"\n (inputFocus)=\"onInputFocus()\"\n (inputBlur)=\"onInputBlur()\"\n (keydown.enter)=\"onEnterKey($event)\"\n (keydown.backspace)=\"onInputBackspace($event)\"\n (keydown.delete)=\"onInputDelete($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.home)=\"onHome($event)\"\n (keydown.end)=\"onEnd($event)\"\n (keydown.escape)=\"onEscape($event)\"\n />\n </div>\n </ng-template>\n\n <ng-template mlvPopupContent>\n <!-- Keep DOM focus in the input while pointing at the panel: prevent the\n mousedown from blurring the field so the activedescendant model and\n open state survive option / scrollbar clicks. -->\n <div\n class=\"mlv-combobox__panel\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <mlv-dropdown-panel\n scrollMode=\"parent\"\n [options]=\"filteredOptions()\"\n [multiple]=\"multiple()\"\n [selectedValues]=\"selectionService.selectedValues()\"\n [itemTemplate]=\"itemTemplate()?.templateRef ?? null\"\n [highlightQuery]=\"_highlightQuery()\"\n [listboxId]=\"listboxId()\"\n [ariaLabel]=\"_panelAriaLabel()\"\n focusMode=\"activedescendant\"\n [activeIndex]=\"activeIndex()\"\n [loading]=\"_panelLoading()\"\n [loadingText]=\"_i18n().loading\"\n [hasMore]=\"_adapter.hasMore()\"\n [loadingMore]=\"_adapter.loadingMore()\"\n (loadMore)=\"_adapter.loadMore()\"\n (valueChange)=\"selectValues($event)\"\n >\n <div class=\"mlv-combobox__empty\">\n @if (allowCreate() && searchQuery().trim()) { {{\n _pressEnterToAdd() }} } @else { {{ _i18n().noResults }} }\n </div>\n </mlv-dropdown-panel>\n </div>\n </ng-template>\n </mlv-popup>\n </mlv-popup-container>\n\n <!-- Polite announcement of the current result count for screen-reader users. -->\n <div class=\"mlv-combobox__sr-status\" aria-live=\"polite\" role=\"status\">\n {{ _resultsAnnouncement() }}\n </div>\n <!-- Polite announcement of the currently armed chip (Backspace flow). -->\n <div class=\"mlv-combobox__sr-status\" aria-live=\"polite\" role=\"status\">\n {{ _armedMessage() }}\n </div>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n }\n</mlv-form-control-wrapper>\n", styles: ["@layer mlv.components{.mlv-combobox{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-combobox *{box-sizing:border-box}.mlv-combobox .mlv-form-control-wrapper__control-container{padding:0;height:auto;min-height:var(--form-ctrl-height)}.mlv-combobox .mlv-form-control-wrapper__control-row{align-items:stretch}.mlv-combobox__popup-container{display:flex;flex-grow:1}.mlv-combobox__trigger{display:flex;width:100%;flex-wrap:wrap;align-items:center;align-content:center;gap:.25rem;cursor:text;padding:var(--mlv-control-padding);min-height:100%}.mlv-combobox__chip{flex-shrink:0}.mlv-combobox__field{position:relative;flex:1 1 6rem;min-width:3rem;display:flex;align-items:center}.mlv-combobox__field--template-display .mlv-input__native{color:transparent}.mlv-combobox__input{flex:1;min-width:0;color:var(--mlv-text-primary)}.mlv-combobox__single-display{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none;color:var(--mlv-text-primary)}.mlv-combobox__chip--armed{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset);border-radius:var(--mlv-radius-full)}.mlv-combobox__clear{display:inline-flex;align-items:center;flex-shrink:0}.mlv-combobox__arrow{width:var(--form-ctrl-icon-size, 1.25rem);height:var(--form-ctrl-icon-size, 1.25rem);display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;transform-origin:center;transition:color var(--mlv-duration-fast) var(--mlv-ease-out-strong),transform var(--mlv-duration-normal) var(--mlv-ease-out-strong);color:var(--mlv-text-tertiary);cursor:pointer;flex-shrink:0}.mlv-combobox__arrow svg{width:100%;height:100%}.mlv-combobox__arrow:disabled{cursor:not-allowed;opacity:var(--mlv-disabled-opacity)}.mlv-combobox__loader{display:inline-flex;flex-shrink:0;width:var(--form-ctrl-icon-size, 1.25rem);height:var(--form-ctrl-icon-size, 1.25rem);align-items:center;justify-content:center;color:var(--mlv-text-tertiary)}.mlv-combobox--loading,.mlv-combobox--loading .mlv-combobox__input input{cursor:progress}.mlv-combobox__empty{padding:.75rem;text-align:center;color:var(--mlv-text-secondary);font-size:var(--mlv-typography-body-s-size)}.mlv-combobox--open .mlv-combobox__arrow:not(:disabled),.mlv-combobox:hover .mlv-combobox__arrow:not(:disabled){color:var(--mlv-text-primary)}.mlv-form-control-wrapper--focused .mlv-combobox__arrow:not(:disabled){color:var(--mlv-text-primary)}.mlv-combobox--open .mlv-combobox__arrow{transform:rotate(180deg)}.mlv-combobox__popup{padding:0!important}.mlv-combobox__sheet-header{display:flex;flex-direction:column;gap:var(--mlv-spacing-2);width:100%}.mlv-combobox__sheet-chips{display:flex;flex-wrap:wrap;gap:.25rem}.mlv-combobox__sheet-input{display:block;width:100%}.mlv-combobox__sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.mlv-combobox,.mlv-combobox *,.mlv-combobox:before,.mlv-combobox:after,[class^=mlv-combobox__],[class*=\" mlv-combobox__\"],[class^=mlv-combobox--],[class*=\" mlv-combobox--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MlvPopup, selector: "mlv-popup", inputs: ["position", "positions", "width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "hasArrow", "hasShadow", "class", "mlvDensity", "flexibleDimensions", "scrollStrategy", "hasBackdrop", "restrictPosition", "panelRole", "modal", "ariaLabel", "dismissExcludeElements", "mobileMode", "mobileBreakpoint", "mobileTitle", "mobileCloseLabel", "opened"], outputs: ["openedChange", "afterOpened", "afterClosed"] }, { kind: "directive", type: MlvPopupContent, selector: "[mlvPopupContent]" }, { kind: "component", type: MlvPopupContainer, selector: "mlv-popup-container" }, { kind: "directive", type: MlvPopupHeaderContent, selector: "[mlvPopupHeaderContent]" }, { kind: "component", type: MlvDescription, selector: "mlv-description" }, { kind: "component", type: MlvFormControlWrapper, selector: "mlv-form-control-wrapper", outputs: ["clear"] }, { kind: "directive", type: MlvFormControlWrapperControl, selector: "[mlvFormControlWrapperControl]" }, { kind: "component", type: MlvHint, selector: "mlv-hint" }, { kind: "component", type: MlvLabel, selector: "mlv-label", inputs: ["for", "required"] }, { kind: "component", type: MlvMessage, selector: "mlv-message", inputs: ["state"] }, { kind: "component", type: LucideChevronDown, selector: "svg[lucideChevronDown]" }, { kind: "directive", type: MlvResizeObserver, selector: "[mlvResizeObserver]", outputs: ["resized"], exportAs: ["uiResizeObserver"] }, { kind: "component", type: MlvDropdownPanel, selector: "mlv-dropdown-panel", inputs: ["scrollMode", "minHeight", "maxHeight", "options", "multiple", "selectedValues", "itemTemplate", "focusMode", "activeIndex", "listboxId", "ariaLabel", "highlightQuery", "loading", "loadingText", "loadingMore", "hasMore", "infiniteScrollThreshold"], outputs: ["loadMore", "valueChange"] }, { kind: "component", type: MlvInput, selector: "mlv-input", inputs: ["type", "placeholder", "autocomplete", "inputMode", "maxLength", "minLength", "pattern", "name", "autofocus", "min", "max", "step", "bare", "projectControl", "role", "ariaExpanded", "ariaHasPopup", "ariaAutocomplete", "ariaControls", "ariaActiveDescendant", "ariaDescribedBy", "value"], outputs: ["valueChange", "inputFocus", "inputBlur"] }, { kind: "component", type: MlvChip, selector: "mlv-chip", inputs: ["tone", "muted", "rounded", "floating", "closable", "chipTabIndex", "closeAriaLabel"], outputs: ["chipClose"] }, { kind: "component", type: MlvButtonClose, selector: "mlv-button-close", inputs: ["variant", "shape", "ariaLabel"] }, { kind: "component", type: MlvLoader, selector: "mlv-loader", inputs: ["variant", "tone", "value", "max", "indeterminate", "size", "strokeWidth", "ariaLabel", "showHint", "color", "trackColor", "glow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
902
+ }
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCombobox, decorators: [{
904
+ type: Component,
905
+ args: [{ selector: 'mlv-combobox', imports: [
906
+ NgTemplateOutlet,
907
+ MlvPopup,
908
+ MlvPopupContent,
909
+ MlvPopupContainer,
910
+ MlvPopupHeaderContent,
911
+ MlvDescription,
912
+ MlvFormControlWrapper,
913
+ MlvFormControlWrapperControl,
914
+ MlvHint,
915
+ MlvLabel,
916
+ MlvMessage,
917
+ LucideChevronDown,
918
+ MlvResizeObserver,
919
+ MlvDropdownPanel,
920
+ MlvInput,
921
+ MlvChip,
922
+ MlvButtonClose,
923
+ MlvLoader,
924
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
925
+ MlvSelectionService,
926
+ {
927
+ provide: MLV_FORM_CONTROL,
928
+ useExisting: forwardRef(() => MlvCombobox),
929
+ },
930
+ ], host: {
931
+ class: 'mlv-combobox',
932
+ '[class]': '"mlv-combobox--" + resolvedState()',
933
+ '[class.mlv-combobox--disabled]': 'computedDisabled()',
934
+ '[class.mlv-combobox--open]': 'isOpen()',
935
+ '[class.mlv-combobox--multiple]': 'multiple()',
936
+ '[class.mlv-combobox--loading]': '_awaitingValueLabel()',
937
+ }, template: "<mlv-form-control-wrapper (clear)=\"onClear()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-popup-container class=\"mlv-combobox__popup-container\">\n <div\n class=\"mlv-combobox__trigger\"\n mlvResizeObserver\n #trigger\n [attr.aria-busy]=\"_awaitingValueLabel() || null\"\n (resized)=\"updateTriggerWidth($event)\"\n >\n @if (multiple()) { @for (opt of _chipOptions(); track opt.value) {\n <mlv-chip\n class=\"mlv-combobox__chip\"\n [class.mlv-combobox__chip--armed]=\"_isChipArmed(opt)\"\n muted\n [closable]=\"!computedDisabled() && !readonly()\"\n (mousedown)=\"$event.preventDefault()\"\n (chipClose)=\"removeSelected(opt.value)\"\n >\n @if (selectedTemplate()?.templateRef; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl; context: { $implicit: opt }\" />\n } @else { {{ opt.label }} }\n </mlv-chip>\n } }\n\n <div\n class=\"mlv-combobox__field\"\n [class.mlv-combobox__field--template-display]=\"_showSingleTemplate()\"\n >\n <mlv-input\n bare\n class=\"mlv-combobox__input\"\n [id]=\"id()\"\n [role]=\"_outerIsCombobox() ? 'combobox' : null\"\n [ariaExpanded]=\"_outerIsCombobox() ? isOpen() : null\"\n [ariaHasPopup]=\"_outerIsCombobox() ? 'listbox' : null\"\n [ariaAutocomplete]=\"_outerIsCombobox() ? 'list' : null\"\n [ariaControls]=\"_outerIsCombobox() && isOpen() ? listboxId() : null\"\n [ariaActiveDescendant]=\"\n _outerIsCombobox() ? _activeOptionId() : null\n \"\n [ariaLabel]=\"label() ? null : ariaLabel()\"\n [required]=\"required()\"\n [ariaDescribedBy]=\"_describedBy()\"\n [placeholder]=\"\n _awaitingValueLabel() ? _i18n().loading : _resolvedPlaceholder()\n \"\n [disabled]=\"computedDisabled()\"\n [readonly]=\"readonly() || _awaitingValueLabel()\"\n [value]=\"_awaitingValueLabel() ? '' : searchQuery()\"\n [autocomplete]=\"'off'\"\n (input)=\"onSearchInput($event)\"\n (inputFocus)=\"onInputFocus()\"\n (inputBlur)=\"onInputBlur()\"\n (click)=\"onTriggerClick()\"\n (keydown.enter)=\"onEnterKey($event)\"\n (keydown.backspace)=\"onInputBackspace($event)\"\n (keydown.delete)=\"onInputDelete($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.home)=\"onHome($event)\"\n (keydown.end)=\"onEnd($event)\"\n (keydown.escape)=\"onEscape($event)\"\n />\n\n @if (_showSingleTemplate()) {\n <div class=\"mlv-combobox__single-display\" aria-hidden=\"true\">\n <ng-container\n *ngTemplateOutlet=\"\n selectedTemplate()!.templateRef;\n context: { $implicit: selectedOptions()[0] }\n \"\n />\n </div>\n }\n </div>\n\n @if (clearable() && hasValue() && !computedDisabled() && !readonly()) {\n <!-- Inline clear, BEFORE the chevron (ownsClearButton suppresses the\n wrapper's trailing copy). mousedown is prevented so the input keeps\n focus while clearing. -->\n <mlv-button-close\n class=\"mlv-combobox__clear\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onClear()\"\n mlvDensity=\"tight\"\n [ariaLabel]=\"_formI18n().clear\"\n />\n }\n <!-- The chevron is replaced by a spinner while the committed value's\n label is still resolving \u2014 the field is inert then, so a toggle\n button would be a dead control. -->\n @if (_awaitingValueLabel()) {\n <mlv-loader\n class=\"mlv-combobox__loader\"\n variant=\"circle\"\n indeterminate\n [size]=\"18\"\n [strokeWidth]=\"2\"\n [ariaLabel]=\"_i18n().loading\"\n />\n } @else {\n <button\n type=\"button\"\n class=\"mlv-combobox__arrow\"\n tabindex=\"-1\"\n [attr.aria-label]=\"_i18n().toggleOptions\"\n [disabled]=\"computedDisabled()\"\n (mousedown)=\"onChevronMousedown($event)\"\n >\n <svg size=\"20\" lucideChevronDown></svg>\n </button>\n }\n </div>\n\n <mlv-popup\n [(opened)]=\"isOpen\"\n [width]=\"triggerWidth()\"\n [hasShadow]=\"true\"\n [hasBackdrop]=\"false\"\n [flexibleDimensions]=\"true\"\n [positions]=\"dropdownPositions\"\n [dismissExcludeElements]=\"_popupExcludeElements()\"\n [mobileMode]=\"mobileMode()\"\n [mobileTitle]=\"_resolvedMobileTitle()\"\n [mlvDensity]=\"mlvDensity()\"\n class=\"mlv-combobox__popup\"\n (afterOpened)=\"_onPopupOpened()\"\n (afterClosed)=\"_onPopupClosed()\"\n >\n <!-- Full-screen sheet only: an in-sheet search field (and, for\n multi-select, the selected chips) rendered in the popup header so\n type-to-filter survives the sheet's solid backdrop + focus trap.\n Not stamped while trigger-anchored, so desktop is unaffected. -->\n <ng-template mlvPopupHeaderContent>\n <div class=\"mlv-combobox__sheet-header\">\n @if (multiple() && _chipOptions().length) {\n <div class=\"mlv-combobox__sheet-chips\">\n @for (opt of _chipOptions(); track opt.value) {\n <mlv-chip\n class=\"mlv-combobox__chip\"\n [class.mlv-combobox__chip--armed]=\"_isChipArmed(opt)\"\n muted\n [closable]=\"!computedDisabled() && !readonly()\"\n (mousedown)=\"$event.preventDefault()\"\n (chipClose)=\"removeSelected(opt.value)\"\n >\n @if (selectedTemplate()?.templateRef; as tpl) {\n <ng-container\n *ngTemplateOutlet=\"tpl; context: { $implicit: opt }\"\n />\n } @else { {{ opt.label }} }\n </mlv-chip>\n }\n </div>\n }\n\n <mlv-input\n class=\"mlv-combobox__sheet-input\"\n [id]=\"_sheetInputId()\"\n [role]=\"_isFullscreen() ? 'combobox' : null\"\n [ariaLabel]=\"_resolvedMobileTitle()\"\n [ariaExpanded]=\"_isFullscreen() ? isOpen() : null\"\n [ariaHasPopup]=\"_isFullscreen() ? 'listbox' : null\"\n [ariaAutocomplete]=\"_isFullscreen() ? 'list' : null\"\n [ariaControls]=\"\n _isFullscreen() && isOpen() ? listboxId() : null\n \"\n [ariaActiveDescendant]=\"\n _isFullscreen() ? _activeOptionId() : null\n \"\n [placeholder]=\"\n _awaitingValueLabel() ? _i18n().loading : _resolvedPlaceholder()\n \"\n [disabled]=\"computedDisabled()\"\n [readonly]=\"readonly() || _awaitingValueLabel()\"\n [value]=\"_awaitingValueLabel() ? '' : searchQuery()\"\n [autocomplete]=\"'off'\"\n (input)=\"onSearchInput($event)\"\n (inputFocus)=\"onInputFocus()\"\n (inputBlur)=\"onInputBlur()\"\n (keydown.enter)=\"onEnterKey($event)\"\n (keydown.backspace)=\"onInputBackspace($event)\"\n (keydown.delete)=\"onInputDelete($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.home)=\"onHome($event)\"\n (keydown.end)=\"onEnd($event)\"\n (keydown.escape)=\"onEscape($event)\"\n />\n </div>\n </ng-template>\n\n <ng-template mlvPopupContent>\n <!-- Keep DOM focus in the input while pointing at the panel: prevent the\n mousedown from blurring the field so the activedescendant model and\n open state survive option / scrollbar clicks. -->\n <div\n class=\"mlv-combobox__panel\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <mlv-dropdown-panel\n scrollMode=\"parent\"\n [options]=\"filteredOptions()\"\n [multiple]=\"multiple()\"\n [selectedValues]=\"selectionService.selectedValues()\"\n [itemTemplate]=\"itemTemplate()?.templateRef ?? null\"\n [highlightQuery]=\"_highlightQuery()\"\n [listboxId]=\"listboxId()\"\n [ariaLabel]=\"_panelAriaLabel()\"\n focusMode=\"activedescendant\"\n [activeIndex]=\"activeIndex()\"\n [loading]=\"_panelLoading()\"\n [loadingText]=\"_i18n().loading\"\n [hasMore]=\"_adapter.hasMore()\"\n [loadingMore]=\"_adapter.loadingMore()\"\n (loadMore)=\"_adapter.loadMore()\"\n (valueChange)=\"selectValues($event)\"\n >\n <div class=\"mlv-combobox__empty\">\n @if (allowCreate() && searchQuery().trim()) { {{\n _pressEnterToAdd() }} } @else { {{ _i18n().noResults }} }\n </div>\n </mlv-dropdown-panel>\n </div>\n </ng-template>\n </mlv-popup>\n </mlv-popup-container>\n\n <!-- Polite announcement of the current result count for screen-reader users. -->\n <div class=\"mlv-combobox__sr-status\" aria-live=\"polite\" role=\"status\">\n {{ _resultsAnnouncement() }}\n </div>\n <!-- Polite announcement of the currently armed chip (Backspace flow). -->\n <div class=\"mlv-combobox__sr-status\" aria-live=\"polite\" role=\"status\">\n {{ _armedMessage() }}\n </div>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n }\n</mlv-form-control-wrapper>\n", styles: ["@layer mlv.components{.mlv-combobox{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-combobox *{box-sizing:border-box}.mlv-combobox .mlv-form-control-wrapper__control-container{padding:0;height:auto;min-height:var(--form-ctrl-height)}.mlv-combobox .mlv-form-control-wrapper__control-row{align-items:stretch}.mlv-combobox__popup-container{display:flex;flex-grow:1}.mlv-combobox__trigger{display:flex;width:100%;flex-wrap:wrap;align-items:center;align-content:center;gap:.25rem;cursor:text;padding:var(--mlv-control-padding);min-height:100%}.mlv-combobox__chip{flex-shrink:0}.mlv-combobox__field{position:relative;flex:1 1 6rem;min-width:3rem;display:flex;align-items:center}.mlv-combobox__field--template-display .mlv-input__native{color:transparent}.mlv-combobox__input{flex:1;min-width:0;color:var(--mlv-text-primary)}.mlv-combobox__single-display{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none;color:var(--mlv-text-primary)}.mlv-combobox__chip--armed{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset);border-radius:var(--mlv-radius-full)}.mlv-combobox__clear{display:inline-flex;align-items:center;flex-shrink:0}.mlv-combobox__arrow{width:var(--form-ctrl-icon-size, 1.25rem);height:var(--form-ctrl-icon-size, 1.25rem);display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;transform-origin:center;transition:color var(--mlv-duration-fast) var(--mlv-ease-out-strong),transform var(--mlv-duration-normal) var(--mlv-ease-out-strong);color:var(--mlv-text-tertiary);cursor:pointer;flex-shrink:0}.mlv-combobox__arrow svg{width:100%;height:100%}.mlv-combobox__arrow:disabled{cursor:not-allowed;opacity:var(--mlv-disabled-opacity)}.mlv-combobox__loader{display:inline-flex;flex-shrink:0;width:var(--form-ctrl-icon-size, 1.25rem);height:var(--form-ctrl-icon-size, 1.25rem);align-items:center;justify-content:center;color:var(--mlv-text-tertiary)}.mlv-combobox--loading,.mlv-combobox--loading .mlv-combobox__input input{cursor:progress}.mlv-combobox__empty{padding:.75rem;text-align:center;color:var(--mlv-text-secondary);font-size:var(--mlv-typography-body-s-size)}.mlv-combobox--open .mlv-combobox__arrow:not(:disabled),.mlv-combobox:hover .mlv-combobox__arrow:not(:disabled){color:var(--mlv-text-primary)}.mlv-form-control-wrapper--focused .mlv-combobox__arrow:not(:disabled){color:var(--mlv-text-primary)}.mlv-combobox--open .mlv-combobox__arrow{transform:rotate(180deg)}.mlv-combobox__popup{padding:0!important}.mlv-combobox__sheet-header{display:flex;flex-direction:column;gap:var(--mlv-spacing-2);width:100%}.mlv-combobox__sheet-chips{display:flex;flex-wrap:wrap;gap:.25rem}.mlv-combobox__sheet-input{display:block;width:100%}.mlv-combobox__sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.mlv-combobox,.mlv-combobox *,.mlv-combobox:before,.mlv-combobox:after,[class^=mlv-combobox__],[class*=\" mlv-combobox__\"],[class^=mlv-combobox--],[class*=\" mlv-combobox--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"] }]
938
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], searchFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchFn", required: false }] }], searchDebounce: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchDebounce", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], allowCreate: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCreate", required: false }] }], toOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "toOption", required: false }] }], compareWith: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareWith", required: false }] }], matcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "matcher", required: false }] }], valueCreated: [{ type: i0.Output, args: ["valueCreated"] }], mobileMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileMode", required: false }] }], mlvDensity: [{ type: i0.Input, args: [{ isSignal: true, alias: "mlvDensity", required: false }] }], mobileTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileTitle", required: false }] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvComboboxItemDef), { isSignal: true }] }], selectedTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvComboboxSelectedItemDef), { isSignal: true }] }], _input: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MlvInput), { isSignal: true }] }], _triggerRef: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], _popupRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MlvPopup), { isSignal: true }] }] } });
939
+
940
+ /**
941
+ * Generated bundle index. Do not edit.
942
+ */
943
+
944
+ export { MlvCombobox, MlvComboboxItemDef, MlvComboboxSelectedItemDef };
945
+ //# sourceMappingURL=malva-ui-core-combobox.mjs.map