@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 @@
1
+ {"version":3,"file":"malva-ui-core-dropdown.mjs","sources":["../../../../libs/core/dropdown/src/lib/select-option.ts","../../../../libs/core/dropdown/src/lib/active-descendant.ts","../../../../libs/core/dropdown/src/lib/option-matcher.ts","../../../../libs/core/dropdown/src/lib/highlight-match.pipe.ts","../../../../libs/core/dropdown/src/lib/dropdown-panel/dropdown-panel.ts","../../../../libs/core/dropdown/src/lib/dropdown-panel/dropdown-panel.html","../../../../libs/core/dropdown/src/lib/select-data-source.ts","../../../../libs/core/dropdown/src/lib/options-result.ts","../../../../libs/core/dropdown/src/lib/options-adapter.ts","../../../../libs/core/dropdown/src/lib/reconciliation.ts","../../../../libs/core/dropdown/src/malva-ui-core-dropdown.ts"],"sourcesContent":["export interface MlvSelectOption<T = unknown> {\n label: string;\n value: T;\n /**\n * Optional group label. When one or more options in an array carry a\n * (non-empty) `group`, the dropdown panel clusters consecutive options that\n * share the same `group` value under a sticky, **non-selectable** section\n * header bearing this text (APG listbox grouping: `role=\"group\"` +\n * `aria-labelledby`).\n *\n * Group headers are purely presentational. They are:\n * - skipped by keyboard navigation and type-ahead (they are not aria options);\n * - excluded from a combobox's filtered result set — a header shows only when\n * at least one of its options matches the current filter;\n * - never part of the control's value (a header is not a `MlvSelectOption`).\n *\n * Only honoured for `MlvSelectOption`-shaped options. Plain primitive arrays go\n * through {@link defaultOptionTransform}, never carry a `group`, and therefore\n * render exactly as an ungrouped list. Options without a `group` (or with an\n * empty string) render ungrouped.\n */\n group?: string;\n /**\n * Whether the option is unavailable for selection. Rendered as\n * `aria-disabled` on the option row and skipped by keyboard navigation\n * (the dropdown panel pins `[softDisabled]=\"false\"`). Clicking a disabled\n * row does not change the selection.\n */\n disabled?: boolean;\n}\n\nexport type MlvSelectOptionTransform<T> = (item: T) => MlvSelectOption<T>;\n\nexport function defaultOptionTransform<T>(item: T): MlvSelectOption<T> {\n return isSelectOption<T>(item) ? item : { label: String(item), value: item };\n}\n\nexport function isSelectOption<T>(value: unknown): value is MlvSelectOption<T> {\n if (!value || typeof value !== 'object') return false;\n const candidate = value as Partial<MlvSelectOption<T>>;\n return !!candidate.label && !!candidate.value;\n}\n\n/**\n * Type-guard predicate: whether an array of resolved options is \"grouped\",\n * i.e. at least one option carries a non-empty {@link MlvSelectOption.group} label.\n *\n * The dropdown panel uses this to decide whether to render sticky group headers.\n * Returns `false` for empty arrays and for arrays where no option declares a\n * group, so ungrouped `MlvSelectOption` arrays (and plain primitive arrays) render\n * exactly as before.\n */\nexport function hasOptionGroups<T>(\n options: readonly MlvSelectOption<T>[],\n): boolean {\n return options.some((option) => !!option.group);\n}\n\nexport function resolveOptions<T>(\n items: T[],\n transform: MlvSelectOptionTransform<T>,\n): MlvSelectOption<T>[] {\n return items.map(transform);\n}\n","import { signal } from '@angular/core';\nimport type { Signal } from '@angular/core';\n\n/**\n * Builds the deterministic DOM `id` for the option row at `index` within a\n * listbox, matching the id `mlv-dropdown-panel` stamps on each option. An\n * owning combobox / autocomplete computes the same id to point its input's\n * `aria-activedescendant` at the active row.\n *\n * This is the single source of truth for the activedescendant option-id format\n * (`<listboxId>-option-<index>`), shared by `mlv-dropdown-panel`,\n * `mlv-combobox`, and `[mlvAutocomplete]` so the id the panel renders and the\n * id the trigger references can never drift.\n *\n * @param listboxId - The id of the listbox that owns the option.\n * @param index - The option's flat index within the listbox.\n * @returns The option's DOM id, e.g. `\"my-listbox-option-3\"`.\n */\nexport function optionId(listboxId: string, index: number): string {\n return `${listboxId}-option-${index}`;\n}\n\n/**\n * Signal-backed bookkeeping for the \"active option\" index of a WAI-ARIA\n * activedescendant keyboard model — the shared engine behind `mlv-combobox`\n * and `[mlvAutocomplete]`, where DOM focus stays on the text input and the\n * highlighted option is tracked purely by index (mirrored into the input's\n * `aria-activedescendant`).\n *\n * The active index is `-1` when no option is active. {@link move} advances it\n * with wrap-around, treating a first move from `-1` as landing on the first\n * (forward) or last (backward) option; {@link first} / {@link last} jump to the\n * ends; {@link reset} clears it back to `-1`. The current option count is read\n * lazily through the accessor supplied at construction, so the owner can back it\n * with any signal / computed (e.g. a filtered-options length) without pushing\n * the count on every keystroke.\n */\nexport class MlvActiveDescendant {\n /** @private The active option index; `-1` = no active option. */\n private readonly _index = signal(-1);\n\n /**\n * The active option index as a read-only signal; `-1` when no option is\n * active. Read it reactively (template / effect) or imperatively (call it in\n * an event handler) — both track the same underlying state.\n */\n readonly index: Signal<number> = this._index.asReadonly();\n\n /**\n * @param _count Accessor returning the current number of navigable options.\n * Read lazily on each {@link move} / {@link first} / {@link last} call, so it\n * always reflects the live count (e.g. after the options are filtered).\n */\n constructor(private readonly _count: () => number) {}\n\n /**\n * Advances the active option by `delta` with wrap-around. With no option\n * active (`-1`), a forward move (`delta > 0`) lands on the first option and a\n * backward move (`delta < 0`) on the last; otherwise the index wraps modulo\n * the option count. Resets to `-1` when there are no options.\n *\n * @param delta Step to move by (`+1` next, `-1` previous).\n */\n move(delta: number): void {\n const count = this._count();\n if (count === 0) {\n this._index.set(-1);\n return;\n }\n const current = this._index();\n const next =\n current < 0\n ? delta > 0\n ? 0\n : count - 1\n : (current + delta + count) % count;\n this._index.set(next);\n }\n\n /** Activates the first option. No-op when there are no options. */\n first(): void {\n if (this._count() > 0) this._index.set(0);\n }\n\n /** Activates the last option. No-op when there are no options. */\n last(): void {\n const count = this._count();\n if (count > 0) this._index.set(count - 1);\n }\n\n /** Clears the active option back to `-1` (nothing active). */\n reset(): void {\n this._index.set(-1);\n }\n}\n","import { normalizeForMatch } from '@malva-ui/cdk/utils';\nimport type { MlvSelectOption } from './select-option';\n\nexport { normalizeForMatch };\n\n/**\n * A contiguous slice of a label produced by {@link matchSegments}, tagged with\n * whether it is part of the query match. Rendered by consumers (e.g. the\n * dropdown panel's suggestion highlighting) as `<mark>` for matched slices and\n * plain text otherwise.\n */\nexport interface MlvMatchSegment {\n /** The original (non-folded) label text for this slice. */\n readonly text: string;\n /** Whether this slice is part of the matched query substring. */\n readonly matched: boolean;\n}\n\n/**\n * Predicate deciding whether an option satisfies the current query. The default\n * ({@link defaultOptionMatcher}) is a case- and diacritic-insensitive substring\n * match on the option label. Provide a custom matcher to a combobox / the\n * `[mlvAutocomplete]` directive to change how suggestions are filtered (e.g.\n * fuzzy, token-prefix, or matching against a secondary field).\n *\n * A matcher receives the already-trimmed, non-empty query — an empty query is\n * short-circuited by {@link filterOptions} to return every option.\n */\nexport type MlvOptionMatcher<T> = (\n option: MlvSelectOption<T>,\n query: string,\n) => boolean;\n\n/**\n * The default option matcher: a case- and diacritic-insensitive substring match\n * on {@link MlvSelectOption.label}. An empty (or whitespace-only) query matches\n * every option.\n *\n * @param option - The option to test.\n * @param query - The current search query (already trimmed by callers).\n * @returns Whether the option label contains the query.\n */\nexport function defaultOptionMatcher<T>(\n option: MlvSelectOption<T>,\n query: string,\n): boolean {\n const q = normalizeForMatch(query.trim());\n if (!q) return true;\n return normalizeForMatch(option.label).includes(q);\n}\n\n/**\n * Filters a list of resolved options against a query using `matcher`\n * ({@link defaultOptionMatcher} by default), then ranks **prefix matches\n * first** ({@link rankPrefixMatchesFirst}) so the top suggestion is the one an\n * inline completion can extend (`\"Pe\"` ranks `\"Pear\"` above `\"Grape\"`). A blank\n * query returns a shallow copy of every option — the \"show everything\" state a\n * combobox / autocomplete shows on focus. This is the single shared\n * implementation of the substring filter that previously lived inline in\n * `mlv-combobox`.\n *\n * @param options - The resolved options to filter.\n * @param query - The raw search query (trimmed internally).\n * @param matcher - Optional custom predicate; defaults to substring matching.\n * @returns The matcher-satisfying options, prefix matches ranked first (all\n * options, unranked, for a blank query).\n */\nexport function filterOptions<T>(\n options: readonly MlvSelectOption<T>[],\n query: string,\n matcher: MlvOptionMatcher<T> = defaultOptionMatcher,\n): MlvSelectOption<T>[] {\n const q = query.trim();\n if (!q) return [...options];\n return rankPrefixMatchesFirst(\n options.filter((option) => matcher(option, q)),\n q,\n );\n}\n\n/**\n * Stable-partitions filtered options so labels that **start with** the query\n * (case- and diacritic-insensitive) come before the remaining matches, keeping\n * the original relative order inside each partition.\n *\n * Grouped options ({@link MlvSelectOption.group}) are ranked **within each\n * consecutive same-group run** only — runs themselves never move or merge, so\n * the panel's consecutive-run group rendering (sticky headers, flat-index\n * alignment) is preserved. An ungrouped list is a single run and gets the full\n * prefix-first ordering.\n *\n * @param options - The already-filtered options.\n * @param query - The trimmed, non-empty query.\n * @returns The options with prefix matches ranked first per group run.\n */\nexport function rankPrefixMatchesFirst<T>(\n options: readonly MlvSelectOption<T>[],\n query: string,\n): MlvSelectOption<T>[] {\n const q = normalizeForMatch(query);\n const ranked: MlvSelectOption<T>[] = [];\n let runStart = 0;\n for (let i = 1; i <= options.length; i++) {\n const runEnded =\n i === options.length ||\n (options[i].group ?? '') !== (options[runStart].group ?? '');\n if (!runEnded) continue;\n const run = options.slice(runStart, i);\n const prefixed: MlvSelectOption<T>[] = [];\n const rest: MlvSelectOption<T>[] = [];\n for (const option of run) {\n (normalizeForMatch(option.label).startsWith(q) ? prefixed : rest).push(\n option,\n );\n }\n ranked.push(...prefixed, ...rest);\n runStart = i;\n }\n return ranked;\n}\n\n/**\n * Splits `label` into matched / unmatched {@link MlvMatchSegment}s for the first\n * occurrence of `query`, so consumers can emphasise the matched substring in a\n * suggestion (e.g. wrapping matched slices in `<mark>`).\n *\n * Matching is case- and diacritic-insensitive ({@link normalizeForMatch}); the\n * returned segment `text` preserves the **original** label casing/diacritics.\n * Because NFD folding can change string length (e.g. `\"é\"` → `\"e\"` + combining\n * mark), the search runs over a per-code-point folded projection with an index\n * map back to the original code points, keeping the highlighted slice aligned\n * with the source label. Only the first match is highlighted.\n *\n * @param label - The option label to segment.\n * @param query - The query to highlight within the label.\n * @returns Ordered segments covering the whole label; a single unmatched\n * segment when the query is empty or not found.\n */\nexport function matchSegments(label: string, query: string): MlvMatchSegment[] {\n const q = normalizeForMatch(query.trim());\n if (!q) return [{ text: label, matched: false }];\n\n // Work in code points so surrogate pairs (e.g. emoji) are not split.\n const chars = [...label];\n let folded = '';\n // For each folded code-unit position, the index of the originating code point.\n const originIndex: number[] = [];\n chars.forEach((char, index) => {\n const foldedChar = normalizeForMatch(char);\n for (const unit of foldedChar) {\n folded += unit;\n originIndex.push(index);\n }\n });\n\n const start = folded.indexOf(q);\n if (start === -1) return [{ text: label, matched: false }];\n\n const originStart = originIndex[start];\n const originEnd = originIndex[start + q.length - 1];\n\n const before = chars.slice(0, originStart).join('');\n const match = chars.slice(originStart, originEnd + 1).join('');\n const after = chars.slice(originEnd + 1).join('');\n\n const segments: MlvMatchSegment[] = [];\n if (before) segments.push({ text: before, matched: false });\n segments.push({ text: match, matched: true });\n if (after) segments.push({ text: after, matched: false });\n return segments;\n}\n","import { Pipe } from '@angular/core';\nimport type { PipeTransform } from '@angular/core';\nimport type { MlvMatchSegment } from './option-matcher';\nimport { matchSegments } from './option-matcher';\n\n/**\n * Splits a label into matched / unmatched {@link MlvMatchSegment}s for the given\n * query so a template can emphasise the matched substring (case- and\n * diacritic-insensitive; see {@link matchSegments}). Used by\n * `mlv-dropdown-panel` to highlight the query inside each suggestion.\n *\n * @example\n * ```html\n * @for (seg of option.label | mlvHighlightMatch:query; track $index) {\n * @if (seg.matched) { <mark>{{ seg.text }}</mark> }\n * @else { {{ seg.text }} }\n * }\n * ```\n */\n@Pipe({ name: 'mlvHighlightMatch' })\nexport class MlvHighlightMatchPipe implements PipeTransform {\n /**\n * @param label - The label to segment. Nullish input yields an empty result.\n * @param query - The query to highlight; empty query returns one unmatched\n * segment containing the whole label.\n */\n transform(\n label: string | null | undefined,\n query: string,\n ): MlvMatchSegment[] {\n if (!label) return [];\n return matchSegments(label, query ?? '');\n }\n}\n","import type { TemplateRef } from '@angular/core';\nimport {\n afterNextRender,\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n isDevMode,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n MlvList,\n MlvListItem,\n MlvListItemSelectable,\n MlvListSelectable,\n} from '@malva-ui/core/list';\nimport { LucideCheck } from '@lucide/angular';\nimport { MlvSelectionService } from '@malva-ui/core/form-utils';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\nimport { MlvInfiniteScroll } from '@malva-ui/cdk/infinite-scroll';\nimport { mlvNextId } from '@malva-ui/cdk/utils';\nimport type { MlvSelectOption } from '../select-option';\nimport { hasOptionGroups } from '../select-option';\nimport { optionId } from '../active-descendant';\nimport { MlvHighlightMatchPipe } from '../highlight-match.pipe';\nimport { fromEvent, startWith } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n/**\n * One option within a rendered group, paired with its flat index into the\n * panel's `options()` array. The flat index (not a group-local index) is what\n * the panel forwards to {@link MlvDropdownPanel.optionId} and matches\n * against `activeIndex`, so an owning combobox's activedescendant model stays\n * aligned regardless of grouping.\n */\ninterface DropdownOptionEntry<T> {\n readonly option: MlvSelectOption<T>;\n readonly index: number;\n}\n\n/**\n * A rendered cluster of consecutive options that share the same group label.\n * `label`/`headerId` are `null` for an ungrouped (headerless) run.\n */\ninterface DropdownOptionGroup<T> {\n readonly label: string | null;\n readonly headerId: string | null;\n readonly entries: DropdownOptionEntry<T>[];\n}\n\n@Component({\n selector: 'mlv-dropdown-panel',\n imports: [\n NgTemplateOutlet,\n MlvList,\n MlvListItem,\n MlvListItemSelectable,\n MlvListSelectable,\n LucideCheck,\n MlvHighlightMatchPipe,\n MlvScrollbar,\n MlvInfiniteScroll,\n ],\n templateUrl: './dropdown-panel.html',\n styleUrl: './dropdown-panel.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-dropdown-panel',\n '[class.mlv-dropdown-panel--parent-scroll]': 'scrollMode() === \"parent\"',\n '[class.mlv-dropdown-panel--loading]': 'loading()',\n '[style.max-height.px]': '_calculatedMaxHeight()',\n },\n})\nexport class MlvDropdownPanel<T> {\n /**\n * Chooses the single scroll owner for this panel.\n *\n * Standalone panels scroll themselves. Panels composed inside `mlv-popup`\n * delegate to the popup so the DOM never contains nested scroll regions.\n */\n readonly scrollMode = input<'self' | 'parent'>('self');\n\n readonly minHeight = input<number>(0);\n readonly maxHeight = input<number>(0);\n readonly options = input<MlvSelectOption<T>[]>([]);\n /** Whether multiple options can be selected. */\n readonly multiple = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n readonly selectedValues = input<T[]>([]);\n readonly itemTemplate = input<TemplateRef<{\n $implicit: MlvSelectOption<T>;\n }> | null>(null);\n /**\n * Focus strategy forwarded to the inner aria listbox.\n *\n * - `'roving'` (default) — DOM focus moves onto the active option (`tabindex`).\n * Used by `mlv-select`.\n * - `'activedescendant'` — DOM focus stays on the owning trigger/input; the\n * active option is tracked via `aria-activedescendant`. Used by\n * `mlv-combobox`, whose text input must retain focus so typing keeps\n * working while navigating options.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n /**\n * Index of the option that is visually \"active\" (highlighted) under the\n * activedescendant model. `-1` (default) means no active option. The panel\n * renders a deterministic `[id]` on each option (`<listboxId>-option-<index>`)\n * so an owning combobox can point its input's `aria-activedescendant` at the\n * active row and keep the highlight in sync.\n */\n readonly activeIndex = input<number>(-1);\n /**\n * Optional HTML `id` to assign to the inner `<mlv-list>` listbox element.\n * Allows a parent combobox or select to reference this listbox via `aria-controls`.\n */\n readonly listboxId = input<string | null>(null);\n\n /**\n * Accessible name rendered as `aria-label` on the inner listbox. `role=\"listbox\"`\n * is an ARIA input field, so a panel that is not already named through an owning\n * control (`mlv-filter`'s popover, for instance) needs one to satisfy WCAG 4.1.2.\n * `null` (default) renders no attribute.\n */\n readonly ariaLabel = input<string | null>(null);\n\n /**\n * When non-empty, the default option row emphasises the matched substring of\n * this query inside each suggestion label (case- and diacritic-insensitive;\n * see {@link MlvHighlightMatchPipe}). Ignored for rows rendered by a custom\n * {@link itemTemplate}. Empty (default) renders the label as plain text —\n * ungrouped, un-highlighted lists are byte-for-byte unchanged.\n */\n readonly highlightQuery = input<string>('');\n\n /**\n * When `true`, the panel renders a loading affordance instead of the option\n * list / empty state — used by `[mlvAutocomplete]` while an async `search`\n * resolves. The {@link loadingText} is announced politely.\n */\n readonly loading = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Text shown (and announced) inside the loading affordance while\n * {@link loading} is `true`. Localise by binding a translated string.\n * @default 'Loading…'\n */\n readonly loadingText = input<string>('Loading…');\n\n /**\n * When `true`, a page beyond the first is being fetched: renders a polite\n * bottom status row (`loadingText`) after the last option. The listbox and\n * existing options stay interactive.\n * @default false\n */\n readonly loadingMore = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Whether more pages exist. When `true` the panel observes its scroll owner\n * and emits {@link loadMore} as the user nears the end of the list.\n * @default false\n */\n readonly hasMore = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Distance (px) from the end of the scroll owner at which {@link loadMore} fires. */\n readonly infiniteScrollThreshold = input<number>(150);\n\n /** Emits when the user scrolls within `infiniteScrollThreshold` of the end while `hasMore`. */\n readonly loadMore = output<void>();\n\n /**\n * @protected Effective listbox id forwarded to the aria `Listbox.id` input on\n * the inner `<mlv-list>`. Uses the consumer-provided {@link listboxId} when\n * set, otherwise a stable generated fallback so the rendered listbox always\n * carries a valid unique DOM id (aria would otherwise mint its own, breaking\n * a parent trigger's `aria-controls` linkage).\n */\n protected readonly _resolvedListboxId = computed(\n () => this.listboxId() ?? this._fallbackListboxId,\n );\n\n /** @private Stable generated id used when no `listboxId` is supplied. */\n private readonly _fallbackListboxId = mlvNextId('mlv-dropdown-listbox');\n\n /**\n * @protected Whether the current options declare groups (at least one option\n * carries a non-empty `group`). When `false` the template renders the exact\n * flat option list as before — plain / ungrouped arrays are unaffected.\n */\n protected readonly _isGrouped = computed(() =>\n hasOptionGroups(this.options()),\n );\n\n /**\n * @protected The options clustered into consecutive same-group runs for\n * rendering under sticky headers. Consecutive-run grouping (no reordering)\n * keeps DOM order identical to the flat `options()` order, so option indices,\n * `optionId`, `activeIndex`, and aria's DOM-order navigation all stay aligned.\n * Each entry retains its flat index into `options()`. A run of options without\n * a group (empty/undefined) becomes a headerless cluster (`label: null`).\n */\n protected readonly _groups = computed<DropdownOptionGroup<T>[]>(() => {\n const listboxId = this._resolvedListboxId();\n const groups: DropdownOptionGroup<T>[] = [];\n this.options().forEach((option, index) => {\n const label = option.group ? option.group : null;\n const current = groups[groups.length - 1];\n if (current && current.label === label) {\n current.entries.push({ option, index });\n } else {\n groups.push({\n label,\n headerId: label ? `${listboxId}-group-${groups.length}` : null,\n entries: [{ option, index }],\n });\n }\n });\n return groups;\n });\n\n /** @protected Effective max panel height in px — the `maxHeight` input when set, else the viewport-derived default. */\n protected readonly _calculatedMaxHeight = computed(() => {\n const inputMaxHeight = this.maxHeight();\n return inputMaxHeight > 0 ? inputMaxHeight : this._defaultMaxHeight();\n });\n\n readonly valueChange = output<readonly T[]>();\n\n /** @private Selection service coordinating focus-first requests from a parent select/combobox. */\n private readonly _selectionService = inject(MlvSelectionService);\n /** @private Set of currently selected values for O(1) membership checks. */\n private readonly _selectedSet = computed(\n () => new Set(this.selectedValues()),\n );\n /** @private Default max panel height (px) derived from the viewport height. */\n private readonly _defaultMaxHeight = signal(0);\n /** @private The inner selectable list directive, used to move focus to the first option. */\n private readonly _listSelectable = viewChild(MlvListSelectable);\n\n /** @private The panel's own scrollbar (`scrollMode=\"self\"` only). */\n private readonly _scrollbar = viewChild(MlvScrollbar);\n\n /** @private The sentinel-hosted infinite-scroll directive, re-checked after each option append. */\n private readonly _infiniteScroll = viewChild(MlvInfiniteScroll);\n\n /**\n * @protected The element that actually scrolls: the panel's own scrollbar\n * viewport (`scrollMode=\"self\"`) or the nearest ancestor `mlv-scrollbar`\n * viewport — the owning `mlv-popup`'s — in parent mode. Resolved after the\n * first render; the sentinel directive stays disabled until then.\n */\n protected readonly _scrollContainer = signal<HTMLElement | null>(null);\n\n /**\n * @private Whether the scroll-owner lookup has already run. It needs the first\n * render, so a `null` {@link _scrollContainer} before that means \"not resolved\n * yet\", not \"no owner\" — the dev warning must not fire on it.\n */\n private readonly _scrollOwnerResolved = signal(false);\n\n /** @private Latches the dev-mode \"no scroll owner\" warning to once per panel. */\n private _warnedNoScrollOwner = false;\n\n /** @private Host element, used to scroll the active option into view (activedescendant model). */\n private readonly _host = inject<ElementRef<HTMLElement>>(ElementRef);\n /** @private Angular-provided document used to access the browser viewport safely. */\n private readonly _document = inject(DOCUMENT);\n\n constructor() {\n const viewport = this._document.defaultView;\n if (viewport) {\n fromEvent(viewport, 'resize')\n .pipe(startWith(null), takeUntilDestroyed())\n .subscribe(() => {\n this._defaultMaxHeight.set(viewport.innerHeight * 0.4);\n });\n }\n\n this._selectionService.focusFirst$\n .pipe(takeUntilDestroyed())\n .subscribe(() => {\n this._listSelectable()?.focusFirst();\n });\n\n // Keep the activedescendant-active option scrolled into view. DOM focus\n // never lands on the option in this mode (it stays on the owning combobox\n // input), so the native scroll-on-focus does not apply.\n effect(() => {\n const index = this.activeIndex();\n if (this.focusMode() !== 'activedescendant' || index < 0) return;\n const el = this._host.nativeElement.querySelector<HTMLElement>(\n `[id=\"${this.optionId(index)}\"]`,\n );\n // Optional call: `scrollIntoView` is absent in some environments (jsdom).\n el?.scrollIntoView?.({ block: 'nearest' });\n });\n\n // Resolve the paging sentinel's scroll owner once the view exists: the\n // panel's own scrollbar viewport, or the ancestor popup viewport it\n // delegates scrolling to.\n afterNextRender(() => {\n const own = this._scrollbar()?.viewportElement ?? null;\n const parent = this._host.nativeElement.closest<HTMLElement>(\n '.mlv-scrollbar__viewport',\n );\n this._scrollContainer.set(this.scrollMode() === 'self' ? own : parent);\n this._scrollOwnerResolved.set(true);\n });\n\n // Dev-mode diagnostic: an armed sentinel with no scroll owner is silent —\n // `scrollMode=\"parent\"` finds nothing unless the panel renders inside an\n // `mlv-scrollbar` viewport. Re-checked reactively so a `hasMore` that flips\n // true later is caught too; warned at most once per panel instance.\n if (isDevMode()) {\n effect(() => {\n const missing =\n this.hasMore() &&\n this._scrollOwnerResolved() &&\n this._scrollContainer() === null;\n if (!missing) return;\n untracked(() => {\n if (this._warnedNoScrollOwner) return;\n this._warnedNoScrollOwner = true;\n console.warn(\n '[mlv-dropdown-panel] hasMore is set but no scroll owner was found — in scrollMode=\"parent\" the panel must render inside an mlv-scrollbar viewport (e.g. mlv-popup); lazy paging will not fire.',\n );\n });\n });\n }\n\n // Auto-fill: after any render where the option set changed, re-measure so a\n // short page immediately requests the next one.\n afterRenderEffect(() => {\n this.options();\n this._infiniteScroll()?.check();\n });\n }\n\n isValueSelected(value: T): boolean {\n return this._selectedSet().has(value);\n }\n\n /**\n * Deterministic DOM `id` for the option at `index`, forwarded to aria's\n * `ngOption` id. An owning combobox computes the same id (via the shared\n * {@link optionId} helper) to wire its input's `aria-activedescendant`.\n */\n optionId(index: number): string {\n return optionId(this._resolvedListboxId(), index);\n }\n\n /**\n * Re-emits the aria listbox selection. `@angular/aria`'s `ngListbox` emits the\n * selected values array directly (unlike CdkListbox's `ListboxValueChangeEvent`).\n */\n onValueChange(values: readonly T[]): void {\n this.valueChange.emit(values);\n }\n}\n","@if (scrollMode() === 'self') {\n<mlv-scrollbar class=\"mlv-dropdown-panel__scrollbar\" [viewportTabIndex]=\"-1\">\n <ng-container [ngTemplateOutlet]=\"panelContent\" />\n</mlv-scrollbar>\n} @else {\n<ng-container [ngTemplateOutlet]=\"panelContent\" />\n}\n\n<ng-template #panelContent>\n <!-- Async loading affordance (used by [mlvAutocomplete]). Rendered above the\n listbox so the listbox element (aria-controls target) still exists while a\n search resolves; the empty \"no results\" projection is suppressed meanwhile. -->\n @if (loading()) {\n <div class=\"mlv-dropdown-panel__loading\" role=\"status\" aria-live=\"polite\">\n <span class=\"mlv-dropdown-panel__spinner\" aria-hidden=\"true\"></span>\n <span class=\"mlv-dropdown-panel__loading-text\">{{ loadingText() }}</span>\n </div>\n }\n\n <!-- selectionMode=\"explicit\" + softDisabled=\"false\" reproduce the previous CdkListbox\n behaviour: arrow keys move focus (never commit the value) and skip disabled options.\n listRole/itemRole are pinned to the listbox pattern so aria's pointer selection can\n resolve each option via closest('[role=\"option\"]').\n [listboxId] forwards the consumer id into aria's Listbox.id input so the rendered\n [attr.id]=\"id()\" equals it — otherwise aria mints its own id and a parent\n select/combobox trigger's aria-controls would dangle. -->\n <mlv-list\n class=\"mlv-dropdown-panel__listbox\"\n appearance=\"menu\"\n selectable\n listRole=\"listbox\"\n selectionMode=\"explicit\"\n [softDisabled]=\"false\"\n [focusMode]=\"focusMode()\"\n [attr.aria-busy]=\"loading() || loadingMore() ? true : null\"\n [attr.aria-label]=\"ariaLabel()\"\n [listboxId]=\"_resolvedListboxId()\"\n [multiple]=\"multiple()\"\n [value]=\"selectedValues()\"\n (valueChange)=\"onValueChange($event)\"\n >\n @if (_isGrouped()) {\n <!-- Grouped rendering: consecutive same-group runs become APG listbox groups\n (role=\"group\" + aria-labelledby → a non-selectable, presentational sticky\n header). Options stay flat descendants of the listbox, so aria registers\n and navigates them exactly as ungrouped; headers are not aria options and\n are skipped by keyboard nav / type-ahead. Each option keeps its flat index\n so optionId / activeIndex line up with an owning combobox. -->\n @for (group of _groups(); track $index) { @if (group.label) {\n <div\n class=\"mlv-dropdown-panel__group\"\n role=\"group\"\n [attr.aria-labelledby]=\"group.headerId\"\n >\n <div\n class=\"mlv-dropdown-panel__group-header\"\n role=\"presentation\"\n [id]=\"group.headerId\"\n >\n {{ group.label }}\n </div>\n @for (entry of group.entries; track entry.option.value) {\n <ng-container\n *ngTemplateOutlet=\"optionRow; context: { option: entry.option, index: entry.index }\"\n />\n }\n </div>\n } @else { @for (entry of group.entries; track entry.option.value) {\n <ng-container\n *ngTemplateOutlet=\"optionRow; context: { option: entry.option, index: entry.index }\"\n />\n } } } } @else { @for (option of options(); track option.value; let i =\n $index) {\n <ng-container\n *ngTemplateOutlet=\"optionRow; context: { option: option, index: i }\"\n />\n } @empty { @if (!loading()) {\n <ng-content />\n } } }\n\n <!-- Single source of truth for an option row, outlet-ed by both the flat and\n the grouped branches. Declared INSIDE <mlv-list> so its declaration\n injector carries the aria LISTBOX token — an outlet-ed <mlv-list-item>\n resolves DI from the template's declaration context, not its insertion\n point. `index` is the flat index into options(). -->\n <ng-template #optionRow let-option=\"option\" let-index=\"index\">\n <mlv-list-item\n class=\"mlv-dropdown-panel__item\"\n itemRole=\"option\"\n [class.mlv-dropdown-panel__item--active]=\"index === activeIndex()\"\n [value]=\"option.value\"\n [label]=\"option.label\"\n [disabled]=\"option.disabled ?? false\"\n [optionId]=\"optionId(index)\"\n >\n @if (itemTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"itemTemplate()!; context: { $implicit: option }\"\n />\n } @else {\n <span class=\"mlv-dropdown-panel__item-label\">\n @if (highlightQuery()) { @for (seg of option.label |\n mlvHighlightMatch: highlightQuery(); track $index) { @if (seg.matched)\n {<mark class=\"mlv-dropdown-panel__match\">{{ seg.text }}</mark>} @else\n {{{ seg.text }}} } } @else {{{ option.label }}}\n </span>\n @if (isValueSelected(option.value)) {\n <svg\n class=\"mlv-dropdown-panel__item-check\"\n lucideCheck\n size=\"16\"\n strokeWidth=\"2\"\n />\n } }\n </mlv-list-item>\n </ng-template>\n </mlv-list>\n\n <!-- Next-page affordance. Sits after the last option (unlike the top\n `__loading` row) so appended rows are not pushed around, and stays a\n polite status region — the listbox itself keeps its options interactive. -->\n @if (loadingMore()) {\n <div\n class=\"mlv-dropdown-panel__loading-more\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <span class=\"mlv-dropdown-panel__spinner\" aria-hidden=\"true\"></span>\n <span class=\"mlv-dropdown-panel__loading-text\">{{ loadingText() }}</span>\n </div>\n }\n\n <!-- Paging sentinel. The directive listens on the real scroll owner via\n [scrollContainer]; it stays disabled until that element is resolved so\n its initial measurement never runs against the non-scrolling panel host. -->\n <div\n class=\"mlv-dropdown-panel__sentinel\"\n aria-hidden=\"true\"\n mlvInfiniteScroll\n [scrollContainer]=\"_scrollContainer()\"\n [disabled]=\"!hasMore() || !_scrollContainer()\"\n [hasMore]=\"hasMore()\"\n [loading]=\"loading() || loadingMore()\"\n [threshold]=\"infiniteScrollThreshold()\"\n (loadMore)=\"loadMore.emit()\"\n ></div>\n</ng-template>\n","import type { Signal } from '@angular/core';\nimport { MlvArrayDataSource } from '@malva-ui/cdk/data-source';\n\n/**\n * In-memory data source for option controls (`mlv-select`, `mlv-combobox`,\n * `[mlvAutocomplete]`). Identical to `MlvArrayDataSource` except that it is\n * **unpaged** (`perPage = Infinity`) so the whole list renders; the shared\n * natural-field search (`setSearch({ query, keys: [] })`) and sorting are\n * inherited. Reach for it when you want a data-source-shaped API over an\n * in-memory array (e.g. to swap for a remote subclass later); a plain `T[]`\n * remains the simplest input.\n */\nexport class MlvSelectDataSource<T> extends MlvArrayDataSource<T> {\n /**\n * @param data A plain array (wrapped in a signal automatically) or a\n * `Signal<T[]>` to track reactively.\n */\n constructor(data: Signal<T[]> | T[]) {\n super(data);\n this._perPage.set(Infinity);\n }\n}\n","import { from, of, type Observable } from 'rxjs';\n\n/**\n * Normalises every supported search result into a one-shot observable. Shared\n * by `MlvOptionsAdapter` and `[mlvAutocomplete]`.\n */\nexport function toOptionsResult<T>(\n result: T[] | Promise<T[]> | Observable<T[]>,\n): Observable<T[]> {\n return Array.isArray(result)\n ? of(result)\n : from(result as Promise<T[]> | Observable<T[]>);\n}\n","import {\n computed,\n DestroyRef,\n effect,\n inject,\n signal,\n untracked,\n} from '@angular/core';\nimport type { Signal } from '@angular/core';\nimport { isObservable } from 'rxjs';\nimport type { Observable, Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { MlvDataSource } from '@malva-ui/cdk/data-source';\nimport { toOptionsResult } from './options-result';\n\n/**\n * A function producing option items for a query. May return a synchronous\n * array, a `Promise`, or an `Observable`. Async results drive the loading\n * affordance; a newer query supersedes an in-flight one.\n */\nexport type MlvOptionsSearchFn<T> = (\n query: string,\n) => T[] | Promise<T[]> | Observable<T[]>;\n\n/** Everything an option control accepts as its `options` input. */\nexport type MlvOptionsInput<T> =\n | readonly T[]\n | Observable<readonly T[]>\n | MlvDataSource<T>\n | null\n | undefined;\n\n/**\n * `'local'` — the consumer filters `items` itself (arrays / observables).\n * `'remote'` — the source owns filtering; the consumer calls `search()` and\n * renders `items` as-is (`MlvDataSource` / `searchFn`).\n */\nexport type MlvOptionsMode = 'local' | 'remote';\n\n/**\n * Everything `MlvOptionsAdapter` reads from its owner. Every field is a\n * `Signal`, so an option control passes its own `input()`s straight through and\n * the adapter reacts to each of them — a swapped `source` reconnects, a swapped\n * `searchFn` re-arms the lazy gate, and `debounce` / `eager` are read at the\n * moment they matter rather than captured at construction.\n */\nexport interface MlvOptionsAdapterConfig<T> {\n /** The control's `options` input. */\n source: Signal<MlvOptionsInput<T>>;\n /** Optional remote search function; when set it supersedes `source`. */\n searchFn: Signal<MlvOptionsSearchFn<T> | null | undefined>;\n /** Debounce (ms) applied to remote searches only. */\n debounce: Signal<number>;\n /** When `true`, a `searchFn` runs `searchFn('')` on construction instead of lazily. */\n eager: Signal<boolean>;\n}\n\n/** @private Which of the four supported source shapes the current inputs select. */\ntype SourceKind = 'array' | 'observable' | 'ds' | 'fn';\n\n/** @private A connected `MlvDataSource` paired with the signal returned by its `connect()`. */\ninterface ConnectedSource<T> {\n readonly ds: MlvDataSource<T>;\n readonly items: Signal<T[]>;\n}\n\n/**\n * Normalises `T[] | Observable<T[]> | MlvDataSource<T>` (+ optional\n * `searchFn`) into one reactive shape shared by `mlv-select`, `mlv-combobox`\n * and `[mlvAutocomplete]`. Construct it inside an injection context (a\n * component field initialiser or constructor) — it uses `effect()` and\n * `DestroyRef`.\n *\n * Paging (`MlvDataSource` only): `connect()` emits the current page's slice and\n * the adapter accumulates, tracking the **applied page** — the page whose slice\n * is currently in `items` — alongside the items accumulated before it:\n *\n * - `page <= 1` → the slice replaces `items` and accumulation restarts.\n * - `page === appliedPage` → the source re-emitted the page already shown (a\n * backing array changed, a refetch landed): its **tail is replaced**, never\n * appended, so rows are not duplicated.\n * - `page > appliedPage` → the slice is appended.\n * - A run where the slice reference has not changed (a `page` bump whose data\n * has not arrived yet) applies nothing.\n *\n * `loadMore()` is therefore a no-op while a page is pending — a scroll sentinel\n * firing repeatedly cannot skip a page.\n *\n * Swapping the `searchFn` **only re-arms the lazy gate** (the next\n * `ensureLoaded()` calls the new function): the in-flight call is left running\n * and `items` / `ready` / `loading` are untouched, so results stay on screen\n * until the new function answers and a control bound to an inline arrow — a\n * fresh reference on every change detection run — is not reset on every pass.\n */\nexport class MlvOptionsAdapter<T> {\n /** @private Lifetime for the in-flight `searchFn` subscription / debounce timer. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Which branch the current inputs select. `searchFn` wins over the source. */\n private readonly _kind = computed<SourceKind>(() => {\n if (this._config.searchFn()) return 'fn';\n const source = this._config.source();\n if (source instanceof MlvDataSource) return 'ds';\n if (isObservable(source)) return 'observable';\n return 'array';\n });\n\n // ─── observable branch ────────────────────────────────────────────────────\n /** @private Latest emission of the observable source. */\n private readonly _obsItems = signal<readonly T[]>([]);\n /** @private Whether the observable source has emitted at least once. */\n private readonly _obsReady = signal(false);\n\n // ─── data-source branch ───────────────────────────────────────────────────\n /** @private The connected source and its (memoised) `connect()` signal. */\n private readonly _connected = signal<ConnectedSource<T> | null>(null);\n /** @private Accumulated pages. */\n private readonly _dsItems = signal<readonly T[]>([]);\n /** @private Whether the source has been observed not-loading at least once since connect. */\n private readonly _dsReady = signal(false);\n /** @private Last slice reference applied — a `page` bump whose slice has not arrived yet must not append. */\n private _dsLastSlice: readonly T[] | null = null;\n /** @private The page whose slice is currently applied (`0` = none yet). Distinguishes an append from a re-emit of the page already shown. */\n private _dsAppliedPage = 0;\n /** @private Items accumulated *before* the applied page — the prefix a re-emit of that page is re-appended to. */\n private _dsBase: readonly T[] = [];\n\n // ─── searchFn branch ──────────────────────────────────────────────────────\n /** @private Last `searchFn` result. */\n private readonly _fnItems = signal<readonly T[]>([]);\n /** @private Whether a `searchFn` call is in flight. */\n private readonly _fnLoading = signal(false);\n /** @private Whether `searchFn` has produced (or failed) at least once. */\n private readonly _fnReady = signal(false);\n /** @private Whether `searchFn` has been invoked at least once (lazy-load gate). */\n private _fnStarted = false;\n /**\n * @private The `searchFn` reference the swap effect last observed, normalised\n * to `null` when unset. Stays `undefined` until that effect's first run, which\n * is how `undefined → fn` at construction is told apart from a genuine swap.\n */\n private _fnSeen: MlvOptionsSearchFn<T> | null | undefined;\n /** @private In-flight `searchFn` subscription (superseded by a newer query). */\n private _fnSub: Subscription | null = null;\n /** @private Monotonic token discarding stale `searchFn` results. */\n private _fnToken = 0;\n /** @private Pending debounce timer for remote searches. */\n private _debounceTimer: ReturnType<typeof setTimeout> | null = null;\n /** @private Last query handed to `search()`; replayed by `ensureLoaded()`. */\n private _lastQuery = '';\n\n /** `'local'` for arrays / observables (consumer filters); `'remote'` for a data source or `searchFn`. */\n readonly mode = computed<MlvOptionsMode>(() => {\n const kind = this._kind();\n return kind === 'array' || kind === 'observable' ? 'local' : 'remote';\n });\n\n /** The current raw items (accumulated pages for a data source). */\n readonly items = computed<readonly T[]>(() => {\n switch (this._kind()) {\n case 'fn':\n return this._fnItems();\n case 'ds':\n return this._dsItems();\n case 'observable':\n return this._obsItems();\n default:\n return (this._config.source() as readonly T[] | null | undefined) ?? [];\n }\n });\n\n /** Source-owned \"first page / search in flight\" flag (drives the top spinner row). */\n readonly loading = computed<boolean>(() => {\n switch (this._kind()) {\n case 'fn':\n return this._fnLoading();\n case 'ds': {\n const connected = this._connected();\n return (\n !!connected && connected.ds.loading() && connected.ds.page() === 1\n );\n }\n case 'observable':\n return !this._obsReady();\n default:\n return false;\n }\n });\n\n /** A page beyond the first is in flight (drives the bottom spinner row). Data source only. */\n readonly loadingMore = computed<boolean>(() => {\n if (this._kind() !== 'ds') return false;\n const connected = this._connected();\n return !!connected && connected.ds.loading() && connected.ds.page() > 1;\n });\n\n /** The first payload has arrived — arrays immediately, observables on first emit, data sources once observed not-loading, `searchFn` after its first result. */\n readonly ready = computed<boolean>(() => {\n switch (this._kind()) {\n case 'fn':\n return this._fnReady();\n case 'ds':\n return this._dsReady();\n case 'observable':\n return this._obsReady();\n default:\n return true;\n }\n });\n\n /** More pages exist (`items.length < totalItems`). Data source only. */\n readonly hasMore = computed<boolean>(() => {\n if (this._kind() !== 'ds') return false;\n const connected = this._connected();\n return !!connected && this._dsItems().length < connected.ds.totalItems();\n });\n\n constructor(private readonly _config: MlvOptionsAdapterConfig<T>) {\n // Observable source: (re)subscribe whenever the reference changes.\n effect((onCleanup) => {\n const source = this._config.source();\n if (!isObservable(source)) return;\n untracked(() => {\n this._obsReady.set(false);\n this._obsItems.set([]);\n });\n const sub = source.subscribe((items) => {\n this._obsItems.set(items);\n this._obsReady.set(true);\n });\n onCleanup(() => sub.unsubscribe());\n });\n\n // Data source: connect once per source — but only while the data source is\n // the branch in use. A `searchFn` supersedes it, and connecting anyway would\n // fire a fetch whose slice is never read.\n effect(() => {\n const kind = this._kind();\n const source = this._config.source();\n untracked(() => {\n if (kind === 'ds' && source instanceof MlvDataSource) {\n this._resetDataSource();\n this._connected.set({ ds: source, items: source.connect() });\n } else if (this._connected()) {\n this._resetDataSource();\n this._connected.set(null);\n }\n });\n });\n\n // Data source: accumulate slices against the applied page.\n effect(() => {\n const connected = this._connected();\n if (!connected) return;\n const slice = connected.items();\n const page = connected.ds.page();\n const loading = connected.ds.loading();\n untracked(() => {\n // A page bump whose slice has not arrived yet applies nothing.\n if (slice === this._dsLastSlice) {\n if (!loading) this._dsReady.set(true);\n return;\n }\n if (page <= 1) {\n this._dsBase = [];\n this._dsItems.set([...slice]);\n } else if (page === this._dsAppliedPage) {\n // Same page re-emitted — replace its tail rather than duplicating it.\n this._dsItems.set([...this._dsBase, ...slice]);\n } else {\n this._dsBase = this._dsItems();\n this._dsItems.set([...this._dsBase, ...slice]);\n }\n this._dsAppliedPage = page;\n this._dsLastSlice = slice;\n if (!loading) this._dsReady.set(true);\n });\n });\n\n // searchFn: a swapped function re-arms the lazy gate so the next\n // `ensureLoaded()` calls it — and nothing else. Tearing down the in-flight\n // call or clearing `items` would make the control sensitive to the\n // *reference* identity of the bound function, and an inline arrow\n // (`[search]=\"(q) => api.find(q)\"`) is a fresh reference on every change\n // detection run. Stale items therefore stay until the new function answers,\n // matching the \"results kept while loading\" contract; once the new function\n // starts, a late result from the old one is discarded by the monotonic\n // token. The effect's first run is `undefined → fn` at construction, which\n // is not a swap.\n effect(() => {\n const fn = this._config.searchFn() ?? null;\n untracked(() => {\n const previous = this._fnSeen;\n this._fnSeen = fn;\n if (previous === undefined || previous === fn) return;\n this._fnStarted = false;\n if (this._kind() === 'fn' && this._config.eager()) this.ensureLoaded();\n });\n });\n\n // searchFn: eager first load.\n effect(() => {\n if (this._kind() === 'fn' && this._config.eager()) {\n untracked(() => this.ensureLoaded());\n }\n });\n\n this._destroyRef.onDestroy(() => {\n this._fnSub?.unsubscribe();\n if (this._debounceTimer) clearTimeout(this._debounceTimer);\n });\n }\n\n /**\n * Remote-mode search entry point (debounced). Data source → `setSearch({ query, keys: [] })`\n * (or `null` for a blank query); `searchFn` → invoked with the query. No-op in local mode.\n */\n search(query: string): void {\n this._lastQuery = query;\n const kind = this._kind();\n if (kind === 'ds') this._debounced(() => this._searchDataSource(query));\n else if (kind === 'fn') this._debounced(() => this._runSearchFn(query));\n }\n\n /** Runs the initial `searchFn` load if it has not run yet (data sources connect eagerly; local modes need nothing). */\n ensureLoaded(): void {\n if (this._kind() === 'fn' && !this._fnStarted)\n this._runSearchFn(this._lastQuery);\n }\n\n /**\n * Requests the next data-source page. No-op unless `hasMore()`, nothing is in\n * flight, and the source's current page is the one already applied — a page\n * requested but not yet accumulated (or a search that reset the source to page\n * one) blocks the next bump, so a scroll sentinel cannot skip a page.\n */\n loadMore(): void {\n const connected = this._connected();\n if (\n !connected ||\n !this.hasMore() ||\n connected.ds.loading() ||\n connected.ds.page() !== this._dsAppliedPage\n )\n return;\n connected.ds.setPage(connected.ds.page() + 1);\n }\n\n /** @private Clears every accumulation bookkeeping field — on connect, and when a source is disconnected. */\n private _resetDataSource(): void {\n this._dsLastSlice = null;\n this._dsAppliedPage = 0;\n this._dsBase = [];\n this._dsItems.set([]);\n this._dsReady.set(false);\n }\n\n /** @private Schedules `run` after `debounce` ms (immediately when 0), cancelling a pending one. */\n private _debounced(run: () => void): void {\n if (this._debounceTimer) clearTimeout(this._debounceTimer);\n const ms = Math.max(0, this._config.debounce());\n if (ms === 0) {\n run();\n return;\n }\n this._debounceTimer = setTimeout(() => {\n this._debounceTimer = null;\n run();\n }, ms);\n }\n\n /** @private Forwards a query to the connected data source using the option-control contract (`keys: []`). */\n private _searchDataSource(query: string): void {\n const connected = this._connected();\n if (!connected) return;\n connected.ds.setSearch(query.trim() ? { query, keys: [] } : null);\n }\n\n /** @private Invokes `searchFn`, superseding any in-flight call; keeps stale items until the result. */\n private _runSearchFn(query: string): void {\n const fn = this._config.searchFn();\n if (!fn) return;\n this._fnStarted = true;\n const token = ++this._fnToken;\n this._fnSub?.unsubscribe();\n this._fnLoading.set(true);\n this._fnSub = toOptionsResult(fn(query))\n .pipe(take(1))\n .subscribe({\n next: (items) => {\n if (token !== this._fnToken) return;\n this._fnItems.set(items);\n this._fnLoading.set(false);\n this._fnReady.set(true);\n },\n error: () => {\n if (token !== this._fnToken) return;\n this._fnItems.set([]);\n this._fnLoading.set(false);\n this._fnReady.set(true);\n },\n });\n }\n}\n","/**\n * `@angular/aria`'s `ngListbox` reconciles its `value` model against the\n * currently **rendered** options and re-emits `valueChange` whenever the\n * rendered set changes — not only on user interaction. These helpers let an\n * owning control tell that noise apart from a genuine selection.\n */\n\n/**\n * Whether an incoming listbox `valueChange` is pure aria reconciliation: it\n * (a) adds no value that is not already committed and (b) only removes values\n * whose option is currently not rendered (`visible`). An emit that exactly\n * restates the committed selection is reconciliation too.\n */\nexport function isReconciliationEmit<T>(\n incoming: readonly T[],\n committed: readonly T[],\n visible: readonly T[],\n compare: (a: T, b: T) => boolean,\n): boolean {\n const inArr = (arr: readonly T[], v: T) => arr.some((x) => compare(x, v));\n\n // (a) No additions relative to the committed selection.\n if (incoming.some((v) => !inArr(committed, v))) return false;\n\n // (b) Every removed value is currently filtered out of view.\n return committed\n .filter((v) => !inArr(incoming, v))\n .every((v) => !inArr(visible, v));\n}\n\n/**\n * Committed values that aria dropped only because their option is not\n * rendered (not in `visible`) and that are not in `incoming`. Re-add them to\n * a genuine multi-select pick so earlier selections survive filtering.\n */\nexport function filteredOutCommitted<T>(\n incoming: readonly T[],\n committed: readonly T[],\n visible: readonly T[],\n compare: (a: T, b: T) => boolean,\n): T[] {\n return committed.filter(\n (v) =>\n !incoming.some((iv) => compare(iv, v)) &&\n !visible.some((vv) => compare(vv, v)),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+
4
+ /**
5
+ * Empty state component for displaying a placeholder when there is no content
6
+ * to show. Provides content projection slots for an icon or illustration,
7
+ * a title, a description, and one or more action buttons.
8
+ *
9
+ * All slots are optional — compose only the ones your use-case requires.
10
+ *
11
+ * @example Basic
12
+ * ```html
13
+ * <mlv-empty-state>
14
+ * <ng-container mlvEmptyStateIcon>
15
+ * <svg lucideInbox [size]="48" />
16
+ * </ng-container>
17
+ * <span mlvEmptyStateTitle>No items found</span>
18
+ * </mlv-empty-state>
19
+ * ```
20
+ *
21
+ * @example With action
22
+ * ```html
23
+ * <mlv-empty-state>
24
+ * <ng-container mlvEmptyStateIcon><svg lucideFolder [size]="48" /></ng-container>
25
+ * <span mlvEmptyStateTitle>No projects</span>
26
+ * <span mlvEmptyStateDescription>Create your first project to get started.</span>
27
+ * <ng-container mlvEmptyStateActions>
28
+ * <button mlvButton>Create project</button>
29
+ * </ng-container>
30
+ * </mlv-empty-state>
31
+ * ```
32
+ */
33
+ class MlvEmptyState {
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvEmptyState, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: MlvEmptyState, isStandalone: true, selector: "mlv-empty-state", host: { attributes: { "role": "status" }, classAttribute: "mlv-empty-state" }, ngImport: i0, template: "<div class=\"mlv-empty-state__icon\">\n <ng-content select=\"[mlvEmptyStateIcon]\" />\n</div>\n\n<div class=\"mlv-empty-state__body\">\n <div class=\"mlv-empty-state__title\">\n <ng-content select=\"[mlvEmptyStateTitle]\" />\n </div>\n\n <div class=\"mlv-empty-state__description\">\n <ng-content select=\"[mlvEmptyStateDescription]\" />\n </div>\n</div>\n\n<div class=\"mlv-empty-state__actions\">\n <ng-content select=\"[mlvEmptyStateActions]\" />\n</div>\n", styles: ["@layer mlv.components{.mlv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;box-sizing:border-box}.mlv-empty-state__icon{display:flex;align-items:center;justify-content:center;color:var(--mlv-text-tertiary)}.mlv-empty-state__icon:empty{display:none}.mlv-empty-state__body{display:flex;flex-direction:column;align-items:center;gap:.5rem}.mlv-empty-state__body:empty{display:none}.mlv-empty-state__title{font-family:var(--mlv-typography-family-text);font-size:var(--mlv-typography-heading-h4-size);font-weight:600;color:var(--mlv-text-secondary);line-height:1.25}.mlv-empty-state__title:empty{display:none}.mlv-empty-state__description{font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m);color:var(--mlv-text-secondary);line-height:1.5;max-width:28rem}.mlv-empty-state__description:empty{display:none}.mlv-empty-state__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.mlv-empty-state__actions:empty{display:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvEmptyState, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'mlv-empty-state', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], host: {
40
+ class: 'mlv-empty-state',
41
+ role: 'status',
42
+ }, template: "<div class=\"mlv-empty-state__icon\">\n <ng-content select=\"[mlvEmptyStateIcon]\" />\n</div>\n\n<div class=\"mlv-empty-state__body\">\n <div class=\"mlv-empty-state__title\">\n <ng-content select=\"[mlvEmptyStateTitle]\" />\n </div>\n\n <div class=\"mlv-empty-state__description\">\n <ng-content select=\"[mlvEmptyStateDescription]\" />\n </div>\n</div>\n\n<div class=\"mlv-empty-state__actions\">\n <ng-content select=\"[mlvEmptyStateActions]\" />\n</div>\n", styles: ["@layer mlv.components{.mlv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;box-sizing:border-box}.mlv-empty-state__icon{display:flex;align-items:center;justify-content:center;color:var(--mlv-text-tertiary)}.mlv-empty-state__icon:empty{display:none}.mlv-empty-state__body{display:flex;flex-direction:column;align-items:center;gap:.5rem}.mlv-empty-state__body:empty{display:none}.mlv-empty-state__title{font-family:var(--mlv-typography-family-text);font-size:var(--mlv-typography-heading-h4-size);font-weight:600;color:var(--mlv-text-secondary);line-height:1.25}.mlv-empty-state__title:empty{display:none}.mlv-empty-state__description{font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m);color:var(--mlv-text-secondary);line-height:1.5;max-width:28rem}.mlv-empty-state__description:empty{display:none}.mlv-empty-state__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.mlv-empty-state__actions:empty{display:none}}\n"] }]
43
+ }] });
44
+
45
+ /**
46
+ * Generated bundle index. Do not edit.
47
+ */
48
+
49
+ export { MlvEmptyState };
50
+ //# sourceMappingURL=malva-ui-core-empty-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-empty-state.mjs","sources":["../../../../libs/core/empty-state/src/lib/empty-state/empty-state.ts","../../../../libs/core/empty-state/src/lib/empty-state/empty-state.html","../../../../libs/core/empty-state/src/malva-ui-core-empty-state.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Empty state component for displaying a placeholder when there is no content\n * to show. Provides content projection slots for an icon or illustration,\n * a title, a description, and one or more action buttons.\n *\n * All slots are optional — compose only the ones your use-case requires.\n *\n * @example Basic\n * ```html\n * <mlv-empty-state>\n * <ng-container mlvEmptyStateIcon>\n * <svg lucideInbox [size]=\"48\" />\n * </ng-container>\n * <span mlvEmptyStateTitle>No items found</span>\n * </mlv-empty-state>\n * ```\n *\n * @example With action\n * ```html\n * <mlv-empty-state>\n * <ng-container mlvEmptyStateIcon><svg lucideFolder [size]=\"48\" /></ng-container>\n * <span mlvEmptyStateTitle>No projects</span>\n * <span mlvEmptyStateDescription>Create your first project to get started.</span>\n * <ng-container mlvEmptyStateActions>\n * <button mlvButton>Create project</button>\n * </ng-container>\n * </mlv-empty-state>\n * ```\n */\n@Component({\n selector: 'mlv-empty-state',\n templateUrl: './empty-state.html',\n styleUrl: './empty-state.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n host: {\n class: 'mlv-empty-state',\n role: 'status',\n },\n})\nexport class MlvEmptyState {}\n","<div class=\"mlv-empty-state__icon\">\n <ng-content select=\"[mlvEmptyStateIcon]\" />\n</div>\n\n<div class=\"mlv-empty-state__body\">\n <div class=\"mlv-empty-state__title\">\n <ng-content select=\"[mlvEmptyStateTitle]\" />\n </div>\n\n <div class=\"mlv-empty-state__description\">\n <ng-content select=\"[mlvEmptyStateDescription]\" />\n </div>\n</div>\n\n<div class=\"mlv-empty-state__actions\">\n <ng-content select=\"[mlvEmptyStateActions]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;MAaU,aAAa,CAAA;uGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,0JC/C1B,ydAiBA,EAAA,MAAA,EAAA,CAAA,siCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FD8Ba,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,EAAE,EAAA,IAAA,EACL;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA,EAAA,QAAA,EAAA,ydAAA,EAAA,MAAA,EAAA,CAAA,siCAAA,CAAA,EAAA;;;AE7CH;;AAEG;;;;"}
@@ -0,0 +1,130 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, TemplateRef, Directive, model, input, contentChild, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+ import { NgTemplateOutlet } from '@angular/common';
4
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
+
6
+ /**
7
+ * Marks an `<ng-template>` as the lazy content for a `mlv-expand` panel.
8
+ *
9
+ * Nothing inside the template is constructed until the panel first opens, so a
10
+ * heavy child component in a panel the user never expands is never initialized.
11
+ * The template is re-instantiated on each subsequent open — it is not cached —
12
+ * because `mlv-expand` removes its body from the DOM while closed.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <button type="button" (click)="panel.toggle()">Load on demand</button>
17
+ * <mlv-expand #panel>
18
+ * <ng-template mlvExpandContent>
19
+ * <heavy-component />
20
+ * </ng-template>
21
+ * </mlv-expand>
22
+ * ```
23
+ */
24
+ class MlvExpandContent {
25
+ /** The template reference rendered once the panel first opens. */
26
+ templateRef = inject(TemplateRef);
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvExpandContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvExpandContent, isStandalone: true, selector: "[mlvExpandContent]", ngImport: i0 });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvExpandContent, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ selector: '[mlvExpandContent]',
34
+ }]
35
+ }] });
36
+
37
+ /**
38
+ * Expandable panel component with smooth `grid-template-rows` animation.
39
+ *
40
+ * The component renders no header or trigger of its own — it is the animated
41
+ * panel only. Drive it from your own control through `[(opened)]` or a template
42
+ * reference and `toggle()`.
43
+ *
44
+ * Supports two content modes:
45
+ * - **Eager** (default): place content directly inside `<mlv-expand>`.
46
+ * - **Lazy**: wrap content in `<ng-template mlvExpandContent>`.
47
+ *
48
+ * In both modes the body element only exists while `opened()` is `true`, so
49
+ * projected content is created on open and destroyed on close. The difference
50
+ * is *when the content is first constructed*: eager `<ng-content>` is created
51
+ * with the host component, the lazy template only on first open — which is what
52
+ * keeps a heavy child from being initialized in a panel the user never expands.
53
+ *
54
+ * @example Eager (ng-content)
55
+ * ```html
56
+ * <button type="button" (click)="panel.toggle()">Details</button>
57
+ * <mlv-expand #panel>
58
+ * <p>Created with the host; in the DOM only while the panel is open.</p>
59
+ * </mlv-expand>
60
+ * ```
61
+ *
62
+ * @example Lazy (structural directive)
63
+ * ```html
64
+ * <button type="button" (click)="isOpen.set(!isOpen())">Load on demand</button>
65
+ * <mlv-expand [(opened)]="isOpen">
66
+ * <ng-template mlvExpandContent>
67
+ * <heavy-chart-component />
68
+ * </ng-template>
69
+ * </mlv-expand>
70
+ * ```
71
+ */
72
+ class MlvExpand {
73
+ /**
74
+ * Two-way bindable open/closed state.
75
+ * Bind with `[(opened)]="isOpen"` or read with `(openedChange)="onToggle($event)"`.
76
+ *
77
+ * @remarks Renamed from `open` to `opened` for consistency with the other
78
+ * open/close surfaces (`mlv-dialog`, `mlv-drawer`, `mlv-popup`). Breaking
79
+ * change — see the expand migration note.
80
+ */
81
+ opened = model(false, /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "opened" }] : /* istanbul ignore next */ []));
83
+ /**
84
+ * When `true`, prevents toggling and visually dims the component.
85
+ * Supports attribute syntax: `<mlv-expand disabled>`.
86
+ */
87
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
88
+ /**
89
+ * Optional accessible label for the expand body region.
90
+ * When set, applies `role="region"` with `aria-label` on the body element.
91
+ * Prefer `ariaLabelledBy` when a visible label element exists.
92
+ */
93
+ ariaLabel = input(undefined, /* @ts-ignore */
94
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
95
+ /**
96
+ * ID of an element that labels this expand region.
97
+ * When set, applies `role="region"` with `aria-labelledby` on the body element.
98
+ */
99
+ ariaLabelledBy = input(undefined, /* @ts-ignore */
100
+ ...(ngDevMode ? [{ debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
101
+ /** @internal Detects whether a lazy content directive is projected. */
102
+ _lazyContent = contentChild(MlvExpandContent, /* @ts-ignore */
103
+ ...(ngDevMode ? [{ debugName: "_lazyContent" }] : /* istanbul ignore next */ []));
104
+ /**
105
+ * Toggles the open/closed state.
106
+ * No-op when the component is disabled.
107
+ */
108
+ toggle() {
109
+ if (this.disabled())
110
+ return;
111
+ this.opened.update((v) => !v);
112
+ }
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvExpand, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvExpand, isStandalone: true, selector: "mlv-expand", inputs: { opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "openedChange" }, host: { properties: { "class.mlv-expand--open": "opened()", "class.mlv-expand--disabled": "disabled()" }, classAttribute: "mlv-expand" }, queries: [{ propertyName: "_lazyContent", first: true, predicate: MlvExpandContent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (opened()) {\n<div\n class=\"mlv-expand__body\"\n animate.enter=\"mlv-expand__body--enter\"\n animate.leave=\"mlv-expand__body--leave\"\n [attr.inert]=\"opened() ? null : ''\"\n [attr.role]=\"ariaLabel() || ariaLabelledBy() ? 'region' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy() || null\"\n>\n <div class=\"mlv-expand__body-inner\">\n @if (_lazyContent(); as lazy) {\n <ng-template [ngTemplateOutlet]=\"lazy.templateRef\" />\n } @else {\n <ng-content />\n }\n </div>\n</div>\n}\n", styles: ["@layer mlv.components{.mlv-expand{display:block}.mlv-expand__body{width:100%;display:grid;overflow:hidden;will-change:opacity,grid-template-rows}.mlv-expand__body-inner{overflow:hidden;min-height:0}.mlv-expand__body--enter{animation:mlv-expand--enter var(--mlv-duration-slow) var(--mlv-ease-default) forwards}.mlv-expand__body--leave{animation:mlv-expand--leave var(--mlv-duration-slow) var(--mlv-ease-default) forwards}@media(prefers-reduced-motion:reduce){.mlv-expand__body--enter,.mlv-expand__body--leave{animation:none}}.mlv-expand--disabled{pointer-events:none;opacity:var(--mlv-disabled-opacity)}@keyframes mlv-expand--enter{0%{transform:translateY(-1rem);grid-template-rows:0fr;opacity:0}70%{transform:translateY(0);grid-template-rows:1fr}to{grid-template-rows:1fr;opacity:1}}@keyframes mlv-expand--leave{0%{transform:translateY(0);grid-template-rows:1fr;opacity:1}70%{transform:translateY(-1rem);opacity:0}to{grid-template-rows:0fr;opacity:0}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvExpand, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'mlv-expand', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], host: {
119
+ class: 'mlv-expand',
120
+ '[class.mlv-expand--open]': 'opened()',
121
+ '[class.mlv-expand--disabled]': 'disabled()',
122
+ }, template: "@if (opened()) {\n<div\n class=\"mlv-expand__body\"\n animate.enter=\"mlv-expand__body--enter\"\n animate.leave=\"mlv-expand__body--leave\"\n [attr.inert]=\"opened() ? null : ''\"\n [attr.role]=\"ariaLabel() || ariaLabelledBy() ? 'region' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy() || null\"\n>\n <div class=\"mlv-expand__body-inner\">\n @if (_lazyContent(); as lazy) {\n <ng-template [ngTemplateOutlet]=\"lazy.templateRef\" />\n } @else {\n <ng-content />\n }\n </div>\n</div>\n}\n", styles: ["@layer mlv.components{.mlv-expand{display:block}.mlv-expand__body{width:100%;display:grid;overflow:hidden;will-change:opacity,grid-template-rows}.mlv-expand__body-inner{overflow:hidden;min-height:0}.mlv-expand__body--enter{animation:mlv-expand--enter var(--mlv-duration-slow) var(--mlv-ease-default) forwards}.mlv-expand__body--leave{animation:mlv-expand--leave var(--mlv-duration-slow) var(--mlv-ease-default) forwards}@media(prefers-reduced-motion:reduce){.mlv-expand__body--enter,.mlv-expand__body--leave{animation:none}}.mlv-expand--disabled{pointer-events:none;opacity:var(--mlv-disabled-opacity)}@keyframes mlv-expand--enter{0%{transform:translateY(-1rem);grid-template-rows:0fr;opacity:0}70%{transform:translateY(0);grid-template-rows:1fr}to{grid-template-rows:1fr;opacity:1}}@keyframes mlv-expand--leave{0%{transform:translateY(0);grid-template-rows:1fr;opacity:1}70%{transform:translateY(-1rem);opacity:0}to{grid-template-rows:0fr;opacity:0}}}\n"] }]
123
+ }], propDecorators: { opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }, { type: i0.Output, args: ["openedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], _lazyContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvExpandContent), { isSignal: true }] }] } });
124
+
125
+ /**
126
+ * Generated bundle index. Do not edit.
127
+ */
128
+
129
+ export { MlvExpand, MlvExpandContent };
130
+ //# sourceMappingURL=malva-ui-core-expand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-expand.mjs","sources":["../../../../libs/core/expand/src/lib/expand/expand-content.ts","../../../../libs/core/expand/src/lib/expand/expand.ts","../../../../libs/core/expand/src/lib/expand/expand.html","../../../../libs/core/expand/src/malva-ui-core-expand.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n/**\n * Marks an `<ng-template>` as the lazy content for a `mlv-expand` panel.\n *\n * Nothing inside the template is constructed until the panel first opens, so a\n * heavy child component in a panel the user never expands is never initialized.\n * The template is re-instantiated on each subsequent open — it is not cached —\n * because `mlv-expand` removes its body from the DOM while closed.\n *\n * @example\n * ```html\n * <button type=\"button\" (click)=\"panel.toggle()\">Load on demand</button>\n * <mlv-expand #panel>\n * <ng-template mlvExpandContent>\n * <heavy-component />\n * </ng-template>\n * </mlv-expand>\n * ```\n */\n@Directive({\n selector: '[mlvExpandContent]',\n})\nexport class MlvExpandContent {\n /** The template reference rendered once the panel first opens. */\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n input,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MlvExpandContent } from './expand-content';\n\n/**\n * Expandable panel component with smooth `grid-template-rows` animation.\n *\n * The component renders no header or trigger of its own — it is the animated\n * panel only. Drive it from your own control through `[(opened)]` or a template\n * reference and `toggle()`.\n *\n * Supports two content modes:\n * - **Eager** (default): place content directly inside `<mlv-expand>`.\n * - **Lazy**: wrap content in `<ng-template mlvExpandContent>`.\n *\n * In both modes the body element only exists while `opened()` is `true`, so\n * projected content is created on open and destroyed on close. The difference\n * is *when the content is first constructed*: eager `<ng-content>` is created\n * with the host component, the lazy template only on first open — which is what\n * keeps a heavy child from being initialized in a panel the user never expands.\n *\n * @example Eager (ng-content)\n * ```html\n * <button type=\"button\" (click)=\"panel.toggle()\">Details</button>\n * <mlv-expand #panel>\n * <p>Created with the host; in the DOM only while the panel is open.</p>\n * </mlv-expand>\n * ```\n *\n * @example Lazy (structural directive)\n * ```html\n * <button type=\"button\" (click)=\"isOpen.set(!isOpen())\">Load on demand</button>\n * <mlv-expand [(opened)]=\"isOpen\">\n * <ng-template mlvExpandContent>\n * <heavy-chart-component />\n * </ng-template>\n * </mlv-expand>\n * ```\n */\n@Component({\n selector: 'mlv-expand',\n templateUrl: './expand.html',\n styleUrl: './expand.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet],\n host: {\n class: 'mlv-expand',\n '[class.mlv-expand--open]': 'opened()',\n '[class.mlv-expand--disabled]': 'disabled()',\n },\n})\nexport class MlvExpand {\n /**\n * Two-way bindable open/closed state.\n * Bind with `[(opened)]=\"isOpen\"` or read with `(openedChange)=\"onToggle($event)\"`.\n *\n * @remarks Renamed from `open` to `opened` for consistency with the other\n * open/close surfaces (`mlv-dialog`, `mlv-drawer`, `mlv-popup`). Breaking\n * change — see the expand migration note.\n */\n readonly opened = model<boolean>(false);\n\n /**\n * When `true`, prevents toggling and visually dims the component.\n * Supports attribute syntax: `<mlv-expand disabled>`.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Optional accessible label for the expand body region.\n * When set, applies `role=\"region\"` with `aria-label` on the body element.\n * Prefer `ariaLabelledBy` when a visible label element exists.\n */\n readonly ariaLabel = input<string | undefined>(undefined);\n\n /**\n * ID of an element that labels this expand region.\n * When set, applies `role=\"region\"` with `aria-labelledby` on the body element.\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined);\n\n /** @internal Detects whether a lazy content directive is projected. */\n protected readonly _lazyContent = contentChild(MlvExpandContent);\n /**\n * Toggles the open/closed state.\n * No-op when the component is disabled.\n */\n toggle(): void {\n if (this.disabled()) return;\n this.opened.update((v) => !v);\n }\n}\n","@if (opened()) {\n<div\n class=\"mlv-expand__body\"\n animate.enter=\"mlv-expand__body--enter\"\n animate.leave=\"mlv-expand__body--leave\"\n [attr.inert]=\"opened() ? null : ''\"\n [attr.role]=\"ariaLabel() || ariaLabelledBy() ? 'region' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy() || null\"\n>\n <div class=\"mlv-expand__body-inner\">\n @if (_lazyContent(); as lazy) {\n <ng-template [ngTemplateOutlet]=\"lazy.templateRef\" />\n } @else {\n <ng-content />\n }\n </div>\n</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}