@malva-ui/core 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1619) hide show
  1. package/AGENTS.md +4 -1
  2. package/LICENSE +21 -0
  3. package/README.md +69 -3
  4. package/docs/ai/avatar.md +2 -0
  5. package/docs/ai/breadcrumb.md +67 -7
  6. package/docs/ai/button.md +74 -19
  7. package/docs/ai/card.md +8 -6
  8. package/docs/ai/chat.md +59 -45
  9. package/docs/ai/checkbox.md +12 -0
  10. package/docs/ai/combobox.md +18 -2
  11. package/docs/ai/copy-to-clipboard.md +1 -1
  12. package/docs/ai/core.md +15 -0
  13. package/docs/ai/data-table.md +89 -54
  14. package/docs/ai/dialog.md +76 -67
  15. package/docs/ai/drawer.md +15 -12
  16. package/docs/ai/dropdown.md +24 -19
  17. package/docs/ai/empty-state.md +3 -3
  18. package/docs/ai/filter.md +24 -5
  19. package/docs/ai/form-utils.md +160 -5
  20. package/docs/ai/icon-toggle.md +160 -0
  21. package/docs/ai/input.md +30 -0
  22. package/docs/ai/layout.md +23 -0
  23. package/docs/ai/list.md +10 -6
  24. package/docs/ai/menu.md +75 -1
  25. package/docs/ai/page.md +220 -60
  26. package/docs/ai/radio.md +9 -0
  27. package/docs/ai/scrollbar.md +30 -8
  28. package/docs/ai/segmented.md +35 -35
  29. package/docs/ai/select.md +30 -5
  30. package/docs/ai/sidebar.md +45 -27
  31. package/docs/ai/switch.md +114 -19
  32. package/docs/ai/table.md +69 -0
  33. package/docs/ai/tabs.md +2 -1
  34. package/docs/ai/tile.md +311 -85
  35. package/docs/ai/timeline.md +63 -39
  36. package/docs/ai/tokenizer.md +21 -5
  37. package/docs/ai/tooltip.md +5 -5
  38. package/docs/ai/view-variant.md +75 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  40. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  42. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  43. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  44. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  46. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  48. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  50. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  51. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  52. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  54. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  56. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  57. package/fesm2022/malva-ui-core-button.mjs +406 -0
  58. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  60. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  61. package/fesm2022/malva-ui-core-card.mjs +164 -0
  62. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  63. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  64. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  66. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  67. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  68. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  70. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  72. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  74. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  76. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  78. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  80. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  82. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  84. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  85. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  86. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  88. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  90. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  92. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  94. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  95. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  96. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  98. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  99. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  100. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  102. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  104. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  105. package/fesm2022/malva-ui-core-form.mjs +283 -0
  106. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  108. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  109. package/fesm2022/malva-ui-core-input.mjs +375 -0
  110. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  112. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  113. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  114. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  115. package/fesm2022/malva-ui-core-link.mjs +89 -0
  116. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  117. package/fesm2022/malva-ui-core-list.mjs +413 -0
  118. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  119. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  120. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  121. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  122. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  123. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  124. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  126. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  127. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  128. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  130. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  132. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  133. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  134. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  135. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  136. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  137. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  138. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  139. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  140. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  142. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  144. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  146. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  147. package/fesm2022/malva-ui-core-select.mjs +855 -0
  148. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  150. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  152. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  153. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  154. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  156. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  158. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  160. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  161. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  162. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  163. package/fesm2022/malva-ui-core-table.mjs +79 -0
  164. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  166. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  168. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  169. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  170. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  172. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  174. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  175. package/fesm2022/malva-ui-core-title.mjs +178 -0
  176. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  177. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  178. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  180. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  182. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  184. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  185. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  186. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  188. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  189. package/fesm2022/malva-ui-core.mjs +77 -0
  190. package/fesm2022/malva-ui-core.mjs.map +1 -0
  191. package/package.json +195 -156
  192. package/styles/malva-ui.css +253 -220
  193. package/styles/tokens.md +174 -173
  194. package/table/README.md +46 -0
  195. package/types/malva-ui-core-accordion.d.ts +121 -0
  196. package/types/malva-ui-core-action-bar.d.ts +82 -0
  197. package/types/malva-ui-core-alert.d.ts +131 -0
  198. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  199. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  200. package/types/malva-ui-core-avatar.d.ts +156 -0
  201. package/types/malva-ui-core-badge.d.ts +97 -0
  202. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  203. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  204. package/types/malva-ui-core-button.d.ts +194 -0
  205. package/types/malva-ui-core-calendar.d.ts +339 -0
  206. package/types/malva-ui-core-card.d.ts +88 -0
  207. package/types/malva-ui-core-chat.d.ts +375 -0
  208. package/types/malva-ui-core-checkbox.d.ts +158 -0
  209. package/types/malva-ui-core-chip.d.ts +128 -0
  210. package/types/malva-ui-core-color-picker.d.ts +442 -0
  211. package/types/malva-ui-core-combobox.d.ts +419 -0
  212. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  213. package/types/malva-ui-core-data-table.d.ts +1074 -0
  214. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  215. package/types/malva-ui-core-day-picker.d.ts +55 -0
  216. package/types/malva-ui-core-dialog.d.ts +597 -0
  217. package/types/malva-ui-core-divider.d.ts +68 -0
  218. package/types/malva-ui-core-drawer.d.ts +333 -0
  219. package/types/malva-ui-core-dropdown.d.ts +592 -0
  220. package/types/malva-ui-core-empty-state.d.ts +37 -0
  221. package/types/malva-ui-core-expand.d.ts +102 -0
  222. package/types/malva-ui-core-file-upload.d.ts +267 -0
  223. package/types/malva-ui-core-filter.d.ts +552 -0
  224. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  225. package/types/malva-ui-core-form-utils.d.ts +579 -0
  226. package/types/malva-ui-core-form.d.ts +176 -0
  227. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  228. package/types/malva-ui-core-input.d.ts +262 -0
  229. package/types/malva-ui-core-kbd.d.ts +56 -0
  230. package/types/malva-ui-core-layout.d.ts +70 -0
  231. package/types/malva-ui-core-link.d.ts +28 -0
  232. package/types/malva-ui-core-list.d.ts +252 -0
  233. package/types/malva-ui-core-loader.d.ts +89 -0
  234. package/types/malva-ui-core-menu.d.ts +954 -0
  235. package/types/malva-ui-core-notification.d.ts +122 -0
  236. package/types/malva-ui-core-number-input.d.ts +167 -0
  237. package/types/malva-ui-core-page.d.ts +799 -0
  238. package/types/malva-ui-core-pagination.d.ts +261 -0
  239. package/types/malva-ui-core-pin-input.d.ts +203 -0
  240. package/types/malva-ui-core-popup.d.ts +834 -0
  241. package/types/malva-ui-core-progress.d.ts +73 -0
  242. package/types/malva-ui-core-radio.d.ts +130 -0
  243. package/types/malva-ui-core-rating.d.ts +115 -0
  244. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  245. package/types/malva-ui-core-search-field.d.ts +408 -0
  246. package/types/malva-ui-core-segmented.d.ts +206 -0
  247. package/types/malva-ui-core-select.d.ts +456 -0
  248. package/types/malva-ui-core-sidebar.d.ts +698 -0
  249. package/types/malva-ui-core-skeleton.d.ts +64 -0
  250. package/types/malva-ui-core-slider.d.ts +219 -0
  251. package/types/malva-ui-core-split-pane.d.ts +149 -0
  252. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  253. package/types/malva-ui-core-stepper.d.ts +168 -0
  254. package/types/malva-ui-core-switch.d.ts +146 -0
  255. package/types/malva-ui-core-table.d.ts +37 -0
  256. package/types/malva-ui-core-tabs.d.ts +339 -0
  257. package/types/malva-ui-core-textarea.d.ts +79 -0
  258. package/types/malva-ui-core-tile.d.ts +373 -0
  259. package/types/malva-ui-core-time-picker.d.ts +141 -0
  260. package/types/malva-ui-core-timeline.d.ts +188 -0
  261. package/types/malva-ui-core-title.d.ts +66 -0
  262. package/types/malva-ui-core-toast.d.ts +432 -0
  263. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  264. package/types/malva-ui-core-toolbar.d.ts +91 -0
  265. package/types/malva-ui-core-tooltip.d.ts +200 -0
  266. package/types/malva-ui-core-tree.d.ts +289 -0
  267. package/types/malva-ui-core-view-variant.d.ts +207 -0
  268. package/types/malva-ui-core.d.ts +72 -0
  269. package/view-variant/README.md +3 -0
  270. package/accordion/index.d.ts +0 -3
  271. package/accordion/lib/accordion/accordion.d.ts +0 -47
  272. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  273. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  274. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  275. package/action-bar/index.d.ts +0 -4
  276. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  277. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  278. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  279. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  280. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  281. package/alert/index.d.ts +0 -2
  282. package/alert/lib/alert/alert.d.ts +0 -84
  283. package/alert/lib/alert/alert.directives.d.ts +0 -44
  284. package/alert/malva-ui-core-alert.d.ts +0 -5
  285. package/autocomplete/index.d.ts +0 -1
  286. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  287. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  288. package/avatar/index.d.ts +0 -2
  289. package/avatar/lib/avatar/avatar.d.ts +0 -125
  290. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  291. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  292. package/avatar-group/index.d.ts +0 -1
  293. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  294. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  295. package/badge/index.d.ts +0 -2
  296. package/badge/lib/badge/badge.d.ts +0 -59
  297. package/badge/lib/badge-icon.d.ts +0 -35
  298. package/badge/malva-ui-core-badge.d.ts +0 -5
  299. package/bottom-nav/index.d.ts +0 -1
  300. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  301. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  302. package/breadcrumb/index.d.ts +0 -5
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  305. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  307. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  308. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  309. package/button/index.d.ts +0 -7
  310. package/button/lib/button/button.d.ts +0 -61
  311. package/button/lib/button-close/button-close.d.ts +0 -24
  312. package/button/lib/button-group/button-group.d.ts +0 -21
  313. package/button/lib/button-split/button-split.d.ts +0 -21
  314. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  315. package/button/lib/button-variant.token.d.ts +0 -13
  316. package/button/lib/button.directives.d.ts +0 -14
  317. package/button/lib/button.types.d.ts +0 -8
  318. package/button/malva-ui-core-button.d.ts +0 -5
  319. package/calendar/index.d.ts +0 -3
  320. package/calendar/lib/calendar/calendar.d.ts +0 -182
  321. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  322. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  323. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  324. package/card/index.d.ts +0 -5
  325. package/card/lib/card/card.d.ts +0 -43
  326. package/card/lib/card-actions-def.d.ts +0 -10
  327. package/card/lib/card-footer-def.d.ts +0 -13
  328. package/card/lib/card-header-def.d.ts +0 -10
  329. package/card/lib/card-subheader-def.d.ts +0 -16
  330. package/card/malva-ui-core-card.d.ts +0 -5
  331. package/chat/index.d.ts +0 -9
  332. package/chat/lib/chat/chat.d.ts +0 -133
  333. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  334. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  335. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  336. package/chat/lib/chat-format.d.ts +0 -5
  337. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  338. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  339. package/chat/lib/chat-render-list.d.ts +0 -16
  340. package/chat/lib/chat-tokens.d.ts +0 -25
  341. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  342. package/chat/lib/chat.types.d.ts +0 -80
  343. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  344. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  345. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  346. package/chat/malva-ui-core-chat.d.ts +0 -5
  347. package/checkbox/index.d.ts +0 -3
  348. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  349. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  350. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  351. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  352. package/chip/index.d.ts +0 -2
  353. package/chip/lib/chip/chip.d.ts +0 -107
  354. package/chip/lib/chip/chip.directives.d.ts +0 -18
  355. package/chip/malva-ui-core-chip.d.ts +0 -5
  356. package/color-picker/index.d.ts +0 -3
  357. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  358. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  359. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  360. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  361. package/combobox/index.d.ts +0 -2
  362. package/combobox/lib/combobox/combobox.d.ts +0 -400
  363. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  364. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  365. package/copy-to-clipboard/index.d.ts +0 -1
  366. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  367. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  368. package/data-table/index.d.ts +0 -8
  369. package/data-table/lib/data-source.d.ts +0 -5
  370. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  371. package/data-table/lib/data-table/data-table.d.ts +0 -699
  372. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  373. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  374. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  375. package/data-table/lib/data-table-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  377. package/data-table/lib/data-table-error.d.ts +0 -37
  378. package/data-table/lib/data-table-footer.d.ts +0 -26
  379. package/data-table/lib/data-table-no-data.d.ts +0 -19
  380. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  381. package/data-table/lib/types.d.ts +0 -134
  382. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  383. package/date-range-picker/index.d.ts +0 -1
  384. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  385. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  386. package/day-picker/index.d.ts +0 -1
  387. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  388. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  389. package/dialog/index.d.ts +0 -11
  390. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  391. package/dialog/lib/confirm-dialog.d.ts +0 -52
  392. package/dialog/lib/dialog/dialog.d.ts +0 -22
  393. package/dialog/lib/dialog-body.d.ts +0 -9
  394. package/dialog/lib/dialog-close.d.ts +0 -27
  395. package/dialog/lib/dialog-config.d.ts +0 -112
  396. package/dialog/lib/dialog-container.d.ts +0 -40
  397. package/dialog/lib/dialog-footer.d.ts +0 -13
  398. package/dialog/lib/dialog-header.d.ts +0 -74
  399. package/dialog/lib/dialog-ref.d.ts +0 -95
  400. package/dialog/lib/dialog-template.d.ts +0 -65
  401. package/dialog/lib/dialog-text-content.d.ts +0 -24
  402. package/dialog/lib/dialog.service.d.ts +0 -63
  403. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  404. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  405. package/dialog/lib/routable-dialog.d.ts +0 -30
  406. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  407. package/divider/index.d.ts +0 -1
  408. package/divider/lib/divider/divider.d.ts +0 -64
  409. package/divider/malva-ui-core-divider.d.ts +0 -5
  410. package/drawer/index.d.ts +0 -11
  411. package/drawer/lib/drawer/drawer.d.ts +0 -106
  412. package/drawer/lib/drawer-body.d.ts +0 -8
  413. package/drawer/lib/drawer-content.d.ts +0 -6
  414. package/drawer/lib/drawer-footer.d.ts +0 -5
  415. package/drawer/lib/drawer-header.d.ts +0 -5
  416. package/drawer/lib/drawer-ref.d.ts +0 -29
  417. package/drawer/lib/drawer-resize.d.ts +0 -65
  418. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  419. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  420. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  421. package/drawer/lib/drawer.service.d.ts +0 -66
  422. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  423. package/drawer/lib/routable-drawer.d.ts +0 -30
  424. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  425. package/dropdown/index.d.ts +0 -9
  426. package/dropdown/lib/active-descendant.d.ts +0 -64
  427. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  428. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  429. package/dropdown/lib/option-matcher.d.ts +0 -87
  430. package/dropdown/lib/options-adapter.d.ts +0 -142
  431. package/dropdown/lib/options-result.d.ts +0 -6
  432. package/dropdown/lib/reconciliation.d.ts +0 -19
  433. package/dropdown/lib/select-data-source.d.ts +0 -18
  434. package/dropdown/lib/select-option.d.ts +0 -37
  435. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  436. package/empty-state/index.d.ts +0 -1
  437. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  438. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  439. package/esm2022/accordion/index.js +0 -4
  440. package/esm2022/accordion/index.js.map +0 -1
  441. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  442. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  444. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  446. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  447. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  448. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  449. package/esm2022/action-bar/index.js +0 -5
  450. package/esm2022/action-bar/index.js.map +0 -1
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  452. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  458. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  460. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  461. package/esm2022/alert/index.js +0 -3
  462. package/esm2022/alert/index.js.map +0 -1
  463. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  464. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  465. package/esm2022/alert/lib/alert/alert.js +0 -118
  466. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  467. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  468. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  469. package/esm2022/autocomplete/index.js +0 -2
  470. package/esm2022/autocomplete/index.js.map +0 -1
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  472. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  474. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  475. package/esm2022/avatar/index.js +0 -3
  476. package/esm2022/avatar/index.js.map +0 -1
  477. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  478. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  479. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  480. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  481. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  482. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  483. package/esm2022/avatar-group/index.js +0 -2
  484. package/esm2022/avatar-group/index.js.map +0 -1
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  486. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  488. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  489. package/esm2022/badge/index.js +0 -3
  490. package/esm2022/badge/index.js.map +0 -1
  491. package/esm2022/badge/lib/badge/badge.js +0 -71
  492. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  493. package/esm2022/badge/lib/badge-icon.js +0 -47
  494. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  495. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  496. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  497. package/esm2022/bottom-nav/index.js +0 -2
  498. package/esm2022/bottom-nav/index.js.map +0 -1
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  500. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  502. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  503. package/esm2022/breadcrumb/index.js +0 -6
  504. package/esm2022/breadcrumb/index.js.map +0 -1
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  514. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  516. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  517. package/esm2022/button/index.js +0 -8
  518. package/esm2022/button/index.js.map +0 -1
  519. package/esm2022/button/lib/button/button.js +0 -137
  520. package/esm2022/button/lib/button/button.js.map +0 -1
  521. package/esm2022/button/lib/button-close/button-close.js +0 -52
  522. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  523. package/esm2022/button/lib/button-group/button-group.js +0 -44
  524. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  525. package/esm2022/button/lib/button-split/button-split.js +0 -44
  526. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  527. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  528. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  529. package/esm2022/button/lib/button-variant.token.js +0 -4
  530. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  531. package/esm2022/button/lib/button.directives.js +0 -37
  532. package/esm2022/button/lib/button.directives.js.map +0 -1
  533. package/esm2022/button/lib/button.types.js +0 -1
  534. package/esm2022/button/lib/button.types.js.map +0 -1
  535. package/esm2022/button/malva-ui-core-button.js +0 -5
  536. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  537. package/esm2022/calendar/index.js +0 -4
  538. package/esm2022/calendar/index.js.map +0 -1
  539. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  540. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  542. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  544. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  545. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  546. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  547. package/esm2022/card/index.js +0 -6
  548. package/esm2022/card/index.js.map +0 -1
  549. package/esm2022/card/lib/card/card.js +0 -54
  550. package/esm2022/card/lib/card/card.js.map +0 -1
  551. package/esm2022/card/lib/card-actions-def.js +0 -27
  552. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  553. package/esm2022/card/lib/card-footer-def.js +0 -32
  554. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  555. package/esm2022/card/lib/card-header-def.js +0 -27
  556. package/esm2022/card/lib/card-header-def.js.map +0 -1
  557. package/esm2022/card/lib/card-subheader-def.js +0 -33
  558. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  559. package/esm2022/card/malva-ui-core-card.js +0 -5
  560. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  561. package/esm2022/chat/index.js +0 -10
  562. package/esm2022/chat/index.js.map +0 -1
  563. package/esm2022/chat/lib/chat/chat.js +0 -326
  564. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  566. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  568. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  569. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  570. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  571. package/esm2022/chat/lib/chat-format.js +0 -11
  572. package/esm2022/chat/lib/chat-format.js.map +0 -1
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  574. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  575. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  576. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  577. package/esm2022/chat/lib/chat-render-list.js +0 -55
  578. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  579. package/esm2022/chat/lib/chat-tokens.js +0 -9
  580. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  582. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  583. package/esm2022/chat/lib/chat.types.js +0 -1
  584. package/esm2022/chat/lib/chat.types.js.map +0 -1
  585. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  586. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  587. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  588. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  589. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  590. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  591. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  592. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  593. package/esm2022/checkbox/index.js +0 -4
  594. package/esm2022/checkbox/index.js.map +0 -1
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  596. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  598. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  599. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  600. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  602. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  603. package/esm2022/chip/index.js +0 -3
  604. package/esm2022/chip/index.js.map +0 -1
  605. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  606. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  607. package/esm2022/chip/lib/chip/chip.js +0 -140
  608. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  609. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  610. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  611. package/esm2022/color-picker/index.js +0 -4
  612. package/esm2022/color-picker/index.js.map +0 -1
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  614. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  616. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  618. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  620. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  621. package/esm2022/combobox/index.js +0 -3
  622. package/esm2022/combobox/index.js.map +0 -1
  623. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  624. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  625. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  626. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  627. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  628. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  629. package/esm2022/copy-to-clipboard/index.js +0 -2
  630. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  632. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  634. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  635. package/esm2022/data-table/index.js +0 -9
  636. package/esm2022/data-table/index.js.map +0 -1
  637. package/esm2022/data-table/lib/data-source.js +0 -6
  638. package/esm2022/data-table/lib/data-source.js.map +0 -1
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  640. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  641. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  642. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  644. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  646. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  648. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  649. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  650. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  651. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  652. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  653. package/esm2022/data-table/lib/data-table-error.js +0 -37
  654. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  655. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  656. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  657. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  658. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  660. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  661. package/esm2022/data-table/lib/types.js +0 -1
  662. package/esm2022/data-table/lib/types.js.map +0 -1
  663. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  664. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  665. package/esm2022/date-range-picker/index.js +0 -2
  666. package/esm2022/date-range-picker/index.js.map +0 -1
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  668. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  670. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  671. package/esm2022/day-picker/index.js +0 -2
  672. package/esm2022/day-picker/index.js.map +0 -1
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  674. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  676. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  677. package/esm2022/dialog/index.js +0 -12
  678. package/esm2022/dialog/index.js.map +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  681. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  682. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  683. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  684. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  685. package/esm2022/dialog/lib/dialog-body.js +0 -33
  686. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  687. package/esm2022/dialog/lib/dialog-close.js +0 -45
  688. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  689. package/esm2022/dialog/lib/dialog-config.js +0 -23
  690. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  691. package/esm2022/dialog/lib/dialog-container.js +0 -69
  692. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  693. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  694. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  695. package/esm2022/dialog/lib/dialog-header.js +0 -181
  696. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  697. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  698. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  699. package/esm2022/dialog/lib/dialog-template.js +0 -136
  700. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  701. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  702. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  703. package/esm2022/dialog/lib/dialog.service.js +0 -205
  704. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  706. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  707. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  708. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  709. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  710. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  711. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  712. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  713. package/esm2022/divider/index.js +0 -2
  714. package/esm2022/divider/index.js.map +0 -1
  715. package/esm2022/divider/lib/divider/divider.js +0 -73
  716. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  717. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  718. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  719. package/esm2022/drawer/index.js +0 -12
  720. package/esm2022/drawer/index.js.map +0 -1
  721. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  722. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  723. package/esm2022/drawer/lib/drawer-body.js +0 -32
  724. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  725. package/esm2022/drawer/lib/drawer-content.js +0 -14
  726. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  727. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  728. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  729. package/esm2022/drawer/lib/drawer-header.js +0 -14
  730. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  731. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  732. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  733. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  734. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  736. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  738. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  739. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  740. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  741. package/esm2022/drawer/lib/drawer.service.js +0 -86
  742. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  744. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  745. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  746. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  747. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  748. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  749. package/esm2022/dropdown/index.js +0 -10
  750. package/esm2022/dropdown/index.js.map +0 -1
  751. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  752. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  754. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  756. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  757. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  758. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  759. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  760. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  761. package/esm2022/dropdown/lib/options-result.js +0 -11
  762. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  763. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  764. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  765. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  766. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  767. package/esm2022/dropdown/lib/select-option.js +0 -25
  768. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  770. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  771. package/esm2022/empty-state/index.js +0 -2
  772. package/esm2022/empty-state/index.js.map +0 -1
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  774. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  776. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  777. package/esm2022/expand/index.js +0 -3
  778. package/esm2022/expand/index.js.map +0 -1
  779. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  780. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  781. package/esm2022/expand/lib/expand/expand.js +0 -93
  782. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  783. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  784. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  785. package/esm2022/file-upload/index.js +0 -5
  786. package/esm2022/file-upload/index.js.map +0 -1
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  788. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  790. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  791. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  792. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  794. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  796. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  797. package/esm2022/filter/index.js +0 -4
  798. package/esm2022/filter/index.js.map +0 -1
  799. package/esm2022/filter/lib/filter/filter.js +0 -552
  800. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  801. package/esm2022/filter/lib/filter.types.js +0 -1
  802. package/esm2022/filter/lib/filter.types.js.map +0 -1
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  804. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  805. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  806. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  807. package/esm2022/form/index.js +0 -7
  808. package/esm2022/form/index.js.map +0 -1
  809. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  810. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  811. package/esm2022/form/lib/fieldset-span.js +0 -49
  812. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  813. package/esm2022/form/lib/form/form.js +0 -60
  814. package/esm2022/form/lib/form/form.js.map +0 -1
  815. package/esm2022/form/lib/form-actions.js +0 -34
  816. package/esm2022/form/lib/form-actions.js.map +0 -1
  817. package/esm2022/form/lib/form-gap.js +0 -15
  818. package/esm2022/form/lib/form-gap.js.map +0 -1
  819. package/esm2022/form/lib/form-header.js +0 -27
  820. package/esm2022/form/lib/form-header.js.map +0 -1
  821. package/esm2022/form/lib/form.types.js +0 -1
  822. package/esm2022/form/lib/form.types.js.map +0 -1
  823. package/esm2022/form/malva-ui-core-form.js +0 -5
  824. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  825. package/esm2022/form-utils/index.js +0 -16
  826. package/esm2022/form-utils/index.js.map +0 -1
  827. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  828. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  829. package/esm2022/form-utils/lib/description/description.js +0 -24
  830. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  831. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  832. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  834. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  835. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  836. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  840. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  841. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  842. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  843. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  844. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  845. package/esm2022/form-utils/lib/label/label.js +0 -55
  846. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  847. package/esm2022/form-utils/lib/message/message.js +0 -20
  848. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  850. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  851. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  852. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  854. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  855. package/esm2022/form-utils/lib/selection.service.js +0 -81
  856. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  858. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  859. package/esm2022/form-utils/testing/index.js +0 -2
  860. package/esm2022/form-utils/testing/index.js.map +0 -1
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  862. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  864. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  865. package/esm2022/index.js +0 -70
  866. package/esm2022/index.js.map +0 -1
  867. package/esm2022/input/index.js +0 -4
  868. package/esm2022/input/index.js.map +0 -1
  869. package/esm2022/input/lib/input/input-native.js +0 -49
  870. package/esm2022/input/lib/input/input-native.js.map +0 -1
  871. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  872. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  873. package/esm2022/input/lib/input/input.js +0 -277
  874. package/esm2022/input/lib/input/input.js.map +0 -1
  875. package/esm2022/input/lib/input/password-strength.js +0 -46
  876. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  877. package/esm2022/input/malva-ui-core-input.js +0 -5
  878. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  879. package/esm2022/kbd/index.js +0 -2
  880. package/esm2022/kbd/index.js.map +0 -1
  881. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  882. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  883. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  884. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  885. package/esm2022/layout/index.js +0 -5
  886. package/esm2022/layout/index.js.map +0 -1
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  890. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  891. package/esm2022/layout/lib/layout/layout.js +0 -43
  892. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  893. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  894. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  895. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  896. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  897. package/esm2022/link/index.js +0 -3
  898. package/esm2022/link/index.js.map +0 -1
  899. package/esm2022/link/lib/link/link.directives.js +0 -24
  900. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  901. package/esm2022/link/lib/link/link.js +0 -61
  902. package/esm2022/link/lib/link/link.js.map +0 -1
  903. package/esm2022/link/malva-ui-core-link.js +0 -5
  904. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  905. package/esm2022/list/index.js +0 -14
  906. package/esm2022/list/index.js.map +0 -1
  907. package/esm2022/list/lib/list/list.js +0 -28
  908. package/esm2022/list/lib/list/list.js.map +0 -1
  909. package/esm2022/list/lib/list-item/list-item.js +0 -125
  910. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  911. package/esm2022/list/lib/list-item-actions.js +0 -23
  912. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  913. package/esm2022/list/lib/list-item-byline.js +0 -13
  914. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  915. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  916. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  917. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  918. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  919. package/esm2022/list/lib/list-item-media.js +0 -13
  920. package/esm2022/list/lib/list-item-media.js.map +0 -1
  921. package/esm2022/list/lib/list-item-meta.js +0 -13
  922. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  923. package/esm2022/list/lib/list-item-prefix.js +0 -13
  924. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  925. package/esm2022/list/lib/list-item-suffix.js +0 -13
  926. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  927. package/esm2022/list/lib/list-item-template.js +0 -14
  928. package/esm2022/list/lib/list-item-template.js.map +0 -1
  929. package/esm2022/list/lib/list-item-title.js +0 -13
  930. package/esm2022/list/lib/list-item-title.js.map +0 -1
  931. package/esm2022/list/lib/list-selectable.js +0 -116
  932. package/esm2022/list/lib/list-selectable.js.map +0 -1
  933. package/esm2022/list/malva-ui-core-list.js +0 -5
  934. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  935. package/esm2022/loader/index.js +0 -2
  936. package/esm2022/loader/index.js.map +0 -1
  937. package/esm2022/loader/lib/loader/loader.js +0 -134
  938. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  939. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  940. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  941. package/esm2022/malva-ui-core.js +0 -5
  942. package/esm2022/malva-ui-core.js.map +0 -1
  943. package/esm2022/menu/index.js +0 -10
  944. package/esm2022/menu/index.js.map +0 -1
  945. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  946. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  947. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  948. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  949. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  950. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  951. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  952. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  953. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  954. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  955. package/esm2022/menu/lib/menu/menu.js +0 -308
  956. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  957. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  958. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  959. package/esm2022/menu/lib/menu/menubar.js +0 -257
  960. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  961. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  962. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  963. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  964. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  965. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  966. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  967. package/esm2022/notification/index.js +0 -5
  968. package/esm2022/notification/index.js.map +0 -1
  969. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  970. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  971. package/esm2022/notification/lib/notification-ref.js +0 -13
  972. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  973. package/esm2022/notification/lib/notification.service.js +0 -118
  974. package/esm2022/notification/lib/notification.service.js.map +0 -1
  975. package/esm2022/notification/lib/notification.types.js +0 -6
  976. package/esm2022/notification/lib/notification.types.js.map +0 -1
  977. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  978. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  979. package/esm2022/number-input/index.js +0 -2
  980. package/esm2022/number-input/index.js.map +0 -1
  981. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  982. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  983. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  984. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  985. package/esm2022/page/index.js +0 -15
  986. package/esm2022/page/index.js.map +0 -1
  987. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  988. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  989. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  990. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  991. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  992. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  993. package/esm2022/page/lib/page/page.js +0 -173
  994. package/esm2022/page/lib/page/page.js.map +0 -1
  995. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  996. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  997. package/esm2022/page/lib/page-content/page-content.js +0 -72
  998. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  999. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  1000. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1002. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1003. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1004. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1005. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1006. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1008. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1010. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1011. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1012. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1014. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1016. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1017. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1018. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1019. package/esm2022/page/malva-ui-core-page.js +0 -5
  1020. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1021. package/esm2022/pagination/index.js +0 -5
  1022. package/esm2022/pagination/index.js.map +0 -1
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1024. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1025. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1026. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1030. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1031. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1032. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1033. package/esm2022/pin-input/index.js +0 -3
  1034. package/esm2022/pin-input/index.js.map +0 -1
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1036. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1038. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1040. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1041. package/esm2022/popup/index.js +0 -10
  1042. package/esm2022/popup/index.js.map +0 -1
  1043. package/esm2022/popup/lib/popup/popup.js +0 -500
  1044. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1045. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1046. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1048. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1049. package/esm2022/popup/lib/popup-content.js +0 -14
  1050. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1051. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1052. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1053. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1054. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1055. package/esm2022/popup/lib/popup-positions.js +0 -252
  1056. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1058. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1059. package/esm2022/popup/lib/popup.service.js +0 -188
  1060. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1061. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1062. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1063. package/esm2022/progress/index.js +0 -2
  1064. package/esm2022/progress/index.js.map +0 -1
  1065. package/esm2022/progress/lib/progress/progress.js +0 -102
  1066. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1067. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1068. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1069. package/esm2022/radio/index.js +0 -3
  1070. package/esm2022/radio/index.js.map +0 -1
  1071. package/esm2022/radio/lib/radio/radio.js +0 -134
  1072. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1073. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1074. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1075. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1076. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1077. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1078. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1079. package/esm2022/rating/index.js +0 -2
  1080. package/esm2022/rating/index.js.map +0 -1
  1081. package/esm2022/rating/lib/rating/rating.js +0 -208
  1082. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1083. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1084. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1085. package/esm2022/scrollbar/index.js +0 -2
  1086. package/esm2022/scrollbar/index.js.map +0 -1
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1088. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1090. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1091. package/esm2022/search-field/index.js +0 -3
  1092. package/esm2022/search-field/index.js.map +0 -1
  1093. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1094. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1096. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1097. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1098. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1099. package/esm2022/segmented/index.js +0 -5
  1100. package/esm2022/segmented/index.js.map +0 -1
  1101. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1102. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1104. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1105. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1106. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1108. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1109. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1110. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1111. package/esm2022/select/index.js +0 -4
  1112. package/esm2022/select/index.js.map +0 -1
  1113. package/esm2022/select/lib/select/select.js +0 -685
  1114. package/esm2022/select/lib/select/select.js.map +0 -1
  1115. package/esm2022/select/lib/select-option.js +0 -2
  1116. package/esm2022/select/lib/select-option.js.map +0 -1
  1117. package/esm2022/select/lib/select-template.directives.js +0 -34
  1118. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1119. package/esm2022/select/malva-ui-core-select.js +0 -5
  1120. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1121. package/esm2022/sidebar/index.js +0 -16
  1122. package/esm2022/sidebar/index.js.map +0 -1
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1124. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1125. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1126. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1127. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1128. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1129. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1130. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1132. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1133. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1134. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1136. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1138. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1140. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1144. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1146. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1152. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1154. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1155. package/esm2022/skeleton/index.js +0 -2
  1156. package/esm2022/skeleton/index.js.map +0 -1
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1158. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1160. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1161. package/esm2022/slider/index.js +0 -3
  1162. package/esm2022/slider/index.js.map +0 -1
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1164. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1165. package/esm2022/slider/lib/slider/slider.js +0 -468
  1166. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1167. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1168. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1169. package/esm2022/split-pane/index.js +0 -4
  1170. package/esm2022/split-pane/index.js.map +0 -1
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1172. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1176. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1178. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1179. package/esm2022/status-indicator/index.js +0 -2
  1180. package/esm2022/status-indicator/index.js.map +0 -1
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1182. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1184. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1185. package/esm2022/stepper/index.js +0 -5
  1186. package/esm2022/stepper/index.js.map +0 -1
  1187. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1188. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1189. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1190. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1192. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1193. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1194. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1196. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1197. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1198. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1199. package/esm2022/switch/index.js +0 -3
  1200. package/esm2022/switch/index.js.map +0 -1
  1201. package/esm2022/switch/lib/switch/switch.js +0 -190
  1202. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1203. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1204. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1205. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1206. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1207. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1208. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1209. package/esm2022/tabs/index.js +0 -9
  1210. package/esm2022/tabs/index.js.map +0 -1
  1211. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1212. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1214. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1215. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1216. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1217. package/esm2022/tabs/lib/tab-def.js +0 -17
  1218. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1219. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1220. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1222. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1223. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1224. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1225. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1226. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1227. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1228. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1229. package/esm2022/textarea/index.js +0 -2
  1230. package/esm2022/textarea/index.js.map +0 -1
  1231. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1232. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1233. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1234. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1235. package/esm2022/tile/index.js +0 -3
  1236. package/esm2022/tile/index.js.map +0 -1
  1237. package/esm2022/tile/lib/tile/tile.js +0 -39
  1238. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1239. package/esm2022/tile/lib/tile-header.js +0 -14
  1240. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1241. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1242. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1243. package/esm2022/time-picker/index.js +0 -2
  1244. package/esm2022/time-picker/index.js.map +0 -1
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1246. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1248. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1250. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1251. package/esm2022/timeline/index.js +0 -6
  1252. package/esm2022/timeline/index.js.map +0 -1
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1254. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1256. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1258. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1259. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1260. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1262. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1263. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1264. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1265. package/esm2022/title/index.js +0 -2
  1266. package/esm2022/title/index.js.map +0 -1
  1267. package/esm2022/title/lib/title/title.js +0 -171
  1268. package/esm2022/title/lib/title/title.js.map +0 -1
  1269. package/esm2022/title/malva-ui-core-title.js +0 -5
  1270. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1271. package/esm2022/toast/index.js +0 -13
  1272. package/esm2022/toast/index.js.map +0 -1
  1273. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1274. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1275. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1276. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1277. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1278. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1279. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1280. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1281. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1282. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1283. package/esm2022/toast/lib/toast-ref.js +0 -54
  1284. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1285. package/esm2022/toast/lib/toast-timer.js +0 -37
  1286. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1287. package/esm2022/toast/lib/toast.directives.js +0 -76
  1288. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1289. package/esm2022/toast/lib/toast.service.js +0 -127
  1290. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1291. package/esm2022/toast/lib/toast.types.js +0 -39
  1292. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1293. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1294. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1295. package/esm2022/tokenizer/index.js +0 -4
  1296. package/esm2022/tokenizer/index.js.map +0 -1
  1297. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1298. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1299. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1300. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1302. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1304. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1305. package/esm2022/toolbar/index.js +0 -4
  1306. package/esm2022/toolbar/index.js.map +0 -1
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1310. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1312. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1314. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1315. package/esm2022/tooltip/index.js +0 -4
  1316. package/esm2022/tooltip/index.js.map +0 -1
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1318. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1322. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1324. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1325. package/esm2022/tree/index.js +0 -5
  1326. package/esm2022/tree/index.js.map +0 -1
  1327. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1328. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1329. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1330. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1332. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1333. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1334. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1335. package/esm2022/tree/lib/tree/tree.js +0 -362
  1336. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1337. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1338. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1339. package/expand/index.d.ts +0 -2
  1340. package/expand/lib/expand/expand-content.d.ts +0 -26
  1341. package/expand/lib/expand/expand.d.ts +0 -74
  1342. package/expand/malva-ui-core-expand.d.ts +0 -5
  1343. package/file-upload/index.d.ts +0 -4
  1344. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1345. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1346. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1347. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1348. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1349. package/filter/index.d.ts +0 -3
  1350. package/filter/lib/filter/filter.d.ts +0 -156
  1351. package/filter/lib/filter.types.d.ts +0 -75
  1352. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1353. package/filter/malva-ui-core-filter.d.ts +0 -5
  1354. package/form/index.d.ts +0 -6
  1355. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1356. package/form/lib/fieldset-span.d.ts +0 -28
  1357. package/form/lib/form/form.d.ts +0 -37
  1358. package/form/lib/form-actions.d.ts +0 -20
  1359. package/form/lib/form-gap.d.ts +0 -5
  1360. package/form/lib/form-header.d.ts +0 -18
  1361. package/form/lib/form.types.d.ts +0 -13
  1362. package/form/malva-ui-core-form.d.ts +0 -5
  1363. package/form-utils/index.d.ts +0 -15
  1364. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1365. package/form-utils/lib/description/description.d.ts +0 -16
  1366. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1367. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1368. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1370. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1371. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1372. package/form-utils/lib/hint/hint.d.ts +0 -5
  1373. package/form-utils/lib/label/label.d.ts +0 -22
  1374. package/form-utils/lib/message/message.d.ts +0 -7
  1375. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1376. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1377. package/form-utils/lib/models/form-state.d.ts +0 -1
  1378. package/form-utils/lib/selection.service.d.ts +0 -27
  1379. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1380. package/form-utils/testing/index.d.ts +0 -1
  1381. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1382. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1383. package/index.d.ts +0 -69
  1384. package/input/index.d.ts +0 -3
  1385. package/input/lib/input/input-native.d.ts +0 -36
  1386. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1387. package/input/lib/input/input.d.ts +0 -189
  1388. package/input/lib/input/password-strength.d.ts +0 -34
  1389. package/input/malva-ui-core-input.d.ts +0 -5
  1390. package/kbd/index.d.ts +0 -1
  1391. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1392. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1393. package/layout/index.d.ts +0 -4
  1394. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1395. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1396. package/layout/lib/layout/layout.d.ts +0 -20
  1397. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1398. package/layout/malva-ui-core-layout.d.ts +0 -5
  1399. package/link/index.d.ts +0 -2
  1400. package/link/lib/link/link.d.ts +0 -15
  1401. package/link/lib/link/link.directives.d.ts +0 -10
  1402. package/link/malva-ui-core-link.d.ts +0 -5
  1403. package/list/index.d.ts +0 -13
  1404. package/list/lib/list/list.d.ts +0 -25
  1405. package/list/lib/list-item/list-item.d.ts +0 -67
  1406. package/list/lib/list-item-actions.d.ts +0 -12
  1407. package/list/lib/list-item-byline.d.ts +0 -5
  1408. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1409. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1410. package/list/lib/list-item-media.d.ts +0 -5
  1411. package/list/lib/list-item-meta.d.ts +0 -5
  1412. package/list/lib/list-item-prefix.d.ts +0 -5
  1413. package/list/lib/list-item-suffix.d.ts +0 -5
  1414. package/list/lib/list-item-template.d.ts +0 -10
  1415. package/list/lib/list-item-title.d.ts +0 -5
  1416. package/list/lib/list-selectable.d.ts +0 -73
  1417. package/list/malva-ui-core-list.d.ts +0 -5
  1418. package/loader/index.d.ts +0 -1
  1419. package/loader/lib/loader/loader.d.ts +0 -84
  1420. package/loader/malva-ui-core-loader.d.ts +0 -5
  1421. package/malva-ui-core.d.ts +0 -5
  1422. package/menu/index.d.ts +0 -9
  1423. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1424. package/menu/lib/menu/menu-group.d.ts +0 -27
  1425. package/menu/lib/menu/menu-item.d.ts +0 -76
  1426. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1427. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1428. package/menu/lib/menu/menu.d.ts +0 -149
  1429. package/menu/lib/menu/menu.types.d.ts +0 -13
  1430. package/menu/lib/menu/menubar.d.ts +0 -131
  1431. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1432. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1433. package/menu/malva-ui-core-menu.d.ts +0 -5
  1434. package/notification/index.d.ts +0 -4
  1435. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1436. package/notification/lib/notification-ref.d.ts +0 -12
  1437. package/notification/lib/notification.service.d.ts +0 -43
  1438. package/notification/lib/notification.types.d.ts +0 -52
  1439. package/notification/malva-ui-core-notification.d.ts +0 -5
  1440. package/number-input/index.d.ts +0 -1
  1441. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1442. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1443. package/page/index.d.ts +0 -14
  1444. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1445. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1446. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1447. package/page/lib/page/page.d.ts +0 -74
  1448. package/page/lib/page-content/page-aside.d.ts +0 -7
  1449. package/page/lib/page-content/page-content.d.ts +0 -37
  1450. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1451. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1452. package/page/lib/page-header/page-header.d.ts +0 -77
  1453. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1454. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1455. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1456. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1457. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1458. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1459. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1460. package/page/malva-ui-core-page.d.ts +0 -5
  1461. package/pagination/index.d.ts +0 -4
  1462. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1463. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1464. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1465. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1466. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1467. package/pin-input/index.d.ts +0 -2
  1468. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1469. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1470. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1471. package/popup/index.d.ts +0 -9
  1472. package/popup/lib/popup/popup.d.ts +0 -343
  1473. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1474. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1475. package/popup/lib/popup-content.d.ts +0 -6
  1476. package/popup/lib/popup-header-content.d.ts +0 -18
  1477. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1478. package/popup/lib/popup-positions.d.ts +0 -105
  1479. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1480. package/popup/lib/popup.service.d.ts +0 -159
  1481. package/popup/malva-ui-core-popup.d.ts +0 -5
  1482. package/progress/index.d.ts +0 -1
  1483. package/progress/lib/progress/progress.d.ts +0 -69
  1484. package/progress/malva-ui-core-progress.d.ts +0 -5
  1485. package/radio/index.d.ts +0 -2
  1486. package/radio/lib/radio/radio.d.ts +0 -87
  1487. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1488. package/radio/lib/radio-group-token.d.ts +0 -7
  1489. package/radio/malva-ui-core-radio.d.ts +0 -5
  1490. package/rating/index.d.ts +0 -1
  1491. package/rating/lib/rating/rating.d.ts +0 -100
  1492. package/rating/malva-ui-core-rating.d.ts +0 -5
  1493. package/scrollbar/index.d.ts +0 -1
  1494. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1495. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1496. package/search-field/index.d.ts +0 -2
  1497. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1498. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1499. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1500. package/segmented/index.d.ts +0 -4
  1501. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1502. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1503. package/segmented/lib/segmented-token.d.ts +0 -22
  1504. package/segmented/lib/segmented.types.d.ts +0 -9
  1505. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1506. package/select/index.d.ts +0 -3
  1507. package/select/lib/select/select.d.ts +0 -379
  1508. package/select/lib/select-option.d.ts +0 -1
  1509. package/select/lib/select-template.directives.d.ts +0 -14
  1510. package/select/malva-ui-core-select.d.ts +0 -5
  1511. package/sidebar/index.d.ts +0 -15
  1512. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1513. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1514. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1515. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1516. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1517. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1518. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1519. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1520. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1521. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1522. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1523. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1526. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1527. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1528. package/skeleton/index.d.ts +0 -1
  1529. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1530. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1531. package/slider/index.d.ts +0 -2
  1532. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1533. package/slider/lib/slider/slider.d.ts +0 -171
  1534. package/slider/malva-ui-core-slider.d.ts +0 -5
  1535. package/split-pane/index.d.ts +0 -3
  1536. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1537. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1538. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1539. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1540. package/status-indicator/index.d.ts +0 -1
  1541. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1542. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1543. package/stepper/index.d.ts +0 -4
  1544. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1545. package/stepper/lib/stepper/step.d.ts +0 -51
  1546. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1547. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1548. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1549. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1550. package/switch/index.d.ts +0 -2
  1551. package/switch/lib/switch/switch.d.ts +0 -118
  1552. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1553. package/switch/lib/switch-group-token.d.ts +0 -6
  1554. package/switch/malva-ui-core-switch.d.ts +0 -5
  1555. package/tabs/index.d.ts +0 -8
  1556. package/tabs/lib/tab/tab.d.ts +0 -46
  1557. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1558. package/tabs/lib/tab-content-def.d.ts +0 -6
  1559. package/tabs/lib/tab-def.d.ts +0 -11
  1560. package/tabs/lib/tab-group-token.d.ts +0 -10
  1561. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1562. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1563. package/tabs/lib/tabs.service.d.ts +0 -24
  1564. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1565. package/textarea/index.d.ts +0 -1
  1566. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1567. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1568. package/tile/index.d.ts +0 -2
  1569. package/tile/lib/tile/tile.d.ts +0 -20
  1570. package/tile/lib/tile-header.d.ts +0 -6
  1571. package/tile/malva-ui-core-tile.d.ts +0 -5
  1572. package/time-picker/index.d.ts +0 -1
  1573. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1574. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1575. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1576. package/timeline/index.d.ts +0 -5
  1577. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1579. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1580. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1581. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1582. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1583. package/title/index.d.ts +0 -1
  1584. package/title/lib/title/title.d.ts +0 -63
  1585. package/title/malva-ui-core-title.d.ts +0 -5
  1586. package/toast/index.d.ts +0 -10
  1587. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1588. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1589. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1590. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1591. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1592. package/toast/lib/toast-ref.d.ts +0 -33
  1593. package/toast/lib/toast-timer.d.ts +0 -24
  1594. package/toast/lib/toast.directives.d.ts +0 -13
  1595. package/toast/lib/toast.service.d.ts +0 -41
  1596. package/toast/lib/toast.types.d.ts +0 -139
  1597. package/toast/malva-ui-core-toast.d.ts +0 -5
  1598. package/tokenizer/index.d.ts +0 -3
  1599. package/tokenizer/lib/token/token.d.ts +0 -60
  1600. package/tokenizer/lib/token-template.d.ts +0 -29
  1601. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1602. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1603. package/toolbar/index.d.ts +0 -3
  1604. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1605. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1606. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1607. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1608. package/tooltip/index.d.ts +0 -3
  1609. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1610. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1611. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1612. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1613. package/tree/index.d.ts +0 -4
  1614. package/tree/lib/tree/tree-context.d.ts +0 -62
  1615. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1616. package/tree/lib/tree/tree-node.d.ts +0 -45
  1617. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1618. package/tree/lib/tree/tree.d.ts +0 -156
  1619. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-rating.mjs","sources":["../../../../libs/core/rating/src/lib/rating/rating.ts","../../../../libs/core/rating/src/lib/rating/rating.html","../../../../libs/core/rating/src/malva-ui-core-rating.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n inject,\n input,\n model,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport type { MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvSignalFormControlBase,\n MLV_FORM_CONTROL,\n} from '@malva-ui/core/form-utils';\nimport { LucideStar } from '@lucide/angular';\nimport { MlvRtlService } from '@malva-ui/cdk/utils';\nimport { MLV_RATING_I18N, MlvI18nResolverService } from '@malva-ui/i18n';\n\n/**\n * Star rating component with half-star precision and read-only mode.\n *\n * Extends {@link MlvSignalFormControlBase}, inheriting the shared `disabled`,\n * `readonly`, `state`, `id`, `label`, `hint` and `message` inputs plus the\n * signal-forms field contract.\n *\n * - Hover preview highlights stars up to the cursor.\n * - Half-star precision via clip-path technique when `step=\"0.5\"`.\n * - Keyboard: ArrowRight/ArrowLeft step up/down, Home for min, End for max.\n * - Integrates with signal, reactive, and template-driven Angular forms.\n *\n * @example Basic\n * ```html\n * <mlv-rating [max]=\"5\" [(ngModel)]=\"rating\" />\n * ```\n *\n * @example Half-star precision\n * ```html\n * <mlv-rating [step]=\"0.5\" [formField]=\"ratingForm.score\" />\n * ```\n *\n * @example Read-only display\n * ```html\n * <mlv-rating [value]=\"4.5\" [readonly]=\"true\" />\n * ```\n */\n@Component({\n selector: 'mlv-rating',\n templateUrl: './rating.html',\n styleUrl: './rating.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LucideStar],\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvRating),\n },\n ],\n host: {\n class: 'mlv-rating',\n '[class]': '\"mlv-rating--state-\" + resolvedState()',\n '[class.mlv-rating--readonly]': 'readonly()',\n '[class.mlv-rating--disabled]': 'computedDisabled()',\n '[attr.id]': 'id()',\n '[attr.role]': '\"group\"',\n '[attr.aria-label]': '_i18n().rating',\n '[attr.aria-disabled]': 'computedDisabled() || null',\n '(mouseleave)': '_onHostMouseLeave()',\n '(keydown)': '_onHostKeydown($event)',\n '[attr.tabindex]': 'readonly() || computedDisabled() ? null : -1',\n },\n})\nexport class MlvRating\n extends MlvSignalFormControlBase<number>\n implements MlvFormControl\n{\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_RATING_I18N);\n\n /** @private Resolver for ICU parameterized i18n strings. */\n private readonly _resolver = inject(MlvI18nResolverService);\n private readonly _rtlService = inject(MlvRtlService);\n\n /**\n * @private Effective direction of this rating, tracking the global direction\n * and any `[dir]` scope above the host. Mirrors half-star hit testing.\n */\n private readonly _direction = this._rtlService.elementDirection(\n inject(ElementRef<HTMLElement>),\n );\n\n /**\n * @private Whether the pointer is over the leading (lower-value) half of a\n * star. `offsetX` is always measured from the physical left edge, so RTL —\n * where the leading half is the right one — has to mirror it.\n */\n private _isLeadingHalf(event: MouseEvent, star: HTMLElement): boolean {\n const half = star.offsetWidth / 2;\n return this._direction() === 'rtl'\n ? event.offsetX > half\n : event.offsetX < half;\n }\n\n /**\n * Total number of stars.\n * @default 5\n */\n readonly max = input<number, number | string | null | undefined>(5, {\n transform: (value) =>\n Math.max(1, Math.floor(coerceNumberProperty(value, 5))),\n });\n\n /**\n * Step increment — `1` for whole stars, `0.5` for half-star precision.\n * @default 1\n */\n readonly step = input<1 | 0.5, number | null | undefined>(1, {\n transform: (value) => (value === 0.5 ? 0.5 : 1),\n });\n\n // ── Internal state ─────────────────────────────────────────────────────────\n\n /**\n * The committed rating — the signal-forms `FormValueControl` model. Kept in\n * sync by `[formField]`, `[formControl]`, and `ngModel` bindings.\n */\n readonly value = model(0);\n\n /** Tracks the hover preview value (0 = not hovering). */\n protected readonly _hoverValue = signal<number>(0);\n\n /** The value visually displayed — hover preview takes precedence. */\n protected readonly _displayValue = computed(\n () => this._hoverValue() || this.value(),\n );\n\n /** Indices `[0 … max-1]` for `@for` iteration. */\n protected readonly _indices = computed(() =>\n Array.from({ length: this.max() }, (_, i) => i),\n );\n\n /**\n * The 0-based index of the star that is in the tab order (roving tabindex).\n * The star covering the current value is tabbable; when no value is set the\n * first star is. All other stars are removed from the tab order so the rating\n * is a single tab stop, with Arrow keys moving between values.\n */\n protected readonly _activeIndex = computed(() => {\n const value = this.value();\n if (value <= 0) return 0;\n return Math.min(this.max() - 1, Math.ceil(value) - 1);\n });\n\n /** Whether the control holds a clearable value — A non-zero rating is set. */\n readonly hasValue = computed(() => this.value() > 0);\n\n // ── Fill calculation ────────────────────────────────────────────────────────\n\n /**\n * Returns the percentage of star `starIndex` (1-indexed) that should be filled.\n * 100 = full, 50 = half, 0 = empty.\n */\n protected _getFillPercent(starIndex: number): number {\n const display = this._displayValue();\n if (display >= starIndex) return 100;\n if (display >= starIndex - 0.5) return 50;\n return 0;\n }\n\n /**\n * Returns the CSS `clip-path` value for the filled star overlay.\n * `inset(0 {remainder}% 0 0)` clips the right side.\n */\n protected _clipPath(starIndex: number): string {\n const remainder = 100 - this._getFillPercent(starIndex);\n return `inset(0 ${remainder}% 0 0)`;\n }\n\n /**\n * @internal Resolves the per-star aria-label, e.g. \"Rate 3 out of 5\".\n * @param starIndex 1-based star number.\n */\n protected _rateLabel(starIndex: number): string {\n return this._resolver.resolve(\n this._i18n() as unknown as Record<string, string>,\n 'rateValue',\n { value: starIndex, max: this.max() },\n );\n }\n\n /**\n * @internal Roving tabindex for star `index` (0-based): `0` for the active\n * star, `-1` for the rest. Always `-1` when read-only or disabled.\n */\n protected _starTabIndex(index: number): number {\n if (this.readonly() || this.computedDisabled()) return -1;\n return index === this._activeIndex() ? 0 : -1;\n }\n\n // ── Event handlers ─────────────────────────────────────────────────────────\n\n /** @internal */\n protected _onStarMouseMove(starIndex: number, event: MouseEvent): void {\n if (this.readonly() || this.computedDisabled()) return;\n const el = event.currentTarget as HTMLElement;\n this._hoverValue.set(\n this.step() === 0.5 && this._isLeadingHalf(event, el)\n ? starIndex - 0.5\n : starIndex,\n );\n }\n\n /** @internal */\n protected _onStarClick(starIndex: number, event: MouseEvent): void {\n if (this.readonly() || this.computedDisabled()) return;\n const el = event.currentTarget as HTMLElement;\n const newValue =\n this.step() === 0.5 && this._isLeadingHalf(event, el)\n ? starIndex - 0.5\n : starIndex;\n this.value.set(newValue);\n }\n\n /** @internal */\n protected _onHostMouseLeave(): void {\n this._hoverValue.set(0);\n }\n\n /** @internal */\n protected _onHostKeydown(event: KeyboardEvent): void {\n if (this.readonly() || this.computedDisabled()) return;\n const current = this.value();\n const stepSize = this.step();\n let next: number | null = null;\n\n switch (this._rtlService.normalizeArrowKey(event) ?? event.key) {\n case RIGHT_ARROW:\n case UP_ARROW:\n next = Math.min(this.max(), current + stepSize);\n break;\n case LEFT_ARROW:\n case DOWN_ARROW:\n next = Math.max(0, current - stepSize);\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = this.max();\n break;\n default:\n return;\n }\n\n if (next !== null) {\n event.preventDefault();\n this.value.set(next);\n }\n }\n\n /** @internal */\n protected _onStarFocus(starIndex: number): void {\n this._hoverValue.set(starIndex);\n }\n\n /** @internal */\n protected _onStarBlur(): void {\n this._hoverValue.set(0);\n this._markTouched();\n }\n}\n","@for (i of _indices(); track i) {\n<button\n type=\"button\"\n class=\"mlv-rating__star\"\n [attr.aria-label]=\"_rateLabel(i + 1)\"\n [attr.aria-pressed]=\"value() >= (i + 1)\"\n [disabled]=\"computedDisabled() || readonly() || null\"\n [tabindex]=\"_starTabIndex(i)\"\n (mousemove)=\"_onStarMouseMove(i + 1, $event)\"\n (click)=\"_onStarClick(i + 1, $event)\"\n (focus)=\"_onStarFocus(i + 1)\"\n (blur)=\"_onStarBlur()\"\n>\n <!-- Empty star (always rendered, forms the \"outline\") -->\n <svg\n lucideStar\n class=\"mlv-rating__icon mlv-rating__icon--empty\"\n [size]=\"20\"\n aria-hidden=\"true\"\n />\n <!-- Filled star (clipped to show partial fill) -->\n <svg\n lucideStar\n class=\"mlv-rating__icon mlv-rating__icon--filled\"\n [size]=\"20\"\n aria-hidden=\"true\"\n [style.clip-path]=\"_clipPath(i + 1)\"\n />\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,430 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, computed, signal, viewChild, DestroyRef, Renderer2, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { InteractivityChecker } from '@angular/cdk/a11y';
5
+ import { MLV_SCROLLBAR_I18N } from '@malva-ui/i18n';
6
+
7
+ /**
8
+ * Elements that can plausibly be tab stops. A cheap prefilter — every hit is
9
+ * still confirmed with the CDK's `InteractivityChecker`.
10
+ */
11
+ const FOCUSABLE_CANDIDATE_SELECTOR = [
12
+ 'a[href]',
13
+ 'area[href]',
14
+ 'button',
15
+ 'input',
16
+ 'select',
17
+ 'textarea',
18
+ 'iframe',
19
+ 'object',
20
+ 'embed',
21
+ 'audio[controls]',
22
+ 'video[controls]',
23
+ 'details',
24
+ 'summary',
25
+ '[contenteditable]',
26
+ '[tabindex]',
27
+ ].join(',');
28
+ /**
29
+ * Custom scrollbar component that hides the native browser scrollbar and
30
+ * renders a minimalistic custom one in accordance with the Malva UI theme.
31
+ *
32
+ * Wrap any scrollable content in `<mlv-scrollbar>`. The component must have
33
+ * a defined height (set via CSS or via flex/grid sizing from a parent).
34
+ * Native scroll behaviour is **never intercepted** — the viewport scrolls
35
+ * exactly as if the component were not present. The custom thumb is a pure
36
+ * visual overlay that stays in sync with the viewport's scroll position.
37
+ *
38
+ * @example Vertical (default)
39
+ * ```html
40
+ * <mlv-scrollbar style="height: 12rem">
41
+ * <p>Long content…</p>
42
+ * </mlv-scrollbar>
43
+ * ```
44
+ *
45
+ * @example Horizontal
46
+ * ```html
47
+ * <mlv-scrollbar orientation="horizontal" style="width: 20rem">
48
+ * <div style="width: 60rem">Wide content…</div>
49
+ * </mlv-scrollbar>
50
+ * ```
51
+ *
52
+ * @example Both axes
53
+ * ```html
54
+ * <mlv-scrollbar orientation="both" style="height: 12rem; width: 20rem">
55
+ * <div style="height: 30rem; width: 60rem">…</div>
56
+ * </mlv-scrollbar>
57
+ * ```
58
+ */
59
+ class MlvScrollbar {
60
+ /**
61
+ * Which scroll axes to show the custom scrollbar on.
62
+ * Default: `'vertical'`.
63
+ */
64
+ orientation = input('vertical', /* @ts-ignore */
65
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
66
+ /**
67
+ * CSS length value for the scrollbar track zone width (vertical) or height
68
+ * (horizontal). Maps to the `--mlv-sb-size` custom property on the host.
69
+ * The visible thumb is narrower due to the cross-axis inset (`--mlv-sb-inset`).
70
+ * Default: `'0.75rem'` (12 px track zone → 4 px visible thumb after 4 px inset each side).
71
+ */
72
+ scrollbarSize = input('0.75rem', /* @ts-ignore */
73
+ ...(ngDevMode ? [{ debugName: "scrollbarSize" }] : /* istanbul ignore next */ []));
74
+ /**
75
+ * When `true`, hides the custom scrollbar tracks and restores the browser's
76
+ * native scrollbar. Supports attribute syntax: `<mlv-scrollbar disabled>`.
77
+ */
78
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
79
+ /**
80
+ * Custom aria-label override for the scrollable viewport region.
81
+ * Falls back to the i18n-provided label.
82
+ * Override when the component wraps content with a more specific purpose,
83
+ * e.g. `ariaLabel="Chat messages"`.
84
+ *
85
+ * The label is only written to the DOM while the viewport is itself a tab
86
+ * stop — see `viewportTabIndex`. A viewport that is not keyboard-reachable
87
+ * is left as a plain container, because `aria-label` is prohibited on a
88
+ * role-less element and naming a non-interactive wrapper only adds noise.
89
+ */
90
+ ariaLabel = input(undefined, /* @ts-ignore */
91
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
92
+ /**
93
+ * Tab index applied to the native scroll viewport.
94
+ *
95
+ * The default `0` means **auto**: the viewport is a tab stop only while its
96
+ * content holds nothing tabbable. A text-only region stays reachable so
97
+ * keyboard users can scroll it (WCAG 2.1.1), but a region full of form
98
+ * controls does not add a redundant stop in front of them — which is what
99
+ * put a focus ring around an entire dialog body on open.
100
+ *
101
+ * Any non-zero value is applied verbatim; composite widgets that manage
102
+ * their own focus pass `-1`.
103
+ */
104
+ viewportTabIndex = input(0, /* @ts-ignore */
105
+ ...(ngDevMode ? [{ debugName: "viewportTabIndex" }] : /* istanbul ignore next */ []));
106
+ /** @protected The component's i18n strings signal. */
107
+ _i18n = inject(MLV_SCROLLBAR_I18N, { optional: true });
108
+ /** @protected Resolved aria-label: explicit input takes precedence over i18n default. */
109
+ _resolvedAriaLabel = computed(() => this.ariaLabel() ??
110
+ this._i18n?.().scrollableRegion ??
111
+ 'Scrollable region', /* @ts-ignore */
112
+ ...(ngDevMode ? [{ debugName: "_resolvedAriaLabel" }] : /* istanbul ignore next */ []));
113
+ /**
114
+ * @protected Whether the scrolled content currently holds a tabbable element.
115
+ * Recomputed after render and on every content mutation.
116
+ */
117
+ _hasTabbableContent = signal(false, /* @ts-ignore */
118
+ ...(ngDevMode ? [{ debugName: "_hasTabbableContent" }] : /* istanbul ignore next */ []));
119
+ /**
120
+ * @protected Tab index actually written to the viewport.
121
+ *
122
+ * `0` is treated as "auto" and collapses to `-1` once the content itself is
123
+ * keyboard-reachable; every other value passes through unchanged.
124
+ */
125
+ _effectiveViewportTabIndex = computed(() => {
126
+ const requested = this.viewportTabIndex();
127
+ if (requested !== 0) {
128
+ return requested;
129
+ }
130
+ return this._hasTabbableContent() ? -1 : 0;
131
+ }, /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "_effectiveViewportTabIndex" }] : /* istanbul ignore next */ []));
133
+ /**
134
+ * @protected Whether the viewport is itself reachable by keyboard.
135
+ *
136
+ * Only a viewport that is a tab stop is a control the user can land on, and
137
+ * therefore the only case in which the region has to introduce and name
138
+ * itself (WCAG 4.1.2).
139
+ */
140
+ _isViewportFocusable = computed(() => this._effectiveViewportTabIndex() >= 0, /* @ts-ignore */
141
+ ...(ngDevMode ? [{ debugName: "_isViewportFocusable" }] : /* istanbul ignore next */ []));
142
+ /**
143
+ * @protected ARIA role written to the viewport, or `null` for none.
144
+ *
145
+ * `aria-label` is prohibited on an element with no role (implicit
146
+ * `generic`), so the label was previously discarded by assistive technology.
147
+ * A focusable scroll container is exposed as `group` rather than the
148
+ * landmark `region`, so that wrapping content in `mlv-scrollbar` never
149
+ * injects a landmark — nor a repeated "Scrollable region" landmark name —
150
+ * into the page. When the viewport is not a tab stop it stays role-less and
151
+ * unnamed: the projected content owns its own semantics.
152
+ */
153
+ _viewportRole = computed(() => this._isViewportFocusable() ? 'group' : null, /* @ts-ignore */
154
+ ...(ngDevMode ? [{ debugName: "_viewportRole" }] : /* istanbul ignore next */ []));
155
+ /**
156
+ * @protected The label actually written to the viewport, or `null`.
157
+ *
158
+ * Mirrors `_viewportRole` so the name is never emitted without a role that
159
+ * permits it.
160
+ */
161
+ _viewportAriaLabel = computed(() => this._isViewportFocusable() ? this._resolvedAriaLabel() : null, /* @ts-ignore */
162
+ ...(ngDevMode ? [{ debugName: "_viewportAriaLabel" }] : /* istanbul ignore next */ []));
163
+ /** @protected Whether the vertical track should be rendered. */
164
+ _showVertical = computed(() => !this.disabled() &&
165
+ (this.orientation() === 'vertical' || this.orientation() === 'both'), /* @ts-ignore */
166
+ ...(ngDevMode ? [{ debugName: "_showVertical" }] : /* istanbul ignore next */ []));
167
+ /** @protected Whether the horizontal track should be rendered. */
168
+ _showHorizontal = computed(() => !this.disabled() &&
169
+ (this.orientation() === 'horizontal' || this.orientation() === 'both'), /* @ts-ignore */
170
+ ...(ngDevMode ? [{ debugName: "_showHorizontal" }] : /* istanbul ignore next */ []));
171
+ /** @protected True when scrollHeight > clientHeight (vertical overflow present). */
172
+ _hasVerticalOverflow = signal(false, /* @ts-ignore */
173
+ ...(ngDevMode ? [{ debugName: "_hasVerticalOverflow" }] : /* istanbul ignore next */ []));
174
+ /** @protected True when scrollWidth > clientWidth (horizontal overflow present). */
175
+ _hasHorizontalOverflow = signal(false, /* @ts-ignore */
176
+ ...(ngDevMode ? [{ debugName: "_hasHorizontalOverflow" }] : /* istanbul ignore next */ []));
177
+ /** @protected Vertical thumb top offset in pixels (set as inline style). */
178
+ _thumbTop = signal(0, /* @ts-ignore */
179
+ ...(ngDevMode ? [{ debugName: "_thumbTop" }] : /* istanbul ignore next */ []));
180
+ /** @protected Vertical thumb height in pixels (set as inline style). */
181
+ _thumbHeight = signal(0, /* @ts-ignore */
182
+ ...(ngDevMode ? [{ debugName: "_thumbHeight" }] : /* istanbul ignore next */ []));
183
+ /** @protected Horizontal thumb left offset in pixels (set as inline style). */
184
+ _thumbLeft = signal(0, /* @ts-ignore */
185
+ ...(ngDevMode ? [{ debugName: "_thumbLeft" }] : /* istanbul ignore next */ []));
186
+ /** @protected Horizontal thumb width in pixels (set as inline style). */
187
+ _thumbWidth = signal(0, /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "_thumbWidth" }] : /* istanbul ignore next */ []));
189
+ /** @protected True while the user is actively dragging a thumb. Adds `--dragging` modifier. */
190
+ _isDragging = signal(false, /* @ts-ignore */
191
+ ...(ngDevMode ? [{ debugName: "_isDragging" }] : /* istanbul ignore next */ []));
192
+ /** @protected True while scroll events are firing. Cleared after 150 ms idle. Adds `--scrolling` modifier. */
193
+ _isScrolling = signal(false, /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "_isScrolling" }] : /* istanbul ignore next */ []));
195
+ /** @private Reference to the inner scrollable viewport element. */
196
+ _viewport = viewChild.required('viewport', /* @ts-ignore */
197
+ ...(ngDevMode ? [{ debugName: "_viewport" }] : /* istanbul ignore next */ []));
198
+ /**
199
+ * The native scrollable viewport element.
200
+ * Lets wrapping components (e.g. `main[mlvPage]`) observe scroll position
201
+ * without reaching into the component's private DOM.
202
+ */
203
+ get viewportElement() {
204
+ return this._viewport().nativeElement;
205
+ }
206
+ /** @private Reference to the vertical track element. */
207
+ _trackV = viewChild.required('trackV', /* @ts-ignore */
208
+ ...(ngDevMode ? [{ debugName: "_trackV" }] : /* istanbul ignore next */ []));
209
+ /** @private Reference to the horizontal track element. */
210
+ _trackH = viewChild.required('trackH', /* @ts-ignore */
211
+ ...(ngDevMode ? [{ debugName: "_trackH" }] : /* istanbul ignore next */ []));
212
+ /** @private Minimum rendered thumb length in pixels — prevents thumb from becoming unclickable. */
213
+ _minThumbSize = 32;
214
+ /** @private Native ResizeObserver watching viewport and content size. */
215
+ _resizeObserver = null;
216
+ /** @private Native MutationObserver keeping `_hasTabbableContent` in sync with projected content. */
217
+ _contentObserver = null;
218
+ /** @private CDK checker used to decide whether projected content is keyboard-reachable. */
219
+ _interactivityChecker = inject(InteractivityChecker);
220
+ /** @private Timeout ID for clearing the `--scrolling` modifier after idle. */
221
+ _scrollTimeout = null;
222
+ /** @private DestroyRef used to clean up the ResizeObserver, timers, and drag listeners. */
223
+ _destroyRef = inject(DestroyRef);
224
+ /** @private Renderer2 used so DOM listeners are SSR-safe and unsubscribable. */
225
+ _renderer = inject(Renderer2);
226
+ constructor() {
227
+ afterNextRender(() => {
228
+ this._updateGeometry();
229
+ this._updateTabbableContent();
230
+ const viewportEl = this._viewport().nativeElement;
231
+ const contentEl = viewportEl.firstElementChild;
232
+ if (contentEl && typeof MutationObserver !== 'undefined') {
233
+ // Projected content is opaque to the component, so tabbability has to
234
+ // be re-read whenever it changes shape — a lazily rendered form, a
235
+ // button that becomes disabled, an @if that swaps text for controls.
236
+ this._contentObserver = new MutationObserver(() => this._updateTabbableContent());
237
+ this._contentObserver.observe(contentEl, {
238
+ childList: true,
239
+ subtree: true,
240
+ attributes: true,
241
+ attributeFilter: ['tabindex', 'disabled', 'hidden', 'href', 'type'],
242
+ });
243
+ }
244
+ if (typeof ResizeObserver === 'undefined') {
245
+ return;
246
+ }
247
+ this._resizeObserver = new ResizeObserver(() => {
248
+ this._updateGeometry();
249
+ });
250
+ // Observe the viewport to detect host resize (viewport fills host via position:absolute).
251
+ this._resizeObserver.observe(viewportEl);
252
+ // Observe the content wrapper to detect content size changes.
253
+ if (contentEl) {
254
+ this._resizeObserver.observe(contentEl);
255
+ }
256
+ });
257
+ this._destroyRef.onDestroy(() => {
258
+ this._resizeObserver?.disconnect();
259
+ this._contentObserver?.disconnect();
260
+ if (this._scrollTimeout !== null) {
261
+ clearTimeout(this._scrollTimeout);
262
+ }
263
+ });
264
+ }
265
+ /**
266
+ * @private Re-reads whether the projected content contains a tab stop.
267
+ *
268
+ * Drives `_effectiveViewportTabIndex`: a scroll region only needs to be a tab
269
+ * stop of its own when nothing inside it already is (WCAG 2.1.1). Keeping it
270
+ * unconditionally tabbable put a redundant stop — and a focus ring around the
271
+ * whole region — in front of every dialog body's form controls.
272
+ */
273
+ _updateTabbableContent() {
274
+ const contentEl = this._viewport().nativeElement.firstElementChild;
275
+ if (!contentEl) {
276
+ this._hasTabbableContent.set(false);
277
+ return;
278
+ }
279
+ const candidates = contentEl.querySelectorAll(FOCUSABLE_CANDIDATE_SELECTOR);
280
+ for (const candidate of Array.from(candidates)) {
281
+ // `ignoreVisibility` because the CDK's visibility test is geometric and
282
+ // the content may not have been laid out yet (and never is under jsdom).
283
+ if (this._interactivityChecker.isFocusable(candidate, {
284
+ ignoreVisibility: true,
285
+ }) &&
286
+ this._interactivityChecker.isTabbable(candidate)) {
287
+ this._hasTabbableContent.set(true);
288
+ return;
289
+ }
290
+ }
291
+ this._hasTabbableContent.set(false);
292
+ }
293
+ /** @protected Handles scroll events on the viewport. Updates thumb positions and `--scrolling` state. */
294
+ _onScroll() {
295
+ this._updateThumbPositions();
296
+ this._isScrolling.set(true);
297
+ if (this._scrollTimeout !== null) {
298
+ clearTimeout(this._scrollTimeout);
299
+ }
300
+ this._scrollTimeout = setTimeout(() => {
301
+ this._isScrolling.set(false);
302
+ this._scrollTimeout = null;
303
+ }, 150);
304
+ }
305
+ /**
306
+ * @protected Handles `pointerdown` on a scrollbar thumb.
307
+ * Captures the pointer and translates subsequent `pointermove` deltas into
308
+ * viewport scroll offsets. Releases on `pointerup` or `pointercancel`.
309
+ */
310
+ _onThumbPointerDown(event, axis) {
311
+ event.preventDefault();
312
+ event.stopPropagation();
313
+ const thumb = event.currentTarget;
314
+ thumb.setPointerCapture(event.pointerId);
315
+ const viewportEl = this._viewport().nativeElement;
316
+ const trackEl = (axis === 'vertical' ? this._trackV() : this._trackH())
317
+ .nativeElement;
318
+ const paddingPx = axis === 'vertical'
319
+ ? parseFloat(getComputedStyle(trackEl).paddingTop)
320
+ : parseFloat(getComputedStyle(trackEl).paddingLeft);
321
+ const trackSize = axis === 'vertical'
322
+ ? trackEl.offsetHeight - paddingPx * 2
323
+ : trackEl.offsetWidth - paddingPx * 2;
324
+ const thumbSize = axis === 'vertical' ? this._thumbHeight() : this._thumbWidth();
325
+ const scrollRange = axis === 'vertical'
326
+ ? viewportEl.scrollHeight - viewportEl.clientHeight
327
+ : viewportEl.scrollWidth - viewportEl.clientWidth;
328
+ const startPointer = axis === 'vertical' ? event.clientY : event.clientX;
329
+ const startScroll = axis === 'vertical' ? viewportEl.scrollTop : viewportEl.scrollLeft;
330
+ const scrollPerPixel = thumbSize < trackSize && scrollRange > 0
331
+ ? scrollRange / (trackSize - thumbSize)
332
+ : 0;
333
+ this._isDragging.set(true);
334
+ const onPointerMove = (moveEvent) => {
335
+ const delta = (axis === 'vertical' ? moveEvent.clientY : moveEvent.clientX) -
336
+ startPointer;
337
+ if (axis === 'vertical') {
338
+ viewportEl.scrollTop = startScroll + delta * scrollPerPixel;
339
+ }
340
+ else {
341
+ viewportEl.scrollLeft = startScroll + delta * scrollPerPixel;
342
+ }
343
+ };
344
+ let releaseListeners = null;
345
+ const onPointerUp = () => {
346
+ this._isDragging.set(false);
347
+ releaseListeners?.();
348
+ releaseListeners = null;
349
+ };
350
+ const moveDispose = this._renderer.listen(thumb, 'pointermove', onPointerMove);
351
+ const upDispose = this._renderer.listen(thumb, 'pointerup', onPointerUp);
352
+ const cancelDispose = this._renderer.listen(thumb, 'pointercancel', onPointerUp);
353
+ releaseListeners = () => {
354
+ moveDispose();
355
+ upDispose();
356
+ cancelDispose();
357
+ };
358
+ // Guarantee cleanup if the component is destroyed mid-drag — without this
359
+ // the listeners would leak against the detached thumb element and
360
+ // _isDragging would stay true.
361
+ this._destroyRef.onDestroy(() => {
362
+ releaseListeners?.();
363
+ });
364
+ }
365
+ /**
366
+ * @private Recalculates overflow detection and thumb geometry.
367
+ * Called after first render, on ResizeObserver notifications, and on scroll.
368
+ */
369
+ _updateGeometry() {
370
+ const viewportEl = this._viewport().nativeElement;
371
+ // +1 tolerance for sub-pixel rounding
372
+ this._hasVerticalOverflow.set(viewportEl.scrollHeight > viewportEl.clientHeight + 1);
373
+ this._hasHorizontalOverflow.set(viewportEl.scrollWidth > viewportEl.clientWidth + 1);
374
+ this._updateThumbPositions();
375
+ }
376
+ /**
377
+ * @private Recomputes thumb position and size signals from the current viewport
378
+ * scroll state. Fast path — called on every scroll event.
379
+ */
380
+ _updateThumbPositions() {
381
+ const viewportEl = this._viewport().nativeElement;
382
+ if (this._showVertical() && this._hasVerticalOverflow()) {
383
+ const trackEl = this._trackV().nativeElement;
384
+ const paddingPx = parseFloat(getComputedStyle(trackEl).paddingTop);
385
+ const usableHeight = trackEl.offsetHeight - paddingPx * 2;
386
+ const ratio = viewportEl.clientHeight / viewportEl.scrollHeight;
387
+ const thumbH = Math.max(this._minThumbSize, usableHeight * ratio);
388
+ const scrollRange = viewportEl.scrollHeight - viewportEl.clientHeight;
389
+ const thumbT = scrollRange > 0
390
+ ? paddingPx +
391
+ (viewportEl.scrollTop / scrollRange) * (usableHeight - thumbH)
392
+ : paddingPx;
393
+ this._thumbHeight.set(Math.round(thumbH));
394
+ this._thumbTop.set(Math.round(thumbT));
395
+ }
396
+ if (this._showHorizontal() && this._hasHorizontalOverflow()) {
397
+ const trackEl = this._trackH().nativeElement;
398
+ const paddingPx = parseFloat(getComputedStyle(trackEl).paddingLeft);
399
+ const usableWidth = trackEl.offsetWidth - paddingPx * 2;
400
+ const ratio = viewportEl.clientWidth / viewportEl.scrollWidth;
401
+ const thumbW = Math.max(this._minThumbSize, usableWidth * ratio);
402
+ const scrollRange = viewportEl.scrollWidth - viewportEl.clientWidth;
403
+ const thumbL = scrollRange > 0
404
+ ? paddingPx +
405
+ (viewportEl.scrollLeft / scrollRange) * (usableWidth - thumbW)
406
+ : paddingPx;
407
+ this._thumbWidth.set(Math.round(thumbW));
408
+ this._thumbLeft.set(Math.round(thumbL));
409
+ }
410
+ }
411
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvScrollbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
412
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: MlvScrollbar, isStandalone: true, selector: "mlv-scrollbar", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, scrollbarSize: { classPropertyName: "scrollbarSize", publicName: "scrollbarSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, viewportTabIndex: { classPropertyName: "viewportTabIndex", publicName: "viewportTabIndex", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mlv-scrollbar--disabled": "disabled()", "class.mlv-scrollbar--dragging": "_isDragging()", "class.mlv-scrollbar--scrolling": "_isScrolling()", "style.--mlv-sb-size": "scrollbarSize()" }, classAttribute: "mlv-scrollbar" }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "_trackV", first: true, predicate: ["trackV"], descendants: true, isSignal: true }, { propertyName: "_trackH", first: true, predicate: ["trackH"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"mlv-scrollbar__viewport\"\n #viewport\n [attr.tabindex]=\"_effectiveViewportTabIndex()\"\n [attr.role]=\"_viewportRole()\"\n [attr.aria-label]=\"_viewportAriaLabel()\"\n (scroll)=\"_onScroll()\"\n>\n <div class=\"mlv-scrollbar__content\" #content>\n <ng-content />\n </div>\n</div>\n\n<!-- Custom track and thumb elements are purely visual overlays.\n Screen readers use the viewport's native scroll semantics above. -->\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--vertical\"\n [class.mlv-scrollbar__track--hidden]=\"!_showVertical() || !_hasVerticalOverflow()\"\n aria-hidden=\"true\"\n #trackV\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.top.px]=\"_thumbTop()\"\n [style.height.px]=\"_thumbHeight()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'vertical')\"\n ></div>\n</div>\n\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--horizontal\"\n [class.mlv-scrollbar__track--hidden]=\"!_showHorizontal() || !_hasHorizontalOverflow()\"\n aria-hidden=\"true\"\n #trackH\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.left.px]=\"_thumbLeft()\"\n [style.width.px]=\"_thumbWidth()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'horizontal')\"\n ></div>\n</div>\n", styles: ["@layer mlv.components{.mlv-scrollbar{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-scrollbar *{box-sizing:border-box}.mlv-scrollbar{position:relative;display:grid;--mlv-sb-size: .75rem;--mlv-sb-inset: .25rem;--mlv-sb-edge-padding: .1875rem;--mlv-sb-thumb-bg: var(--mlv-border-strong);--mlv-sb-thumb-opacity: .5;--mlv-sb-track-bg: transparent;--mlv-sb-radius: var(--mlv-radius-full);--mlv-sb-min-thumb-size: 1.75rem;--mlv-sb-edge-gap: 0rem}.mlv-scrollbar:hover .mlv-scrollbar__thumb{--mlv-sb-inset: .1875rem;opacity:.8}.mlv-scrollbar--scrolling .mlv-scrollbar__thumb{opacity:1}.mlv-scrollbar--dragging{-webkit-user-select:none;user-select:none}.mlv-scrollbar--dragging .mlv-scrollbar__thumb{--mlv-sb-inset: .1875rem;--mlv-sb-thumb-bg: var(--mlv-text-secondary);opacity:1;cursor:grabbing}.mlv-scrollbar--disabled .mlv-scrollbar__track{display:none}.mlv-scrollbar--disabled .mlv-scrollbar__viewport{scrollbar-width:auto}.mlv-scrollbar--disabled .mlv-scrollbar__viewport::-webkit-scrollbar{display:revert}.mlv-scrollbar:hover .mlv-scrollbar__track{opacity:1}.mlv-scrollbar__viewport{min-height:0;min-width:0;overflow:auto;scrollbar-width:none;outline:none}.mlv-scrollbar__viewport::-webkit-scrollbar{display:none}.mlv-scrollbar__viewport:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:calc(var(--mlv-focus-ring-offset) * -1)}.mlv-scrollbar__content{min-height:100%;min-width:100%}.mlv-scrollbar__track{position:absolute;background:var(--mlv-sb-track-bg);border-radius:var(--mlv-sb-radius);z-index:var(--mlv-z-raised);opacity:0;transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default)}.mlv-scrollbar__track--vertical{top:var(--mlv-sb-edge-gap);bottom:var(--mlv-sb-edge-gap);inset-inline-end:var(--mlv-sb-edge-gap);width:var(--mlv-sb-size);padding:var(--mlv-sb-edge-padding) 0}.mlv-scrollbar__track--horizontal{bottom:var(--mlv-sb-edge-gap);inset-inline-start:var(--mlv-sb-edge-gap);inset-inline-end:var(--mlv-sb-edge-gap);height:var(--mlv-sb-size);padding:0 var(--mlv-sb-edge-padding)}.mlv-scrollbar__track--hidden{display:none}.mlv-scrollbar:has(.mlv-scrollbar__track--vertical:not(.mlv-scrollbar__track--hidden)):has(.mlv-scrollbar__track--horizontal:not(.mlv-scrollbar__track--hidden)) .mlv-scrollbar__track--vertical{bottom:calc(var(--mlv-sb-size) + var(--mlv-sb-edge-gap))}.mlv-scrollbar:has(.mlv-scrollbar__track--vertical:not(.mlv-scrollbar__track--hidden)):has(.mlv-scrollbar__track--horizontal:not(.mlv-scrollbar__track--hidden)) .mlv-scrollbar__track--horizontal{inset-inline-end:calc(var(--mlv-sb-size) + var(--mlv-sb-edge-gap))}.mlv-scrollbar__thumb{position:absolute;background:var(--mlv-sb-thumb-bg);border-radius:var(--mlv-sb-radius);opacity:var(--mlv-sb-thumb-opacity);cursor:grab}.mlv-scrollbar__track--vertical .mlv-scrollbar__thumb{inset-inline-start:var(--mlv-sb-inset);inset-inline-end:var(--mlv-sb-inset);min-block-size:var(--mlv-sb-min-thumb-size);transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default),background-color var(--mlv-duration-fast) var(--mlv-ease-default),inset-inline-start var(--mlv-duration-normal) var(--mlv-ease-default),inset-inline-end var(--mlv-duration-normal) var(--mlv-ease-default)}.mlv-scrollbar__track--horizontal .mlv-scrollbar__thumb{top:var(--mlv-sb-inset);bottom:var(--mlv-sb-inset);min-inline-size:var(--mlv-sb-min-thumb-size);transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default),background-color var(--mlv-duration-fast) var(--mlv-ease-default),top var(--mlv-duration-normal) var(--mlv-ease-default),bottom var(--mlv-duration-normal) var(--mlv-ease-default)}@media(prefers-reduced-motion:reduce){.mlv-scrollbar,.mlv-scrollbar *,.mlv-scrollbar:before,.mlv-scrollbar:after,[class^=mlv-scrollbar__],[class*=\" mlv-scrollbar__\"],[class^=mlv-scrollbar--],[class*=\" mlv-scrollbar--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
413
+ }
414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvScrollbar, decorators: [{
415
+ type: Component,
416
+ args: [{ selector: 'mlv-scrollbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
417
+ class: 'mlv-scrollbar',
418
+ '[class.mlv-scrollbar--disabled]': 'disabled()',
419
+ '[class.mlv-scrollbar--dragging]': '_isDragging()',
420
+ '[class.mlv-scrollbar--scrolling]': '_isScrolling()',
421
+ '[style.--mlv-sb-size]': 'scrollbarSize()',
422
+ }, template: "<div\n class=\"mlv-scrollbar__viewport\"\n #viewport\n [attr.tabindex]=\"_effectiveViewportTabIndex()\"\n [attr.role]=\"_viewportRole()\"\n [attr.aria-label]=\"_viewportAriaLabel()\"\n (scroll)=\"_onScroll()\"\n>\n <div class=\"mlv-scrollbar__content\" #content>\n <ng-content />\n </div>\n</div>\n\n<!-- Custom track and thumb elements are purely visual overlays.\n Screen readers use the viewport's native scroll semantics above. -->\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--vertical\"\n [class.mlv-scrollbar__track--hidden]=\"!_showVertical() || !_hasVerticalOverflow()\"\n aria-hidden=\"true\"\n #trackV\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.top.px]=\"_thumbTop()\"\n [style.height.px]=\"_thumbHeight()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'vertical')\"\n ></div>\n</div>\n\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--horizontal\"\n [class.mlv-scrollbar__track--hidden]=\"!_showHorizontal() || !_hasHorizontalOverflow()\"\n aria-hidden=\"true\"\n #trackH\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.left.px]=\"_thumbLeft()\"\n [style.width.px]=\"_thumbWidth()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'horizontal')\"\n ></div>\n</div>\n", styles: ["@layer mlv.components{.mlv-scrollbar{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-scrollbar *{box-sizing:border-box}.mlv-scrollbar{position:relative;display:grid;--mlv-sb-size: .75rem;--mlv-sb-inset: .25rem;--mlv-sb-edge-padding: .1875rem;--mlv-sb-thumb-bg: var(--mlv-border-strong);--mlv-sb-thumb-opacity: .5;--mlv-sb-track-bg: transparent;--mlv-sb-radius: var(--mlv-radius-full);--mlv-sb-min-thumb-size: 1.75rem;--mlv-sb-edge-gap: 0rem}.mlv-scrollbar:hover .mlv-scrollbar__thumb{--mlv-sb-inset: .1875rem;opacity:.8}.mlv-scrollbar--scrolling .mlv-scrollbar__thumb{opacity:1}.mlv-scrollbar--dragging{-webkit-user-select:none;user-select:none}.mlv-scrollbar--dragging .mlv-scrollbar__thumb{--mlv-sb-inset: .1875rem;--mlv-sb-thumb-bg: var(--mlv-text-secondary);opacity:1;cursor:grabbing}.mlv-scrollbar--disabled .mlv-scrollbar__track{display:none}.mlv-scrollbar--disabled .mlv-scrollbar__viewport{scrollbar-width:auto}.mlv-scrollbar--disabled .mlv-scrollbar__viewport::-webkit-scrollbar{display:revert}.mlv-scrollbar:hover .mlv-scrollbar__track{opacity:1}.mlv-scrollbar__viewport{min-height:0;min-width:0;overflow:auto;scrollbar-width:none;outline:none}.mlv-scrollbar__viewport::-webkit-scrollbar{display:none}.mlv-scrollbar__viewport:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:calc(var(--mlv-focus-ring-offset) * -1)}.mlv-scrollbar__content{min-height:100%;min-width:100%}.mlv-scrollbar__track{position:absolute;background:var(--mlv-sb-track-bg);border-radius:var(--mlv-sb-radius);z-index:var(--mlv-z-raised);opacity:0;transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default)}.mlv-scrollbar__track--vertical{top:var(--mlv-sb-edge-gap);bottom:var(--mlv-sb-edge-gap);inset-inline-end:var(--mlv-sb-edge-gap);width:var(--mlv-sb-size);padding:var(--mlv-sb-edge-padding) 0}.mlv-scrollbar__track--horizontal{bottom:var(--mlv-sb-edge-gap);inset-inline-start:var(--mlv-sb-edge-gap);inset-inline-end:var(--mlv-sb-edge-gap);height:var(--mlv-sb-size);padding:0 var(--mlv-sb-edge-padding)}.mlv-scrollbar__track--hidden{display:none}.mlv-scrollbar:has(.mlv-scrollbar__track--vertical:not(.mlv-scrollbar__track--hidden)):has(.mlv-scrollbar__track--horizontal:not(.mlv-scrollbar__track--hidden)) .mlv-scrollbar__track--vertical{bottom:calc(var(--mlv-sb-size) + var(--mlv-sb-edge-gap))}.mlv-scrollbar:has(.mlv-scrollbar__track--vertical:not(.mlv-scrollbar__track--hidden)):has(.mlv-scrollbar__track--horizontal:not(.mlv-scrollbar__track--hidden)) .mlv-scrollbar__track--horizontal{inset-inline-end:calc(var(--mlv-sb-size) + var(--mlv-sb-edge-gap))}.mlv-scrollbar__thumb{position:absolute;background:var(--mlv-sb-thumb-bg);border-radius:var(--mlv-sb-radius);opacity:var(--mlv-sb-thumb-opacity);cursor:grab}.mlv-scrollbar__track--vertical .mlv-scrollbar__thumb{inset-inline-start:var(--mlv-sb-inset);inset-inline-end:var(--mlv-sb-inset);min-block-size:var(--mlv-sb-min-thumb-size);transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default),background-color var(--mlv-duration-fast) var(--mlv-ease-default),inset-inline-start var(--mlv-duration-normal) var(--mlv-ease-default),inset-inline-end var(--mlv-duration-normal) var(--mlv-ease-default)}.mlv-scrollbar__track--horizontal .mlv-scrollbar__thumb{top:var(--mlv-sb-inset);bottom:var(--mlv-sb-inset);min-inline-size:var(--mlv-sb-min-thumb-size);transition:opacity var(--mlv-duration-normal) var(--mlv-ease-default),background-color var(--mlv-duration-fast) var(--mlv-ease-default),top var(--mlv-duration-normal) var(--mlv-ease-default),bottom var(--mlv-duration-normal) var(--mlv-ease-default)}@media(prefers-reduced-motion:reduce){.mlv-scrollbar,.mlv-scrollbar *,.mlv-scrollbar:before,.mlv-scrollbar:after,[class^=mlv-scrollbar__],[class*=\" mlv-scrollbar__\"],[class^=mlv-scrollbar--],[class*=\" mlv-scrollbar--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"] }]
423
+ }], ctorParameters: () => [], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], scrollbarSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarSize", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], viewportTabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewportTabIndex", required: false }] }], _viewport: [{ type: i0.ViewChild, args: ['viewport', { isSignal: true }] }], _trackV: [{ type: i0.ViewChild, args: ['trackV', { isSignal: true }] }], _trackH: [{ type: i0.ViewChild, args: ['trackH', { isSignal: true }] }] } });
424
+
425
+ /**
426
+ * Generated bundle index. Do not edit.
427
+ */
428
+
429
+ export { MlvScrollbar };
430
+ //# sourceMappingURL=malva-ui-core-scrollbar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malva-ui-core-scrollbar.mjs","sources":["../../../../libs/core/scrollbar/src/lib/scrollbar/scrollbar.ts","../../../../libs/core/scrollbar/src/lib/scrollbar/scrollbar.html","../../../../libs/core/scrollbar/src/malva-ui-core-scrollbar.ts"],"sourcesContent":["import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n type ElementRef,\n inject,\n input,\n Renderer2,\n signal,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { InteractivityChecker } from '@angular/cdk/a11y';\nimport { MLV_SCROLLBAR_I18N } from '@malva-ui/i18n';\n\n/**\n * Elements that can plausibly be tab stops. A cheap prefilter — every hit is\n * still confirmed with the CDK's `InteractivityChecker`.\n */\nconst FOCUSABLE_CANDIDATE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n 'details',\n 'summary',\n '[contenteditable]',\n '[tabindex]',\n].join(',');\n\n/** Controls which scroll axes render a custom scrollbar. */\nexport type MlvScrollbarOrientation = 'vertical' | 'horizontal' | 'both';\n\n/**\n * Custom scrollbar component that hides the native browser scrollbar and\n * renders a minimalistic custom one in accordance with the Malva UI theme.\n *\n * Wrap any scrollable content in `<mlv-scrollbar>`. The component must have\n * a defined height (set via CSS or via flex/grid sizing from a parent).\n * Native scroll behaviour is **never intercepted** — the viewport scrolls\n * exactly as if the component were not present. The custom thumb is a pure\n * visual overlay that stays in sync with the viewport's scroll position.\n *\n * @example Vertical (default)\n * ```html\n * <mlv-scrollbar style=\"height: 12rem\">\n * <p>Long content…</p>\n * </mlv-scrollbar>\n * ```\n *\n * @example Horizontal\n * ```html\n * <mlv-scrollbar orientation=\"horizontal\" style=\"width: 20rem\">\n * <div style=\"width: 60rem\">Wide content…</div>\n * </mlv-scrollbar>\n * ```\n *\n * @example Both axes\n * ```html\n * <mlv-scrollbar orientation=\"both\" style=\"height: 12rem; width: 20rem\">\n * <div style=\"height: 30rem; width: 60rem\">…</div>\n * </mlv-scrollbar>\n * ```\n */\n@Component({\n selector: 'mlv-scrollbar',\n templateUrl: './scrollbar.html',\n styleUrl: './scrollbar.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-scrollbar',\n '[class.mlv-scrollbar--disabled]': 'disabled()',\n '[class.mlv-scrollbar--dragging]': '_isDragging()',\n '[class.mlv-scrollbar--scrolling]': '_isScrolling()',\n '[style.--mlv-sb-size]': 'scrollbarSize()',\n },\n})\nexport class MlvScrollbar {\n /**\n * Which scroll axes to show the custom scrollbar on.\n * Default: `'vertical'`.\n */\n readonly orientation = input<MlvScrollbarOrientation>('vertical');\n\n /**\n * CSS length value for the scrollbar track zone width (vertical) or height\n * (horizontal). Maps to the `--mlv-sb-size` custom property on the host.\n * The visible thumb is narrower due to the cross-axis inset (`--mlv-sb-inset`).\n * Default: `'0.75rem'` (12 px track zone → 4 px visible thumb after 4 px inset each side).\n */\n readonly scrollbarSize = input<string>('0.75rem');\n\n /**\n * When `true`, hides the custom scrollbar tracks and restores the browser's\n * native scrollbar. Supports attribute syntax: `<mlv-scrollbar disabled>`.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Custom aria-label override for the scrollable viewport region.\n * Falls back to the i18n-provided label.\n * Override when the component wraps content with a more specific purpose,\n * e.g. `ariaLabel=\"Chat messages\"`.\n *\n * The label is only written to the DOM while the viewport is itself a tab\n * stop — see `viewportTabIndex`. A viewport that is not keyboard-reachable\n * is left as a plain container, because `aria-label` is prohibited on a\n * role-less element and naming a non-interactive wrapper only adds noise.\n */\n readonly ariaLabel = input<string | undefined>(undefined);\n\n /**\n * Tab index applied to the native scroll viewport.\n *\n * The default `0` means **auto**: the viewport is a tab stop only while its\n * content holds nothing tabbable. A text-only region stays reachable so\n * keyboard users can scroll it (WCAG 2.1.1), but a region full of form\n * controls does not add a redundant stop in front of them — which is what\n * put a focus ring around an entire dialog body on open.\n *\n * Any non-zero value is applied verbatim; composite widgets that manage\n * their own focus pass `-1`.\n */\n readonly viewportTabIndex = input<number>(0);\n\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_SCROLLBAR_I18N, { optional: true });\n\n /** @protected Resolved aria-label: explicit input takes precedence over i18n default. */\n protected readonly _resolvedAriaLabel = computed(\n () =>\n this.ariaLabel() ??\n this._i18n?.().scrollableRegion ??\n 'Scrollable region',\n );\n\n /**\n * @protected Whether the scrolled content currently holds a tabbable element.\n * Recomputed after render and on every content mutation.\n */\n protected readonly _hasTabbableContent = signal(false);\n\n /**\n * @protected Tab index actually written to the viewport.\n *\n * `0` is treated as \"auto\" and collapses to `-1` once the content itself is\n * keyboard-reachable; every other value passes through unchanged.\n */\n protected readonly _effectiveViewportTabIndex = computed(() => {\n const requested = this.viewportTabIndex();\n if (requested !== 0) {\n return requested;\n }\n return this._hasTabbableContent() ? -1 : 0;\n });\n\n /**\n * @protected Whether the viewport is itself reachable by keyboard.\n *\n * Only a viewport that is a tab stop is a control the user can land on, and\n * therefore the only case in which the region has to introduce and name\n * itself (WCAG 4.1.2).\n */\n protected readonly _isViewportFocusable = computed(\n () => this._effectiveViewportTabIndex() >= 0,\n );\n\n /**\n * @protected ARIA role written to the viewport, or `null` for none.\n *\n * `aria-label` is prohibited on an element with no role (implicit\n * `generic`), so the label was previously discarded by assistive technology.\n * A focusable scroll container is exposed as `group` rather than the\n * landmark `region`, so that wrapping content in `mlv-scrollbar` never\n * injects a landmark — nor a repeated \"Scrollable region\" landmark name —\n * into the page. When the viewport is not a tab stop it stays role-less and\n * unnamed: the projected content owns its own semantics.\n */\n protected readonly _viewportRole = computed(() =>\n this._isViewportFocusable() ? 'group' : null,\n );\n\n /**\n * @protected The label actually written to the viewport, or `null`.\n *\n * Mirrors `_viewportRole` so the name is never emitted without a role that\n * permits it.\n */\n protected readonly _viewportAriaLabel = computed(() =>\n this._isViewportFocusable() ? this._resolvedAriaLabel() : null,\n );\n\n /** @protected Whether the vertical track should be rendered. */\n protected readonly _showVertical = computed(\n () =>\n !this.disabled() &&\n (this.orientation() === 'vertical' || this.orientation() === 'both'),\n );\n\n /** @protected Whether the horizontal track should be rendered. */\n protected readonly _showHorizontal = computed(\n () =>\n !this.disabled() &&\n (this.orientation() === 'horizontal' || this.orientation() === 'both'),\n );\n\n /** @protected True when scrollHeight > clientHeight (vertical overflow present). */\n protected readonly _hasVerticalOverflow = signal(false);\n\n /** @protected True when scrollWidth > clientWidth (horizontal overflow present). */\n protected readonly _hasHorizontalOverflow = signal(false);\n\n /** @protected Vertical thumb top offset in pixels (set as inline style). */\n protected readonly _thumbTop = signal(0);\n\n /** @protected Vertical thumb height in pixels (set as inline style). */\n protected readonly _thumbHeight = signal(0);\n\n /** @protected Horizontal thumb left offset in pixels (set as inline style). */\n protected readonly _thumbLeft = signal(0);\n\n /** @protected Horizontal thumb width in pixels (set as inline style). */\n protected readonly _thumbWidth = signal(0);\n\n /** @protected True while the user is actively dragging a thumb. Adds `--dragging` modifier. */\n protected readonly _isDragging = signal(false);\n\n /** @protected True while scroll events are firing. Cleared after 150 ms idle. Adds `--scrolling` modifier. */\n protected readonly _isScrolling = signal(false);\n\n /** @private Reference to the inner scrollable viewport element. */\n private readonly _viewport =\n viewChild.required<ElementRef<HTMLDivElement>>('viewport');\n\n /**\n * The native scrollable viewport element.\n * Lets wrapping components (e.g. `main[mlvPage]`) observe scroll position\n * without reaching into the component's private DOM.\n */\n get viewportElement(): HTMLElement {\n return this._viewport().nativeElement;\n }\n\n /** @private Reference to the vertical track element. */\n private readonly _trackV =\n viewChild.required<ElementRef<HTMLDivElement>>('trackV');\n\n /** @private Reference to the horizontal track element. */\n private readonly _trackH =\n viewChild.required<ElementRef<HTMLDivElement>>('trackH');\n\n /** @private Minimum rendered thumb length in pixels — prevents thumb from becoming unclickable. */\n private readonly _minThumbSize = 32;\n\n /** @private Native ResizeObserver watching viewport and content size. */\n private _resizeObserver: ResizeObserver | null = null;\n\n /** @private Native MutationObserver keeping `_hasTabbableContent` in sync with projected content. */\n private _contentObserver: MutationObserver | null = null;\n\n /** @private CDK checker used to decide whether projected content is keyboard-reachable. */\n private readonly _interactivityChecker = inject(InteractivityChecker);\n\n /** @private Timeout ID for clearing the `--scrolling` modifier after idle. */\n private _scrollTimeout: ReturnType<typeof setTimeout> | null = null;\n\n /** @private DestroyRef used to clean up the ResizeObserver, timers, and drag listeners. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Renderer2 used so DOM listeners are SSR-safe and unsubscribable. */\n private readonly _renderer = inject(Renderer2);\n\n constructor() {\n afterNextRender(() => {\n this._updateGeometry();\n this._updateTabbableContent();\n\n const viewportEl = this._viewport().nativeElement;\n const contentEl = viewportEl.firstElementChild;\n\n if (contentEl && typeof MutationObserver !== 'undefined') {\n // Projected content is opaque to the component, so tabbability has to\n // be re-read whenever it changes shape — a lazily rendered form, a\n // button that becomes disabled, an @if that swaps text for controls.\n this._contentObserver = new MutationObserver(() =>\n this._updateTabbableContent(),\n );\n this._contentObserver.observe(contentEl, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['tabindex', 'disabled', 'hidden', 'href', 'type'],\n });\n }\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._updateGeometry();\n });\n\n // Observe the viewport to detect host resize (viewport fills host via position:absolute).\n this._resizeObserver.observe(viewportEl);\n // Observe the content wrapper to detect content size changes.\n if (contentEl) {\n this._resizeObserver.observe(contentEl);\n }\n });\n\n this._destroyRef.onDestroy(() => {\n this._resizeObserver?.disconnect();\n this._contentObserver?.disconnect();\n if (this._scrollTimeout !== null) {\n clearTimeout(this._scrollTimeout);\n }\n });\n }\n\n /**\n * @private Re-reads whether the projected content contains a tab stop.\n *\n * Drives `_effectiveViewportTabIndex`: a scroll region only needs to be a tab\n * stop of its own when nothing inside it already is (WCAG 2.1.1). Keeping it\n * unconditionally tabbable put a redundant stop — and a focus ring around the\n * whole region — in front of every dialog body's form controls.\n */\n private _updateTabbableContent(): void {\n const contentEl = this._viewport().nativeElement.firstElementChild;\n if (!contentEl) {\n this._hasTabbableContent.set(false);\n return;\n }\n\n const candidates = contentEl.querySelectorAll<HTMLElement>(\n FOCUSABLE_CANDIDATE_SELECTOR,\n );\n\n for (const candidate of Array.from(candidates)) {\n // `ignoreVisibility` because the CDK's visibility test is geometric and\n // the content may not have been laid out yet (and never is under jsdom).\n if (\n this._interactivityChecker.isFocusable(candidate, {\n ignoreVisibility: true,\n }) &&\n this._interactivityChecker.isTabbable(candidate)\n ) {\n this._hasTabbableContent.set(true);\n return;\n }\n }\n\n this._hasTabbableContent.set(false);\n }\n\n /** @protected Handles scroll events on the viewport. Updates thumb positions and `--scrolling` state. */\n protected _onScroll(): void {\n this._updateThumbPositions();\n\n this._isScrolling.set(true);\n if (this._scrollTimeout !== null) {\n clearTimeout(this._scrollTimeout);\n }\n this._scrollTimeout = setTimeout(() => {\n this._isScrolling.set(false);\n this._scrollTimeout = null;\n }, 150);\n }\n\n /**\n * @protected Handles `pointerdown` on a scrollbar thumb.\n * Captures the pointer and translates subsequent `pointermove` deltas into\n * viewport scroll offsets. Releases on `pointerup` or `pointercancel`.\n */\n protected _onThumbPointerDown(\n event: PointerEvent,\n axis: 'vertical' | 'horizontal',\n ): void {\n event.preventDefault();\n event.stopPropagation();\n\n const thumb = event.currentTarget as HTMLElement;\n thumb.setPointerCapture(event.pointerId);\n\n const viewportEl = this._viewport().nativeElement;\n const trackEl = (axis === 'vertical' ? this._trackV() : this._trackH())\n .nativeElement;\n\n const paddingPx =\n axis === 'vertical'\n ? parseFloat(getComputedStyle(trackEl).paddingTop)\n : parseFloat(getComputedStyle(trackEl).paddingLeft);\n\n const trackSize =\n axis === 'vertical'\n ? trackEl.offsetHeight - paddingPx * 2\n : trackEl.offsetWidth - paddingPx * 2;\n\n const thumbSize =\n axis === 'vertical' ? this._thumbHeight() : this._thumbWidth();\n const scrollRange =\n axis === 'vertical'\n ? viewportEl.scrollHeight - viewportEl.clientHeight\n : viewportEl.scrollWidth - viewportEl.clientWidth;\n\n const startPointer = axis === 'vertical' ? event.clientY : event.clientX;\n const startScroll =\n axis === 'vertical' ? viewportEl.scrollTop : viewportEl.scrollLeft;\n const scrollPerPixel =\n thumbSize < trackSize && scrollRange > 0\n ? scrollRange / (trackSize - thumbSize)\n : 0;\n\n this._isDragging.set(true);\n\n const onPointerMove = (moveEvent: PointerEvent): void => {\n const delta =\n (axis === 'vertical' ? moveEvent.clientY : moveEvent.clientX) -\n startPointer;\n if (axis === 'vertical') {\n viewportEl.scrollTop = startScroll + delta * scrollPerPixel;\n } else {\n viewportEl.scrollLeft = startScroll + delta * scrollPerPixel;\n }\n };\n\n let releaseListeners: (() => void) | null = null;\n const onPointerUp = (): void => {\n this._isDragging.set(false);\n releaseListeners?.();\n releaseListeners = null;\n };\n\n const moveDispose = this._renderer.listen(\n thumb,\n 'pointermove',\n onPointerMove,\n );\n const upDispose = this._renderer.listen(thumb, 'pointerup', onPointerUp);\n const cancelDispose = this._renderer.listen(\n thumb,\n 'pointercancel',\n onPointerUp,\n );\n\n releaseListeners = () => {\n moveDispose();\n upDispose();\n cancelDispose();\n };\n\n // Guarantee cleanup if the component is destroyed mid-drag — without this\n // the listeners would leak against the detached thumb element and\n // _isDragging would stay true.\n this._destroyRef.onDestroy(() => {\n releaseListeners?.();\n });\n }\n\n /**\n * @private Recalculates overflow detection and thumb geometry.\n * Called after first render, on ResizeObserver notifications, and on scroll.\n */\n private _updateGeometry(): void {\n const viewportEl = this._viewport().nativeElement;\n // +1 tolerance for sub-pixel rounding\n this._hasVerticalOverflow.set(\n viewportEl.scrollHeight > viewportEl.clientHeight + 1,\n );\n this._hasHorizontalOverflow.set(\n viewportEl.scrollWidth > viewportEl.clientWidth + 1,\n );\n this._updateThumbPositions();\n }\n\n /**\n * @private Recomputes thumb position and size signals from the current viewport\n * scroll state. Fast path — called on every scroll event.\n */\n private _updateThumbPositions(): void {\n const viewportEl = this._viewport().nativeElement;\n\n if (this._showVertical() && this._hasVerticalOverflow()) {\n const trackEl = this._trackV().nativeElement;\n const paddingPx = parseFloat(getComputedStyle(trackEl).paddingTop);\n const usableHeight = trackEl.offsetHeight - paddingPx * 2;\n const ratio = viewportEl.clientHeight / viewportEl.scrollHeight;\n const thumbH = Math.max(this._minThumbSize, usableHeight * ratio);\n const scrollRange = viewportEl.scrollHeight - viewportEl.clientHeight;\n const thumbT =\n scrollRange > 0\n ? paddingPx +\n (viewportEl.scrollTop / scrollRange) * (usableHeight - thumbH)\n : paddingPx;\n this._thumbHeight.set(Math.round(thumbH));\n this._thumbTop.set(Math.round(thumbT));\n }\n\n if (this._showHorizontal() && this._hasHorizontalOverflow()) {\n const trackEl = this._trackH().nativeElement;\n const paddingPx = parseFloat(getComputedStyle(trackEl).paddingLeft);\n const usableWidth = trackEl.offsetWidth - paddingPx * 2;\n const ratio = viewportEl.clientWidth / viewportEl.scrollWidth;\n const thumbW = Math.max(this._minThumbSize, usableWidth * ratio);\n const scrollRange = viewportEl.scrollWidth - viewportEl.clientWidth;\n const thumbL =\n scrollRange > 0\n ? paddingPx +\n (viewportEl.scrollLeft / scrollRange) * (usableWidth - thumbW)\n : paddingPx;\n this._thumbWidth.set(Math.round(thumbW));\n this._thumbLeft.set(Math.round(thumbL));\n }\n }\n}\n","<div\n class=\"mlv-scrollbar__viewport\"\n #viewport\n [attr.tabindex]=\"_effectiveViewportTabIndex()\"\n [attr.role]=\"_viewportRole()\"\n [attr.aria-label]=\"_viewportAriaLabel()\"\n (scroll)=\"_onScroll()\"\n>\n <div class=\"mlv-scrollbar__content\" #content>\n <ng-content />\n </div>\n</div>\n\n<!-- Custom track and thumb elements are purely visual overlays.\n Screen readers use the viewport's native scroll semantics above. -->\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--vertical\"\n [class.mlv-scrollbar__track--hidden]=\"!_showVertical() || !_hasVerticalOverflow()\"\n aria-hidden=\"true\"\n #trackV\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.top.px]=\"_thumbTop()\"\n [style.height.px]=\"_thumbHeight()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'vertical')\"\n ></div>\n</div>\n\n<div\n class=\"mlv-scrollbar__track mlv-scrollbar__track--horizontal\"\n [class.mlv-scrollbar__track--hidden]=\"!_showHorizontal() || !_hasHorizontalOverflow()\"\n aria-hidden=\"true\"\n #trackH\n>\n <div\n class=\"mlv-scrollbar__thumb\"\n [style.left.px]=\"_thumbLeft()\"\n [style.width.px]=\"_thumbWidth()\"\n (pointerdown)=\"_onThumbPointerDown($event, 'horizontal')\"\n ></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}