@malva-ui/core 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1618) hide show
  1. package/AGENTS.md +4 -1
  2. package/README.md +15 -0
  3. package/docs/ai/avatar.md +2 -0
  4. package/docs/ai/breadcrumb.md +67 -7
  5. package/docs/ai/button.md +74 -19
  6. package/docs/ai/card.md +8 -6
  7. package/docs/ai/chat.md +59 -45
  8. package/docs/ai/checkbox.md +12 -0
  9. package/docs/ai/combobox.md +18 -2
  10. package/docs/ai/copy-to-clipboard.md +1 -1
  11. package/docs/ai/core.md +15 -0
  12. package/docs/ai/data-table.md +89 -54
  13. package/docs/ai/dialog.md +76 -67
  14. package/docs/ai/drawer.md +15 -12
  15. package/docs/ai/dropdown.md +24 -19
  16. package/docs/ai/empty-state.md +3 -3
  17. package/docs/ai/filter.md +24 -5
  18. package/docs/ai/form-utils.md +160 -5
  19. package/docs/ai/icon-toggle.md +160 -0
  20. package/docs/ai/input.md +30 -0
  21. package/docs/ai/layout.md +23 -0
  22. package/docs/ai/list.md +10 -6
  23. package/docs/ai/menu.md +75 -1
  24. package/docs/ai/page.md +220 -60
  25. package/docs/ai/radio.md +9 -0
  26. package/docs/ai/scrollbar.md +30 -8
  27. package/docs/ai/segmented.md +35 -35
  28. package/docs/ai/select.md +30 -5
  29. package/docs/ai/sidebar.md +45 -27
  30. package/docs/ai/switch.md +114 -19
  31. package/docs/ai/table.md +69 -0
  32. package/docs/ai/tabs.md +2 -1
  33. package/docs/ai/tile.md +311 -85
  34. package/docs/ai/timeline.md +63 -39
  35. package/docs/ai/tokenizer.md +21 -5
  36. package/docs/ai/tooltip.md +5 -5
  37. package/docs/ai/view-variant.md +75 -0
  38. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  40. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  42. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  43. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  44. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  46. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  48. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  50. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  51. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  52. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  54. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  56. package/fesm2022/malva-ui-core-button.mjs +406 -0
  57. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  58. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  60. package/fesm2022/malva-ui-core-card.mjs +164 -0
  61. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  62. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  63. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  64. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  66. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  67. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  68. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  70. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  72. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  74. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  76. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  78. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  80. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  82. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  84. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  85. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  86. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  88. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  90. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  92. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  94. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  95. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  96. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  98. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  99. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  100. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  102. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  104. package/fesm2022/malva-ui-core-form.mjs +283 -0
  105. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  106. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  108. package/fesm2022/malva-ui-core-input.mjs +375 -0
  109. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  110. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  112. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  113. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  114. package/fesm2022/malva-ui-core-link.mjs +89 -0
  115. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  116. package/fesm2022/malva-ui-core-list.mjs +413 -0
  117. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  118. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  119. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  120. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  121. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  122. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  123. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  124. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  126. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  127. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  128. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  130. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  132. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  133. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  134. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  135. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  136. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  137. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  138. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  139. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  140. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  142. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  144. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  146. package/fesm2022/malva-ui-core-select.mjs +855 -0
  147. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  148. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  150. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  152. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  153. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  154. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  156. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  158. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  160. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  161. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  162. package/fesm2022/malva-ui-core-table.mjs +79 -0
  163. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  164. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  166. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  168. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  169. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  170. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  172. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  174. package/fesm2022/malva-ui-core-title.mjs +178 -0
  175. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  176. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  177. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  178. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  180. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  182. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  184. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  185. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  186. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  188. package/fesm2022/malva-ui-core.mjs +77 -0
  189. package/fesm2022/malva-ui-core.mjs.map +1 -0
  190. package/package.json +179 -156
  191. package/styles/malva-ui.css +253 -220
  192. package/styles/tokens.md +174 -173
  193. package/table/README.md +46 -0
  194. package/types/malva-ui-core-accordion.d.ts +121 -0
  195. package/types/malva-ui-core-action-bar.d.ts +82 -0
  196. package/types/malva-ui-core-alert.d.ts +131 -0
  197. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  198. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  199. package/types/malva-ui-core-avatar.d.ts +156 -0
  200. package/types/malva-ui-core-badge.d.ts +97 -0
  201. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  202. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  203. package/types/malva-ui-core-button.d.ts +194 -0
  204. package/types/malva-ui-core-calendar.d.ts +339 -0
  205. package/types/malva-ui-core-card.d.ts +88 -0
  206. package/types/malva-ui-core-chat.d.ts +375 -0
  207. package/types/malva-ui-core-checkbox.d.ts +158 -0
  208. package/types/malva-ui-core-chip.d.ts +128 -0
  209. package/types/malva-ui-core-color-picker.d.ts +442 -0
  210. package/types/malva-ui-core-combobox.d.ts +419 -0
  211. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  212. package/types/malva-ui-core-data-table.d.ts +1074 -0
  213. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  214. package/types/malva-ui-core-day-picker.d.ts +55 -0
  215. package/types/malva-ui-core-dialog.d.ts +597 -0
  216. package/types/malva-ui-core-divider.d.ts +68 -0
  217. package/types/malva-ui-core-drawer.d.ts +333 -0
  218. package/types/malva-ui-core-dropdown.d.ts +592 -0
  219. package/types/malva-ui-core-empty-state.d.ts +37 -0
  220. package/types/malva-ui-core-expand.d.ts +102 -0
  221. package/types/malva-ui-core-file-upload.d.ts +267 -0
  222. package/types/malva-ui-core-filter.d.ts +552 -0
  223. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  224. package/types/malva-ui-core-form-utils.d.ts +579 -0
  225. package/types/malva-ui-core-form.d.ts +176 -0
  226. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  227. package/types/malva-ui-core-input.d.ts +262 -0
  228. package/types/malva-ui-core-kbd.d.ts +56 -0
  229. package/types/malva-ui-core-layout.d.ts +70 -0
  230. package/types/malva-ui-core-link.d.ts +28 -0
  231. package/types/malva-ui-core-list.d.ts +252 -0
  232. package/types/malva-ui-core-loader.d.ts +89 -0
  233. package/types/malva-ui-core-menu.d.ts +954 -0
  234. package/types/malva-ui-core-notification.d.ts +122 -0
  235. package/types/malva-ui-core-number-input.d.ts +167 -0
  236. package/types/malva-ui-core-page.d.ts +799 -0
  237. package/types/malva-ui-core-pagination.d.ts +261 -0
  238. package/types/malva-ui-core-pin-input.d.ts +203 -0
  239. package/types/malva-ui-core-popup.d.ts +834 -0
  240. package/types/malva-ui-core-progress.d.ts +73 -0
  241. package/types/malva-ui-core-radio.d.ts +130 -0
  242. package/types/malva-ui-core-rating.d.ts +115 -0
  243. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  244. package/types/malva-ui-core-search-field.d.ts +408 -0
  245. package/types/malva-ui-core-segmented.d.ts +206 -0
  246. package/types/malva-ui-core-select.d.ts +456 -0
  247. package/types/malva-ui-core-sidebar.d.ts +698 -0
  248. package/types/malva-ui-core-skeleton.d.ts +64 -0
  249. package/types/malva-ui-core-slider.d.ts +219 -0
  250. package/types/malva-ui-core-split-pane.d.ts +149 -0
  251. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  252. package/types/malva-ui-core-stepper.d.ts +168 -0
  253. package/types/malva-ui-core-switch.d.ts +146 -0
  254. package/types/malva-ui-core-table.d.ts +37 -0
  255. package/types/malva-ui-core-tabs.d.ts +339 -0
  256. package/types/malva-ui-core-textarea.d.ts +79 -0
  257. package/types/malva-ui-core-tile.d.ts +373 -0
  258. package/types/malva-ui-core-time-picker.d.ts +141 -0
  259. package/types/malva-ui-core-timeline.d.ts +188 -0
  260. package/types/malva-ui-core-title.d.ts +66 -0
  261. package/types/malva-ui-core-toast.d.ts +432 -0
  262. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  263. package/types/malva-ui-core-toolbar.d.ts +91 -0
  264. package/types/malva-ui-core-tooltip.d.ts +200 -0
  265. package/types/malva-ui-core-tree.d.ts +289 -0
  266. package/types/malva-ui-core-view-variant.d.ts +207 -0
  267. package/types/malva-ui-core.d.ts +72 -0
  268. package/view-variant/README.md +3 -0
  269. package/accordion/index.d.ts +0 -3
  270. package/accordion/lib/accordion/accordion.d.ts +0 -47
  271. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  272. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  273. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  274. package/action-bar/index.d.ts +0 -4
  275. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  276. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  277. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  278. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  279. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  280. package/alert/index.d.ts +0 -2
  281. package/alert/lib/alert/alert.d.ts +0 -84
  282. package/alert/lib/alert/alert.directives.d.ts +0 -44
  283. package/alert/malva-ui-core-alert.d.ts +0 -5
  284. package/autocomplete/index.d.ts +0 -1
  285. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  286. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  287. package/avatar/index.d.ts +0 -2
  288. package/avatar/lib/avatar/avatar.d.ts +0 -125
  289. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  290. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  291. package/avatar-group/index.d.ts +0 -1
  292. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  293. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  294. package/badge/index.d.ts +0 -2
  295. package/badge/lib/badge/badge.d.ts +0 -59
  296. package/badge/lib/badge-icon.d.ts +0 -35
  297. package/badge/malva-ui-core-badge.d.ts +0 -5
  298. package/bottom-nav/index.d.ts +0 -1
  299. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  300. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  301. package/breadcrumb/index.d.ts +0 -5
  302. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  305. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  307. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  308. package/button/index.d.ts +0 -7
  309. package/button/lib/button/button.d.ts +0 -61
  310. package/button/lib/button-close/button-close.d.ts +0 -24
  311. package/button/lib/button-group/button-group.d.ts +0 -21
  312. package/button/lib/button-split/button-split.d.ts +0 -21
  313. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  314. package/button/lib/button-variant.token.d.ts +0 -13
  315. package/button/lib/button.directives.d.ts +0 -14
  316. package/button/lib/button.types.d.ts +0 -8
  317. package/button/malva-ui-core-button.d.ts +0 -5
  318. package/calendar/index.d.ts +0 -3
  319. package/calendar/lib/calendar/calendar.d.ts +0 -182
  320. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  321. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  322. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  323. package/card/index.d.ts +0 -5
  324. package/card/lib/card/card.d.ts +0 -43
  325. package/card/lib/card-actions-def.d.ts +0 -10
  326. package/card/lib/card-footer-def.d.ts +0 -13
  327. package/card/lib/card-header-def.d.ts +0 -10
  328. package/card/lib/card-subheader-def.d.ts +0 -16
  329. package/card/malva-ui-core-card.d.ts +0 -5
  330. package/chat/index.d.ts +0 -9
  331. package/chat/lib/chat/chat.d.ts +0 -133
  332. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  333. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  334. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  335. package/chat/lib/chat-format.d.ts +0 -5
  336. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  337. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  338. package/chat/lib/chat-render-list.d.ts +0 -16
  339. package/chat/lib/chat-tokens.d.ts +0 -25
  340. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  341. package/chat/lib/chat.types.d.ts +0 -80
  342. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  343. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  344. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  345. package/chat/malva-ui-core-chat.d.ts +0 -5
  346. package/checkbox/index.d.ts +0 -3
  347. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  348. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  349. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  350. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  351. package/chip/index.d.ts +0 -2
  352. package/chip/lib/chip/chip.d.ts +0 -107
  353. package/chip/lib/chip/chip.directives.d.ts +0 -18
  354. package/chip/malva-ui-core-chip.d.ts +0 -5
  355. package/color-picker/index.d.ts +0 -3
  356. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  357. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  358. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  359. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  360. package/combobox/index.d.ts +0 -2
  361. package/combobox/lib/combobox/combobox.d.ts +0 -400
  362. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  363. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  364. package/copy-to-clipboard/index.d.ts +0 -1
  365. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  366. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  367. package/data-table/index.d.ts +0 -8
  368. package/data-table/lib/data-source.d.ts +0 -5
  369. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  370. package/data-table/lib/data-table/data-table.d.ts +0 -699
  371. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  372. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  373. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  374. package/data-table/lib/data-table-cell.d.ts +0 -44
  375. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-error.d.ts +0 -37
  377. package/data-table/lib/data-table-footer.d.ts +0 -26
  378. package/data-table/lib/data-table-no-data.d.ts +0 -19
  379. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  380. package/data-table/lib/types.d.ts +0 -134
  381. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  382. package/date-range-picker/index.d.ts +0 -1
  383. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  384. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  385. package/day-picker/index.d.ts +0 -1
  386. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  387. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  388. package/dialog/index.d.ts +0 -11
  389. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  390. package/dialog/lib/confirm-dialog.d.ts +0 -52
  391. package/dialog/lib/dialog/dialog.d.ts +0 -22
  392. package/dialog/lib/dialog-body.d.ts +0 -9
  393. package/dialog/lib/dialog-close.d.ts +0 -27
  394. package/dialog/lib/dialog-config.d.ts +0 -112
  395. package/dialog/lib/dialog-container.d.ts +0 -40
  396. package/dialog/lib/dialog-footer.d.ts +0 -13
  397. package/dialog/lib/dialog-header.d.ts +0 -74
  398. package/dialog/lib/dialog-ref.d.ts +0 -95
  399. package/dialog/lib/dialog-template.d.ts +0 -65
  400. package/dialog/lib/dialog-text-content.d.ts +0 -24
  401. package/dialog/lib/dialog.service.d.ts +0 -63
  402. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  403. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  404. package/dialog/lib/routable-dialog.d.ts +0 -30
  405. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  406. package/divider/index.d.ts +0 -1
  407. package/divider/lib/divider/divider.d.ts +0 -64
  408. package/divider/malva-ui-core-divider.d.ts +0 -5
  409. package/drawer/index.d.ts +0 -11
  410. package/drawer/lib/drawer/drawer.d.ts +0 -106
  411. package/drawer/lib/drawer-body.d.ts +0 -8
  412. package/drawer/lib/drawer-content.d.ts +0 -6
  413. package/drawer/lib/drawer-footer.d.ts +0 -5
  414. package/drawer/lib/drawer-header.d.ts +0 -5
  415. package/drawer/lib/drawer-ref.d.ts +0 -29
  416. package/drawer/lib/drawer-resize.d.ts +0 -65
  417. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  418. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  419. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  420. package/drawer/lib/drawer.service.d.ts +0 -66
  421. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  422. package/drawer/lib/routable-drawer.d.ts +0 -30
  423. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  424. package/dropdown/index.d.ts +0 -9
  425. package/dropdown/lib/active-descendant.d.ts +0 -64
  426. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  427. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  428. package/dropdown/lib/option-matcher.d.ts +0 -87
  429. package/dropdown/lib/options-adapter.d.ts +0 -142
  430. package/dropdown/lib/options-result.d.ts +0 -6
  431. package/dropdown/lib/reconciliation.d.ts +0 -19
  432. package/dropdown/lib/select-data-source.d.ts +0 -18
  433. package/dropdown/lib/select-option.d.ts +0 -37
  434. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  435. package/empty-state/index.d.ts +0 -1
  436. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  437. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  438. package/esm2022/accordion/index.js +0 -4
  439. package/esm2022/accordion/index.js.map +0 -1
  440. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  441. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  442. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  444. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  446. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  447. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  448. package/esm2022/action-bar/index.js +0 -5
  449. package/esm2022/action-bar/index.js.map +0 -1
  450. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  452. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  458. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  460. package/esm2022/alert/index.js +0 -3
  461. package/esm2022/alert/index.js.map +0 -1
  462. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  463. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  464. package/esm2022/alert/lib/alert/alert.js +0 -118
  465. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  466. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  467. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  468. package/esm2022/autocomplete/index.js +0 -2
  469. package/esm2022/autocomplete/index.js.map +0 -1
  470. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  472. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  474. package/esm2022/avatar/index.js +0 -3
  475. package/esm2022/avatar/index.js.map +0 -1
  476. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  477. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  478. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  479. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  480. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  481. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  482. package/esm2022/avatar-group/index.js +0 -2
  483. package/esm2022/avatar-group/index.js.map +0 -1
  484. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  486. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  488. package/esm2022/badge/index.js +0 -3
  489. package/esm2022/badge/index.js.map +0 -1
  490. package/esm2022/badge/lib/badge/badge.js +0 -71
  491. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  492. package/esm2022/badge/lib/badge-icon.js +0 -47
  493. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  494. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  495. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  496. package/esm2022/bottom-nav/index.js +0 -2
  497. package/esm2022/bottom-nav/index.js.map +0 -1
  498. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  500. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  502. package/esm2022/breadcrumb/index.js +0 -6
  503. package/esm2022/breadcrumb/index.js.map +0 -1
  504. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  514. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  516. package/esm2022/button/index.js +0 -8
  517. package/esm2022/button/index.js.map +0 -1
  518. package/esm2022/button/lib/button/button.js +0 -137
  519. package/esm2022/button/lib/button/button.js.map +0 -1
  520. package/esm2022/button/lib/button-close/button-close.js +0 -52
  521. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  522. package/esm2022/button/lib/button-group/button-group.js +0 -44
  523. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  524. package/esm2022/button/lib/button-split/button-split.js +0 -44
  525. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  526. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  527. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  528. package/esm2022/button/lib/button-variant.token.js +0 -4
  529. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  530. package/esm2022/button/lib/button.directives.js +0 -37
  531. package/esm2022/button/lib/button.directives.js.map +0 -1
  532. package/esm2022/button/lib/button.types.js +0 -1
  533. package/esm2022/button/lib/button.types.js.map +0 -1
  534. package/esm2022/button/malva-ui-core-button.js +0 -5
  535. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  536. package/esm2022/calendar/index.js +0 -4
  537. package/esm2022/calendar/index.js.map +0 -1
  538. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  539. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  540. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  542. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  544. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  545. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  546. package/esm2022/card/index.js +0 -6
  547. package/esm2022/card/index.js.map +0 -1
  548. package/esm2022/card/lib/card/card.js +0 -54
  549. package/esm2022/card/lib/card/card.js.map +0 -1
  550. package/esm2022/card/lib/card-actions-def.js +0 -27
  551. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  552. package/esm2022/card/lib/card-footer-def.js +0 -32
  553. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  554. package/esm2022/card/lib/card-header-def.js +0 -27
  555. package/esm2022/card/lib/card-header-def.js.map +0 -1
  556. package/esm2022/card/lib/card-subheader-def.js +0 -33
  557. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  558. package/esm2022/card/malva-ui-core-card.js +0 -5
  559. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  560. package/esm2022/chat/index.js +0 -10
  561. package/esm2022/chat/index.js.map +0 -1
  562. package/esm2022/chat/lib/chat/chat.js +0 -326
  563. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  564. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  566. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  568. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  569. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  570. package/esm2022/chat/lib/chat-format.js +0 -11
  571. package/esm2022/chat/lib/chat-format.js.map +0 -1
  572. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  574. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  575. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  576. package/esm2022/chat/lib/chat-render-list.js +0 -55
  577. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  578. package/esm2022/chat/lib/chat-tokens.js +0 -9
  579. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  580. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  582. package/esm2022/chat/lib/chat.types.js +0 -1
  583. package/esm2022/chat/lib/chat.types.js.map +0 -1
  584. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  585. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  586. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  587. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  588. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  589. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  590. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  591. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  592. package/esm2022/checkbox/index.js +0 -4
  593. package/esm2022/checkbox/index.js.map +0 -1
  594. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  596. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  598. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  599. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  600. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  602. package/esm2022/chip/index.js +0 -3
  603. package/esm2022/chip/index.js.map +0 -1
  604. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  605. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  606. package/esm2022/chip/lib/chip/chip.js +0 -140
  607. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  608. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  609. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  610. package/esm2022/color-picker/index.js +0 -4
  611. package/esm2022/color-picker/index.js.map +0 -1
  612. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  614. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  616. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  618. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  620. package/esm2022/combobox/index.js +0 -3
  621. package/esm2022/combobox/index.js.map +0 -1
  622. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  623. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  624. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  625. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  626. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  627. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  628. package/esm2022/copy-to-clipboard/index.js +0 -2
  629. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  630. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  632. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  634. package/esm2022/data-table/index.js +0 -9
  635. package/esm2022/data-table/index.js.map +0 -1
  636. package/esm2022/data-table/lib/data-source.js +0 -6
  637. package/esm2022/data-table/lib/data-source.js.map +0 -1
  638. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  640. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  641. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  642. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  644. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  646. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  648. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  649. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  650. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  651. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  652. package/esm2022/data-table/lib/data-table-error.js +0 -37
  653. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  654. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  655. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  656. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  657. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  658. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  660. package/esm2022/data-table/lib/types.js +0 -1
  661. package/esm2022/data-table/lib/types.js.map +0 -1
  662. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  663. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  664. package/esm2022/date-range-picker/index.js +0 -2
  665. package/esm2022/date-range-picker/index.js.map +0 -1
  666. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  668. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  670. package/esm2022/day-picker/index.js +0 -2
  671. package/esm2022/day-picker/index.js.map +0 -1
  672. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  674. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  676. package/esm2022/dialog/index.js +0 -12
  677. package/esm2022/dialog/index.js.map +0 -1
  678. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  681. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  682. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  683. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  684. package/esm2022/dialog/lib/dialog-body.js +0 -33
  685. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  686. package/esm2022/dialog/lib/dialog-close.js +0 -45
  687. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  688. package/esm2022/dialog/lib/dialog-config.js +0 -23
  689. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  690. package/esm2022/dialog/lib/dialog-container.js +0 -69
  691. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  692. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  693. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  694. package/esm2022/dialog/lib/dialog-header.js +0 -181
  695. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  696. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  697. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  698. package/esm2022/dialog/lib/dialog-template.js +0 -136
  699. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  700. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  701. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  702. package/esm2022/dialog/lib/dialog.service.js +0 -205
  703. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  704. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  706. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  707. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  708. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  709. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  710. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  711. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  712. package/esm2022/divider/index.js +0 -2
  713. package/esm2022/divider/index.js.map +0 -1
  714. package/esm2022/divider/lib/divider/divider.js +0 -73
  715. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  716. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  717. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  718. package/esm2022/drawer/index.js +0 -12
  719. package/esm2022/drawer/index.js.map +0 -1
  720. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  721. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  722. package/esm2022/drawer/lib/drawer-body.js +0 -32
  723. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  724. package/esm2022/drawer/lib/drawer-content.js +0 -14
  725. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  726. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  727. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  728. package/esm2022/drawer/lib/drawer-header.js +0 -14
  729. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  730. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  731. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  732. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  733. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  734. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  736. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  738. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  739. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  740. package/esm2022/drawer/lib/drawer.service.js +0 -86
  741. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  742. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  744. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  745. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  746. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  747. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  748. package/esm2022/dropdown/index.js +0 -10
  749. package/esm2022/dropdown/index.js.map +0 -1
  750. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  751. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  752. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  754. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  756. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  757. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  758. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  759. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  760. package/esm2022/dropdown/lib/options-result.js +0 -11
  761. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  762. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  763. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  764. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  765. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  766. package/esm2022/dropdown/lib/select-option.js +0 -25
  767. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  768. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  770. package/esm2022/empty-state/index.js +0 -2
  771. package/esm2022/empty-state/index.js.map +0 -1
  772. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  774. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  776. package/esm2022/expand/index.js +0 -3
  777. package/esm2022/expand/index.js.map +0 -1
  778. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  779. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  780. package/esm2022/expand/lib/expand/expand.js +0 -93
  781. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  782. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  783. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  784. package/esm2022/file-upload/index.js +0 -5
  785. package/esm2022/file-upload/index.js.map +0 -1
  786. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  788. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  790. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  791. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  792. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  794. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  796. package/esm2022/filter/index.js +0 -4
  797. package/esm2022/filter/index.js.map +0 -1
  798. package/esm2022/filter/lib/filter/filter.js +0 -552
  799. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  800. package/esm2022/filter/lib/filter.types.js +0 -1
  801. package/esm2022/filter/lib/filter.types.js.map +0 -1
  802. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  804. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  805. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  806. package/esm2022/form/index.js +0 -7
  807. package/esm2022/form/index.js.map +0 -1
  808. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  809. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  810. package/esm2022/form/lib/fieldset-span.js +0 -49
  811. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  812. package/esm2022/form/lib/form/form.js +0 -60
  813. package/esm2022/form/lib/form/form.js.map +0 -1
  814. package/esm2022/form/lib/form-actions.js +0 -34
  815. package/esm2022/form/lib/form-actions.js.map +0 -1
  816. package/esm2022/form/lib/form-gap.js +0 -15
  817. package/esm2022/form/lib/form-gap.js.map +0 -1
  818. package/esm2022/form/lib/form-header.js +0 -27
  819. package/esm2022/form/lib/form-header.js.map +0 -1
  820. package/esm2022/form/lib/form.types.js +0 -1
  821. package/esm2022/form/lib/form.types.js.map +0 -1
  822. package/esm2022/form/malva-ui-core-form.js +0 -5
  823. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  824. package/esm2022/form-utils/index.js +0 -16
  825. package/esm2022/form-utils/index.js.map +0 -1
  826. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  827. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  828. package/esm2022/form-utils/lib/description/description.js +0 -24
  829. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  830. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  831. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  832. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  834. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  835. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  836. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  840. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  841. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  842. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  843. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  844. package/esm2022/form-utils/lib/label/label.js +0 -55
  845. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  846. package/esm2022/form-utils/lib/message/message.js +0 -20
  847. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  848. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  850. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  851. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  852. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  854. package/esm2022/form-utils/lib/selection.service.js +0 -81
  855. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  856. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  858. package/esm2022/form-utils/testing/index.js +0 -2
  859. package/esm2022/form-utils/testing/index.js.map +0 -1
  860. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  862. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  864. package/esm2022/index.js +0 -70
  865. package/esm2022/index.js.map +0 -1
  866. package/esm2022/input/index.js +0 -4
  867. package/esm2022/input/index.js.map +0 -1
  868. package/esm2022/input/lib/input/input-native.js +0 -49
  869. package/esm2022/input/lib/input/input-native.js.map +0 -1
  870. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  871. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  872. package/esm2022/input/lib/input/input.js +0 -277
  873. package/esm2022/input/lib/input/input.js.map +0 -1
  874. package/esm2022/input/lib/input/password-strength.js +0 -46
  875. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  876. package/esm2022/input/malva-ui-core-input.js +0 -5
  877. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  878. package/esm2022/kbd/index.js +0 -2
  879. package/esm2022/kbd/index.js.map +0 -1
  880. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  881. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  882. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  883. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  884. package/esm2022/layout/index.js +0 -5
  885. package/esm2022/layout/index.js.map +0 -1
  886. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  890. package/esm2022/layout/lib/layout/layout.js +0 -43
  891. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  892. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  893. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  894. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  895. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  896. package/esm2022/link/index.js +0 -3
  897. package/esm2022/link/index.js.map +0 -1
  898. package/esm2022/link/lib/link/link.directives.js +0 -24
  899. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  900. package/esm2022/link/lib/link/link.js +0 -61
  901. package/esm2022/link/lib/link/link.js.map +0 -1
  902. package/esm2022/link/malva-ui-core-link.js +0 -5
  903. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  904. package/esm2022/list/index.js +0 -14
  905. package/esm2022/list/index.js.map +0 -1
  906. package/esm2022/list/lib/list/list.js +0 -28
  907. package/esm2022/list/lib/list/list.js.map +0 -1
  908. package/esm2022/list/lib/list-item/list-item.js +0 -125
  909. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  910. package/esm2022/list/lib/list-item-actions.js +0 -23
  911. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  912. package/esm2022/list/lib/list-item-byline.js +0 -13
  913. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  914. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  915. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  916. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  917. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  918. package/esm2022/list/lib/list-item-media.js +0 -13
  919. package/esm2022/list/lib/list-item-media.js.map +0 -1
  920. package/esm2022/list/lib/list-item-meta.js +0 -13
  921. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  922. package/esm2022/list/lib/list-item-prefix.js +0 -13
  923. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  924. package/esm2022/list/lib/list-item-suffix.js +0 -13
  925. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  926. package/esm2022/list/lib/list-item-template.js +0 -14
  927. package/esm2022/list/lib/list-item-template.js.map +0 -1
  928. package/esm2022/list/lib/list-item-title.js +0 -13
  929. package/esm2022/list/lib/list-item-title.js.map +0 -1
  930. package/esm2022/list/lib/list-selectable.js +0 -116
  931. package/esm2022/list/lib/list-selectable.js.map +0 -1
  932. package/esm2022/list/malva-ui-core-list.js +0 -5
  933. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  934. package/esm2022/loader/index.js +0 -2
  935. package/esm2022/loader/index.js.map +0 -1
  936. package/esm2022/loader/lib/loader/loader.js +0 -134
  937. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  938. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  939. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  940. package/esm2022/malva-ui-core.js +0 -5
  941. package/esm2022/malva-ui-core.js.map +0 -1
  942. package/esm2022/menu/index.js +0 -10
  943. package/esm2022/menu/index.js.map +0 -1
  944. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  945. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  946. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  947. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  948. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  949. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  950. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  951. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  952. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  953. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  954. package/esm2022/menu/lib/menu/menu.js +0 -308
  955. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  956. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  957. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  958. package/esm2022/menu/lib/menu/menubar.js +0 -257
  959. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  960. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  961. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  962. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  963. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  964. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  965. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  966. package/esm2022/notification/index.js +0 -5
  967. package/esm2022/notification/index.js.map +0 -1
  968. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  969. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  970. package/esm2022/notification/lib/notification-ref.js +0 -13
  971. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  972. package/esm2022/notification/lib/notification.service.js +0 -118
  973. package/esm2022/notification/lib/notification.service.js.map +0 -1
  974. package/esm2022/notification/lib/notification.types.js +0 -6
  975. package/esm2022/notification/lib/notification.types.js.map +0 -1
  976. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  977. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  978. package/esm2022/number-input/index.js +0 -2
  979. package/esm2022/number-input/index.js.map +0 -1
  980. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  981. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  982. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  983. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  984. package/esm2022/page/index.js +0 -15
  985. package/esm2022/page/index.js.map +0 -1
  986. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  987. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  988. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  989. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  990. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  991. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  992. package/esm2022/page/lib/page/page.js +0 -173
  993. package/esm2022/page/lib/page/page.js.map +0 -1
  994. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  995. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  996. package/esm2022/page/lib/page-content/page-content.js +0 -72
  997. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  998. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  999. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1000. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1002. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1003. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1004. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1005. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1006. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1008. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1010. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1011. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1012. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1014. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1016. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1017. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1018. package/esm2022/page/malva-ui-core-page.js +0 -5
  1019. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1020. package/esm2022/pagination/index.js +0 -5
  1021. package/esm2022/pagination/index.js.map +0 -1
  1022. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1024. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1025. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1026. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1030. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1031. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1032. package/esm2022/pin-input/index.js +0 -3
  1033. package/esm2022/pin-input/index.js.map +0 -1
  1034. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1036. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1038. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1040. package/esm2022/popup/index.js +0 -10
  1041. package/esm2022/popup/index.js.map +0 -1
  1042. package/esm2022/popup/lib/popup/popup.js +0 -500
  1043. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1044. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1045. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1046. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1048. package/esm2022/popup/lib/popup-content.js +0 -14
  1049. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1050. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1051. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1052. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1053. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1054. package/esm2022/popup/lib/popup-positions.js +0 -252
  1055. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1056. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1058. package/esm2022/popup/lib/popup.service.js +0 -188
  1059. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1060. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1061. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1062. package/esm2022/progress/index.js +0 -2
  1063. package/esm2022/progress/index.js.map +0 -1
  1064. package/esm2022/progress/lib/progress/progress.js +0 -102
  1065. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1066. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1067. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1068. package/esm2022/radio/index.js +0 -3
  1069. package/esm2022/radio/index.js.map +0 -1
  1070. package/esm2022/radio/lib/radio/radio.js +0 -134
  1071. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1072. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1073. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1074. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1075. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1076. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1077. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1078. package/esm2022/rating/index.js +0 -2
  1079. package/esm2022/rating/index.js.map +0 -1
  1080. package/esm2022/rating/lib/rating/rating.js +0 -208
  1081. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1082. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1083. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1084. package/esm2022/scrollbar/index.js +0 -2
  1085. package/esm2022/scrollbar/index.js.map +0 -1
  1086. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1088. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1090. package/esm2022/search-field/index.js +0 -3
  1091. package/esm2022/search-field/index.js.map +0 -1
  1092. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1093. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1094. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1096. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1097. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1098. package/esm2022/segmented/index.js +0 -5
  1099. package/esm2022/segmented/index.js.map +0 -1
  1100. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1101. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1102. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1104. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1105. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1106. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1108. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1109. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1110. package/esm2022/select/index.js +0 -4
  1111. package/esm2022/select/index.js.map +0 -1
  1112. package/esm2022/select/lib/select/select.js +0 -685
  1113. package/esm2022/select/lib/select/select.js.map +0 -1
  1114. package/esm2022/select/lib/select-option.js +0 -2
  1115. package/esm2022/select/lib/select-option.js.map +0 -1
  1116. package/esm2022/select/lib/select-template.directives.js +0 -34
  1117. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1118. package/esm2022/select/malva-ui-core-select.js +0 -5
  1119. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1120. package/esm2022/sidebar/index.js +0 -16
  1121. package/esm2022/sidebar/index.js.map +0 -1
  1122. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1124. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1125. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1126. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1127. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1128. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1129. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1130. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1132. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1133. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1134. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1136. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1138. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1140. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1144. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1146. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1152. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1154. package/esm2022/skeleton/index.js +0 -2
  1155. package/esm2022/skeleton/index.js.map +0 -1
  1156. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1158. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1160. package/esm2022/slider/index.js +0 -3
  1161. package/esm2022/slider/index.js.map +0 -1
  1162. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1164. package/esm2022/slider/lib/slider/slider.js +0 -468
  1165. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1166. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1167. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1168. package/esm2022/split-pane/index.js +0 -4
  1169. package/esm2022/split-pane/index.js.map +0 -1
  1170. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1172. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1176. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1178. package/esm2022/status-indicator/index.js +0 -2
  1179. package/esm2022/status-indicator/index.js.map +0 -1
  1180. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1182. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1184. package/esm2022/stepper/index.js +0 -5
  1185. package/esm2022/stepper/index.js.map +0 -1
  1186. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1187. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1188. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1189. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1190. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1192. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1193. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1194. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1196. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1197. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1198. package/esm2022/switch/index.js +0 -3
  1199. package/esm2022/switch/index.js.map +0 -1
  1200. package/esm2022/switch/lib/switch/switch.js +0 -190
  1201. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1202. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1203. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1204. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1205. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1206. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1207. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1208. package/esm2022/tabs/index.js +0 -9
  1209. package/esm2022/tabs/index.js.map +0 -1
  1210. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1211. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1212. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1214. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1215. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1216. package/esm2022/tabs/lib/tab-def.js +0 -17
  1217. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1218. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1219. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1220. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1222. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1223. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1224. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1225. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1226. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1227. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1228. package/esm2022/textarea/index.js +0 -2
  1229. package/esm2022/textarea/index.js.map +0 -1
  1230. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1231. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1232. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1233. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1234. package/esm2022/tile/index.js +0 -3
  1235. package/esm2022/tile/index.js.map +0 -1
  1236. package/esm2022/tile/lib/tile/tile.js +0 -39
  1237. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1238. package/esm2022/tile/lib/tile-header.js +0 -14
  1239. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1240. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1241. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1242. package/esm2022/time-picker/index.js +0 -2
  1243. package/esm2022/time-picker/index.js.map +0 -1
  1244. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1246. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1248. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1250. package/esm2022/timeline/index.js +0 -6
  1251. package/esm2022/timeline/index.js.map +0 -1
  1252. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1254. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1256. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1258. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1259. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1260. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1262. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1263. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1264. package/esm2022/title/index.js +0 -2
  1265. package/esm2022/title/index.js.map +0 -1
  1266. package/esm2022/title/lib/title/title.js +0 -171
  1267. package/esm2022/title/lib/title/title.js.map +0 -1
  1268. package/esm2022/title/malva-ui-core-title.js +0 -5
  1269. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1270. package/esm2022/toast/index.js +0 -13
  1271. package/esm2022/toast/index.js.map +0 -1
  1272. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1273. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1274. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1275. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1276. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1277. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1278. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1279. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1280. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1281. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1282. package/esm2022/toast/lib/toast-ref.js +0 -54
  1283. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1284. package/esm2022/toast/lib/toast-timer.js +0 -37
  1285. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1286. package/esm2022/toast/lib/toast.directives.js +0 -76
  1287. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1288. package/esm2022/toast/lib/toast.service.js +0 -127
  1289. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1290. package/esm2022/toast/lib/toast.types.js +0 -39
  1291. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1292. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1293. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1294. package/esm2022/tokenizer/index.js +0 -4
  1295. package/esm2022/tokenizer/index.js.map +0 -1
  1296. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1297. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1298. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1299. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1300. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1302. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1304. package/esm2022/toolbar/index.js +0 -4
  1305. package/esm2022/toolbar/index.js.map +0 -1
  1306. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1310. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1312. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1314. package/esm2022/tooltip/index.js +0 -4
  1315. package/esm2022/tooltip/index.js.map +0 -1
  1316. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1318. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1322. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1324. package/esm2022/tree/index.js +0 -5
  1325. package/esm2022/tree/index.js.map +0 -1
  1326. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1327. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1328. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1329. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1330. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1332. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1333. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1334. package/esm2022/tree/lib/tree/tree.js +0 -362
  1335. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1336. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1337. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1338. package/expand/index.d.ts +0 -2
  1339. package/expand/lib/expand/expand-content.d.ts +0 -26
  1340. package/expand/lib/expand/expand.d.ts +0 -74
  1341. package/expand/malva-ui-core-expand.d.ts +0 -5
  1342. package/file-upload/index.d.ts +0 -4
  1343. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1344. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1345. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1346. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1347. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1348. package/filter/index.d.ts +0 -3
  1349. package/filter/lib/filter/filter.d.ts +0 -156
  1350. package/filter/lib/filter.types.d.ts +0 -75
  1351. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1352. package/filter/malva-ui-core-filter.d.ts +0 -5
  1353. package/form/index.d.ts +0 -6
  1354. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1355. package/form/lib/fieldset-span.d.ts +0 -28
  1356. package/form/lib/form/form.d.ts +0 -37
  1357. package/form/lib/form-actions.d.ts +0 -20
  1358. package/form/lib/form-gap.d.ts +0 -5
  1359. package/form/lib/form-header.d.ts +0 -18
  1360. package/form/lib/form.types.d.ts +0 -13
  1361. package/form/malva-ui-core-form.d.ts +0 -5
  1362. package/form-utils/index.d.ts +0 -15
  1363. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1364. package/form-utils/lib/description/description.d.ts +0 -16
  1365. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1366. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1367. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1368. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1370. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1371. package/form-utils/lib/hint/hint.d.ts +0 -5
  1372. package/form-utils/lib/label/label.d.ts +0 -22
  1373. package/form-utils/lib/message/message.d.ts +0 -7
  1374. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1375. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1376. package/form-utils/lib/models/form-state.d.ts +0 -1
  1377. package/form-utils/lib/selection.service.d.ts +0 -27
  1378. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1379. package/form-utils/testing/index.d.ts +0 -1
  1380. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1381. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1382. package/index.d.ts +0 -69
  1383. package/input/index.d.ts +0 -3
  1384. package/input/lib/input/input-native.d.ts +0 -36
  1385. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1386. package/input/lib/input/input.d.ts +0 -189
  1387. package/input/lib/input/password-strength.d.ts +0 -34
  1388. package/input/malva-ui-core-input.d.ts +0 -5
  1389. package/kbd/index.d.ts +0 -1
  1390. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1391. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1392. package/layout/index.d.ts +0 -4
  1393. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1394. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1395. package/layout/lib/layout/layout.d.ts +0 -20
  1396. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1397. package/layout/malva-ui-core-layout.d.ts +0 -5
  1398. package/link/index.d.ts +0 -2
  1399. package/link/lib/link/link.d.ts +0 -15
  1400. package/link/lib/link/link.directives.d.ts +0 -10
  1401. package/link/malva-ui-core-link.d.ts +0 -5
  1402. package/list/index.d.ts +0 -13
  1403. package/list/lib/list/list.d.ts +0 -25
  1404. package/list/lib/list-item/list-item.d.ts +0 -67
  1405. package/list/lib/list-item-actions.d.ts +0 -12
  1406. package/list/lib/list-item-byline.d.ts +0 -5
  1407. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1408. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1409. package/list/lib/list-item-media.d.ts +0 -5
  1410. package/list/lib/list-item-meta.d.ts +0 -5
  1411. package/list/lib/list-item-prefix.d.ts +0 -5
  1412. package/list/lib/list-item-suffix.d.ts +0 -5
  1413. package/list/lib/list-item-template.d.ts +0 -10
  1414. package/list/lib/list-item-title.d.ts +0 -5
  1415. package/list/lib/list-selectable.d.ts +0 -73
  1416. package/list/malva-ui-core-list.d.ts +0 -5
  1417. package/loader/index.d.ts +0 -1
  1418. package/loader/lib/loader/loader.d.ts +0 -84
  1419. package/loader/malva-ui-core-loader.d.ts +0 -5
  1420. package/malva-ui-core.d.ts +0 -5
  1421. package/menu/index.d.ts +0 -9
  1422. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1423. package/menu/lib/menu/menu-group.d.ts +0 -27
  1424. package/menu/lib/menu/menu-item.d.ts +0 -76
  1425. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1426. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1427. package/menu/lib/menu/menu.d.ts +0 -149
  1428. package/menu/lib/menu/menu.types.d.ts +0 -13
  1429. package/menu/lib/menu/menubar.d.ts +0 -131
  1430. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1431. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1432. package/menu/malva-ui-core-menu.d.ts +0 -5
  1433. package/notification/index.d.ts +0 -4
  1434. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1435. package/notification/lib/notification-ref.d.ts +0 -12
  1436. package/notification/lib/notification.service.d.ts +0 -43
  1437. package/notification/lib/notification.types.d.ts +0 -52
  1438. package/notification/malva-ui-core-notification.d.ts +0 -5
  1439. package/number-input/index.d.ts +0 -1
  1440. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1441. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1442. package/page/index.d.ts +0 -14
  1443. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1444. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1445. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1446. package/page/lib/page/page.d.ts +0 -74
  1447. package/page/lib/page-content/page-aside.d.ts +0 -7
  1448. package/page/lib/page-content/page-content.d.ts +0 -37
  1449. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1450. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1451. package/page/lib/page-header/page-header.d.ts +0 -77
  1452. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1453. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1454. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1455. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1456. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1457. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1458. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1459. package/page/malva-ui-core-page.d.ts +0 -5
  1460. package/pagination/index.d.ts +0 -4
  1461. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1462. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1463. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1464. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1465. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1466. package/pin-input/index.d.ts +0 -2
  1467. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1468. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1469. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1470. package/popup/index.d.ts +0 -9
  1471. package/popup/lib/popup/popup.d.ts +0 -343
  1472. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1473. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1474. package/popup/lib/popup-content.d.ts +0 -6
  1475. package/popup/lib/popup-header-content.d.ts +0 -18
  1476. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1477. package/popup/lib/popup-positions.d.ts +0 -105
  1478. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1479. package/popup/lib/popup.service.d.ts +0 -159
  1480. package/popup/malva-ui-core-popup.d.ts +0 -5
  1481. package/progress/index.d.ts +0 -1
  1482. package/progress/lib/progress/progress.d.ts +0 -69
  1483. package/progress/malva-ui-core-progress.d.ts +0 -5
  1484. package/radio/index.d.ts +0 -2
  1485. package/radio/lib/radio/radio.d.ts +0 -87
  1486. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1487. package/radio/lib/radio-group-token.d.ts +0 -7
  1488. package/radio/malva-ui-core-radio.d.ts +0 -5
  1489. package/rating/index.d.ts +0 -1
  1490. package/rating/lib/rating/rating.d.ts +0 -100
  1491. package/rating/malva-ui-core-rating.d.ts +0 -5
  1492. package/scrollbar/index.d.ts +0 -1
  1493. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1494. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1495. package/search-field/index.d.ts +0 -2
  1496. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1497. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1498. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1499. package/segmented/index.d.ts +0 -4
  1500. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1501. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1502. package/segmented/lib/segmented-token.d.ts +0 -22
  1503. package/segmented/lib/segmented.types.d.ts +0 -9
  1504. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1505. package/select/index.d.ts +0 -3
  1506. package/select/lib/select/select.d.ts +0 -379
  1507. package/select/lib/select-option.d.ts +0 -1
  1508. package/select/lib/select-template.directives.d.ts +0 -14
  1509. package/select/malva-ui-core-select.d.ts +0 -5
  1510. package/sidebar/index.d.ts +0 -15
  1511. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1512. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1513. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1514. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1515. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1516. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1517. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1518. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1519. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1520. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1521. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1522. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1523. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1526. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1527. package/skeleton/index.d.ts +0 -1
  1528. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1529. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1530. package/slider/index.d.ts +0 -2
  1531. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1532. package/slider/lib/slider/slider.d.ts +0 -171
  1533. package/slider/malva-ui-core-slider.d.ts +0 -5
  1534. package/split-pane/index.d.ts +0 -3
  1535. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1536. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1537. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1538. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1539. package/status-indicator/index.d.ts +0 -1
  1540. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1541. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1542. package/stepper/index.d.ts +0 -4
  1543. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1544. package/stepper/lib/stepper/step.d.ts +0 -51
  1545. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1546. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1547. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1548. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1549. package/switch/index.d.ts +0 -2
  1550. package/switch/lib/switch/switch.d.ts +0 -118
  1551. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1552. package/switch/lib/switch-group-token.d.ts +0 -6
  1553. package/switch/malva-ui-core-switch.d.ts +0 -5
  1554. package/tabs/index.d.ts +0 -8
  1555. package/tabs/lib/tab/tab.d.ts +0 -46
  1556. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1557. package/tabs/lib/tab-content-def.d.ts +0 -6
  1558. package/tabs/lib/tab-def.d.ts +0 -11
  1559. package/tabs/lib/tab-group-token.d.ts +0 -10
  1560. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1561. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1562. package/tabs/lib/tabs.service.d.ts +0 -24
  1563. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1564. package/textarea/index.d.ts +0 -1
  1565. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1566. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1567. package/tile/index.d.ts +0 -2
  1568. package/tile/lib/tile/tile.d.ts +0 -20
  1569. package/tile/lib/tile-header.d.ts +0 -6
  1570. package/tile/malva-ui-core-tile.d.ts +0 -5
  1571. package/time-picker/index.d.ts +0 -1
  1572. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1573. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1574. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1575. package/timeline/index.d.ts +0 -5
  1576. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1577. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1579. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1580. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1581. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1582. package/title/index.d.ts +0 -1
  1583. package/title/lib/title/title.d.ts +0 -63
  1584. package/title/malva-ui-core-title.d.ts +0 -5
  1585. package/toast/index.d.ts +0 -10
  1586. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1587. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1588. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1589. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1590. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1591. package/toast/lib/toast-ref.d.ts +0 -33
  1592. package/toast/lib/toast-timer.d.ts +0 -24
  1593. package/toast/lib/toast.directives.d.ts +0 -13
  1594. package/toast/lib/toast.service.d.ts +0 -41
  1595. package/toast/lib/toast.types.d.ts +0 -139
  1596. package/toast/malva-ui-core-toast.d.ts +0 -5
  1597. package/tokenizer/index.d.ts +0 -3
  1598. package/tokenizer/lib/token/token.d.ts +0 -60
  1599. package/tokenizer/lib/token-template.d.ts +0 -29
  1600. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1601. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1602. package/toolbar/index.d.ts +0 -3
  1603. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1604. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1605. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1606. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1607. package/tooltip/index.d.ts +0 -3
  1608. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1609. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1610. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1611. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1612. package/tree/index.d.ts +0 -4
  1613. package/tree/lib/tree/tree-context.d.ts +0 -62
  1614. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1615. package/tree/lib/tree/tree-node.d.ts +0 -45
  1616. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1617. package/tree/lib/tree/tree.d.ts +0 -156
  1618. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-chat.mjs","sources":["../../../../libs/core/chat/src/lib/chat-tokens.ts","../../../../libs/core/chat/src/lib/chat-render-list.ts","../../../../libs/core/chat/src/lib/chat-format.ts","../../../../libs/core/chat/src/lib/chat-media-grid/chat-media-grid.ts","../../../../libs/core/chat/src/lib/chat-media-grid/chat-media-grid.html","../../../../libs/core/chat/src/lib/chat-audio/chat-audio.service.ts","../../../../libs/core/chat/src/lib/chat-audio/chat-audio.ts","../../../../libs/core/chat/src/lib/chat-audio/chat-audio.html","../../../../libs/core/chat/src/lib/chat-message/chat-message.ts","../../../../libs/core/chat/src/lib/chat-message/chat-message.html","../../../../libs/core/chat/src/lib/chat-date/chat-date.ts","../../../../libs/core/chat/src/lib/chat-typing/chat-typing.ts","../../../../libs/core/chat/src/lib/defs/chat-author-def.ts","../../../../libs/core/chat/src/lib/defs/chat-date-def.ts","../../../../libs/core/chat/src/lib/defs/chat-message-def.ts","../../../../libs/core/chat/src/lib/chat/chat.ts","../../../../libs/core/chat/src/lib/chat/chat.html","../../../../libs/core/chat/src/malva-ui-core-chat.ts"],"sourcesContent":["import { InjectionToken, type Signal, type TemplateRef } from '@angular/core';\nimport type { MlvChatGroupPosition, MlvChatMessageData, MlvChatUser } from './chat.types';\n\n/** Template context of an `[mlvChatMessageDef]` custom message renderer. */\nexport interface MlvChatMessageDefContext {\n /** The message being rendered. */\n $implicit: MlvChatMessageData;\n /** True when the message is authored by the current user. */\n isOwn: boolean;\n /** Position inside the consecutive-author group. */\n groupPosition: MlvChatGroupPosition;\n /** True when rendered condensed inside a reply quote. */\n quote: boolean;\n}\n\n/** Reference to a registered custom message-type template. */\nexport interface MlvChatMessageDefRef {\n /** The template to render for messages of the registered type. */\n templateRef: TemplateRef<MlvChatMessageDefContext>;\n}\n\n/**\n * Users map (id → user) provided by `mlv-chat` so bubbles can resolve author\n * display names (reply quotes). Optional — standalone bubbles render without it.\n */\nexport const MLV_CHAT_USERS = new InjectionToken<Signal<ReadonlyMap<string, MlvChatUser>>>(\n 'MLV_CHAT_USERS',\n);\n\n/** Custom message-type templates (type → def) provided by `mlv-chat`. */\nexport const MLV_CHAT_MESSAGE_DEFS = new InjectionToken<\n Signal<ReadonlyMap<string, MlvChatMessageDefRef>>\n>('MLV_CHAT_MESSAGE_DEFS');\n","import type { MlvChatMessageData, MlvChatRenderItem, MlvChatRenderMessage } from './chat.types';\n\n/** Normalizes the {@link MlvChatMessageData.timestamp} union to a Date. */\nexport function toChatDate(timestamp: Date | number | string): Date {\n return timestamp instanceof Date ? timestamp : new Date(timestamp);\n}\n\n/** True when both dates fall on the same calendar day (local time). */\nexport function isSameChatDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\n\n/**\n * Flattens an oldest→newest message array into date separators + author groups.\n * A group breaks on author change, on a gap larger than `groupWindowMinutes`,\n * and always at a calendar-day boundary.\n *\n * @param messages Messages ordered oldest → newest.\n * @param selfId Current user id; groups authored by it are flagged `own`.\n * @param groupWindowMinutes Maximum gap between consecutive messages of one group.\n * @param dateSeparators Whether `kind: 'date'` items are emitted at day boundaries.\n */\nexport function buildChatRenderList(\n messages: readonly MlvChatMessageData[],\n selfId: string,\n groupWindowMinutes: number,\n dateSeparators: boolean,\n): MlvChatRenderItem[] {\n const items: MlvChatRenderItem[] = [];\n let pending: MlvChatMessageData[] = [];\n let prevDate: Date | null = null;\n\n const flush = (): void => {\n if (!pending.length) return;\n const rendered: MlvChatRenderMessage[] = pending.map((message, i) => ({\n message,\n position:\n pending.length === 1 ? 'single' : i === 0 ? 'first' : i === pending.length - 1 ? 'last' : 'middle',\n }));\n items.push({\n kind: 'group',\n id: `group-${pending[0].id}`,\n authorId: pending[0].authorId,\n own: pending[0].authorId === selfId,\n messages: rendered,\n });\n pending = [];\n };\n\n for (const message of messages) {\n const date = toChatDate(message.timestamp);\n const dayBreak = prevDate === null || !isSameChatDay(prevDate, date);\n const gapBreak = prevDate !== null && date.getTime() - prevDate.getTime() > groupWindowMinutes * 60_000;\n const authorBreak = pending.length > 0 && pending[0].authorId !== message.authorId;\n\n if (dayBreak || gapBreak || authorBreak) flush();\n if (dayBreak && dateSeparators) {\n items.push({ kind: 'date', id: `date-${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`, date });\n }\n pending.push(message);\n prevDate = date;\n }\n flush();\n return items;\n}\n","/**\n * Formats a duration in seconds as `m:ss` (e.g. 75 → '1:15').\n * Negative or non-finite input renders as '0:00'.\n */\nexport function formatChatDuration(seconds: number): string {\n const total = Number.isFinite(seconds) && seconds > 0 ? Math.floor(seconds) : 0;\n const minutes = Math.floor(total / 60);\n const rest = total % 60;\n return `${minutes}:${rest.toString().padStart(2, '0')}`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { LucidePlay } from '@lucide/angular';\nimport { MLV_CHAT_I18N, MlvTranslatePipe } from '@malva-ui/i18n';\nimport { MlvProgress } from '@malva-ui/core/progress';\nimport { MlvSkeleton } from '@malva-ui/core/skeleton';\nimport type { MlvChatAttachment } from '../chat.types';\nimport { formatChatDuration } from '../chat-format';\n\n/**\n * Internal renderer for the image/gif/video attachments of a chat message.\n * Not exported from the package barrel — `mlv-chat-message` owns it.\n */\n@Component({\n selector: 'mlv-chat-media-grid',\n templateUrl: './chat-media-grid.html',\n styleUrl: './chat-media-grid.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LucidePlay, MlvProgress, MlvSkeleton, MlvTranslatePipe],\n host: {\n class: 'mlv-chat-media-grid',\n '[class.mlv-chat-media-grid--single]': '_visible().length === 1',\n '[class.mlv-chat-media-grid--quote]': 'quote()',\n },\n})\nexport class MlvChatMediaGrid {\n /** Visual attachments to render; audio entries must be filtered out by the caller. */\n readonly attachments = input.required<MlvChatAttachment[]>();\n\n /** Condensed rendering inside a reply quote: a single small thumbnail. */\n readonly quote = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Emits the attachment whose cell was activated. */\n readonly mediaClick = output<MlvChatAttachment>();\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @internal Ids of images whose load event fired, so their skeleton is removed. */\n protected readonly _loaded = signal<ReadonlySet<string>>(new Set());\n\n /** @internal Cells rendered to the DOM: one in quote mode, otherwise the first four. */\n protected readonly _visible = computed(() => this.attachments().slice(0, this.quote() ? 1 : 4));\n\n /** @internal Count of attachments hidden behind the +N overlay. */\n protected readonly _extra = computed(() =>\n this.quote() ? 0 : Math.max(0, this.attachments().length - 4),\n );\n\n /** @internal Formats a duration in seconds as `m:ss` for the video chip. */\n protected readonly _formatDuration = formatChatDuration;\n\n /** @internal True while an attachment carries upload progress, so the overlay shows. */\n protected _isUploading(attachment: MlvChatAttachment): boolean {\n return attachment.uploadProgress !== undefined && attachment.uploadProgress !== null;\n }\n\n /** @internal Marks an image as loaded so its skeleton placeholder is removed. */\n protected _onLoad(id: string): void {\n this._loaded.update((set) => new Set(set).add(id));\n }\n}\n","@for (att of _visible(); track att.id; let last = $last) {\n <button\n type=\"button\"\n class=\"mlv-chat-media-grid__cell\"\n [class.mlv-chat-media-grid__cell--uploading]=\"_isUploading(att)\"\n [style.aspect-ratio]=\"att.width && att.height ? att.width + ' / ' + att.height : null\"\n [attr.aria-label]=\"\n last && _extra() > 0\n ? (_i18n().moreMedia | mlvTranslate: { count: _extra() })\n : (att.alt ?? _i18n().imageFallbackAlt)\n \"\n (click)=\"mediaClick.emit(att)\"\n >\n @switch (att.kind) {\n @case ('gif') {\n <video [src]=\"att.src\" [autoplay]=\"true\" [muted]=\"true\" [loop]=\"true\" playsinline></video>\n }\n @case ('video') {\n @if (att.poster) {\n <img [src]=\"att.poster\" [alt]=\"att.alt ?? ''\" loading=\"lazy\" />\n } @else {\n <video [src]=\"att.src\" preload=\"metadata\" [muted]=\"true\" playsinline></video>\n }\n <span class=\"mlv-chat-media-grid__play\">\n <svg lucidePlay [size]=\"20\" aria-hidden=\"true\" />\n </span>\n @if (att.duration) {\n <span class=\"mlv-chat-media-grid__duration\">{{ _formatDuration(att.duration) }}</span>\n }\n }\n @default {\n @if (!_loaded().has(att.id)) {\n <mlv-skeleton class=\"mlv-chat-media-grid__placeholder\" width=\"100%\" height=\"100%\" />\n }\n <img [src]=\"att.src\" [alt]=\"att.alt ?? ''\" loading=\"lazy\" (load)=\"_onLoad(att.id)\" />\n }\n }\n @if (_isUploading(att)) {\n <span class=\"mlv-chat-media-grid__upload\">\n <mlv-progress shape=\"circle\" size=\"s\" [value]=\"att.uploadProgress ?? 0\" />\n </span>\n }\n @if (last && _extra() > 0) {\n <span class=\"mlv-chat-media-grid__more\" aria-hidden=\"true\">+{{ _extra() }}</span>\n }\n </button>\n}\n","import { Injectable } from '@angular/core';\n\n/** Minimal contract an audio player exposes to the playback coordinator. */\nexport interface MlvChatAudioHandle {\n /** Stops playback of this player. */\n pause(): void;\n}\n\n/**\n * Coordinates one-at-a-time playback across the audio bubbles of a single\n * `mlv-chat`. Provided by the container, never `providedIn: 'root'` — two\n * chats on one page keep independent playback.\n */\n@Injectable()\nexport class MlvChatAudioService {\n /** @private The player currently allowed to play. */\n private _current: MlvChatAudioHandle | null = null;\n\n /** Registers `player` as the active one, pausing the previously active player. */\n requestPlay(player: MlvChatAudioHandle): void {\n if (this._current && this._current !== player) this._current.pause();\n this._current = player;\n }\n\n /** Clears the active slot when a player pauses or ends on its own. */\n release(player: MlvChatAudioHandle): void {\n if (this._current === player) this._current = null;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n InjectionToken,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { LucidePause, LucidePlay } from '@lucide/angular';\nimport { MLV_CHAT_I18N } from '@malva-ui/i18n';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvProgress } from '@malva-ui/core/progress';\nimport { MlvSlider, type MlvSliderValue } from '@malva-ui/core/slider';\nimport type { MlvChatAttachment } from '../chat.types';\nimport { formatChatDuration } from '../chat-format';\nimport { MlvChatAudioService, type MlvChatAudioHandle } from './chat-audio.service';\n\n/** Creates the `HTMLAudioElement` a player drives; overridable in tests. */\nexport const MLV_CHAT_AUDIO_FACTORY = new InjectionToken<(src: string) => HTMLAudioElement>(\n 'MLV_CHAT_AUDIO_FACTORY',\n { providedIn: 'root', factory: () => (src: string) => new Audio(src) },\n);\n\n/**\n * Internal player for an audio attachment: play/pause, a seek slider, and the\n * elapsed/total time. Playback is exclusive per `mlv-chat` when the container\n * provides {@link MlvChatAudioService}.\n */\n@Component({\n selector: 'mlv-chat-audio',\n templateUrl: './chat-audio.html',\n styleUrl: './chat-audio.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LucidePause, LucidePlay, MlvButton, MlvProgress, MlvSlider],\n host: {\n class: 'mlv-chat-audio',\n '[class.mlv-chat-audio--uploading]': '_uploading()',\n },\n})\nexport class MlvChatAudio implements MlvChatAudioHandle {\n /** The audio attachment to play. */\n readonly attachment = input.required<MlvChatAttachment>();\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @private Creates the underlying audio element on first playback. */\n private readonly _audioFactory = inject(MLV_CHAT_AUDIO_FACTORY);\n\n /** @private Container-scoped playback coordinator; null for a standalone player. */\n private readonly _playback = inject(MlvChatAudioService, { optional: true });\n\n /** @private Lazily created audio element; null until the first play. */\n private _audio: HTMLAudioElement | null = null;\n\n /** @internal True while the element is playing. */\n protected readonly _playing = signal(false);\n\n /** @internal Playback position in seconds. */\n protected readonly _currentTime = signal(0);\n\n /** @private Duration reported by the element once metadata has loaded. */\n private readonly _metadataDuration = signal<number | null>(null);\n\n /** @internal Total duration: element metadata wins over the declared value. */\n protected readonly _duration = computed(\n () => this._metadataDuration() ?? this.attachment().duration ?? 0,\n );\n\n /** @internal True while the attachment is still uploading; playback is blocked. */\n protected readonly _uploading = computed(() => {\n const progress = this.attachment().uploadProgress;\n return progress !== undefined && progress !== null;\n });\n\n /** @internal Formats seconds as `m:ss` for the elapsed/total readout. */\n protected readonly _formatDuration = formatChatDuration;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n this._audio?.pause();\n this._playback?.release(this);\n });\n }\n\n /** Pauses playback. Called by the container coordinator when another player starts. */\n pause(): void {\n this._audio?.pause();\n this._playing.set(false);\n }\n\n /** @internal Toggles between play and pause. */\n protected _toggle(): void {\n if (this._playing()) {\n this.pause();\n this._playback?.release(this);\n return;\n }\n const audio = this._ensureAudio();\n this._playback?.requestPlay(this);\n void audio.play();\n this._playing.set(true);\n }\n\n /**\n * @internal Seeks to the given position in seconds. The slider emits the shared\n * `MlvSliderValue` union; only the scalar form is used here (no range thumbs).\n */\n protected _seek(value: MlvSliderValue): void {\n const seconds = Array.isArray(value) ? value[0] : value;\n this._currentTime.set(seconds);\n if (this._audio) this._audio.currentTime = seconds;\n }\n\n /** @private Creates the audio element and wires its listeners on first use. */\n private _ensureAudio(): HTMLAudioElement {\n if (this._audio) return this._audio;\n\n const audio = this._audioFactory(this.attachment().src);\n audio.addEventListener('timeupdate', () => this._currentTime.set(audio.currentTime));\n audio.addEventListener('loadedmetadata', () => {\n if (Number.isFinite(audio.duration)) this._metadataDuration.set(audio.duration);\n });\n audio.addEventListener('ended', () => {\n this._playing.set(false);\n this._currentTime.set(0);\n this._playback?.release(this);\n });\n this._audio = audio;\n return audio;\n }\n}\n","<button\n mlvButton\n type=\"button\"\n class=\"mlv-chat-audio__toggle\"\n shape=\"circle\"\n [disabled]=\"_uploading()\"\n [attr.aria-label]=\"_playing() ? _i18n().pauseAudio : _i18n().playAudio\"\n (click)=\"_toggle()\"\n>\n @if (_playing()) {\n <svg lucidePause [size]=\"16\" aria-hidden=\"true\" />\n } @else {\n <svg lucidePlay [size]=\"16\" aria-hidden=\"true\" />\n }\n</button>\n@if (_uploading()) {\n<span class=\"mlv-chat-audio__upload\">\n <mlv-progress size=\"s\" [value]=\"attachment().uploadProgress ?? 0\" />\n</span>\n} @else {\n<mlv-slider\n class=\"mlv-chat-audio__seek\"\n [min]=\"0\"\n [max]=\"_duration()\"\n [value]=\"_currentTime()\"\n [label]=\"_i18n().playAudio\"\n (valueChange)=\"_seek($event)\"\n/>\n}\n<span class=\"mlv-chat-audio__time\">\n {{ _formatDuration(_currentTime()) }} / {{ _formatDuration(_duration()) }}\n</span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { DatePipe, NgTemplateOutlet } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n LucideCheck,\n LucideCheckCheck,\n LucideCircleAlert,\n LucideClock,\n LucideCornerUpLeft,\n LucideMusic,\n} from '@lucide/angular';\nimport { MLV_CHAT_I18N } from '@malva-ui/i18n';\nimport type {\n MlvChatAttachment,\n MlvChatGroupPosition,\n MlvChatMessageData,\n} from '../chat.types';\nimport { toChatDate } from '../chat-render-list';\nimport { formatChatDuration } from '../chat-format';\nimport { MLV_CHAT_MESSAGE_DEFS, MLV_CHAT_USERS } from '../chat-tokens';\nimport { MlvChatMediaGrid } from '../chat-media-grid/chat-media-grid';\nimport { MlvChatAudio } from '../chat-audio/chat-audio';\n\n/**\n * A single chat bubble. Normally rendered internally by `mlv-chat`, but usable\n * standalone. Renders text, reply quotes, delivery status ticks, and the meta\n * row; media/audio attachments are rendered by internal sub-components.\n */\n@Component({\n selector: 'mlv-chat-message',\n templateUrl: './chat-message.html',\n styleUrl: './chat-message.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DatePipe,\n NgTemplateOutlet,\n LucideCheck,\n LucideCheckCheck,\n LucideCircleAlert,\n LucideClock,\n LucideCornerUpLeft,\n LucideMusic,\n MlvChatMediaGrid,\n MlvChatAudio,\n ],\n host: {\n class: 'mlv-chat-message',\n '[class.mlv-chat-message--own]': 'own()',\n '[class.mlv-chat-message--other]': '!own()',\n '[class]': '\"mlv-chat-message--pos-\" + groupPosition()',\n '[class.mlv-chat-message--failed]': 'message().status === \"failed\"',\n '[class.mlv-chat-message--quote]': 'quote()',\n },\n})\nexport class MlvChatMessage {\n /** The message to render. */\n readonly message = input.required<MlvChatMessageData>();\n\n /** True when authored by the current user (right-aligned, accent bubble, status ticks). */\n readonly own = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Position inside the consecutive-author group; drives corner-tail radii. */\n readonly groupPosition = input<MlvChatGroupPosition>('single');\n\n /** Condensed quote rendering (inside a reply block): clamped text, no meta row. */\n readonly quote = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Emits when the retry button of a failed own message is activated. */\n readonly retry = output<void>();\n\n /** Emits the clicked media attachment (image/video cell). */\n readonly mediaClick = output<MlvChatAttachment>();\n\n /** Emits the embedded replied-to message when the quote block is activated. */\n readonly replyClick = output<MlvChatMessageData>();\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @private Users map provided by the surrounding `mlv-chat`; null when standalone. */\n private readonly _users = inject(MLV_CHAT_USERS, { optional: true });\n\n /** @internal Custom message-type templates provided by the surrounding `mlv-chat`. */\n protected readonly _defs = inject(MLV_CHAT_MESSAGE_DEFS, { optional: true });\n\n /** @internal Normalized timestamp for the DatePipe. */\n protected readonly _date = computed(() =>\n toChatDate(this.message().timestamp),\n );\n\n /** @internal Image/gif/video attachments, rendered by the media grid. */\n protected readonly _mediaAttachments = computed(() =>\n (this.message().attachments ?? []).filter((a) => a.kind !== 'audio'),\n );\n\n /** @internal Audio attachments, each rendered by its own player. */\n protected readonly _audioAttachments = computed(() =>\n (this.message().attachments ?? []).filter((a) => a.kind === 'audio'),\n );\n\n /** @internal Formats seconds as `m:ss` for the condensed audio chip in quote mode. */\n protected readonly _formatDuration = formatChatDuration;\n\n /** @internal Template for this message's custom type, if registered. */\n protected readonly _typeTemplate = computed(() => {\n const type = this.message().type;\n return type ? (this._defs?.().get(type)?.templateRef ?? null) : null;\n });\n\n /** @internal Resolves an author display name from the container-provided users map. */\n protected _userName(id: string): string {\n return this._users?.().get(id)?.name ?? '';\n }\n}\n","@if (_typeTemplate(); as tpl) {\n<ng-container\n [ngTemplateOutlet]=\"tpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: message(),\n isOwn: own(),\n groupPosition: groupPosition(),\n quote: quote(),\n }\"\n/>\n} @else { @if (quote()) {\n<span class=\"mlv-chat-message__quote-author\"\n >{{ _userName(message().authorId) }}</span\n>\n@if (message().replyTo) {\n<svg\n class=\"mlv-chat-message__reply-marker\"\n lucideCornerUpLeft\n [size]=\"12\"\n aria-hidden=\"true\"\n/>\n} } @else if (message().replyTo; as reply) {\n<button\n type=\"button\"\n class=\"mlv-chat-message__reply\"\n (click)=\"replyClick.emit(reply)\"\n>\n <mlv-chat-message [message]=\"reply\" quote />\n</button>\n} @if (_mediaAttachments().length) {\n<mlv-chat-media-grid\n [attachments]=\"_mediaAttachments()\"\n [quote]=\"quote()\"\n (mediaClick)=\"mediaClick.emit($event)\"\n/>\n} @if (quote()) { @if (_audioAttachments()[0]; as audio) {\n<span class=\"mlv-chat-message__quote-audio\">\n <svg lucideMusic [size]=\"12\" aria-hidden=\"true\" />\n {{ _formatDuration(audio.duration ?? 0) }}\n</span>\n} } @else { @for (audio of _audioAttachments(); track audio.id) {\n<mlv-chat-audio [attachment]=\"audio\" />\n} } @if (message().text; as text) {\n<span class=\"mlv-chat-message__text\">{{ text }}</span>\n} } @if (!quote()) {\n<span class=\"mlv-chat-message__meta\">\n @if (own() && message().status === 'failed') {\n <button type=\"button\" class=\"mlv-chat-message__retry\" (click)=\"retry.emit()\">\n <svg lucideCircleAlert [size]=\"14\" aria-hidden=\"true\" />\n {{ _i18n().retry }}\n </button>\n }\n <time class=\"mlv-chat-message__time\" [attr.datetime]=\"_date().toISOString()\">\n {{ _date() | date: 'shortTime' }}\n </time>\n @if (own() && message().status; as status) { @switch (status) { @case\n ('sending') {\n <svg\n class=\"mlv-chat-message__status mlv-chat-message__status--sending\"\n lucideClock\n [size]=\"14\"\n aria-hidden=\"true\"\n />\n } @case ('sent') {\n <svg\n class=\"mlv-chat-message__status mlv-chat-message__status--sent\"\n lucideCheck\n [size]=\"14\"\n aria-hidden=\"true\"\n />\n } @case ('delivered') {\n <svg\n class=\"mlv-chat-message__status mlv-chat-message__status--delivered\"\n lucideCheckCheck\n [size]=\"14\"\n aria-hidden=\"true\"\n />\n } @case ('read') {\n <svg\n class=\"mlv-chat-message__status mlv-chat-message__status--read\"\n lucideCheckCheck\n [size]=\"14\"\n aria-hidden=\"true\"\n />\n } } }\n</span>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { MLV_CHAT_I18N } from '@malva-ui/i18n';\nimport { isSameChatDay } from '../chat-render-list';\n\n/**\n * Internal default renderer of a date separator. Shows Today/Yesterday for the\n * two most recent days and a formatted date otherwise. Consumers override the\n * whole slot with `[mlvChatDateDef]`.\n */\n@Component({\n selector: 'mlv-chat-date',\n template: `\n @if (_label(); as label) {\n {{ label }}\n } @else {\n {{ date() | date: 'mediumDate' }}\n }\n `,\n styleUrl: './chat-date.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DatePipe],\n host: { class: 'mlv-chat-date' },\n})\nexport class MlvChatDate {\n /** Start of the calendar day this separator introduces. */\n readonly date = input.required<Date>();\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @internal Relative label, or null when the template should format the date. */\n protected readonly _label = computed(() => {\n const date = this.date();\n const now = new Date();\n if (isSameChatDay(date, now)) return this._i18n().today;\n const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);\n return isSameChatDay(date, yesterday) ? this._i18n().yesterday : null;\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { MLV_CHAT_I18N, MlvTranslatePipe } from '@malva-ui/i18n';\nimport type { MlvChatUser } from '../chat.types';\n\n/**\n * Internal three-dot typing bubble. Rendered by `mlv-chat` at the bottom of the\n * transcript while `typingUsers` is non-empty.\n */\n@Component({\n selector: 'mlv-chat-typing',\n template: `\n <span class=\"mlv-chat-typing__dots\" aria-hidden=\"true\">\n <span class=\"mlv-chat-typing__dot\"></span>\n <span class=\"mlv-chat-typing__dot\"></span>\n <span class=\"mlv-chat-typing__dot\"></span>\n </span>\n <span class=\"mlv-chat-typing__label\">\n {{ _i18n().typing | mlvTranslate: { count: users().length } }}\n </span>\n `,\n styleUrl: './chat-typing.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MlvTranslatePipe],\n host: {\n class: 'mlv-chat-typing',\n '[attr.aria-label]': '_ariaLabel()',\n },\n})\nexport class MlvChatTyping {\n /** Users currently composing a message. */\n readonly users = input<MlvChatUser[]>([]);\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @internal Accessible label naming the typing users when they are known. */\n protected readonly _ariaLabel = computed(() => {\n const names = this.users()\n .map((u) => u.name)\n .filter(Boolean);\n return names.length ? names.join(', ') : null;\n });\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport type { MlvChatMessageData, MlvChatUser } from '../chat.types';\n\n/** Template context of an `[mlvChatAuthorDef]` author slot. */\nexport interface MlvChatAuthorDefContext {\n /** The group's author, or undefined when the id is missing from `users`. */\n $implicit: MlvChatUser | undefined;\n /** True when the group is authored by the current user. */\n isOwn: boolean;\n /** First message of the group, for timestamps or role badges. */\n firstMessage: MlvChatMessageData;\n}\n\n/**\n * Replaces the default author name shown above a group of other-authored\n * messages — for example to render an avatar plus a role badge.\n *\n * @example\n * <ng-template mlvChatAuthorDef let-user>\n * <mlv-avatar size=\"xs\" [name]=\"user.name\" [src]=\"user.avatarSrc ?? null\" />\n * {{ user.name }}\n * </ng-template>\n */\n@Directive({ selector: '[mlvChatAuthorDef]' })\nexport class MlvChatAuthorDef {\n /** The template rendered in the author slot. */\n readonly templateRef = inject<TemplateRef<MlvChatAuthorDefContext>>(TemplateRef);\n\n /** Type guard giving template variables their concrete types. */\n static ngTemplateContextGuard(\n _dir: MlvChatAuthorDef,\n _ctx: unknown,\n ): _ctx is MlvChatAuthorDefContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n/** Template context of an `[mlvChatDateDef]` date separator. */\nexport interface MlvChatDateDefContext {\n /** Start of the calendar day the separator introduces. */\n $implicit: Date;\n}\n\n/**\n * Replaces the default Today/Yesterday/date pill rendered between messages of\n * different calendar days.\n *\n * @example\n * <ng-template mlvChatDateDef let-date>{{ date | date: 'fullDate' }}</ng-template>\n */\n@Directive({ selector: '[mlvChatDateDef]' })\nexport class MlvChatDateDef {\n /** The template rendered for each date separator. */\n readonly templateRef = inject<TemplateRef<MlvChatDateDefContext>>(TemplateRef);\n\n /** Type guard giving template variables their concrete types. */\n static ngTemplateContextGuard(\n _dir: MlvChatDateDef,\n _ctx: unknown,\n ): _ctx is MlvChatDateDefContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject, input } from '@angular/core';\nimport type { MlvChatMessageDefContext } from '../chat-tokens';\n\n/**\n * Marks an `<ng-template>` as the renderer for chat messages whose `type`\n * matches `mlvChatMessageDefType`. The template replaces the bubble body;\n * alignment, meta row, and animations stay owned by the chat.\n *\n * @example\n * <ng-template mlvChatMessageDef mlvChatMessageDefType=\"poll\" let-message let-isOwn=\"isOwn\">\n * <app-poll [poll]=\"message.data\" />\n * </ng-template>\n */\n@Directive({ selector: '[mlvChatMessageDef]' })\nexport class MlvChatMessageDef {\n /** The message `type` this template renders. Templates without a type are ignored. */\n readonly mlvChatMessageDefType = input<string>('');\n\n /** The template rendered for matching messages. */\n readonly templateRef = inject<TemplateRef<MlvChatMessageDefContext>>(TemplateRef);\n\n /** Type guard giving template variables their concrete types. */\n static ngTemplateContextGuard(\n _dir: MlvChatMessageDef,\n _ctx: unknown,\n ): _ctx is MlvChatMessageDefContext {\n return true;\n }\n}\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n afterRenderEffect,\n computed,\n contentChild,\n contentChildren,\n effect,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { NgTemplateOutlet, formatDate } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MlvResizeObserverService } from '@malva-ui/cdk/utils';\nimport {\n MLV_DENSITY_ELEMENT,\n MlvDensityDirective,\n} from '@malva-ui/cdk/density';\nimport { MLV_CHAT_I18N, MlvTranslatePipe } from '@malva-ui/i18n';\nimport { MlvAvatar, MlvColorFromTextPipe } from '@malva-ui/core/avatar';\nimport { MlvLoader } from '@malva-ui/core/loader';\nimport { MlvSkeleton } from '@malva-ui/core/skeleton';\nimport type {\n MlvChatAttachment,\n MlvChatMessageData,\n MlvChatMessageStatus,\n MlvChatUser,\n} from '../chat.types';\nimport { buildChatRenderList, toChatDate } from '../chat-render-list';\nimport { MLV_CHAT_MESSAGE_DEFS, MLV_CHAT_USERS } from '../chat-tokens';\nimport { MlvChatMessage } from '../chat-message/chat-message';\nimport { MlvChatDate } from '../chat-date/chat-date';\nimport { MlvChatTyping } from '../chat-typing/chat-typing';\nimport { MlvChatAudioService } from '../chat-audio/chat-audio.service';\nimport { MlvChatAuthorDef } from '../defs/chat-author-def';\nimport { MlvChatDateDef } from '../defs/chat-date-def';\nimport { MlvChatMessageDef } from '../defs/chat-message-def';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\n\n/** Skeleton rows rendered while the first page loads. */\nconst SKELETON_ROWS: ReadonlyArray<{ own: boolean; width: string }> = [\n { own: false, width: '55%' },\n { own: false, width: '35%' },\n { own: true, width: '45%' },\n { own: false, width: '65%' },\n { own: true, width: '30%' },\n { own: false, width: '50%' },\n];\n\n/**\n * Scrollable chat surface. Renders an oldest→newest `messages` array as author\n * groups with date separators, delivery statuses, replies, media, and audio.\n * Grouping is computed internally — consumers only supply flat data.\n */\n@Component({\n selector: 'mlv-chat',\n templateUrl: './chat.html',\n styleUrl: './chat.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n MlvTranslatePipe,\n MlvAvatar,\n MlvColorFromTextPipe,\n MlvLoader,\n MlvSkeleton,\n MlvChatMessage,\n MlvChatDate,\n MlvChatTyping,\n MlvScrollbar,\n ],\n providers: [\n MlvChatAudioService,\n { provide: MLV_DENSITY_ELEMENT, useValue: 'chat' },\n { provide: MLV_CHAT_USERS, useFactory: () => inject(MlvChat)._usersMap },\n {\n provide: MLV_CHAT_MESSAGE_DEFS,\n useFactory: () => inject(MlvChat)._defsMap,\n },\n ],\n hostDirectives: [{ directive: MlvDensityDirective, inputs: ['mlvDensity'] }],\n host: { class: 'mlv-chat' },\n})\nexport class MlvChat {\n /** @private Distance from the bottom under which the view counts as pinned. */\n private static readonly _PIN_THRESHOLD = 48;\n\n /** @private Distance from the top under which the window grows / `loadOlder` fires. */\n private static readonly _TOP_THRESHOLD = 150;\n\n /** @private Number of messages the render window grows by per step. */\n private static readonly _WINDOW_STEP = 50;\n\n /** Messages ordered oldest → newest. */\n readonly messages = input.required<MlvChatMessageData[]>();\n\n /** Id of the current user; messages authored by it render as own messages. */\n readonly selfId = input.required<string>();\n\n /** Known participants, used for avatars and author names. */\n readonly users = input<MlvChatUser[]>([]);\n\n /** Renders skeleton bubbles instead of content while the first page loads. */\n readonly loading = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Shows the top loader while an older page is being fetched. */\n readonly loadingOlder = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Whether more history exists; gates the `loadOlder` output. */\n readonly hasOlder = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Ids of users currently composing a message. */\n readonly typingUsers = input<string[]>([]);\n\n /** Maximum gap in minutes between messages of one author group. */\n readonly groupWindow = input<number>(5);\n\n /** Author slot visibility; `'auto'` shows it once more than two users are known. */\n readonly showAuthors = input<'auto' | boolean>('auto');\n\n /** Whether calendar-day separators are rendered. */\n readonly dateSeparators = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /** Number of newest messages kept in the DOM. */\n readonly windowSize = input<number>(150);\n\n /** Emits when the user scrolls past the oldest rendered message and more history exists. */\n readonly loadOlder = output<void>();\n\n /** Emits the failed message whose retry action was activated. */\n readonly retry = output<MlvChatMessageData>();\n\n /** Emits the message and attachment of an activated media cell. */\n readonly mediaClick = output<{\n message: MlvChatMessageData;\n attachment: MlvChatAttachment;\n }>();\n\n /** Emits the message and its embedded original when a reply quote is activated. */\n readonly replyClick = output<{\n message: MlvChatMessageData;\n replyTo: MlvChatMessageData;\n }>();\n\n /** @internal Chat i18n strings. */\n protected readonly _i18n = inject(MLV_CHAT_I18N);\n\n /** @internal Author slot template, when a consumer provides one. */\n protected readonly authorDef = contentChild(MlvChatAuthorDef);\n\n /** @internal Date separator template, when a consumer provides one. */\n protected readonly dateDef = contentChild(MlvChatDateDef);\n\n /** @private Custom message-type templates projected by the consumer. */\n private readonly _messageDefs = contentChildren(MlvChatMessageDef);\n\n /** @internal id → user map, provided to bubbles through `MLV_CHAT_USERS`. */\n readonly _usersMap = computed(\n () => new Map(this.users().map((u) => [u.id, u])),\n );\n\n /** @internal type → def map, provided to bubbles through `MLV_CHAT_MESSAGE_DEFS`. */\n readonly _defsMap = computed(\n () =>\n new Map(\n this._messageDefs()\n .filter((def) => def.mlvChatMessageDefType())\n .map((def) => [def.mlvChatMessageDefType(), def]),\n ),\n );\n\n /** @internal Number of newest messages currently rendered; grown by the scroll engine. */\n protected readonly _renderCount = signal(150);\n\n /** @internal Newest slice of `messages` kept in the DOM. */\n protected readonly _windowed = computed(() =>\n this.messages().slice(-this._renderCount()),\n );\n\n /** @internal Flattened author groups and date separators of the render window. */\n protected readonly _renderItems = computed(() =>\n buildChatRenderList(\n this._windowed(),\n this.selfId(),\n this.groupWindow(),\n this.dateSeparators(),\n ),\n );\n\n /** @internal Whether the author slot renders above other-authored groups. */\n protected readonly _authorsVisible = computed(() => {\n const mode = this.showAuthors();\n return mode === 'auto' ? this.users().length > 2 : mode;\n });\n\n /** @internal Typing users resolved against the known participants. */\n protected readonly _typingUserObjects = computed(() =>\n this.typingUsers()\n .map((id) => this._usersMap().get(id))\n .filter((user): user is MlvChatUser => !!user),\n );\n\n /** @internal Placeholder rows rendered while `loading` is set. */\n protected readonly _skeletonRows = SKELETON_ROWS;\n\n /** @internal The scroll container; measured by the scroll engine. */\n protected readonly _viewport = viewChild(MlvScrollbar);\n\n /** @private Inner content wrapper; its height changes drive re-pinning. */\n private readonly _content = viewChild<ElementRef<HTMLElement>>('content');\n\n /** @private Shared resize observer used to follow content height changes. */\n private readonly _resizeObserver = inject(MlvResizeObserverService);\n\n /** @internal True while the view sits at (or near) the newest message. */\n protected readonly _pinned = signal(true);\n\n /** @internal Messages appended while unpinned; drives the new-messages pill. */\n protected readonly _newCount = signal(0);\n\n /** @internal Ids of messages that arrived live, so only those animate in. */\n protected readonly _liveIds = signal<ReadonlySet<string>>(new Set());\n\n /** @private First/last ids of the previous `messages` value, to classify changes. */\n private _edgeIds: { first: string | null; last: string | null } = {\n first: null,\n last: null,\n };\n\n /** @private Distance from the viewport bottom captured before a prepend renders. */\n private _pendingCompensation: number | null = null;\n\n constructor() {\n // The window starts at the configured size; the scroll engine grows it as\n // the user scrolls up and trims it back once they return to the bottom.\n effect(() => this._renderCount.set(this.windowSize()));\n\n effect(() => {\n const list = this.messages();\n const first = list[0]?.id ?? null;\n const last = list[list.length - 1]?.id ?? null;\n const previous = this._edgeIds;\n this._edgeIds = { first, last };\n if (previous.last === null) return;\n\n const appended = last !== null && last !== previous.last;\n const prepended =\n first !== null && first !== previous.first && last === previous.last;\n\n if (prepended) this._captureCompensation();\n if (appended) {\n this._markLiveMessages(list, previous.last);\n if (this._pinned()) this._scrollToBottom('smooth');\n else this._newCount.update((count) => count + 1);\n }\n });\n\n afterRenderEffect(() => {\n // Re-runs whenever the rendered content changes.\n this._renderItems();\n this.loading();\n if (this._applyCompensation()) return;\n if (this._pinned()) this._stickToBottom();\n });\n\n // Renders alone are not enough: media can load late and `content-visibility`\n // reveals height without a change-detection pass. Following the content box\n // keeps the newest message in view in all of those cases.\n effect((onCleanup) => {\n const content = this._content()?.nativeElement;\n if (!content) return;\n const subscription = this._resizeObserver\n .observe(content)\n .subscribe(() => {\n if (this._pendingCompensation === null && this._pinned())\n this._stickToBottom();\n });\n onCleanup(() => subscription.unsubscribe());\n });\n }\n\n /** @internal Re-reads the viewport metrics after a scroll event. */\n protected _onScroll(): void {\n const viewport = this._viewport()?.viewportElement;\n if (!viewport) return;\n this._evaluateScroll(\n viewport.scrollTop,\n viewport.scrollHeight,\n viewport.clientHeight,\n );\n }\n\n /**\n * @internal Updates pinning and top-edge behavior from raw scroll metrics.\n * Split from `_onScroll` so the logic is testable without layout.\n */\n protected _evaluateScroll(\n scrollTop: number,\n scrollHeight: number,\n clientHeight: number,\n ): void {\n const bottomDistance = scrollHeight - scrollTop - clientHeight;\n const pinned = bottomDistance < MlvChat._PIN_THRESHOLD;\n\n if (pinned && !this._pinned()) {\n this._newCount.set(0);\n // Trimming is invisible while the view is anchored to the newest message.\n this._renderCount.set(this.windowSize());\n }\n this._pinned.set(pinned);\n\n if (scrollTop < MlvChat._TOP_THRESHOLD) this._growWindow();\n }\n\n /** @internal Grows the render window, or asks for an older page once it is exhausted. */\n protected _growWindow(): void {\n const total = this.messages().length;\n if (this._renderCount() < total) {\n this._captureCompensation();\n this._renderCount.update((count) =>\n Math.min(count + MlvChat._WINDOW_STEP, total),\n );\n return;\n }\n if (this.hasOlder() && !this.loadingOlder()) this.loadOlder.emit();\n }\n\n /** @internal Scrolls to the newest message and clears the pill counter. */\n protected _scrollToBottom(behavior: ScrollBehavior = 'smooth'): void {\n const viewport = this._viewport()?.viewportElement;\n this._newCount.set(0);\n this._pinned.set(true);\n if (!viewport) return;\n viewport.scrollTo?.({ top: viewport.scrollHeight, behavior });\n }\n\n /**\n * @private Records every message newer than the previous last id so only\n * live arrivals animate in — initial load, window growth, and prepended\n * history render instantly.\n */\n private _markLiveMessages(\n list: readonly MlvChatMessageData[],\n previousLast: string,\n ): void {\n const previousIndex = list.findIndex(\n (message) => message.id === previousLast,\n );\n const fresh = list.slice(previousIndex + 1).map((message) => message.id);\n if (!fresh.length) return;\n this._liveIds.update((ids) => {\n const next = new Set(ids);\n for (const id of fresh) next.add(id);\n return next;\n });\n }\n\n /** @private Records the distance from the bottom so a prepend keeps the view still. */\n private _captureCompensation(): void {\n const viewport = this._viewport()?.viewportElement;\n if (viewport)\n this._pendingCompensation = viewport.scrollHeight - viewport.scrollTop;\n }\n\n /**\n * @private Restores the captured distance once the taller content has rendered.\n * Returns true when a compensation was applied, so the caller skips pinning.\n */\n private _applyCompensation(): boolean {\n const pending = this._pendingCompensation;\n if (pending === null) return false;\n this._pendingCompensation = null;\n const viewport = this._viewport()?.viewportElement;\n if (viewport) viewport.scrollTop = viewport.scrollHeight - pending;\n return true;\n }\n\n /** @private Jumps the viewport to the newest message without animation. */\n private _stickToBottom(): void {\n const viewport = this._viewport()?.viewportElement;\n if (viewport) viewport.scrollTop = viewport.scrollHeight;\n }\n\n /** @internal Composes the accessible label of one message article. */\n protected _messageLabel(message: MlvChatMessageData, own: boolean): string {\n const author = own\n ? (this._usersMap().get(this.selfId())?.name ?? '')\n : (this._usersMap().get(message.authorId)?.name ?? '');\n const time = formatDate(\n toChatDate(message.timestamp),\n 'shortTime',\n 'en-US',\n );\n const status =\n own && message.status ? this._statusLabel(message.status) : '';\n return [author, time, status].filter(Boolean).join(', ');\n }\n\n /** @private Maps a delivery status to its translated label. */\n private _statusLabel(status: MlvChatMessageStatus): string {\n const i18n = this._i18n();\n switch (status) {\n case 'sending':\n return i18n.statusSending;\n case 'sent':\n return i18n.statusSent;\n case 'delivered':\n return i18n.statusDelivered;\n case 'read':\n return i18n.statusRead;\n case 'failed':\n return i18n.statusFailed;\n }\n }\n}\n","<mlv-scrollbar\n #viewport\n class=\"mlv-chat__viewport\"\n role=\"log\"\n [attr.aria-label]=\"_i18n().chatLabel\"\n tabindex=\"0\"\n (scroll)=\"_onScroll()\"\n>\n <div #content class=\"mlv-chat__content\">\n @if (loading()) { @for (row of _skeletonRows; track $index) {\n <div class=\"mlv-chat__skeleton\" [class.mlv-chat__skeleton--own]=\"row.own\">\n <mlv-skeleton variant=\"rectangle\" [width]=\"row.width\" height=\"2.25rem\" />\n </div>\n } } @else { @if (loadingOlder()) {\n <div class=\"mlv-chat__older-loader\">\n <mlv-loader\n variant=\"circle\"\n [indeterminate]=\"true\"\n [size]=\"20\"\n [strokeWidth]=\"2\"\n />\n <span class=\"cdk-visually-hidden\">{{ _i18n().loadingOlder }}</span>\n </div>\n } @for (item of _renderItems(); track item.id) { @switch (item.kind) { @case\n ('date') {\n <div class=\"mlv-chat__date\">\n @if (dateDef(); as def) {\n <ng-container\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item.date }\"\n />\n } @else {\n <mlv-chat-date [date]=\"item.date\" />\n }\n </div>\n } @case ('group') {\n <div class=\"mlv-chat__group\" [class.mlv-chat__group--own]=\"item.own\">\n @if (!item.own && _authorsVisible()) {\n <div class=\"mlv-chat__author\">\n @if (authorDef(); as def) {\n <ng-container\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: _usersMap().get(item.authorId),\n isOwn: item.own,\n firstMessage: item.messages[0].message,\n }\"\n />\n } @else { {{ _usersMap().get(item.authorId)?.name }} }\n </div>\n }\n <div class=\"mlv-chat__group-body\">\n @if (!item.own) {\n <mlv-avatar\n class=\"mlv-chat__avatar\"\n size=\"s\"\n [src]=\"_usersMap().get(item.authorId)?.avatarSrc ?? null\"\n [name]=\"_usersMap().get(item.authorId)?.name ?? ''\"\n [color]=\"(_usersMap().get(item.authorId)?.name ?? '') | mlvColorFromText\"\n />\n }\n <div class=\"mlv-chat__bubbles\">\n @for (rendered of item.messages; track rendered.message.id) {\n <article\n class=\"mlv-chat__item\"\n [class.mlv-chat__item--enter]=\"_liveIds().has(rendered.message.id)\"\n animate.leave=\"mlv-chat__item--leave\"\n [attr.aria-label]=\"_messageLabel(rendered.message, item.own)\"\n >\n <mlv-chat-message\n [message]=\"rendered.message\"\n [own]=\"item.own\"\n [groupPosition]=\"rendered.position\"\n (retry)=\"retry.emit(rendered.message)\"\n (mediaClick)=\"mediaClick.emit({ message: rendered.message, attachment: $event })\"\n (replyClick)=\"replyClick.emit({ message: rendered.message, replyTo: $event })\"\n />\n </article>\n }\n </div>\n </div>\n </div>\n } } } @if (_typingUserObjects().length) {\n <mlv-chat-typing class=\"mlv-chat__typing\" [users]=\"_typingUserObjects()\" />\n } }\n </div>\n</mlv-scrollbar>\n@if (!_pinned() && _newCount() > 0) {\n<button\n type=\"button\"\n class=\"mlv-chat__pill\"\n (click)=\"_scrollToBottom('smooth')\"\n>\n {{ _i18n().newMessages | mlvTranslate: { count: _newCount() } }}\n</button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, Renderer2, HostAttributeToken, input, signal, computed, afterNextRender, model, viewChild, isDevMode, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChildren } from '@angular/core';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { MlvSignalCheckboxControlBase, MLV_FORM_CONTROL, MlvFocusableGroupBase, MlvLabel } from '@malva-ui/core/form-utils';
5
+ import { LucideCheck, LucideMinus } from '@lucide/angular';
6
+
7
+ const CHECKBOX_GROUP = new InjectionToken('CHECKBOX_GROUP');
8
+
9
+ class MlvCheckbox extends MlvSignalCheckboxControlBase {
10
+ /** @private Optional parent checkbox group used for roving-focus coordination. */
11
+ _group = inject(CHECKBOX_GROUP, {
12
+ optional: true,
13
+ });
14
+ /** @private Host element reference, used to strip the moved ARIA attributes. */
15
+ _elementRef = inject((ElementRef));
16
+ /** @private Renderer used to imperatively remove host ARIA attributes. */
17
+ _renderer = inject(Renderer2);
18
+ /**
19
+ * @private The `aria-label` a consumer placed directly on the `<mlv-checkbox>`
20
+ * host, captured before host bindings run. The host is role-less, so ARIA
21
+ * prohibits an `aria-label` there (axe `aria-prohibited-attr`); it is moved to
22
+ * the inner `<input type="checkbox">` instead (see the constructor).
23
+ */
24
+ _hostAriaLabel = inject(new HostAttributeToken('aria-label'), { optional: true });
25
+ /**
26
+ * @private The `aria-labelledby` a consumer placed directly on the
27
+ * `<mlv-checkbox>` host, captured before host bindings run. Moved to the inner
28
+ * input for the same reason as {@link _hostAriaLabel}.
29
+ */
30
+ _hostAriaLabelledBy = inject(new HostAttributeToken('aria-labelledby'), { optional: true });
31
+ /**
32
+ * Id reference(s) naming the inner native input (`aria-labelledby`). Use this
33
+ * input (not a host `[attr.aria-labelledby]` binding) when the reference is
34
+ * dynamic — the role-less host must not carry ARIA naming attributes
35
+ * (axe `aria-prohibited-attr`). A static host `aria-labelledby` attribute is
36
+ * also supported and forwarded automatically (see the constructor); this
37
+ * input takes precedence when both are present.
38
+ *
39
+ * The inherited `ariaLabel` input behaves the same way for `aria-label`.
40
+ */
41
+ ariaLabelledBy = input(undefined, /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
43
+ /**
44
+ * @internal The accessible name forwarded onto the native input, sourced from a
45
+ * host `aria-label`. `null` when the consumer supplied none, so no empty
46
+ * `aria-label` is emitted on the input.
47
+ */
48
+ _ariaLabel = signal(null, /* @ts-ignore */
49
+ ...(ngDevMode ? [{ debugName: "_ariaLabel" }] : /* istanbul ignore next */ []));
50
+ /**
51
+ * @internal The `aria-labelledby` forwarded onto the native input, sourced from
52
+ * a host `aria-labelledby`. `null` when the consumer supplied none.
53
+ */
54
+ _ariaLabelledBy = signal(null, /* @ts-ignore */
55
+ ...(ngDevMode ? [{ debugName: "_ariaLabelledBy" }] : /* istanbul ignore next */ []));
56
+ /**
57
+ * @internal The final `aria-label` for the native input: the `ariaLabel` input
58
+ * wins over a captured static host attribute; `null` emits no attribute.
59
+ */
60
+ _resolvedAriaLabel = computed(() => this.ariaLabel() ?? this._ariaLabel(), /* @ts-ignore */
61
+ ...(ngDevMode ? [{ debugName: "_resolvedAriaLabel" }] : /* istanbul ignore next */ []));
62
+ /**
63
+ * @internal The final `aria-labelledby` for the native input, with the same
64
+ * precedence as {@link _resolvedAriaLabel}.
65
+ */
66
+ _resolvedAriaLabelledBy = computed(() => this.ariaLabelledBy() ?? this._ariaLabelledBy(), /* @ts-ignore */
67
+ ...(ngDevMode ? [{ debugName: "_resolvedAriaLabelledBy" }] : /* istanbul ignore next */ []));
68
+ constructor() {
69
+ super();
70
+ // A host `aria-label`/`aria-labelledby` lands on the role-less custom
71
+ // element (axe `aria-prohibited-attr`). Move it onto the inner input — the
72
+ // component's real accessible-name target — and strip it from the host.
73
+ const host = this._elementRef.nativeElement;
74
+ if (this._hostAriaLabel !== null) {
75
+ this._ariaLabel.set(this._hostAriaLabel);
76
+ this._renderer.removeAttribute(host, 'aria-label');
77
+ }
78
+ if (this._hostAriaLabelledBy !== null) {
79
+ this._ariaLabelledBy.set(this._hostAriaLabelledBy);
80
+ this._renderer.removeAttribute(host, 'aria-labelledby');
81
+ }
82
+ afterNextRender(() => this._warnWhenUnlabelled());
83
+ }
84
+ /**
85
+ * The checked state — the signal-forms `FormCheckboxControl` model. Two-way
86
+ * bindable (`[(checked)]`) and kept in sync with the bound field by
87
+ * `[formField]` / `[formControl]` / `ngModel`. The `FormCheckboxControl`
88
+ * contract forbids a sibling `value` member, so the previous group-membership
89
+ * `value` input was removed in the signal-forms cutover.
90
+ */
91
+ checked = model(false, /* @ts-ignore */
92
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
93
+ /** Renders mixed-state visuals (minus icon). */
94
+ indeterminate = input(false, { ...(ngDevMode ? { debugName: "indeterminate" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
95
+ /**
96
+ * When `false`, forces the native input out of the tab order (`tabindex="-1"`)
97
+ * regardless of group roving state. Composite parents that own a single tab
98
+ * stop — e.g. `mlv-tree` multi-select rows or `mlv-data-table` rows — set
99
+ * `[tabbable]="false"` so the checkbox does not add an extra tab stop while
100
+ * remaining operable via the row (Space) and the mouse.
101
+ */
102
+ tabbable = input(true, { ...(ngDevMode ? { debugName: "tabbable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
103
+ inputId = this.id();
104
+ /**
105
+ * Roving tabindex applied to the native checkbox input — the single focus
106
+ * target. `0` for the tabbable checkbox, `-1` for the rest of a group.
107
+ * Managed by `MlvCheckboxGroup`.
108
+ */
109
+ tabIndex = signal(0, /* @ts-ignore */
110
+ ...(ngDevMode ? [{ debugName: "tabIndex" }] : /* istanbul ignore next */ []));
111
+ /** @internal Effective tabindex on the native input, gated by `tabbable`. */
112
+ _resolvedTabIndex = computed(() => this.tabbable() ? this.tabIndex() : -1, /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "_resolvedTabIndex" }] : /* istanbul ignore next */ []));
114
+ /**
115
+ * @private Reference to the visually-hidden native input, which is the
116
+ * component's focus target (kept in the a11y tree via the clip-path pattern).
117
+ */
118
+ _nativeInput = viewChild.required('nativeInput', /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "_nativeInput" }] : /* istanbul ignore next */ []));
120
+ /**
121
+ * Moves focus to the native checkbox input. Satisfies CDK `FocusableOption`
122
+ * so `MlvCheckboxGroup`'s `FocusKeyManager` focuses the input, not the host.
123
+ */
124
+ focus() {
125
+ this._nativeInput().nativeElement.focus();
126
+ }
127
+ /** @internal Notifies the parent group when the native input gains focus. */
128
+ onFocus() {
129
+ this._group?.onChildFocus(this);
130
+ }
131
+ /**
132
+ * Reflects the native `change` event (Space / click): the `checked` model
133
+ * emits, propagating to the bound field. Touched is reported on blur (see
134
+ * {@link onBlur}), matching the signal-forms `touch` contract.
135
+ */
136
+ onInputChange(event) {
137
+ const target = event.target;
138
+ this.checked.set(target.checked);
139
+ }
140
+ /** Toggles the checked state from an Enter keypress on the native input. */
141
+ toggle(event) {
142
+ event.preventDefault();
143
+ if (this.computedDisabled())
144
+ return;
145
+ this.checked.set(!this.checked());
146
+ }
147
+ /**
148
+ * @internal Marks the control touched when focus leaves the native input —
149
+ * the signal-forms `touch` output replacing the CVA `onTouched` callback.
150
+ */
151
+ onBlur() {
152
+ this._markTouched();
153
+ }
154
+ /** Whether the control holds a clearable value — Checked state counts as the clearable value (clear unchecks). */
155
+ hasValue = computed(() => this.checked(), /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
157
+ /**
158
+ * @private The wrapper around the projected content, used once after the
159
+ * first render to tell whether the consumer supplied visible text.
160
+ */
161
+ _contentRef = viewChild.required('content', /* @ts-ignore */
162
+ ...(ngDevMode ? [{ debugName: "_contentRef" }] : /* istanbul ignore next */ []));
163
+ /**
164
+ * @private Dev-mode diagnostic: a checkbox with no projected text, no
165
+ * `label` and no ARIA naming has no accessible name at all. CSS decides which
166
+ * of the two visible sources renders, so this only reports the empty case.
167
+ */
168
+ _warnWhenUnlabelled() {
169
+ if (!isDevMode())
170
+ return;
171
+ const hasProjectedText = (this._contentRef().nativeElement.textContent ?? '').trim().length > 0;
172
+ if (hasProjectedText ||
173
+ this.label() ||
174
+ this._resolvedAriaLabel() ||
175
+ this._resolvedAriaLabelledBy()) {
176
+ return;
177
+ }
178
+ console.warn('[mlv-checkbox] Rendered without an accessible name. Project text into ' +
179
+ '<mlv-checkbox>, or set [label], [ariaLabel] or [ariaLabelledBy].');
180
+ }
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvCheckbox, isStandalone: true, selector: "mlv-checkbox", inputs: { ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, tabbable: { classPropertyName: "tabbable", publicName: "tabbable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { properties: { "class.mlv-checkbox--disabled": "computedDisabled()", "class.mlv-checkbox--checked": "checked()", "class.mlv-checkbox--indeterminate": "indeterminate()" }, classAttribute: "mlv-checkbox" }, providers: [
183
+ {
184
+ provide: MLV_FORM_CONTROL,
185
+ useExisting: forwardRef(() => MlvCheckbox),
186
+ },
187
+ ], viewQueries: [{ propertyName: "_nativeInput", first: true, predicate: ["nativeInput"], descendants: true, isSignal: true }, { propertyName: "_contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"mlv-checkbox__label\" [for]=\"inputId\">\n <input\n #nativeInput\n type=\"checkbox\"\n class=\"mlv-checkbox__native\"\n [id]=\"inputId\"\n [checked]=\"checked()\"\n [disabled]=\"computedDisabled()\"\n [indeterminate]=\"indeterminate()\"\n [attr.tabindex]=\"_resolvedTabIndex()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-labelledby]=\"_resolvedAriaLabelledBy()\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown.enter)=\"toggle($event)\"\n />\n <span\n class=\"mlv-checkbox__visual\"\n [class]=\"'mlv-checkbox__visual--' + state()\"\n aria-hidden=\"true\"\n >\n @if (!indeterminate()) {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideCheck />\n } @else {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideMinus />\n }\n </span>\n <span class=\"mlv-checkbox__text\">\n <!-- Projected text wins; the `label` fallback next to it is hidden by CSS\n whenever this span is non-empty, which also keeps it out of the\n accessible name computed from the wrapping <label>. -->\n <span #content class=\"mlv-checkbox__content\"><ng-content /></span>\n @if (label()) {\n <span class=\"mlv-checkbox__label-text\">{{ label() }}</span>\n }\n </span>\n</label>\n", styles: ["@layer mlv.components{.mlv-checkbox{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-checkbox *{box-sizing:border-box}.mlv-checkbox{color:var(--mlv-text-primary);display:inline-block;--check-opacity: 0;--check-transform: scale(.7) rotate(15deg);--check-background: var(--mlv-elevation-bg-2);--check-border-color: var(--mlv-border-normal);outline:none}[class*=--tight] .mlv-checkbox:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-checkbox[class*=--tight]{font-size:var(--mlv-font-size-s)}[class*=--compact] .mlv-checkbox:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-checkbox[class*=--compact]{font-size:var(--mlv-font-size-m)}[class*=--spacious] .mlv-checkbox:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-checkbox[class*=--spacious]{font-size:var(--mlv-font-size-l)}[class*=--airy] .mlv-checkbox:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-checkbox[class*=--airy]{font-size:var(--mlv-font-size-xl)}.mlv-checkbox__native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.mlv-checkbox__native:focus-visible+.mlv-checkbox__visual{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}.mlv-checkbox:hover:not(.mlv-checkbox--checked){--check-border-color: var(--mlv-border-strong)}.mlv-checkbox__label{display:inline-flex;align-items:center;gap:var(--mlv-spacing-1);cursor:pointer}.mlv-checkbox__visual{background-color:var(--check-background);display:block;width:1.5rem;height:1.5rem;border-radius:var(--mlv-radius-s);border:.125rem solid var(--check-border-color);transition:all var(--mlv-duration-normal) var(--mlv-ease-default);transition-property:background-color,border-color,box-shadow}.mlv-checkbox__check{color:var(--mlv-text-primary-on-accent-1);opacity:var(--check-opacity);transform:var(--check-transform);transition:all var(--mlv-duration-normal) var(--mlv-ease-default);transition-property:opacity,transform}.mlv-checkbox--checked{--check-background: var(--mlv-background-accent-1);--check-border-color: var(--mlv-background-accent-1);--check-opacity: 1;--check-transform: scale(1)}.mlv-checkbox__content:not(:empty)+.mlv-checkbox__label-text{display:none}.mlv-checkbox--disabled{pointer-events:none;cursor:not-allowed;opacity:var(--mlv-disabled-opacity)}@media(prefers-reduced-motion:reduce){.mlv-checkbox,.mlv-checkbox *,.mlv-checkbox:before,.mlv-checkbox:after,[class^=mlv-checkbox__],[class*=\" mlv-checkbox__\"],[class^=mlv-checkbox--],[class*=\" mlv-checkbox--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"], dependencies: [{ kind: "component", type: LucideCheck, selector: "svg[lucideCheck]" }, { kind: "component", type: LucideMinus, selector: "svg[lucideMinus]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCheckbox, decorators: [{
190
+ type: Component,
191
+ args: [{ selector: 'mlv-checkbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
192
+ {
193
+ provide: MLV_FORM_CONTROL,
194
+ useExisting: forwardRef(() => MlvCheckbox),
195
+ },
196
+ ], host: {
197
+ class: 'mlv-checkbox',
198
+ '[class.mlv-checkbox--disabled]': 'computedDisabled()',
199
+ '[class.mlv-checkbox--checked]': 'checked()',
200
+ '[class.mlv-checkbox--indeterminate]': 'indeterminate()',
201
+ }, imports: [LucideCheck, LucideMinus], template: "<label class=\"mlv-checkbox__label\" [for]=\"inputId\">\n <input\n #nativeInput\n type=\"checkbox\"\n class=\"mlv-checkbox__native\"\n [id]=\"inputId\"\n [checked]=\"checked()\"\n [disabled]=\"computedDisabled()\"\n [indeterminate]=\"indeterminate()\"\n [attr.tabindex]=\"_resolvedTabIndex()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-labelledby]=\"_resolvedAriaLabelledBy()\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown.enter)=\"toggle($event)\"\n />\n <span\n class=\"mlv-checkbox__visual\"\n [class]=\"'mlv-checkbox__visual--' + state()\"\n aria-hidden=\"true\"\n >\n @if (!indeterminate()) {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideCheck />\n } @else {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideMinus />\n }\n </span>\n <span class=\"mlv-checkbox__text\">\n <!-- Projected text wins; the `label` fallback next to it is hidden by CSS\n whenever this span is non-empty, which also keeps it out of the\n accessible name computed from the wrapping <label>. -->\n <span #content class=\"mlv-checkbox__content\"><ng-content /></span>\n @if (label()) {\n <span class=\"mlv-checkbox__label-text\">{{ label() }}</span>\n }\n </span>\n</label>\n", styles: ["@layer mlv.components{.mlv-checkbox{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-checkbox *{box-sizing:border-box}.mlv-checkbox{color:var(--mlv-text-primary);display:inline-block;--check-opacity: 0;--check-transform: scale(.7) rotate(15deg);--check-background: var(--mlv-elevation-bg-2);--check-border-color: var(--mlv-border-normal);outline:none}[class*=--tight] .mlv-checkbox:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-checkbox[class*=--tight]{font-size:var(--mlv-font-size-s)}[class*=--compact] .mlv-checkbox:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-checkbox[class*=--compact]{font-size:var(--mlv-font-size-m)}[class*=--spacious] .mlv-checkbox:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-checkbox[class*=--spacious]{font-size:var(--mlv-font-size-l)}[class*=--airy] .mlv-checkbox:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-checkbox[class*=--airy]{font-size:var(--mlv-font-size-xl)}.mlv-checkbox__native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.mlv-checkbox__native:focus-visible+.mlv-checkbox__visual{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}.mlv-checkbox:hover:not(.mlv-checkbox--checked){--check-border-color: var(--mlv-border-strong)}.mlv-checkbox__label{display:inline-flex;align-items:center;gap:var(--mlv-spacing-1);cursor:pointer}.mlv-checkbox__visual{background-color:var(--check-background);display:block;width:1.5rem;height:1.5rem;border-radius:var(--mlv-radius-s);border:.125rem solid var(--check-border-color);transition:all var(--mlv-duration-normal) var(--mlv-ease-default);transition-property:background-color,border-color,box-shadow}.mlv-checkbox__check{color:var(--mlv-text-primary-on-accent-1);opacity:var(--check-opacity);transform:var(--check-transform);transition:all var(--mlv-duration-normal) var(--mlv-ease-default);transition-property:opacity,transform}.mlv-checkbox--checked{--check-background: var(--mlv-background-accent-1);--check-border-color: var(--mlv-background-accent-1);--check-opacity: 1;--check-transform: scale(1)}.mlv-checkbox__content:not(:empty)+.mlv-checkbox__label-text{display:none}.mlv-checkbox--disabled{pointer-events:none;cursor:not-allowed;opacity:var(--mlv-disabled-opacity)}@media(prefers-reduced-motion:reduce){.mlv-checkbox,.mlv-checkbox *,.mlv-checkbox:before,.mlv-checkbox:after,[class^=mlv-checkbox__],[class*=\" mlv-checkbox__\"],[class^=mlv-checkbox--],[class*=\" mlv-checkbox--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"] }]
202
+ }], ctorParameters: () => [], propDecorators: { ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], tabbable: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabbable", required: false }] }], _nativeInput: [{ type: i0.ViewChild, args: ['nativeInput', { isSignal: true }] }], _contentRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
203
+
204
+ class MlvCheckboxGroup extends MlvFocusableGroupBase {
205
+ /** Accessible label for the group, rendered above the checkboxes. */
206
+ label = input('', /* @ts-ignore */
207
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
208
+ /** Visual/validation state applied to the group. */
209
+ state = input('default', /* @ts-ignore */
210
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
211
+ /**
212
+ * @protected The projected checkboxes in DOM order — drives the shared
213
+ * roving-tabindex arrow navigation from {@link MlvFocusableGroupBase}.
214
+ */
215
+ _items = contentChildren(MlvCheckbox, /* @ts-ignore */
216
+ ...(ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []));
217
+ /** @protected Skips disabled checkboxes during arrow navigation. */
218
+ _isDisabled(checkbox) {
219
+ return checkbox.computedDisabled();
220
+ }
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCheckboxGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvCheckboxGroup, isStandalone: true, selector: "mlv-checkbox-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
223
+ {
224
+ provide: CHECKBOX_GROUP,
225
+ useExisting: forwardRef(() => MlvCheckboxGroup),
226
+ },
227
+ ], queries: [{ propertyName: "_items", predicate: MlvCheckbox, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
228
+ <div
229
+ class="mlv-checkbox-group"
230
+ role="group"
231
+ [attr.aria-label]="label()"
232
+ (keydown)="onKeydown($event)"
233
+ >
234
+ @if (label()) {
235
+ <mlv-label>
236
+ {{ label() }}
237
+ </mlv-label>
238
+ }
239
+ <ng-content />
240
+ </div>
241
+ `, isInline: true, styles: ["@layer mlv.components{.mlv-checkbox-group{display:flex;flex-direction:column;gap:.5rem}}\n"], dependencies: [{ kind: "component", type: MlvLabel, selector: "mlv-label", inputs: ["for", "required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvCheckboxGroup, decorators: [{
244
+ type: Component,
245
+ args: [{ selector: 'mlv-checkbox-group', template: `
246
+ <div
247
+ class="mlv-checkbox-group"
248
+ role="group"
249
+ [attr.aria-label]="label()"
250
+ (keydown)="onKeydown($event)"
251
+ >
252
+ @if (label()) {
253
+ <mlv-label>
254
+ {{ label() }}
255
+ </mlv-label>
256
+ }
257
+ <ng-content />
258
+ </div>
259
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
260
+ {
261
+ provide: CHECKBOX_GROUP,
262
+ useExisting: forwardRef(() => MlvCheckboxGroup),
263
+ },
264
+ ], imports: [MlvLabel], styles: ["@layer mlv.components{.mlv-checkbox-group{display:flex;flex-direction:column;gap:.5rem}}\n"] }]
265
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], _items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => MlvCheckbox), { isSignal: true }] }] } });
266
+
267
+ /**
268
+ * Generated bundle index. Do not edit.
269
+ */
270
+
271
+ export { CHECKBOX_GROUP, MlvCheckbox, MlvCheckboxGroup };
272
+ //# sourceMappingURL=malva-ui-core-checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-checkbox.mjs","sources":["../../../../libs/core/checkbox/src/lib/checkbox-group-token.ts","../../../../libs/core/checkbox/src/lib/checkbox/checkbox.ts","../../../../libs/core/checkbox/src/lib/checkbox/checkbox.html","../../../../libs/core/checkbox/src/lib/checkbox-group/checkbox-group.ts","../../../../libs/core/checkbox/src/malva-ui-core-checkbox.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { MlvCheckbox } from './checkbox/checkbox';\n\nexport interface MlvCheckboxGroupAccessor {\n onChildFocus(checkbox: MlvCheckbox): void;\n}\n\nexport const CHECKBOX_GROUP = new InjectionToken<MlvCheckboxGroupAccessor>(\n 'CHECKBOX_GROUP',\n);\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n isDevMode,\n model,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport type { MlvFormState, MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvSignalCheckboxControlBase,\n MLV_FORM_CONTROL,\n} from '@malva-ui/core/form-utils';\nimport { LucideCheck, LucideMinus } from '@lucide/angular';\nimport type { MlvCheckboxGroupAccessor } from '../checkbox-group-token';\nimport { CHECKBOX_GROUP } from '../checkbox-group-token';\n\n/**\n * Visual/validation state of the checkbox. Mirrors {@link MlvFormState}.\n */\nexport type MlvCheckboxState = MlvFormState;\n\n@Component({\n selector: 'mlv-checkbox',\n templateUrl: './checkbox.html',\n styleUrl: './checkbox.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvCheckbox),\n },\n ],\n host: {\n class: 'mlv-checkbox',\n '[class.mlv-checkbox--disabled]': 'computedDisabled()',\n '[class.mlv-checkbox--checked]': 'checked()',\n '[class.mlv-checkbox--indeterminate]': 'indeterminate()',\n },\n imports: [LucideCheck, LucideMinus],\n})\nexport class MlvCheckbox\n extends MlvSignalCheckboxControlBase\n implements MlvFormControl\n{\n /** @private Optional parent checkbox group used for roving-focus coordination. */\n private readonly _group = inject<MlvCheckboxGroupAccessor>(CHECKBOX_GROUP, {\n optional: true,\n });\n\n /** @private Host element reference, used to strip the moved ARIA attributes. */\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n /** @private Renderer used to imperatively remove host ARIA attributes. */\n private readonly _renderer = inject(Renderer2);\n\n /**\n * @private The `aria-label` a consumer placed directly on the `<mlv-checkbox>`\n * host, captured before host bindings run. The host is role-less, so ARIA\n * prohibits an `aria-label` there (axe `aria-prohibited-attr`); it is moved to\n * the inner `<input type=\"checkbox\">` instead (see the constructor).\n */\n private readonly _hostAriaLabel = inject(\n new HostAttributeToken('aria-label'),\n { optional: true },\n );\n\n /**\n * @private The `aria-labelledby` a consumer placed directly on the\n * `<mlv-checkbox>` host, captured before host bindings run. Moved to the inner\n * input for the same reason as {@link _hostAriaLabel}.\n */\n private readonly _hostAriaLabelledBy = inject(\n new HostAttributeToken('aria-labelledby'),\n { optional: true },\n );\n\n /**\n * Id reference(s) naming the inner native input (`aria-labelledby`). Use this\n * input (not a host `[attr.aria-labelledby]` binding) when the reference is\n * dynamic — the role-less host must not carry ARIA naming attributes\n * (axe `aria-prohibited-attr`). A static host `aria-labelledby` attribute is\n * also supported and forwarded automatically (see the constructor); this\n * input takes precedence when both are present.\n *\n * The inherited `ariaLabel` input behaves the same way for `aria-label`.\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined);\n\n /**\n * @internal The accessible name forwarded onto the native input, sourced from a\n * host `aria-label`. `null` when the consumer supplied none, so no empty\n * `aria-label` is emitted on the input.\n */\n readonly _ariaLabel = signal<string | null>(null);\n\n /**\n * @internal The `aria-labelledby` forwarded onto the native input, sourced from\n * a host `aria-labelledby`. `null` when the consumer supplied none.\n */\n readonly _ariaLabelledBy = signal<string | null>(null);\n\n /**\n * @internal The final `aria-label` for the native input: the `ariaLabel` input\n * wins over a captured static host attribute; `null` emits no attribute.\n */\n readonly _resolvedAriaLabel = computed(\n () => this.ariaLabel() ?? this._ariaLabel(),\n );\n\n /**\n * @internal The final `aria-labelledby` for the native input, with the same\n * precedence as {@link _resolvedAriaLabel}.\n */\n readonly _resolvedAriaLabelledBy = computed(\n () => this.ariaLabelledBy() ?? this._ariaLabelledBy(),\n );\n\n constructor() {\n super();\n // A host `aria-label`/`aria-labelledby` lands on the role-less custom\n // element (axe `aria-prohibited-attr`). Move it onto the inner input — the\n // component's real accessible-name target — and strip it from the host.\n const host = this._elementRef.nativeElement;\n if (this._hostAriaLabel !== null) {\n this._ariaLabel.set(this._hostAriaLabel);\n this._renderer.removeAttribute(host, 'aria-label');\n }\n if (this._hostAriaLabelledBy !== null) {\n this._ariaLabelledBy.set(this._hostAriaLabelledBy);\n this._renderer.removeAttribute(host, 'aria-labelledby');\n }\n\n afterNextRender(() => this._warnWhenUnlabelled());\n }\n\n /**\n * The checked state — the signal-forms `FormCheckboxControl` model. Two-way\n * bindable (`[(checked)]`) and kept in sync with the bound field by\n * `[formField]` / `[formControl]` / `ngModel`. The `FormCheckboxControl`\n * contract forbids a sibling `value` member, so the previous group-membership\n * `value` input was removed in the signal-forms cutover.\n */\n readonly checked = model(false);\n\n /** Renders mixed-state visuals (minus icon). */\n readonly indeterminate = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * When `false`, forces the native input out of the tab order (`tabindex=\"-1\"`)\n * regardless of group roving state. Composite parents that own a single tab\n * stop — e.g. `mlv-tree` multi-select rows or `mlv-data-table` rows — set\n * `[tabbable]=\"false\"` so the checkbox does not add an extra tab stop while\n * remaining operable via the row (Space) and the mouse.\n */\n readonly tabbable = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n readonly inputId = this.id();\n\n /**\n * Roving tabindex applied to the native checkbox input — the single focus\n * target. `0` for the tabbable checkbox, `-1` for the rest of a group.\n * Managed by `MlvCheckboxGroup`.\n */\n readonly tabIndex = signal(0);\n\n /** @internal Effective tabindex on the native input, gated by `tabbable`. */\n readonly _resolvedTabIndex = computed(() =>\n this.tabbable() ? this.tabIndex() : -1,\n );\n\n /**\n * @private Reference to the visually-hidden native input, which is the\n * component's focus target (kept in the a11y tree via the clip-path pattern).\n */\n private readonly _nativeInput =\n viewChild.required<ElementRef<HTMLInputElement>>('nativeInput');\n\n /**\n * Moves focus to the native checkbox input. Satisfies CDK `FocusableOption`\n * so `MlvCheckboxGroup`'s `FocusKeyManager` focuses the input, not the host.\n */\n focus(): void {\n this._nativeInput().nativeElement.focus();\n }\n\n /** @internal Notifies the parent group when the native input gains focus. */\n onFocus(): void {\n this._group?.onChildFocus(this);\n }\n\n /**\n * Reflects the native `change` event (Space / click): the `checked` model\n * emits, propagating to the bound field. Touched is reported on blur (see\n * {@link onBlur}), matching the signal-forms `touch` contract.\n */\n onInputChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.checked.set(target.checked);\n }\n\n /** Toggles the checked state from an Enter keypress on the native input. */\n toggle(event: Event): void {\n event.preventDefault();\n if (this.computedDisabled()) return;\n this.checked.set(!this.checked());\n }\n\n /**\n * @internal Marks the control touched when focus leaves the native input —\n * the signal-forms `touch` output replacing the CVA `onTouched` callback.\n */\n onBlur(): void {\n this._markTouched();\n }\n\n /** Whether the control holds a clearable value — Checked state counts as the clearable value (clear unchecks). */\n readonly hasValue = computed(() => this.checked());\n\n /**\n * @private The wrapper around the projected content, used once after the\n * first render to tell whether the consumer supplied visible text.\n */\n private readonly _contentRef =\n viewChild.required<ElementRef<HTMLElement>>('content');\n\n /**\n * @private Dev-mode diagnostic: a checkbox with no projected text, no\n * `label` and no ARIA naming has no accessible name at all. CSS decides which\n * of the two visible sources renders, so this only reports the empty case.\n */\n private _warnWhenUnlabelled(): void {\n if (!isDevMode()) return;\n const hasProjectedText =\n (this._contentRef().nativeElement.textContent ?? '').trim().length > 0;\n if (\n hasProjectedText ||\n this.label() ||\n this._resolvedAriaLabel() ||\n this._resolvedAriaLabelledBy()\n ) {\n return;\n }\n console.warn(\n '[mlv-checkbox] Rendered without an accessible name. Project text into ' +\n '<mlv-checkbox>, or set [label], [ariaLabel] or [ariaLabelledBy].',\n );\n }\n}\n","<label class=\"mlv-checkbox__label\" [for]=\"inputId\">\n <input\n #nativeInput\n type=\"checkbox\"\n class=\"mlv-checkbox__native\"\n [id]=\"inputId\"\n [checked]=\"checked()\"\n [disabled]=\"computedDisabled()\"\n [indeterminate]=\"indeterminate()\"\n [attr.tabindex]=\"_resolvedTabIndex()\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-labelledby]=\"_resolvedAriaLabelledBy()\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown.enter)=\"toggle($event)\"\n />\n <span\n class=\"mlv-checkbox__visual\"\n [class]=\"'mlv-checkbox__visual--' + state()\"\n aria-hidden=\"true\"\n >\n @if (!indeterminate()) {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideCheck />\n } @else {\n <svg size=\"20\" class=\"mlv-checkbox__check\" lucideMinus />\n }\n </span>\n <span class=\"mlv-checkbox__text\">\n <!-- Projected text wins; the `label` fallback next to it is hidden by CSS\n whenever this span is non-empty, which also keeps it out of the\n accessible name computed from the wrapping <label>. -->\n <span #content class=\"mlv-checkbox__content\"><ng-content /></span>\n @if (label()) {\n <span class=\"mlv-checkbox__label-text\">{{ label() }}</span>\n }\n </span>\n</label>\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n forwardRef,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MlvCheckbox } from '../checkbox/checkbox';\nimport type { MlvCheckboxGroupAccessor } from '../checkbox-group-token';\nimport { CHECKBOX_GROUP } from '../checkbox-group-token';\nimport type { MlvFormState } from '@malva-ui/core/form-utils';\nimport { MlvLabel, MlvFocusableGroupBase } from '@malva-ui/core/form-utils';\n\n/**\n * Visual/validation state of the checkbox group. Mirrors {@link MlvFormState}.\n */\nexport type MlvCheckboxGroupState = MlvFormState;\n\n@Component({\n selector: 'mlv-checkbox-group',\n template: `\n <div\n class=\"mlv-checkbox-group\"\n role=\"group\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onKeydown($event)\"\n >\n @if (label()) {\n <mlv-label>\n {{ label() }}\n </mlv-label>\n }\n <ng-content />\n </div>\n `,\n styleUrl: './checkbox-group.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: CHECKBOX_GROUP,\n useExisting: forwardRef(() => MlvCheckboxGroup),\n },\n ],\n imports: [MlvLabel],\n})\nexport class MlvCheckboxGroup\n extends MlvFocusableGroupBase<MlvCheckbox>\n implements MlvCheckboxGroupAccessor\n{\n /** Accessible label for the group, rendered above the checkboxes. */\n readonly label = input('');\n\n /** Visual/validation state applied to the group. */\n readonly state = input<MlvCheckboxGroupState>('default');\n\n /**\n * @protected The projected checkboxes in DOM order — drives the shared\n * roving-tabindex arrow navigation from {@link MlvFocusableGroupBase}.\n */\n protected readonly _items = contentChildren(MlvCheckbox);\n\n /** @protected Skips disabled checkboxes during arrow navigation. */\n protected _isDisabled(checkbox: MlvCheckbox): boolean {\n return checkbox.computedDisabled();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}