@malva-ui/core 0.1.12 → 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 (1619) hide show
  1. package/AGENTS.md +4 -1
  2. package/LICENSE +21 -0
  3. package/README.md +69 -3
  4. package/docs/ai/avatar.md +2 -0
  5. package/docs/ai/breadcrumb.md +67 -7
  6. package/docs/ai/button.md +74 -19
  7. package/docs/ai/card.md +8 -6
  8. package/docs/ai/chat.md +59 -45
  9. package/docs/ai/checkbox.md +12 -0
  10. package/docs/ai/combobox.md +18 -2
  11. package/docs/ai/copy-to-clipboard.md +1 -1
  12. package/docs/ai/core.md +15 -0
  13. package/docs/ai/data-table.md +89 -54
  14. package/docs/ai/dialog.md +76 -67
  15. package/docs/ai/drawer.md +15 -12
  16. package/docs/ai/dropdown.md +24 -19
  17. package/docs/ai/empty-state.md +3 -3
  18. package/docs/ai/filter.md +24 -5
  19. package/docs/ai/form-utils.md +160 -5
  20. package/docs/ai/icon-toggle.md +160 -0
  21. package/docs/ai/input.md +30 -0
  22. package/docs/ai/layout.md +23 -0
  23. package/docs/ai/list.md +10 -6
  24. package/docs/ai/menu.md +75 -1
  25. package/docs/ai/page.md +220 -60
  26. package/docs/ai/radio.md +9 -0
  27. package/docs/ai/scrollbar.md +30 -8
  28. package/docs/ai/segmented.md +35 -35
  29. package/docs/ai/select.md +30 -5
  30. package/docs/ai/sidebar.md +45 -27
  31. package/docs/ai/switch.md +114 -19
  32. package/docs/ai/table.md +69 -0
  33. package/docs/ai/tabs.md +2 -1
  34. package/docs/ai/tile.md +311 -85
  35. package/docs/ai/timeline.md +63 -39
  36. package/docs/ai/tokenizer.md +21 -5
  37. package/docs/ai/tooltip.md +5 -5
  38. package/docs/ai/view-variant.md +75 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  40. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  42. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  43. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  44. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  46. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  48. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  50. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  51. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  52. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  54. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  56. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  57. package/fesm2022/malva-ui-core-button.mjs +406 -0
  58. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  60. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  61. package/fesm2022/malva-ui-core-card.mjs +164 -0
  62. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  63. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  64. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  66. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  67. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  68. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  70. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  72. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  74. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  76. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  78. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  80. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  82. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  84. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  85. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  86. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  88. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  90. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  92. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  94. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  95. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  96. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  98. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  99. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  100. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  102. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  104. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  105. package/fesm2022/malva-ui-core-form.mjs +283 -0
  106. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  108. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  109. package/fesm2022/malva-ui-core-input.mjs +375 -0
  110. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  112. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  113. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  114. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  115. package/fesm2022/malva-ui-core-link.mjs +89 -0
  116. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  117. package/fesm2022/malva-ui-core-list.mjs +413 -0
  118. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  119. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  120. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  121. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  122. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  123. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  124. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  126. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  127. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  128. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  130. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  132. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  133. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  134. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  135. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  136. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  137. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  138. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  139. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  140. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  142. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  144. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  146. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  147. package/fesm2022/malva-ui-core-select.mjs +855 -0
  148. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  150. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  152. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  153. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  154. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  156. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  158. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  160. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  161. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  162. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  163. package/fesm2022/malva-ui-core-table.mjs +79 -0
  164. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  166. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  168. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  169. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  170. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  172. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  174. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  175. package/fesm2022/malva-ui-core-title.mjs +178 -0
  176. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  177. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  178. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  180. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  182. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  184. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  185. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  186. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  188. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  189. package/fesm2022/malva-ui-core.mjs +77 -0
  190. package/fesm2022/malva-ui-core.mjs.map +1 -0
  191. package/package.json +195 -156
  192. package/styles/malva-ui.css +253 -220
  193. package/styles/tokens.md +174 -173
  194. package/table/README.md +46 -0
  195. package/types/malva-ui-core-accordion.d.ts +121 -0
  196. package/types/malva-ui-core-action-bar.d.ts +82 -0
  197. package/types/malva-ui-core-alert.d.ts +131 -0
  198. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  199. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  200. package/types/malva-ui-core-avatar.d.ts +156 -0
  201. package/types/malva-ui-core-badge.d.ts +97 -0
  202. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  203. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  204. package/types/malva-ui-core-button.d.ts +194 -0
  205. package/types/malva-ui-core-calendar.d.ts +339 -0
  206. package/types/malva-ui-core-card.d.ts +88 -0
  207. package/types/malva-ui-core-chat.d.ts +375 -0
  208. package/types/malva-ui-core-checkbox.d.ts +158 -0
  209. package/types/malva-ui-core-chip.d.ts +128 -0
  210. package/types/malva-ui-core-color-picker.d.ts +442 -0
  211. package/types/malva-ui-core-combobox.d.ts +419 -0
  212. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  213. package/types/malva-ui-core-data-table.d.ts +1074 -0
  214. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  215. package/types/malva-ui-core-day-picker.d.ts +55 -0
  216. package/types/malva-ui-core-dialog.d.ts +597 -0
  217. package/types/malva-ui-core-divider.d.ts +68 -0
  218. package/types/malva-ui-core-drawer.d.ts +333 -0
  219. package/types/malva-ui-core-dropdown.d.ts +592 -0
  220. package/types/malva-ui-core-empty-state.d.ts +37 -0
  221. package/types/malva-ui-core-expand.d.ts +102 -0
  222. package/types/malva-ui-core-file-upload.d.ts +267 -0
  223. package/types/malva-ui-core-filter.d.ts +552 -0
  224. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  225. package/types/malva-ui-core-form-utils.d.ts +579 -0
  226. package/types/malva-ui-core-form.d.ts +176 -0
  227. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  228. package/types/malva-ui-core-input.d.ts +262 -0
  229. package/types/malva-ui-core-kbd.d.ts +56 -0
  230. package/types/malva-ui-core-layout.d.ts +70 -0
  231. package/types/malva-ui-core-link.d.ts +28 -0
  232. package/types/malva-ui-core-list.d.ts +252 -0
  233. package/types/malva-ui-core-loader.d.ts +89 -0
  234. package/types/malva-ui-core-menu.d.ts +954 -0
  235. package/types/malva-ui-core-notification.d.ts +122 -0
  236. package/types/malva-ui-core-number-input.d.ts +167 -0
  237. package/types/malva-ui-core-page.d.ts +799 -0
  238. package/types/malva-ui-core-pagination.d.ts +261 -0
  239. package/types/malva-ui-core-pin-input.d.ts +203 -0
  240. package/types/malva-ui-core-popup.d.ts +834 -0
  241. package/types/malva-ui-core-progress.d.ts +73 -0
  242. package/types/malva-ui-core-radio.d.ts +130 -0
  243. package/types/malva-ui-core-rating.d.ts +115 -0
  244. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  245. package/types/malva-ui-core-search-field.d.ts +408 -0
  246. package/types/malva-ui-core-segmented.d.ts +206 -0
  247. package/types/malva-ui-core-select.d.ts +456 -0
  248. package/types/malva-ui-core-sidebar.d.ts +698 -0
  249. package/types/malva-ui-core-skeleton.d.ts +64 -0
  250. package/types/malva-ui-core-slider.d.ts +219 -0
  251. package/types/malva-ui-core-split-pane.d.ts +149 -0
  252. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  253. package/types/malva-ui-core-stepper.d.ts +168 -0
  254. package/types/malva-ui-core-switch.d.ts +146 -0
  255. package/types/malva-ui-core-table.d.ts +37 -0
  256. package/types/malva-ui-core-tabs.d.ts +339 -0
  257. package/types/malva-ui-core-textarea.d.ts +79 -0
  258. package/types/malva-ui-core-tile.d.ts +373 -0
  259. package/types/malva-ui-core-time-picker.d.ts +141 -0
  260. package/types/malva-ui-core-timeline.d.ts +188 -0
  261. package/types/malva-ui-core-title.d.ts +66 -0
  262. package/types/malva-ui-core-toast.d.ts +432 -0
  263. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  264. package/types/malva-ui-core-toolbar.d.ts +91 -0
  265. package/types/malva-ui-core-tooltip.d.ts +200 -0
  266. package/types/malva-ui-core-tree.d.ts +289 -0
  267. package/types/malva-ui-core-view-variant.d.ts +207 -0
  268. package/types/malva-ui-core.d.ts +72 -0
  269. package/view-variant/README.md +3 -0
  270. package/accordion/index.d.ts +0 -3
  271. package/accordion/lib/accordion/accordion.d.ts +0 -47
  272. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  273. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  274. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  275. package/action-bar/index.d.ts +0 -4
  276. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  277. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  278. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  279. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  280. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  281. package/alert/index.d.ts +0 -2
  282. package/alert/lib/alert/alert.d.ts +0 -84
  283. package/alert/lib/alert/alert.directives.d.ts +0 -44
  284. package/alert/malva-ui-core-alert.d.ts +0 -5
  285. package/autocomplete/index.d.ts +0 -1
  286. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  287. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  288. package/avatar/index.d.ts +0 -2
  289. package/avatar/lib/avatar/avatar.d.ts +0 -125
  290. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  291. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  292. package/avatar-group/index.d.ts +0 -1
  293. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  294. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  295. package/badge/index.d.ts +0 -2
  296. package/badge/lib/badge/badge.d.ts +0 -59
  297. package/badge/lib/badge-icon.d.ts +0 -35
  298. package/badge/malva-ui-core-badge.d.ts +0 -5
  299. package/bottom-nav/index.d.ts +0 -1
  300. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  301. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  302. package/breadcrumb/index.d.ts +0 -5
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  305. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  307. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  308. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  309. package/button/index.d.ts +0 -7
  310. package/button/lib/button/button.d.ts +0 -61
  311. package/button/lib/button-close/button-close.d.ts +0 -24
  312. package/button/lib/button-group/button-group.d.ts +0 -21
  313. package/button/lib/button-split/button-split.d.ts +0 -21
  314. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  315. package/button/lib/button-variant.token.d.ts +0 -13
  316. package/button/lib/button.directives.d.ts +0 -14
  317. package/button/lib/button.types.d.ts +0 -8
  318. package/button/malva-ui-core-button.d.ts +0 -5
  319. package/calendar/index.d.ts +0 -3
  320. package/calendar/lib/calendar/calendar.d.ts +0 -182
  321. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  322. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  323. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  324. package/card/index.d.ts +0 -5
  325. package/card/lib/card/card.d.ts +0 -43
  326. package/card/lib/card-actions-def.d.ts +0 -10
  327. package/card/lib/card-footer-def.d.ts +0 -13
  328. package/card/lib/card-header-def.d.ts +0 -10
  329. package/card/lib/card-subheader-def.d.ts +0 -16
  330. package/card/malva-ui-core-card.d.ts +0 -5
  331. package/chat/index.d.ts +0 -9
  332. package/chat/lib/chat/chat.d.ts +0 -133
  333. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  334. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  335. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  336. package/chat/lib/chat-format.d.ts +0 -5
  337. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  338. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  339. package/chat/lib/chat-render-list.d.ts +0 -16
  340. package/chat/lib/chat-tokens.d.ts +0 -25
  341. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  342. package/chat/lib/chat.types.d.ts +0 -80
  343. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  344. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  345. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  346. package/chat/malva-ui-core-chat.d.ts +0 -5
  347. package/checkbox/index.d.ts +0 -3
  348. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  349. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  350. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  351. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  352. package/chip/index.d.ts +0 -2
  353. package/chip/lib/chip/chip.d.ts +0 -107
  354. package/chip/lib/chip/chip.directives.d.ts +0 -18
  355. package/chip/malva-ui-core-chip.d.ts +0 -5
  356. package/color-picker/index.d.ts +0 -3
  357. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  358. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  359. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  360. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  361. package/combobox/index.d.ts +0 -2
  362. package/combobox/lib/combobox/combobox.d.ts +0 -400
  363. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  364. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  365. package/copy-to-clipboard/index.d.ts +0 -1
  366. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  367. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  368. package/data-table/index.d.ts +0 -8
  369. package/data-table/lib/data-source.d.ts +0 -5
  370. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  371. package/data-table/lib/data-table/data-table.d.ts +0 -699
  372. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  373. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  374. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  375. package/data-table/lib/data-table-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  377. package/data-table/lib/data-table-error.d.ts +0 -37
  378. package/data-table/lib/data-table-footer.d.ts +0 -26
  379. package/data-table/lib/data-table-no-data.d.ts +0 -19
  380. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  381. package/data-table/lib/types.d.ts +0 -134
  382. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  383. package/date-range-picker/index.d.ts +0 -1
  384. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  385. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  386. package/day-picker/index.d.ts +0 -1
  387. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  388. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  389. package/dialog/index.d.ts +0 -11
  390. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  391. package/dialog/lib/confirm-dialog.d.ts +0 -52
  392. package/dialog/lib/dialog/dialog.d.ts +0 -22
  393. package/dialog/lib/dialog-body.d.ts +0 -9
  394. package/dialog/lib/dialog-close.d.ts +0 -27
  395. package/dialog/lib/dialog-config.d.ts +0 -112
  396. package/dialog/lib/dialog-container.d.ts +0 -40
  397. package/dialog/lib/dialog-footer.d.ts +0 -13
  398. package/dialog/lib/dialog-header.d.ts +0 -74
  399. package/dialog/lib/dialog-ref.d.ts +0 -95
  400. package/dialog/lib/dialog-template.d.ts +0 -65
  401. package/dialog/lib/dialog-text-content.d.ts +0 -24
  402. package/dialog/lib/dialog.service.d.ts +0 -63
  403. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  404. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  405. package/dialog/lib/routable-dialog.d.ts +0 -30
  406. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  407. package/divider/index.d.ts +0 -1
  408. package/divider/lib/divider/divider.d.ts +0 -64
  409. package/divider/malva-ui-core-divider.d.ts +0 -5
  410. package/drawer/index.d.ts +0 -11
  411. package/drawer/lib/drawer/drawer.d.ts +0 -106
  412. package/drawer/lib/drawer-body.d.ts +0 -8
  413. package/drawer/lib/drawer-content.d.ts +0 -6
  414. package/drawer/lib/drawer-footer.d.ts +0 -5
  415. package/drawer/lib/drawer-header.d.ts +0 -5
  416. package/drawer/lib/drawer-ref.d.ts +0 -29
  417. package/drawer/lib/drawer-resize.d.ts +0 -65
  418. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  419. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  420. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  421. package/drawer/lib/drawer.service.d.ts +0 -66
  422. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  423. package/drawer/lib/routable-drawer.d.ts +0 -30
  424. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  425. package/dropdown/index.d.ts +0 -9
  426. package/dropdown/lib/active-descendant.d.ts +0 -64
  427. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  428. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  429. package/dropdown/lib/option-matcher.d.ts +0 -87
  430. package/dropdown/lib/options-adapter.d.ts +0 -142
  431. package/dropdown/lib/options-result.d.ts +0 -6
  432. package/dropdown/lib/reconciliation.d.ts +0 -19
  433. package/dropdown/lib/select-data-source.d.ts +0 -18
  434. package/dropdown/lib/select-option.d.ts +0 -37
  435. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  436. package/empty-state/index.d.ts +0 -1
  437. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  438. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  439. package/esm2022/accordion/index.js +0 -4
  440. package/esm2022/accordion/index.js.map +0 -1
  441. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  442. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  444. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  446. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  447. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  448. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  449. package/esm2022/action-bar/index.js +0 -5
  450. package/esm2022/action-bar/index.js.map +0 -1
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  452. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  458. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  460. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  461. package/esm2022/alert/index.js +0 -3
  462. package/esm2022/alert/index.js.map +0 -1
  463. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  464. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  465. package/esm2022/alert/lib/alert/alert.js +0 -118
  466. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  467. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  468. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  469. package/esm2022/autocomplete/index.js +0 -2
  470. package/esm2022/autocomplete/index.js.map +0 -1
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  472. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  474. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  475. package/esm2022/avatar/index.js +0 -3
  476. package/esm2022/avatar/index.js.map +0 -1
  477. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  478. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  479. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  480. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  481. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  482. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  483. package/esm2022/avatar-group/index.js +0 -2
  484. package/esm2022/avatar-group/index.js.map +0 -1
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  486. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  488. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  489. package/esm2022/badge/index.js +0 -3
  490. package/esm2022/badge/index.js.map +0 -1
  491. package/esm2022/badge/lib/badge/badge.js +0 -71
  492. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  493. package/esm2022/badge/lib/badge-icon.js +0 -47
  494. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  495. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  496. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  497. package/esm2022/bottom-nav/index.js +0 -2
  498. package/esm2022/bottom-nav/index.js.map +0 -1
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  500. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  502. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  503. package/esm2022/breadcrumb/index.js +0 -6
  504. package/esm2022/breadcrumb/index.js.map +0 -1
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  514. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  516. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  517. package/esm2022/button/index.js +0 -8
  518. package/esm2022/button/index.js.map +0 -1
  519. package/esm2022/button/lib/button/button.js +0 -137
  520. package/esm2022/button/lib/button/button.js.map +0 -1
  521. package/esm2022/button/lib/button-close/button-close.js +0 -52
  522. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  523. package/esm2022/button/lib/button-group/button-group.js +0 -44
  524. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  525. package/esm2022/button/lib/button-split/button-split.js +0 -44
  526. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  527. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  528. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  529. package/esm2022/button/lib/button-variant.token.js +0 -4
  530. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  531. package/esm2022/button/lib/button.directives.js +0 -37
  532. package/esm2022/button/lib/button.directives.js.map +0 -1
  533. package/esm2022/button/lib/button.types.js +0 -1
  534. package/esm2022/button/lib/button.types.js.map +0 -1
  535. package/esm2022/button/malva-ui-core-button.js +0 -5
  536. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  537. package/esm2022/calendar/index.js +0 -4
  538. package/esm2022/calendar/index.js.map +0 -1
  539. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  540. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  542. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  544. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  545. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  546. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  547. package/esm2022/card/index.js +0 -6
  548. package/esm2022/card/index.js.map +0 -1
  549. package/esm2022/card/lib/card/card.js +0 -54
  550. package/esm2022/card/lib/card/card.js.map +0 -1
  551. package/esm2022/card/lib/card-actions-def.js +0 -27
  552. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  553. package/esm2022/card/lib/card-footer-def.js +0 -32
  554. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  555. package/esm2022/card/lib/card-header-def.js +0 -27
  556. package/esm2022/card/lib/card-header-def.js.map +0 -1
  557. package/esm2022/card/lib/card-subheader-def.js +0 -33
  558. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  559. package/esm2022/card/malva-ui-core-card.js +0 -5
  560. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  561. package/esm2022/chat/index.js +0 -10
  562. package/esm2022/chat/index.js.map +0 -1
  563. package/esm2022/chat/lib/chat/chat.js +0 -326
  564. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  566. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  568. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  569. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  570. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  571. package/esm2022/chat/lib/chat-format.js +0 -11
  572. package/esm2022/chat/lib/chat-format.js.map +0 -1
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  574. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  575. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  576. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  577. package/esm2022/chat/lib/chat-render-list.js +0 -55
  578. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  579. package/esm2022/chat/lib/chat-tokens.js +0 -9
  580. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  582. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  583. package/esm2022/chat/lib/chat.types.js +0 -1
  584. package/esm2022/chat/lib/chat.types.js.map +0 -1
  585. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  586. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  587. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  588. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  589. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  590. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  591. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  592. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  593. package/esm2022/checkbox/index.js +0 -4
  594. package/esm2022/checkbox/index.js.map +0 -1
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  596. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  598. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  599. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  600. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  602. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  603. package/esm2022/chip/index.js +0 -3
  604. package/esm2022/chip/index.js.map +0 -1
  605. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  606. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  607. package/esm2022/chip/lib/chip/chip.js +0 -140
  608. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  609. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  610. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  611. package/esm2022/color-picker/index.js +0 -4
  612. package/esm2022/color-picker/index.js.map +0 -1
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  614. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  616. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  618. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  620. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  621. package/esm2022/combobox/index.js +0 -3
  622. package/esm2022/combobox/index.js.map +0 -1
  623. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  624. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  625. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  626. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  627. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  628. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  629. package/esm2022/copy-to-clipboard/index.js +0 -2
  630. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  632. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  634. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  635. package/esm2022/data-table/index.js +0 -9
  636. package/esm2022/data-table/index.js.map +0 -1
  637. package/esm2022/data-table/lib/data-source.js +0 -6
  638. package/esm2022/data-table/lib/data-source.js.map +0 -1
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  640. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  641. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  642. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  644. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  646. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  648. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  649. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  650. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  651. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  652. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  653. package/esm2022/data-table/lib/data-table-error.js +0 -37
  654. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  655. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  656. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  657. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  658. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  660. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  661. package/esm2022/data-table/lib/types.js +0 -1
  662. package/esm2022/data-table/lib/types.js.map +0 -1
  663. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  664. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  665. package/esm2022/date-range-picker/index.js +0 -2
  666. package/esm2022/date-range-picker/index.js.map +0 -1
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  668. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  670. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  671. package/esm2022/day-picker/index.js +0 -2
  672. package/esm2022/day-picker/index.js.map +0 -1
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  674. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  676. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  677. package/esm2022/dialog/index.js +0 -12
  678. package/esm2022/dialog/index.js.map +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  681. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  682. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  683. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  684. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  685. package/esm2022/dialog/lib/dialog-body.js +0 -33
  686. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  687. package/esm2022/dialog/lib/dialog-close.js +0 -45
  688. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  689. package/esm2022/dialog/lib/dialog-config.js +0 -23
  690. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  691. package/esm2022/dialog/lib/dialog-container.js +0 -69
  692. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  693. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  694. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  695. package/esm2022/dialog/lib/dialog-header.js +0 -181
  696. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  697. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  698. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  699. package/esm2022/dialog/lib/dialog-template.js +0 -136
  700. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  701. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  702. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  703. package/esm2022/dialog/lib/dialog.service.js +0 -205
  704. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  706. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  707. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  708. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  709. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  710. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  711. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  712. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  713. package/esm2022/divider/index.js +0 -2
  714. package/esm2022/divider/index.js.map +0 -1
  715. package/esm2022/divider/lib/divider/divider.js +0 -73
  716. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  717. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  718. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  719. package/esm2022/drawer/index.js +0 -12
  720. package/esm2022/drawer/index.js.map +0 -1
  721. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  722. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  723. package/esm2022/drawer/lib/drawer-body.js +0 -32
  724. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  725. package/esm2022/drawer/lib/drawer-content.js +0 -14
  726. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  727. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  728. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  729. package/esm2022/drawer/lib/drawer-header.js +0 -14
  730. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  731. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  732. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  733. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  734. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  736. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  738. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  739. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  740. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  741. package/esm2022/drawer/lib/drawer.service.js +0 -86
  742. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  744. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  745. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  746. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  747. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  748. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  749. package/esm2022/dropdown/index.js +0 -10
  750. package/esm2022/dropdown/index.js.map +0 -1
  751. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  752. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  754. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  756. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  757. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  758. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  759. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  760. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  761. package/esm2022/dropdown/lib/options-result.js +0 -11
  762. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  763. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  764. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  765. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  766. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  767. package/esm2022/dropdown/lib/select-option.js +0 -25
  768. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  770. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  771. package/esm2022/empty-state/index.js +0 -2
  772. package/esm2022/empty-state/index.js.map +0 -1
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  774. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  776. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  777. package/esm2022/expand/index.js +0 -3
  778. package/esm2022/expand/index.js.map +0 -1
  779. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  780. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  781. package/esm2022/expand/lib/expand/expand.js +0 -93
  782. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  783. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  784. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  785. package/esm2022/file-upload/index.js +0 -5
  786. package/esm2022/file-upload/index.js.map +0 -1
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  788. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  790. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  791. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  792. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  794. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  796. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  797. package/esm2022/filter/index.js +0 -4
  798. package/esm2022/filter/index.js.map +0 -1
  799. package/esm2022/filter/lib/filter/filter.js +0 -552
  800. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  801. package/esm2022/filter/lib/filter.types.js +0 -1
  802. package/esm2022/filter/lib/filter.types.js.map +0 -1
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  804. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  805. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  806. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  807. package/esm2022/form/index.js +0 -7
  808. package/esm2022/form/index.js.map +0 -1
  809. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  810. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  811. package/esm2022/form/lib/fieldset-span.js +0 -49
  812. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  813. package/esm2022/form/lib/form/form.js +0 -60
  814. package/esm2022/form/lib/form/form.js.map +0 -1
  815. package/esm2022/form/lib/form-actions.js +0 -34
  816. package/esm2022/form/lib/form-actions.js.map +0 -1
  817. package/esm2022/form/lib/form-gap.js +0 -15
  818. package/esm2022/form/lib/form-gap.js.map +0 -1
  819. package/esm2022/form/lib/form-header.js +0 -27
  820. package/esm2022/form/lib/form-header.js.map +0 -1
  821. package/esm2022/form/lib/form.types.js +0 -1
  822. package/esm2022/form/lib/form.types.js.map +0 -1
  823. package/esm2022/form/malva-ui-core-form.js +0 -5
  824. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  825. package/esm2022/form-utils/index.js +0 -16
  826. package/esm2022/form-utils/index.js.map +0 -1
  827. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  828. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  829. package/esm2022/form-utils/lib/description/description.js +0 -24
  830. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  831. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  832. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  834. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  835. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  836. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  840. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  841. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  842. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  843. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  844. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  845. package/esm2022/form-utils/lib/label/label.js +0 -55
  846. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  847. package/esm2022/form-utils/lib/message/message.js +0 -20
  848. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  850. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  851. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  852. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  854. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  855. package/esm2022/form-utils/lib/selection.service.js +0 -81
  856. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  858. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  859. package/esm2022/form-utils/testing/index.js +0 -2
  860. package/esm2022/form-utils/testing/index.js.map +0 -1
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  862. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  864. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  865. package/esm2022/index.js +0 -70
  866. package/esm2022/index.js.map +0 -1
  867. package/esm2022/input/index.js +0 -4
  868. package/esm2022/input/index.js.map +0 -1
  869. package/esm2022/input/lib/input/input-native.js +0 -49
  870. package/esm2022/input/lib/input/input-native.js.map +0 -1
  871. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  872. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  873. package/esm2022/input/lib/input/input.js +0 -277
  874. package/esm2022/input/lib/input/input.js.map +0 -1
  875. package/esm2022/input/lib/input/password-strength.js +0 -46
  876. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  877. package/esm2022/input/malva-ui-core-input.js +0 -5
  878. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  879. package/esm2022/kbd/index.js +0 -2
  880. package/esm2022/kbd/index.js.map +0 -1
  881. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  882. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  883. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  884. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  885. package/esm2022/layout/index.js +0 -5
  886. package/esm2022/layout/index.js.map +0 -1
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  890. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  891. package/esm2022/layout/lib/layout/layout.js +0 -43
  892. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  893. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  894. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  895. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  896. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  897. package/esm2022/link/index.js +0 -3
  898. package/esm2022/link/index.js.map +0 -1
  899. package/esm2022/link/lib/link/link.directives.js +0 -24
  900. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  901. package/esm2022/link/lib/link/link.js +0 -61
  902. package/esm2022/link/lib/link/link.js.map +0 -1
  903. package/esm2022/link/malva-ui-core-link.js +0 -5
  904. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  905. package/esm2022/list/index.js +0 -14
  906. package/esm2022/list/index.js.map +0 -1
  907. package/esm2022/list/lib/list/list.js +0 -28
  908. package/esm2022/list/lib/list/list.js.map +0 -1
  909. package/esm2022/list/lib/list-item/list-item.js +0 -125
  910. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  911. package/esm2022/list/lib/list-item-actions.js +0 -23
  912. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  913. package/esm2022/list/lib/list-item-byline.js +0 -13
  914. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  915. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  916. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  917. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  918. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  919. package/esm2022/list/lib/list-item-media.js +0 -13
  920. package/esm2022/list/lib/list-item-media.js.map +0 -1
  921. package/esm2022/list/lib/list-item-meta.js +0 -13
  922. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  923. package/esm2022/list/lib/list-item-prefix.js +0 -13
  924. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  925. package/esm2022/list/lib/list-item-suffix.js +0 -13
  926. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  927. package/esm2022/list/lib/list-item-template.js +0 -14
  928. package/esm2022/list/lib/list-item-template.js.map +0 -1
  929. package/esm2022/list/lib/list-item-title.js +0 -13
  930. package/esm2022/list/lib/list-item-title.js.map +0 -1
  931. package/esm2022/list/lib/list-selectable.js +0 -116
  932. package/esm2022/list/lib/list-selectable.js.map +0 -1
  933. package/esm2022/list/malva-ui-core-list.js +0 -5
  934. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  935. package/esm2022/loader/index.js +0 -2
  936. package/esm2022/loader/index.js.map +0 -1
  937. package/esm2022/loader/lib/loader/loader.js +0 -134
  938. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  939. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  940. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  941. package/esm2022/malva-ui-core.js +0 -5
  942. package/esm2022/malva-ui-core.js.map +0 -1
  943. package/esm2022/menu/index.js +0 -10
  944. package/esm2022/menu/index.js.map +0 -1
  945. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  946. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  947. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  948. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  949. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  950. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  951. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  952. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  953. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  954. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  955. package/esm2022/menu/lib/menu/menu.js +0 -308
  956. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  957. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  958. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  959. package/esm2022/menu/lib/menu/menubar.js +0 -257
  960. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  961. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  962. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  963. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  964. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  965. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  966. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  967. package/esm2022/notification/index.js +0 -5
  968. package/esm2022/notification/index.js.map +0 -1
  969. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  970. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  971. package/esm2022/notification/lib/notification-ref.js +0 -13
  972. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  973. package/esm2022/notification/lib/notification.service.js +0 -118
  974. package/esm2022/notification/lib/notification.service.js.map +0 -1
  975. package/esm2022/notification/lib/notification.types.js +0 -6
  976. package/esm2022/notification/lib/notification.types.js.map +0 -1
  977. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  978. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  979. package/esm2022/number-input/index.js +0 -2
  980. package/esm2022/number-input/index.js.map +0 -1
  981. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  982. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  983. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  984. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  985. package/esm2022/page/index.js +0 -15
  986. package/esm2022/page/index.js.map +0 -1
  987. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  988. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  989. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  990. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  991. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  992. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  993. package/esm2022/page/lib/page/page.js +0 -173
  994. package/esm2022/page/lib/page/page.js.map +0 -1
  995. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  996. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  997. package/esm2022/page/lib/page-content/page-content.js +0 -72
  998. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  999. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  1000. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1002. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1003. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1004. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1005. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1006. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1008. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1010. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1011. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1012. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1014. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1016. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1017. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1018. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1019. package/esm2022/page/malva-ui-core-page.js +0 -5
  1020. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1021. package/esm2022/pagination/index.js +0 -5
  1022. package/esm2022/pagination/index.js.map +0 -1
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1024. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1025. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1026. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1030. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1031. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1032. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1033. package/esm2022/pin-input/index.js +0 -3
  1034. package/esm2022/pin-input/index.js.map +0 -1
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1036. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1038. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1040. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1041. package/esm2022/popup/index.js +0 -10
  1042. package/esm2022/popup/index.js.map +0 -1
  1043. package/esm2022/popup/lib/popup/popup.js +0 -500
  1044. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1045. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1046. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1048. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1049. package/esm2022/popup/lib/popup-content.js +0 -14
  1050. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1051. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1052. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1053. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1054. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1055. package/esm2022/popup/lib/popup-positions.js +0 -252
  1056. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1058. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1059. package/esm2022/popup/lib/popup.service.js +0 -188
  1060. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1061. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1062. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1063. package/esm2022/progress/index.js +0 -2
  1064. package/esm2022/progress/index.js.map +0 -1
  1065. package/esm2022/progress/lib/progress/progress.js +0 -102
  1066. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1067. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1068. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1069. package/esm2022/radio/index.js +0 -3
  1070. package/esm2022/radio/index.js.map +0 -1
  1071. package/esm2022/radio/lib/radio/radio.js +0 -134
  1072. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1073. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1074. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1075. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1076. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1077. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1078. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1079. package/esm2022/rating/index.js +0 -2
  1080. package/esm2022/rating/index.js.map +0 -1
  1081. package/esm2022/rating/lib/rating/rating.js +0 -208
  1082. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1083. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1084. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1085. package/esm2022/scrollbar/index.js +0 -2
  1086. package/esm2022/scrollbar/index.js.map +0 -1
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1088. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1090. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1091. package/esm2022/search-field/index.js +0 -3
  1092. package/esm2022/search-field/index.js.map +0 -1
  1093. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1094. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1096. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1097. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1098. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1099. package/esm2022/segmented/index.js +0 -5
  1100. package/esm2022/segmented/index.js.map +0 -1
  1101. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1102. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1104. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1105. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1106. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1108. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1109. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1110. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1111. package/esm2022/select/index.js +0 -4
  1112. package/esm2022/select/index.js.map +0 -1
  1113. package/esm2022/select/lib/select/select.js +0 -685
  1114. package/esm2022/select/lib/select/select.js.map +0 -1
  1115. package/esm2022/select/lib/select-option.js +0 -2
  1116. package/esm2022/select/lib/select-option.js.map +0 -1
  1117. package/esm2022/select/lib/select-template.directives.js +0 -34
  1118. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1119. package/esm2022/select/malva-ui-core-select.js +0 -5
  1120. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1121. package/esm2022/sidebar/index.js +0 -16
  1122. package/esm2022/sidebar/index.js.map +0 -1
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1124. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1125. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1126. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1127. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1128. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1129. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1130. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1132. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1133. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1134. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1136. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1138. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1140. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1144. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1146. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1152. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1154. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1155. package/esm2022/skeleton/index.js +0 -2
  1156. package/esm2022/skeleton/index.js.map +0 -1
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1158. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1160. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1161. package/esm2022/slider/index.js +0 -3
  1162. package/esm2022/slider/index.js.map +0 -1
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1164. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1165. package/esm2022/slider/lib/slider/slider.js +0 -468
  1166. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1167. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1168. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1169. package/esm2022/split-pane/index.js +0 -4
  1170. package/esm2022/split-pane/index.js.map +0 -1
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1172. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1176. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1178. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1179. package/esm2022/status-indicator/index.js +0 -2
  1180. package/esm2022/status-indicator/index.js.map +0 -1
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1182. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1184. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1185. package/esm2022/stepper/index.js +0 -5
  1186. package/esm2022/stepper/index.js.map +0 -1
  1187. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1188. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1189. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1190. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1192. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1193. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1194. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1196. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1197. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1198. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1199. package/esm2022/switch/index.js +0 -3
  1200. package/esm2022/switch/index.js.map +0 -1
  1201. package/esm2022/switch/lib/switch/switch.js +0 -190
  1202. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1203. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1204. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1205. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1206. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1207. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1208. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1209. package/esm2022/tabs/index.js +0 -9
  1210. package/esm2022/tabs/index.js.map +0 -1
  1211. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1212. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1214. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1215. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1216. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1217. package/esm2022/tabs/lib/tab-def.js +0 -17
  1218. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1219. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1220. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1222. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1223. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1224. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1225. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1226. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1227. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1228. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1229. package/esm2022/textarea/index.js +0 -2
  1230. package/esm2022/textarea/index.js.map +0 -1
  1231. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1232. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1233. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1234. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1235. package/esm2022/tile/index.js +0 -3
  1236. package/esm2022/tile/index.js.map +0 -1
  1237. package/esm2022/tile/lib/tile/tile.js +0 -39
  1238. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1239. package/esm2022/tile/lib/tile-header.js +0 -14
  1240. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1241. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1242. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1243. package/esm2022/time-picker/index.js +0 -2
  1244. package/esm2022/time-picker/index.js.map +0 -1
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1246. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1248. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1250. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1251. package/esm2022/timeline/index.js +0 -6
  1252. package/esm2022/timeline/index.js.map +0 -1
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1254. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1256. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1258. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1259. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1260. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1262. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1263. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1264. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1265. package/esm2022/title/index.js +0 -2
  1266. package/esm2022/title/index.js.map +0 -1
  1267. package/esm2022/title/lib/title/title.js +0 -171
  1268. package/esm2022/title/lib/title/title.js.map +0 -1
  1269. package/esm2022/title/malva-ui-core-title.js +0 -5
  1270. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1271. package/esm2022/toast/index.js +0 -13
  1272. package/esm2022/toast/index.js.map +0 -1
  1273. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1274. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1275. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1276. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1277. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1278. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1279. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1280. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1281. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1282. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1283. package/esm2022/toast/lib/toast-ref.js +0 -54
  1284. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1285. package/esm2022/toast/lib/toast-timer.js +0 -37
  1286. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1287. package/esm2022/toast/lib/toast.directives.js +0 -76
  1288. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1289. package/esm2022/toast/lib/toast.service.js +0 -127
  1290. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1291. package/esm2022/toast/lib/toast.types.js +0 -39
  1292. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1293. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1294. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1295. package/esm2022/tokenizer/index.js +0 -4
  1296. package/esm2022/tokenizer/index.js.map +0 -1
  1297. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1298. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1299. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1300. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1302. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1304. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1305. package/esm2022/toolbar/index.js +0 -4
  1306. package/esm2022/toolbar/index.js.map +0 -1
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1310. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1312. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1314. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1315. package/esm2022/tooltip/index.js +0 -4
  1316. package/esm2022/tooltip/index.js.map +0 -1
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1318. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1322. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1324. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1325. package/esm2022/tree/index.js +0 -5
  1326. package/esm2022/tree/index.js.map +0 -1
  1327. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1328. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1329. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1330. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1332. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1333. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1334. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1335. package/esm2022/tree/lib/tree/tree.js +0 -362
  1336. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1337. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1338. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1339. package/expand/index.d.ts +0 -2
  1340. package/expand/lib/expand/expand-content.d.ts +0 -26
  1341. package/expand/lib/expand/expand.d.ts +0 -74
  1342. package/expand/malva-ui-core-expand.d.ts +0 -5
  1343. package/file-upload/index.d.ts +0 -4
  1344. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1345. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1346. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1347. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1348. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1349. package/filter/index.d.ts +0 -3
  1350. package/filter/lib/filter/filter.d.ts +0 -156
  1351. package/filter/lib/filter.types.d.ts +0 -75
  1352. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1353. package/filter/malva-ui-core-filter.d.ts +0 -5
  1354. package/form/index.d.ts +0 -6
  1355. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1356. package/form/lib/fieldset-span.d.ts +0 -28
  1357. package/form/lib/form/form.d.ts +0 -37
  1358. package/form/lib/form-actions.d.ts +0 -20
  1359. package/form/lib/form-gap.d.ts +0 -5
  1360. package/form/lib/form-header.d.ts +0 -18
  1361. package/form/lib/form.types.d.ts +0 -13
  1362. package/form/malva-ui-core-form.d.ts +0 -5
  1363. package/form-utils/index.d.ts +0 -15
  1364. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1365. package/form-utils/lib/description/description.d.ts +0 -16
  1366. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1367. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1368. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1370. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1371. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1372. package/form-utils/lib/hint/hint.d.ts +0 -5
  1373. package/form-utils/lib/label/label.d.ts +0 -22
  1374. package/form-utils/lib/message/message.d.ts +0 -7
  1375. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1376. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1377. package/form-utils/lib/models/form-state.d.ts +0 -1
  1378. package/form-utils/lib/selection.service.d.ts +0 -27
  1379. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1380. package/form-utils/testing/index.d.ts +0 -1
  1381. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1382. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1383. package/index.d.ts +0 -69
  1384. package/input/index.d.ts +0 -3
  1385. package/input/lib/input/input-native.d.ts +0 -36
  1386. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1387. package/input/lib/input/input.d.ts +0 -189
  1388. package/input/lib/input/password-strength.d.ts +0 -34
  1389. package/input/malva-ui-core-input.d.ts +0 -5
  1390. package/kbd/index.d.ts +0 -1
  1391. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1392. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1393. package/layout/index.d.ts +0 -4
  1394. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1395. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1396. package/layout/lib/layout/layout.d.ts +0 -20
  1397. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1398. package/layout/malva-ui-core-layout.d.ts +0 -5
  1399. package/link/index.d.ts +0 -2
  1400. package/link/lib/link/link.d.ts +0 -15
  1401. package/link/lib/link/link.directives.d.ts +0 -10
  1402. package/link/malva-ui-core-link.d.ts +0 -5
  1403. package/list/index.d.ts +0 -13
  1404. package/list/lib/list/list.d.ts +0 -25
  1405. package/list/lib/list-item/list-item.d.ts +0 -67
  1406. package/list/lib/list-item-actions.d.ts +0 -12
  1407. package/list/lib/list-item-byline.d.ts +0 -5
  1408. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1409. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1410. package/list/lib/list-item-media.d.ts +0 -5
  1411. package/list/lib/list-item-meta.d.ts +0 -5
  1412. package/list/lib/list-item-prefix.d.ts +0 -5
  1413. package/list/lib/list-item-suffix.d.ts +0 -5
  1414. package/list/lib/list-item-template.d.ts +0 -10
  1415. package/list/lib/list-item-title.d.ts +0 -5
  1416. package/list/lib/list-selectable.d.ts +0 -73
  1417. package/list/malva-ui-core-list.d.ts +0 -5
  1418. package/loader/index.d.ts +0 -1
  1419. package/loader/lib/loader/loader.d.ts +0 -84
  1420. package/loader/malva-ui-core-loader.d.ts +0 -5
  1421. package/malva-ui-core.d.ts +0 -5
  1422. package/menu/index.d.ts +0 -9
  1423. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1424. package/menu/lib/menu/menu-group.d.ts +0 -27
  1425. package/menu/lib/menu/menu-item.d.ts +0 -76
  1426. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1427. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1428. package/menu/lib/menu/menu.d.ts +0 -149
  1429. package/menu/lib/menu/menu.types.d.ts +0 -13
  1430. package/menu/lib/menu/menubar.d.ts +0 -131
  1431. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1432. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1433. package/menu/malva-ui-core-menu.d.ts +0 -5
  1434. package/notification/index.d.ts +0 -4
  1435. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1436. package/notification/lib/notification-ref.d.ts +0 -12
  1437. package/notification/lib/notification.service.d.ts +0 -43
  1438. package/notification/lib/notification.types.d.ts +0 -52
  1439. package/notification/malva-ui-core-notification.d.ts +0 -5
  1440. package/number-input/index.d.ts +0 -1
  1441. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1442. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1443. package/page/index.d.ts +0 -14
  1444. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1445. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1446. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1447. package/page/lib/page/page.d.ts +0 -74
  1448. package/page/lib/page-content/page-aside.d.ts +0 -7
  1449. package/page/lib/page-content/page-content.d.ts +0 -37
  1450. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1451. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1452. package/page/lib/page-header/page-header.d.ts +0 -77
  1453. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1454. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1455. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1456. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1457. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1458. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1459. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1460. package/page/malva-ui-core-page.d.ts +0 -5
  1461. package/pagination/index.d.ts +0 -4
  1462. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1463. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1464. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1465. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1466. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1467. package/pin-input/index.d.ts +0 -2
  1468. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1469. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1470. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1471. package/popup/index.d.ts +0 -9
  1472. package/popup/lib/popup/popup.d.ts +0 -343
  1473. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1474. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1475. package/popup/lib/popup-content.d.ts +0 -6
  1476. package/popup/lib/popup-header-content.d.ts +0 -18
  1477. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1478. package/popup/lib/popup-positions.d.ts +0 -105
  1479. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1480. package/popup/lib/popup.service.d.ts +0 -159
  1481. package/popup/malva-ui-core-popup.d.ts +0 -5
  1482. package/progress/index.d.ts +0 -1
  1483. package/progress/lib/progress/progress.d.ts +0 -69
  1484. package/progress/malva-ui-core-progress.d.ts +0 -5
  1485. package/radio/index.d.ts +0 -2
  1486. package/radio/lib/radio/radio.d.ts +0 -87
  1487. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1488. package/radio/lib/radio-group-token.d.ts +0 -7
  1489. package/radio/malva-ui-core-radio.d.ts +0 -5
  1490. package/rating/index.d.ts +0 -1
  1491. package/rating/lib/rating/rating.d.ts +0 -100
  1492. package/rating/malva-ui-core-rating.d.ts +0 -5
  1493. package/scrollbar/index.d.ts +0 -1
  1494. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1495. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1496. package/search-field/index.d.ts +0 -2
  1497. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1498. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1499. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1500. package/segmented/index.d.ts +0 -4
  1501. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1502. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1503. package/segmented/lib/segmented-token.d.ts +0 -22
  1504. package/segmented/lib/segmented.types.d.ts +0 -9
  1505. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1506. package/select/index.d.ts +0 -3
  1507. package/select/lib/select/select.d.ts +0 -379
  1508. package/select/lib/select-option.d.ts +0 -1
  1509. package/select/lib/select-template.directives.d.ts +0 -14
  1510. package/select/malva-ui-core-select.d.ts +0 -5
  1511. package/sidebar/index.d.ts +0 -15
  1512. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1513. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1514. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1515. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1516. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1517. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1518. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1519. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1520. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1521. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1522. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1523. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1526. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1527. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1528. package/skeleton/index.d.ts +0 -1
  1529. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1530. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1531. package/slider/index.d.ts +0 -2
  1532. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1533. package/slider/lib/slider/slider.d.ts +0 -171
  1534. package/slider/malva-ui-core-slider.d.ts +0 -5
  1535. package/split-pane/index.d.ts +0 -3
  1536. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1537. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1538. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1539. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1540. package/status-indicator/index.d.ts +0 -1
  1541. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1542. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1543. package/stepper/index.d.ts +0 -4
  1544. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1545. package/stepper/lib/stepper/step.d.ts +0 -51
  1546. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1547. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1548. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1549. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1550. package/switch/index.d.ts +0 -2
  1551. package/switch/lib/switch/switch.d.ts +0 -118
  1552. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1553. package/switch/lib/switch-group-token.d.ts +0 -6
  1554. package/switch/malva-ui-core-switch.d.ts +0 -5
  1555. package/tabs/index.d.ts +0 -8
  1556. package/tabs/lib/tab/tab.d.ts +0 -46
  1557. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1558. package/tabs/lib/tab-content-def.d.ts +0 -6
  1559. package/tabs/lib/tab-def.d.ts +0 -11
  1560. package/tabs/lib/tab-group-token.d.ts +0 -10
  1561. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1562. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1563. package/tabs/lib/tabs.service.d.ts +0 -24
  1564. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1565. package/textarea/index.d.ts +0 -1
  1566. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1567. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1568. package/tile/index.d.ts +0 -2
  1569. package/tile/lib/tile/tile.d.ts +0 -20
  1570. package/tile/lib/tile-header.d.ts +0 -6
  1571. package/tile/malva-ui-core-tile.d.ts +0 -5
  1572. package/time-picker/index.d.ts +0 -1
  1573. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1574. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1575. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1576. package/timeline/index.d.ts +0 -5
  1577. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1579. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1580. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1581. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1582. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1583. package/title/index.d.ts +0 -1
  1584. package/title/lib/title/title.d.ts +0 -63
  1585. package/title/malva-ui-core-title.d.ts +0 -5
  1586. package/toast/index.d.ts +0 -10
  1587. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1588. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1589. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1590. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1591. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1592. package/toast/lib/toast-ref.d.ts +0 -33
  1593. package/toast/lib/toast-timer.d.ts +0 -24
  1594. package/toast/lib/toast.directives.d.ts +0 -13
  1595. package/toast/lib/toast.service.d.ts +0 -41
  1596. package/toast/lib/toast.types.d.ts +0 -139
  1597. package/toast/malva-ui-core-toast.d.ts +0 -5
  1598. package/tokenizer/index.d.ts +0 -3
  1599. package/tokenizer/lib/token/token.d.ts +0 -60
  1600. package/tokenizer/lib/token-template.d.ts +0 -29
  1601. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1602. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1603. package/toolbar/index.d.ts +0 -3
  1604. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1605. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1606. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1607. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1608. package/tooltip/index.d.ts +0 -3
  1609. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1610. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1611. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1612. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1613. package/tree/index.d.ts +0 -4
  1614. package/tree/lib/tree/tree-context.d.ts +0 -62
  1615. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1616. package/tree/lib/tree/tree-node.d.ts +0 -45
  1617. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1618. package/tree/lib/tree/tree.d.ts +0 -156
  1619. 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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"}