@malva-ui/core 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1618) hide show
  1. package/AGENTS.md +4 -1
  2. package/README.md +15 -0
  3. package/docs/ai/avatar.md +2 -0
  4. package/docs/ai/breadcrumb.md +67 -7
  5. package/docs/ai/button.md +74 -19
  6. package/docs/ai/card.md +8 -6
  7. package/docs/ai/chat.md +59 -45
  8. package/docs/ai/checkbox.md +12 -0
  9. package/docs/ai/combobox.md +18 -2
  10. package/docs/ai/copy-to-clipboard.md +1 -1
  11. package/docs/ai/core.md +15 -0
  12. package/docs/ai/data-table.md +89 -54
  13. package/docs/ai/dialog.md +76 -67
  14. package/docs/ai/drawer.md +15 -12
  15. package/docs/ai/dropdown.md +24 -19
  16. package/docs/ai/empty-state.md +3 -3
  17. package/docs/ai/filter.md +24 -5
  18. package/docs/ai/form-utils.md +160 -5
  19. package/docs/ai/icon-toggle.md +160 -0
  20. package/docs/ai/input.md +30 -0
  21. package/docs/ai/layout.md +23 -0
  22. package/docs/ai/list.md +10 -6
  23. package/docs/ai/menu.md +75 -1
  24. package/docs/ai/page.md +220 -60
  25. package/docs/ai/radio.md +9 -0
  26. package/docs/ai/scrollbar.md +30 -8
  27. package/docs/ai/segmented.md +35 -35
  28. package/docs/ai/select.md +30 -5
  29. package/docs/ai/sidebar.md +45 -27
  30. package/docs/ai/switch.md +114 -19
  31. package/docs/ai/table.md +69 -0
  32. package/docs/ai/tabs.md +2 -1
  33. package/docs/ai/tile.md +311 -85
  34. package/docs/ai/timeline.md +63 -39
  35. package/docs/ai/tokenizer.md +21 -5
  36. package/docs/ai/tooltip.md +5 -5
  37. package/docs/ai/view-variant.md +75 -0
  38. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  40. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  42. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  43. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  44. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  46. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  48. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  50. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  51. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  52. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  54. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  56. package/fesm2022/malva-ui-core-button.mjs +406 -0
  57. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  58. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  60. package/fesm2022/malva-ui-core-card.mjs +164 -0
  61. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  62. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  63. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  64. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  66. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  67. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  68. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  70. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  72. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  74. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  76. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  78. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  80. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  82. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  84. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  85. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  86. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  88. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  90. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  92. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  94. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  95. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  96. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  98. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  99. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  100. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  102. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  104. package/fesm2022/malva-ui-core-form.mjs +283 -0
  105. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  106. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  108. package/fesm2022/malva-ui-core-input.mjs +375 -0
  109. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  110. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  112. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  113. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  114. package/fesm2022/malva-ui-core-link.mjs +89 -0
  115. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  116. package/fesm2022/malva-ui-core-list.mjs +413 -0
  117. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  118. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  119. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  120. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  121. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  122. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  123. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  124. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  126. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  127. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  128. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  130. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  132. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  133. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  134. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  135. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  136. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  137. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  138. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  139. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  140. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  142. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  144. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  146. package/fesm2022/malva-ui-core-select.mjs +855 -0
  147. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  148. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  150. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  152. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  153. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  154. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  156. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  158. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  160. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  161. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  162. package/fesm2022/malva-ui-core-table.mjs +79 -0
  163. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  164. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  166. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  168. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  169. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  170. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  172. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  174. package/fesm2022/malva-ui-core-title.mjs +178 -0
  175. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  176. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  177. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  178. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  180. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  182. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  184. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  185. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  186. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  188. package/fesm2022/malva-ui-core.mjs +77 -0
  189. package/fesm2022/malva-ui-core.mjs.map +1 -0
  190. package/package.json +179 -156
  191. package/styles/malva-ui.css +253 -220
  192. package/styles/tokens.md +174 -173
  193. package/table/README.md +46 -0
  194. package/types/malva-ui-core-accordion.d.ts +121 -0
  195. package/types/malva-ui-core-action-bar.d.ts +82 -0
  196. package/types/malva-ui-core-alert.d.ts +131 -0
  197. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  198. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  199. package/types/malva-ui-core-avatar.d.ts +156 -0
  200. package/types/malva-ui-core-badge.d.ts +97 -0
  201. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  202. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  203. package/types/malva-ui-core-button.d.ts +194 -0
  204. package/types/malva-ui-core-calendar.d.ts +339 -0
  205. package/types/malva-ui-core-card.d.ts +88 -0
  206. package/types/malva-ui-core-chat.d.ts +375 -0
  207. package/types/malva-ui-core-checkbox.d.ts +158 -0
  208. package/types/malva-ui-core-chip.d.ts +128 -0
  209. package/types/malva-ui-core-color-picker.d.ts +442 -0
  210. package/types/malva-ui-core-combobox.d.ts +419 -0
  211. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  212. package/types/malva-ui-core-data-table.d.ts +1074 -0
  213. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  214. package/types/malva-ui-core-day-picker.d.ts +55 -0
  215. package/types/malva-ui-core-dialog.d.ts +597 -0
  216. package/types/malva-ui-core-divider.d.ts +68 -0
  217. package/types/malva-ui-core-drawer.d.ts +333 -0
  218. package/types/malva-ui-core-dropdown.d.ts +592 -0
  219. package/types/malva-ui-core-empty-state.d.ts +37 -0
  220. package/types/malva-ui-core-expand.d.ts +102 -0
  221. package/types/malva-ui-core-file-upload.d.ts +267 -0
  222. package/types/malva-ui-core-filter.d.ts +552 -0
  223. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  224. package/types/malva-ui-core-form-utils.d.ts +579 -0
  225. package/types/malva-ui-core-form.d.ts +176 -0
  226. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  227. package/types/malva-ui-core-input.d.ts +262 -0
  228. package/types/malva-ui-core-kbd.d.ts +56 -0
  229. package/types/malva-ui-core-layout.d.ts +70 -0
  230. package/types/malva-ui-core-link.d.ts +28 -0
  231. package/types/malva-ui-core-list.d.ts +252 -0
  232. package/types/malva-ui-core-loader.d.ts +89 -0
  233. package/types/malva-ui-core-menu.d.ts +954 -0
  234. package/types/malva-ui-core-notification.d.ts +122 -0
  235. package/types/malva-ui-core-number-input.d.ts +167 -0
  236. package/types/malva-ui-core-page.d.ts +799 -0
  237. package/types/malva-ui-core-pagination.d.ts +261 -0
  238. package/types/malva-ui-core-pin-input.d.ts +203 -0
  239. package/types/malva-ui-core-popup.d.ts +834 -0
  240. package/types/malva-ui-core-progress.d.ts +73 -0
  241. package/types/malva-ui-core-radio.d.ts +130 -0
  242. package/types/malva-ui-core-rating.d.ts +115 -0
  243. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  244. package/types/malva-ui-core-search-field.d.ts +408 -0
  245. package/types/malva-ui-core-segmented.d.ts +206 -0
  246. package/types/malva-ui-core-select.d.ts +456 -0
  247. package/types/malva-ui-core-sidebar.d.ts +698 -0
  248. package/types/malva-ui-core-skeleton.d.ts +64 -0
  249. package/types/malva-ui-core-slider.d.ts +219 -0
  250. package/types/malva-ui-core-split-pane.d.ts +149 -0
  251. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  252. package/types/malva-ui-core-stepper.d.ts +168 -0
  253. package/types/malva-ui-core-switch.d.ts +146 -0
  254. package/types/malva-ui-core-table.d.ts +37 -0
  255. package/types/malva-ui-core-tabs.d.ts +339 -0
  256. package/types/malva-ui-core-textarea.d.ts +79 -0
  257. package/types/malva-ui-core-tile.d.ts +373 -0
  258. package/types/malva-ui-core-time-picker.d.ts +141 -0
  259. package/types/malva-ui-core-timeline.d.ts +188 -0
  260. package/types/malva-ui-core-title.d.ts +66 -0
  261. package/types/malva-ui-core-toast.d.ts +432 -0
  262. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  263. package/types/malva-ui-core-toolbar.d.ts +91 -0
  264. package/types/malva-ui-core-tooltip.d.ts +200 -0
  265. package/types/malva-ui-core-tree.d.ts +289 -0
  266. package/types/malva-ui-core-view-variant.d.ts +207 -0
  267. package/types/malva-ui-core.d.ts +72 -0
  268. package/view-variant/README.md +3 -0
  269. package/accordion/index.d.ts +0 -3
  270. package/accordion/lib/accordion/accordion.d.ts +0 -47
  271. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  272. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  273. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  274. package/action-bar/index.d.ts +0 -4
  275. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  276. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  277. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  278. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  279. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  280. package/alert/index.d.ts +0 -2
  281. package/alert/lib/alert/alert.d.ts +0 -84
  282. package/alert/lib/alert/alert.directives.d.ts +0 -44
  283. package/alert/malva-ui-core-alert.d.ts +0 -5
  284. package/autocomplete/index.d.ts +0 -1
  285. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  286. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  287. package/avatar/index.d.ts +0 -2
  288. package/avatar/lib/avatar/avatar.d.ts +0 -125
  289. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  290. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  291. package/avatar-group/index.d.ts +0 -1
  292. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  293. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  294. package/badge/index.d.ts +0 -2
  295. package/badge/lib/badge/badge.d.ts +0 -59
  296. package/badge/lib/badge-icon.d.ts +0 -35
  297. package/badge/malva-ui-core-badge.d.ts +0 -5
  298. package/bottom-nav/index.d.ts +0 -1
  299. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  300. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  301. package/breadcrumb/index.d.ts +0 -5
  302. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  305. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  307. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  308. package/button/index.d.ts +0 -7
  309. package/button/lib/button/button.d.ts +0 -61
  310. package/button/lib/button-close/button-close.d.ts +0 -24
  311. package/button/lib/button-group/button-group.d.ts +0 -21
  312. package/button/lib/button-split/button-split.d.ts +0 -21
  313. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  314. package/button/lib/button-variant.token.d.ts +0 -13
  315. package/button/lib/button.directives.d.ts +0 -14
  316. package/button/lib/button.types.d.ts +0 -8
  317. package/button/malva-ui-core-button.d.ts +0 -5
  318. package/calendar/index.d.ts +0 -3
  319. package/calendar/lib/calendar/calendar.d.ts +0 -182
  320. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  321. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  322. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  323. package/card/index.d.ts +0 -5
  324. package/card/lib/card/card.d.ts +0 -43
  325. package/card/lib/card-actions-def.d.ts +0 -10
  326. package/card/lib/card-footer-def.d.ts +0 -13
  327. package/card/lib/card-header-def.d.ts +0 -10
  328. package/card/lib/card-subheader-def.d.ts +0 -16
  329. package/card/malva-ui-core-card.d.ts +0 -5
  330. package/chat/index.d.ts +0 -9
  331. package/chat/lib/chat/chat.d.ts +0 -133
  332. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  333. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  334. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  335. package/chat/lib/chat-format.d.ts +0 -5
  336. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  337. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  338. package/chat/lib/chat-render-list.d.ts +0 -16
  339. package/chat/lib/chat-tokens.d.ts +0 -25
  340. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  341. package/chat/lib/chat.types.d.ts +0 -80
  342. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  343. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  344. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  345. package/chat/malva-ui-core-chat.d.ts +0 -5
  346. package/checkbox/index.d.ts +0 -3
  347. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  348. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  349. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  350. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  351. package/chip/index.d.ts +0 -2
  352. package/chip/lib/chip/chip.d.ts +0 -107
  353. package/chip/lib/chip/chip.directives.d.ts +0 -18
  354. package/chip/malva-ui-core-chip.d.ts +0 -5
  355. package/color-picker/index.d.ts +0 -3
  356. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  357. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  358. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  359. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  360. package/combobox/index.d.ts +0 -2
  361. package/combobox/lib/combobox/combobox.d.ts +0 -400
  362. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  363. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  364. package/copy-to-clipboard/index.d.ts +0 -1
  365. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  366. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  367. package/data-table/index.d.ts +0 -8
  368. package/data-table/lib/data-source.d.ts +0 -5
  369. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  370. package/data-table/lib/data-table/data-table.d.ts +0 -699
  371. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  372. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  373. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  374. package/data-table/lib/data-table-cell.d.ts +0 -44
  375. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-error.d.ts +0 -37
  377. package/data-table/lib/data-table-footer.d.ts +0 -26
  378. package/data-table/lib/data-table-no-data.d.ts +0 -19
  379. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  380. package/data-table/lib/types.d.ts +0 -134
  381. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  382. package/date-range-picker/index.d.ts +0 -1
  383. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  384. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  385. package/day-picker/index.d.ts +0 -1
  386. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  387. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  388. package/dialog/index.d.ts +0 -11
  389. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  390. package/dialog/lib/confirm-dialog.d.ts +0 -52
  391. package/dialog/lib/dialog/dialog.d.ts +0 -22
  392. package/dialog/lib/dialog-body.d.ts +0 -9
  393. package/dialog/lib/dialog-close.d.ts +0 -27
  394. package/dialog/lib/dialog-config.d.ts +0 -112
  395. package/dialog/lib/dialog-container.d.ts +0 -40
  396. package/dialog/lib/dialog-footer.d.ts +0 -13
  397. package/dialog/lib/dialog-header.d.ts +0 -74
  398. package/dialog/lib/dialog-ref.d.ts +0 -95
  399. package/dialog/lib/dialog-template.d.ts +0 -65
  400. package/dialog/lib/dialog-text-content.d.ts +0 -24
  401. package/dialog/lib/dialog.service.d.ts +0 -63
  402. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  403. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  404. package/dialog/lib/routable-dialog.d.ts +0 -30
  405. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  406. package/divider/index.d.ts +0 -1
  407. package/divider/lib/divider/divider.d.ts +0 -64
  408. package/divider/malva-ui-core-divider.d.ts +0 -5
  409. package/drawer/index.d.ts +0 -11
  410. package/drawer/lib/drawer/drawer.d.ts +0 -106
  411. package/drawer/lib/drawer-body.d.ts +0 -8
  412. package/drawer/lib/drawer-content.d.ts +0 -6
  413. package/drawer/lib/drawer-footer.d.ts +0 -5
  414. package/drawer/lib/drawer-header.d.ts +0 -5
  415. package/drawer/lib/drawer-ref.d.ts +0 -29
  416. package/drawer/lib/drawer-resize.d.ts +0 -65
  417. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  418. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  419. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  420. package/drawer/lib/drawer.service.d.ts +0 -66
  421. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  422. package/drawer/lib/routable-drawer.d.ts +0 -30
  423. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  424. package/dropdown/index.d.ts +0 -9
  425. package/dropdown/lib/active-descendant.d.ts +0 -64
  426. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  427. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  428. package/dropdown/lib/option-matcher.d.ts +0 -87
  429. package/dropdown/lib/options-adapter.d.ts +0 -142
  430. package/dropdown/lib/options-result.d.ts +0 -6
  431. package/dropdown/lib/reconciliation.d.ts +0 -19
  432. package/dropdown/lib/select-data-source.d.ts +0 -18
  433. package/dropdown/lib/select-option.d.ts +0 -37
  434. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  435. package/empty-state/index.d.ts +0 -1
  436. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  437. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  438. package/esm2022/accordion/index.js +0 -4
  439. package/esm2022/accordion/index.js.map +0 -1
  440. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  441. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  442. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  444. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  446. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  447. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  448. package/esm2022/action-bar/index.js +0 -5
  449. package/esm2022/action-bar/index.js.map +0 -1
  450. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  452. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  458. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  460. package/esm2022/alert/index.js +0 -3
  461. package/esm2022/alert/index.js.map +0 -1
  462. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  463. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  464. package/esm2022/alert/lib/alert/alert.js +0 -118
  465. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  466. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  467. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  468. package/esm2022/autocomplete/index.js +0 -2
  469. package/esm2022/autocomplete/index.js.map +0 -1
  470. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  472. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  474. package/esm2022/avatar/index.js +0 -3
  475. package/esm2022/avatar/index.js.map +0 -1
  476. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  477. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  478. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  479. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  480. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  481. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  482. package/esm2022/avatar-group/index.js +0 -2
  483. package/esm2022/avatar-group/index.js.map +0 -1
  484. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  486. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  488. package/esm2022/badge/index.js +0 -3
  489. package/esm2022/badge/index.js.map +0 -1
  490. package/esm2022/badge/lib/badge/badge.js +0 -71
  491. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  492. package/esm2022/badge/lib/badge-icon.js +0 -47
  493. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  494. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  495. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  496. package/esm2022/bottom-nav/index.js +0 -2
  497. package/esm2022/bottom-nav/index.js.map +0 -1
  498. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  500. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  502. package/esm2022/breadcrumb/index.js +0 -6
  503. package/esm2022/breadcrumb/index.js.map +0 -1
  504. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  514. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  516. package/esm2022/button/index.js +0 -8
  517. package/esm2022/button/index.js.map +0 -1
  518. package/esm2022/button/lib/button/button.js +0 -137
  519. package/esm2022/button/lib/button/button.js.map +0 -1
  520. package/esm2022/button/lib/button-close/button-close.js +0 -52
  521. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  522. package/esm2022/button/lib/button-group/button-group.js +0 -44
  523. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  524. package/esm2022/button/lib/button-split/button-split.js +0 -44
  525. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  526. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  527. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  528. package/esm2022/button/lib/button-variant.token.js +0 -4
  529. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  530. package/esm2022/button/lib/button.directives.js +0 -37
  531. package/esm2022/button/lib/button.directives.js.map +0 -1
  532. package/esm2022/button/lib/button.types.js +0 -1
  533. package/esm2022/button/lib/button.types.js.map +0 -1
  534. package/esm2022/button/malva-ui-core-button.js +0 -5
  535. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  536. package/esm2022/calendar/index.js +0 -4
  537. package/esm2022/calendar/index.js.map +0 -1
  538. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  539. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  540. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  542. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  544. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  545. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  546. package/esm2022/card/index.js +0 -6
  547. package/esm2022/card/index.js.map +0 -1
  548. package/esm2022/card/lib/card/card.js +0 -54
  549. package/esm2022/card/lib/card/card.js.map +0 -1
  550. package/esm2022/card/lib/card-actions-def.js +0 -27
  551. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  552. package/esm2022/card/lib/card-footer-def.js +0 -32
  553. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  554. package/esm2022/card/lib/card-header-def.js +0 -27
  555. package/esm2022/card/lib/card-header-def.js.map +0 -1
  556. package/esm2022/card/lib/card-subheader-def.js +0 -33
  557. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  558. package/esm2022/card/malva-ui-core-card.js +0 -5
  559. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  560. package/esm2022/chat/index.js +0 -10
  561. package/esm2022/chat/index.js.map +0 -1
  562. package/esm2022/chat/lib/chat/chat.js +0 -326
  563. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  564. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  566. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  568. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  569. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  570. package/esm2022/chat/lib/chat-format.js +0 -11
  571. package/esm2022/chat/lib/chat-format.js.map +0 -1
  572. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  574. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  575. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  576. package/esm2022/chat/lib/chat-render-list.js +0 -55
  577. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  578. package/esm2022/chat/lib/chat-tokens.js +0 -9
  579. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  580. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  582. package/esm2022/chat/lib/chat.types.js +0 -1
  583. package/esm2022/chat/lib/chat.types.js.map +0 -1
  584. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  585. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  586. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  587. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  588. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  589. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  590. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  591. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  592. package/esm2022/checkbox/index.js +0 -4
  593. package/esm2022/checkbox/index.js.map +0 -1
  594. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  596. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  598. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  599. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  600. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  602. package/esm2022/chip/index.js +0 -3
  603. package/esm2022/chip/index.js.map +0 -1
  604. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  605. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  606. package/esm2022/chip/lib/chip/chip.js +0 -140
  607. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  608. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  609. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  610. package/esm2022/color-picker/index.js +0 -4
  611. package/esm2022/color-picker/index.js.map +0 -1
  612. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  614. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  616. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  618. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  620. package/esm2022/combobox/index.js +0 -3
  621. package/esm2022/combobox/index.js.map +0 -1
  622. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  623. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  624. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  625. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  626. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  627. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  628. package/esm2022/copy-to-clipboard/index.js +0 -2
  629. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  630. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  632. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  634. package/esm2022/data-table/index.js +0 -9
  635. package/esm2022/data-table/index.js.map +0 -1
  636. package/esm2022/data-table/lib/data-source.js +0 -6
  637. package/esm2022/data-table/lib/data-source.js.map +0 -1
  638. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  640. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  641. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  642. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  644. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  646. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  648. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  649. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  650. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  651. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  652. package/esm2022/data-table/lib/data-table-error.js +0 -37
  653. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  654. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  655. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  656. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  657. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  658. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  660. package/esm2022/data-table/lib/types.js +0 -1
  661. package/esm2022/data-table/lib/types.js.map +0 -1
  662. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  663. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  664. package/esm2022/date-range-picker/index.js +0 -2
  665. package/esm2022/date-range-picker/index.js.map +0 -1
  666. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  668. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  670. package/esm2022/day-picker/index.js +0 -2
  671. package/esm2022/day-picker/index.js.map +0 -1
  672. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  674. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  676. package/esm2022/dialog/index.js +0 -12
  677. package/esm2022/dialog/index.js.map +0 -1
  678. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  681. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  682. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  683. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  684. package/esm2022/dialog/lib/dialog-body.js +0 -33
  685. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  686. package/esm2022/dialog/lib/dialog-close.js +0 -45
  687. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  688. package/esm2022/dialog/lib/dialog-config.js +0 -23
  689. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  690. package/esm2022/dialog/lib/dialog-container.js +0 -69
  691. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  692. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  693. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  694. package/esm2022/dialog/lib/dialog-header.js +0 -181
  695. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  696. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  697. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  698. package/esm2022/dialog/lib/dialog-template.js +0 -136
  699. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  700. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  701. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  702. package/esm2022/dialog/lib/dialog.service.js +0 -205
  703. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  704. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  706. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  707. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  708. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  709. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  710. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  711. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  712. package/esm2022/divider/index.js +0 -2
  713. package/esm2022/divider/index.js.map +0 -1
  714. package/esm2022/divider/lib/divider/divider.js +0 -73
  715. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  716. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  717. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  718. package/esm2022/drawer/index.js +0 -12
  719. package/esm2022/drawer/index.js.map +0 -1
  720. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  721. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  722. package/esm2022/drawer/lib/drawer-body.js +0 -32
  723. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  724. package/esm2022/drawer/lib/drawer-content.js +0 -14
  725. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  726. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  727. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  728. package/esm2022/drawer/lib/drawer-header.js +0 -14
  729. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  730. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  731. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  732. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  733. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  734. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  736. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  738. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  739. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  740. package/esm2022/drawer/lib/drawer.service.js +0 -86
  741. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  742. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  744. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  745. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  746. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  747. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  748. package/esm2022/dropdown/index.js +0 -10
  749. package/esm2022/dropdown/index.js.map +0 -1
  750. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  751. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  752. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  754. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  756. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  757. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  758. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  759. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  760. package/esm2022/dropdown/lib/options-result.js +0 -11
  761. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  762. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  763. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  764. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  765. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  766. package/esm2022/dropdown/lib/select-option.js +0 -25
  767. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  768. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  770. package/esm2022/empty-state/index.js +0 -2
  771. package/esm2022/empty-state/index.js.map +0 -1
  772. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  774. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  776. package/esm2022/expand/index.js +0 -3
  777. package/esm2022/expand/index.js.map +0 -1
  778. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  779. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  780. package/esm2022/expand/lib/expand/expand.js +0 -93
  781. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  782. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  783. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  784. package/esm2022/file-upload/index.js +0 -5
  785. package/esm2022/file-upload/index.js.map +0 -1
  786. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  788. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  790. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  791. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  792. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  794. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  796. package/esm2022/filter/index.js +0 -4
  797. package/esm2022/filter/index.js.map +0 -1
  798. package/esm2022/filter/lib/filter/filter.js +0 -552
  799. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  800. package/esm2022/filter/lib/filter.types.js +0 -1
  801. package/esm2022/filter/lib/filter.types.js.map +0 -1
  802. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  804. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  805. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  806. package/esm2022/form/index.js +0 -7
  807. package/esm2022/form/index.js.map +0 -1
  808. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  809. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  810. package/esm2022/form/lib/fieldset-span.js +0 -49
  811. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  812. package/esm2022/form/lib/form/form.js +0 -60
  813. package/esm2022/form/lib/form/form.js.map +0 -1
  814. package/esm2022/form/lib/form-actions.js +0 -34
  815. package/esm2022/form/lib/form-actions.js.map +0 -1
  816. package/esm2022/form/lib/form-gap.js +0 -15
  817. package/esm2022/form/lib/form-gap.js.map +0 -1
  818. package/esm2022/form/lib/form-header.js +0 -27
  819. package/esm2022/form/lib/form-header.js.map +0 -1
  820. package/esm2022/form/lib/form.types.js +0 -1
  821. package/esm2022/form/lib/form.types.js.map +0 -1
  822. package/esm2022/form/malva-ui-core-form.js +0 -5
  823. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  824. package/esm2022/form-utils/index.js +0 -16
  825. package/esm2022/form-utils/index.js.map +0 -1
  826. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  827. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  828. package/esm2022/form-utils/lib/description/description.js +0 -24
  829. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  830. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  831. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  832. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  834. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  835. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  836. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  840. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  841. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  842. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  843. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  844. package/esm2022/form-utils/lib/label/label.js +0 -55
  845. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  846. package/esm2022/form-utils/lib/message/message.js +0 -20
  847. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  848. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  850. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  851. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  852. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  854. package/esm2022/form-utils/lib/selection.service.js +0 -81
  855. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  856. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  858. package/esm2022/form-utils/testing/index.js +0 -2
  859. package/esm2022/form-utils/testing/index.js.map +0 -1
  860. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  862. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  864. package/esm2022/index.js +0 -70
  865. package/esm2022/index.js.map +0 -1
  866. package/esm2022/input/index.js +0 -4
  867. package/esm2022/input/index.js.map +0 -1
  868. package/esm2022/input/lib/input/input-native.js +0 -49
  869. package/esm2022/input/lib/input/input-native.js.map +0 -1
  870. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  871. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  872. package/esm2022/input/lib/input/input.js +0 -277
  873. package/esm2022/input/lib/input/input.js.map +0 -1
  874. package/esm2022/input/lib/input/password-strength.js +0 -46
  875. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  876. package/esm2022/input/malva-ui-core-input.js +0 -5
  877. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  878. package/esm2022/kbd/index.js +0 -2
  879. package/esm2022/kbd/index.js.map +0 -1
  880. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  881. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  882. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  883. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  884. package/esm2022/layout/index.js +0 -5
  885. package/esm2022/layout/index.js.map +0 -1
  886. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  890. package/esm2022/layout/lib/layout/layout.js +0 -43
  891. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  892. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  893. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  894. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  895. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  896. package/esm2022/link/index.js +0 -3
  897. package/esm2022/link/index.js.map +0 -1
  898. package/esm2022/link/lib/link/link.directives.js +0 -24
  899. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  900. package/esm2022/link/lib/link/link.js +0 -61
  901. package/esm2022/link/lib/link/link.js.map +0 -1
  902. package/esm2022/link/malva-ui-core-link.js +0 -5
  903. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  904. package/esm2022/list/index.js +0 -14
  905. package/esm2022/list/index.js.map +0 -1
  906. package/esm2022/list/lib/list/list.js +0 -28
  907. package/esm2022/list/lib/list/list.js.map +0 -1
  908. package/esm2022/list/lib/list-item/list-item.js +0 -125
  909. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  910. package/esm2022/list/lib/list-item-actions.js +0 -23
  911. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  912. package/esm2022/list/lib/list-item-byline.js +0 -13
  913. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  914. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  915. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  916. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  917. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  918. package/esm2022/list/lib/list-item-media.js +0 -13
  919. package/esm2022/list/lib/list-item-media.js.map +0 -1
  920. package/esm2022/list/lib/list-item-meta.js +0 -13
  921. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  922. package/esm2022/list/lib/list-item-prefix.js +0 -13
  923. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  924. package/esm2022/list/lib/list-item-suffix.js +0 -13
  925. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  926. package/esm2022/list/lib/list-item-template.js +0 -14
  927. package/esm2022/list/lib/list-item-template.js.map +0 -1
  928. package/esm2022/list/lib/list-item-title.js +0 -13
  929. package/esm2022/list/lib/list-item-title.js.map +0 -1
  930. package/esm2022/list/lib/list-selectable.js +0 -116
  931. package/esm2022/list/lib/list-selectable.js.map +0 -1
  932. package/esm2022/list/malva-ui-core-list.js +0 -5
  933. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  934. package/esm2022/loader/index.js +0 -2
  935. package/esm2022/loader/index.js.map +0 -1
  936. package/esm2022/loader/lib/loader/loader.js +0 -134
  937. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  938. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  939. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  940. package/esm2022/malva-ui-core.js +0 -5
  941. package/esm2022/malva-ui-core.js.map +0 -1
  942. package/esm2022/menu/index.js +0 -10
  943. package/esm2022/menu/index.js.map +0 -1
  944. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  945. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  946. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  947. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  948. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  949. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  950. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  951. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  952. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  953. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  954. package/esm2022/menu/lib/menu/menu.js +0 -308
  955. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  956. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  957. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  958. package/esm2022/menu/lib/menu/menubar.js +0 -257
  959. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  960. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  961. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  962. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  963. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  964. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  965. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  966. package/esm2022/notification/index.js +0 -5
  967. package/esm2022/notification/index.js.map +0 -1
  968. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  969. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  970. package/esm2022/notification/lib/notification-ref.js +0 -13
  971. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  972. package/esm2022/notification/lib/notification.service.js +0 -118
  973. package/esm2022/notification/lib/notification.service.js.map +0 -1
  974. package/esm2022/notification/lib/notification.types.js +0 -6
  975. package/esm2022/notification/lib/notification.types.js.map +0 -1
  976. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  977. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  978. package/esm2022/number-input/index.js +0 -2
  979. package/esm2022/number-input/index.js.map +0 -1
  980. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  981. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  982. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  983. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  984. package/esm2022/page/index.js +0 -15
  985. package/esm2022/page/index.js.map +0 -1
  986. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  987. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  988. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  989. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  990. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  991. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  992. package/esm2022/page/lib/page/page.js +0 -173
  993. package/esm2022/page/lib/page/page.js.map +0 -1
  994. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  995. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  996. package/esm2022/page/lib/page-content/page-content.js +0 -72
  997. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  998. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  999. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1000. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1002. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1003. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1004. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1005. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1006. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1008. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1010. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1011. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1012. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1014. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1016. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1017. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1018. package/esm2022/page/malva-ui-core-page.js +0 -5
  1019. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1020. package/esm2022/pagination/index.js +0 -5
  1021. package/esm2022/pagination/index.js.map +0 -1
  1022. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1024. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1025. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1026. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1030. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1031. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1032. package/esm2022/pin-input/index.js +0 -3
  1033. package/esm2022/pin-input/index.js.map +0 -1
  1034. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1036. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1038. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1040. package/esm2022/popup/index.js +0 -10
  1041. package/esm2022/popup/index.js.map +0 -1
  1042. package/esm2022/popup/lib/popup/popup.js +0 -500
  1043. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1044. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1045. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1046. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1048. package/esm2022/popup/lib/popup-content.js +0 -14
  1049. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1050. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1051. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1052. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1053. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1054. package/esm2022/popup/lib/popup-positions.js +0 -252
  1055. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1056. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1058. package/esm2022/popup/lib/popup.service.js +0 -188
  1059. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1060. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1061. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1062. package/esm2022/progress/index.js +0 -2
  1063. package/esm2022/progress/index.js.map +0 -1
  1064. package/esm2022/progress/lib/progress/progress.js +0 -102
  1065. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1066. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1067. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1068. package/esm2022/radio/index.js +0 -3
  1069. package/esm2022/radio/index.js.map +0 -1
  1070. package/esm2022/radio/lib/radio/radio.js +0 -134
  1071. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1072. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1073. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1074. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1075. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1076. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1077. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1078. package/esm2022/rating/index.js +0 -2
  1079. package/esm2022/rating/index.js.map +0 -1
  1080. package/esm2022/rating/lib/rating/rating.js +0 -208
  1081. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1082. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1083. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1084. package/esm2022/scrollbar/index.js +0 -2
  1085. package/esm2022/scrollbar/index.js.map +0 -1
  1086. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1088. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1090. package/esm2022/search-field/index.js +0 -3
  1091. package/esm2022/search-field/index.js.map +0 -1
  1092. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1093. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1094. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1096. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1097. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1098. package/esm2022/segmented/index.js +0 -5
  1099. package/esm2022/segmented/index.js.map +0 -1
  1100. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1101. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1102. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1104. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1105. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1106. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1108. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1109. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1110. package/esm2022/select/index.js +0 -4
  1111. package/esm2022/select/index.js.map +0 -1
  1112. package/esm2022/select/lib/select/select.js +0 -685
  1113. package/esm2022/select/lib/select/select.js.map +0 -1
  1114. package/esm2022/select/lib/select-option.js +0 -2
  1115. package/esm2022/select/lib/select-option.js.map +0 -1
  1116. package/esm2022/select/lib/select-template.directives.js +0 -34
  1117. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1118. package/esm2022/select/malva-ui-core-select.js +0 -5
  1119. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1120. package/esm2022/sidebar/index.js +0 -16
  1121. package/esm2022/sidebar/index.js.map +0 -1
  1122. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1124. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1125. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1126. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1127. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1128. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1129. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1130. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1132. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1133. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1134. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1136. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1138. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1140. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1144. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1146. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1152. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1154. package/esm2022/skeleton/index.js +0 -2
  1155. package/esm2022/skeleton/index.js.map +0 -1
  1156. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1158. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1160. package/esm2022/slider/index.js +0 -3
  1161. package/esm2022/slider/index.js.map +0 -1
  1162. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1164. package/esm2022/slider/lib/slider/slider.js +0 -468
  1165. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1166. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1167. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1168. package/esm2022/split-pane/index.js +0 -4
  1169. package/esm2022/split-pane/index.js.map +0 -1
  1170. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1172. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1176. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1178. package/esm2022/status-indicator/index.js +0 -2
  1179. package/esm2022/status-indicator/index.js.map +0 -1
  1180. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1182. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1184. package/esm2022/stepper/index.js +0 -5
  1185. package/esm2022/stepper/index.js.map +0 -1
  1186. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1187. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1188. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1189. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1190. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1192. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1193. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1194. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1196. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1197. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1198. package/esm2022/switch/index.js +0 -3
  1199. package/esm2022/switch/index.js.map +0 -1
  1200. package/esm2022/switch/lib/switch/switch.js +0 -190
  1201. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1202. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1203. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1204. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1205. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1206. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1207. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1208. package/esm2022/tabs/index.js +0 -9
  1209. package/esm2022/tabs/index.js.map +0 -1
  1210. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1211. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1212. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1214. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1215. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1216. package/esm2022/tabs/lib/tab-def.js +0 -17
  1217. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1218. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1219. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1220. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1222. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1223. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1224. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1225. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1226. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1227. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1228. package/esm2022/textarea/index.js +0 -2
  1229. package/esm2022/textarea/index.js.map +0 -1
  1230. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1231. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1232. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1233. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1234. package/esm2022/tile/index.js +0 -3
  1235. package/esm2022/tile/index.js.map +0 -1
  1236. package/esm2022/tile/lib/tile/tile.js +0 -39
  1237. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1238. package/esm2022/tile/lib/tile-header.js +0 -14
  1239. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1240. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1241. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1242. package/esm2022/time-picker/index.js +0 -2
  1243. package/esm2022/time-picker/index.js.map +0 -1
  1244. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1246. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1248. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1250. package/esm2022/timeline/index.js +0 -6
  1251. package/esm2022/timeline/index.js.map +0 -1
  1252. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1254. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1256. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1258. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1259. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1260. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1262. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1263. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1264. package/esm2022/title/index.js +0 -2
  1265. package/esm2022/title/index.js.map +0 -1
  1266. package/esm2022/title/lib/title/title.js +0 -171
  1267. package/esm2022/title/lib/title/title.js.map +0 -1
  1268. package/esm2022/title/malva-ui-core-title.js +0 -5
  1269. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1270. package/esm2022/toast/index.js +0 -13
  1271. package/esm2022/toast/index.js.map +0 -1
  1272. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1273. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1274. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1275. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1276. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1277. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1278. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1279. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1280. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1281. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1282. package/esm2022/toast/lib/toast-ref.js +0 -54
  1283. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1284. package/esm2022/toast/lib/toast-timer.js +0 -37
  1285. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1286. package/esm2022/toast/lib/toast.directives.js +0 -76
  1287. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1288. package/esm2022/toast/lib/toast.service.js +0 -127
  1289. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1290. package/esm2022/toast/lib/toast.types.js +0 -39
  1291. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1292. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1293. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1294. package/esm2022/tokenizer/index.js +0 -4
  1295. package/esm2022/tokenizer/index.js.map +0 -1
  1296. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1297. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1298. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1299. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1300. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1302. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1304. package/esm2022/toolbar/index.js +0 -4
  1305. package/esm2022/toolbar/index.js.map +0 -1
  1306. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1310. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1312. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1314. package/esm2022/tooltip/index.js +0 -4
  1315. package/esm2022/tooltip/index.js.map +0 -1
  1316. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1318. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1322. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1324. package/esm2022/tree/index.js +0 -5
  1325. package/esm2022/tree/index.js.map +0 -1
  1326. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1327. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1328. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1329. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1330. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1332. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1333. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1334. package/esm2022/tree/lib/tree/tree.js +0 -362
  1335. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1336. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1337. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1338. package/expand/index.d.ts +0 -2
  1339. package/expand/lib/expand/expand-content.d.ts +0 -26
  1340. package/expand/lib/expand/expand.d.ts +0 -74
  1341. package/expand/malva-ui-core-expand.d.ts +0 -5
  1342. package/file-upload/index.d.ts +0 -4
  1343. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1344. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1345. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1346. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1347. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1348. package/filter/index.d.ts +0 -3
  1349. package/filter/lib/filter/filter.d.ts +0 -156
  1350. package/filter/lib/filter.types.d.ts +0 -75
  1351. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1352. package/filter/malva-ui-core-filter.d.ts +0 -5
  1353. package/form/index.d.ts +0 -6
  1354. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1355. package/form/lib/fieldset-span.d.ts +0 -28
  1356. package/form/lib/form/form.d.ts +0 -37
  1357. package/form/lib/form-actions.d.ts +0 -20
  1358. package/form/lib/form-gap.d.ts +0 -5
  1359. package/form/lib/form-header.d.ts +0 -18
  1360. package/form/lib/form.types.d.ts +0 -13
  1361. package/form/malva-ui-core-form.d.ts +0 -5
  1362. package/form-utils/index.d.ts +0 -15
  1363. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1364. package/form-utils/lib/description/description.d.ts +0 -16
  1365. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1366. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1367. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1368. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1370. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1371. package/form-utils/lib/hint/hint.d.ts +0 -5
  1372. package/form-utils/lib/label/label.d.ts +0 -22
  1373. package/form-utils/lib/message/message.d.ts +0 -7
  1374. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1375. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1376. package/form-utils/lib/models/form-state.d.ts +0 -1
  1377. package/form-utils/lib/selection.service.d.ts +0 -27
  1378. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1379. package/form-utils/testing/index.d.ts +0 -1
  1380. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1381. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1382. package/index.d.ts +0 -69
  1383. package/input/index.d.ts +0 -3
  1384. package/input/lib/input/input-native.d.ts +0 -36
  1385. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1386. package/input/lib/input/input.d.ts +0 -189
  1387. package/input/lib/input/password-strength.d.ts +0 -34
  1388. package/input/malva-ui-core-input.d.ts +0 -5
  1389. package/kbd/index.d.ts +0 -1
  1390. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1391. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1392. package/layout/index.d.ts +0 -4
  1393. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1394. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1395. package/layout/lib/layout/layout.d.ts +0 -20
  1396. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1397. package/layout/malva-ui-core-layout.d.ts +0 -5
  1398. package/link/index.d.ts +0 -2
  1399. package/link/lib/link/link.d.ts +0 -15
  1400. package/link/lib/link/link.directives.d.ts +0 -10
  1401. package/link/malva-ui-core-link.d.ts +0 -5
  1402. package/list/index.d.ts +0 -13
  1403. package/list/lib/list/list.d.ts +0 -25
  1404. package/list/lib/list-item/list-item.d.ts +0 -67
  1405. package/list/lib/list-item-actions.d.ts +0 -12
  1406. package/list/lib/list-item-byline.d.ts +0 -5
  1407. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1408. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1409. package/list/lib/list-item-media.d.ts +0 -5
  1410. package/list/lib/list-item-meta.d.ts +0 -5
  1411. package/list/lib/list-item-prefix.d.ts +0 -5
  1412. package/list/lib/list-item-suffix.d.ts +0 -5
  1413. package/list/lib/list-item-template.d.ts +0 -10
  1414. package/list/lib/list-item-title.d.ts +0 -5
  1415. package/list/lib/list-selectable.d.ts +0 -73
  1416. package/list/malva-ui-core-list.d.ts +0 -5
  1417. package/loader/index.d.ts +0 -1
  1418. package/loader/lib/loader/loader.d.ts +0 -84
  1419. package/loader/malva-ui-core-loader.d.ts +0 -5
  1420. package/malva-ui-core.d.ts +0 -5
  1421. package/menu/index.d.ts +0 -9
  1422. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1423. package/menu/lib/menu/menu-group.d.ts +0 -27
  1424. package/menu/lib/menu/menu-item.d.ts +0 -76
  1425. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1426. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1427. package/menu/lib/menu/menu.d.ts +0 -149
  1428. package/menu/lib/menu/menu.types.d.ts +0 -13
  1429. package/menu/lib/menu/menubar.d.ts +0 -131
  1430. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1431. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1432. package/menu/malva-ui-core-menu.d.ts +0 -5
  1433. package/notification/index.d.ts +0 -4
  1434. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1435. package/notification/lib/notification-ref.d.ts +0 -12
  1436. package/notification/lib/notification.service.d.ts +0 -43
  1437. package/notification/lib/notification.types.d.ts +0 -52
  1438. package/notification/malva-ui-core-notification.d.ts +0 -5
  1439. package/number-input/index.d.ts +0 -1
  1440. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1441. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1442. package/page/index.d.ts +0 -14
  1443. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1444. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1445. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1446. package/page/lib/page/page.d.ts +0 -74
  1447. package/page/lib/page-content/page-aside.d.ts +0 -7
  1448. package/page/lib/page-content/page-content.d.ts +0 -37
  1449. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1450. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1451. package/page/lib/page-header/page-header.d.ts +0 -77
  1452. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1453. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1454. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1455. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1456. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1457. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1458. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1459. package/page/malva-ui-core-page.d.ts +0 -5
  1460. package/pagination/index.d.ts +0 -4
  1461. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1462. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1463. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1464. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1465. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1466. package/pin-input/index.d.ts +0 -2
  1467. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1468. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1469. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1470. package/popup/index.d.ts +0 -9
  1471. package/popup/lib/popup/popup.d.ts +0 -343
  1472. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1473. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1474. package/popup/lib/popup-content.d.ts +0 -6
  1475. package/popup/lib/popup-header-content.d.ts +0 -18
  1476. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1477. package/popup/lib/popup-positions.d.ts +0 -105
  1478. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1479. package/popup/lib/popup.service.d.ts +0 -159
  1480. package/popup/malva-ui-core-popup.d.ts +0 -5
  1481. package/progress/index.d.ts +0 -1
  1482. package/progress/lib/progress/progress.d.ts +0 -69
  1483. package/progress/malva-ui-core-progress.d.ts +0 -5
  1484. package/radio/index.d.ts +0 -2
  1485. package/radio/lib/radio/radio.d.ts +0 -87
  1486. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1487. package/radio/lib/radio-group-token.d.ts +0 -7
  1488. package/radio/malva-ui-core-radio.d.ts +0 -5
  1489. package/rating/index.d.ts +0 -1
  1490. package/rating/lib/rating/rating.d.ts +0 -100
  1491. package/rating/malva-ui-core-rating.d.ts +0 -5
  1492. package/scrollbar/index.d.ts +0 -1
  1493. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1494. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1495. package/search-field/index.d.ts +0 -2
  1496. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1497. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1498. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1499. package/segmented/index.d.ts +0 -4
  1500. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1501. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1502. package/segmented/lib/segmented-token.d.ts +0 -22
  1503. package/segmented/lib/segmented.types.d.ts +0 -9
  1504. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1505. package/select/index.d.ts +0 -3
  1506. package/select/lib/select/select.d.ts +0 -379
  1507. package/select/lib/select-option.d.ts +0 -1
  1508. package/select/lib/select-template.directives.d.ts +0 -14
  1509. package/select/malva-ui-core-select.d.ts +0 -5
  1510. package/sidebar/index.d.ts +0 -15
  1511. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1512. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1513. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1514. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1515. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1516. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1517. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1518. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1519. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1520. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1521. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1522. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1523. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1526. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1527. package/skeleton/index.d.ts +0 -1
  1528. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1529. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1530. package/slider/index.d.ts +0 -2
  1531. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1532. package/slider/lib/slider/slider.d.ts +0 -171
  1533. package/slider/malva-ui-core-slider.d.ts +0 -5
  1534. package/split-pane/index.d.ts +0 -3
  1535. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1536. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1537. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1538. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1539. package/status-indicator/index.d.ts +0 -1
  1540. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1541. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1542. package/stepper/index.d.ts +0 -4
  1543. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1544. package/stepper/lib/stepper/step.d.ts +0 -51
  1545. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1546. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1547. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1548. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1549. package/switch/index.d.ts +0 -2
  1550. package/switch/lib/switch/switch.d.ts +0 -118
  1551. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1552. package/switch/lib/switch-group-token.d.ts +0 -6
  1553. package/switch/malva-ui-core-switch.d.ts +0 -5
  1554. package/tabs/index.d.ts +0 -8
  1555. package/tabs/lib/tab/tab.d.ts +0 -46
  1556. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1557. package/tabs/lib/tab-content-def.d.ts +0 -6
  1558. package/tabs/lib/tab-def.d.ts +0 -11
  1559. package/tabs/lib/tab-group-token.d.ts +0 -10
  1560. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1561. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1562. package/tabs/lib/tabs.service.d.ts +0 -24
  1563. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1564. package/textarea/index.d.ts +0 -1
  1565. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1566. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1567. package/tile/index.d.ts +0 -2
  1568. package/tile/lib/tile/tile.d.ts +0 -20
  1569. package/tile/lib/tile-header.d.ts +0 -6
  1570. package/tile/malva-ui-core-tile.d.ts +0 -5
  1571. package/time-picker/index.d.ts +0 -1
  1572. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1573. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1574. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1575. package/timeline/index.d.ts +0 -5
  1576. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1577. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1579. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1580. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1581. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1582. package/title/index.d.ts +0 -1
  1583. package/title/lib/title/title.d.ts +0 -63
  1584. package/title/malva-ui-core-title.d.ts +0 -5
  1585. package/toast/index.d.ts +0 -10
  1586. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1587. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1588. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1589. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1590. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1591. package/toast/lib/toast-ref.d.ts +0 -33
  1592. package/toast/lib/toast-timer.d.ts +0 -24
  1593. package/toast/lib/toast.directives.d.ts +0 -13
  1594. package/toast/lib/toast.service.d.ts +0 -41
  1595. package/toast/lib/toast.types.d.ts +0 -139
  1596. package/toast/malva-ui-core-toast.d.ts +0 -5
  1597. package/tokenizer/index.d.ts +0 -3
  1598. package/tokenizer/lib/token/token.d.ts +0 -60
  1599. package/tokenizer/lib/token-template.d.ts +0 -29
  1600. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1601. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1602. package/toolbar/index.d.ts +0 -3
  1603. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1604. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1605. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1606. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1607. package/tooltip/index.d.ts +0 -3
  1608. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1609. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1610. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1611. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1612. package/tree/index.d.ts +0 -4
  1613. package/tree/lib/tree/tree-context.d.ts +0 -62
  1614. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1615. package/tree/lib/tree/tree-node.d.ts +0 -45
  1616. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1617. package/tree/lib/tree/tree.d.ts +0 -156
  1618. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1,977 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, input, inject, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, signal, DestroyRef, afterNextRender, contentChild, effect, isDevMode, Directive, output, Injectable } from '@angular/core';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { MLV_FORM_UTILS_I18N } from '@malva-ui/i18n';
5
+ import { LucideCircleQuestionMark } from '@lucide/angular';
6
+ import { MlvTooltip } from '@malva-ui/core/tooltip';
7
+ import { NgControl, FormGroupDirective, NgForm, StatusChangeEvent, TouchedChangeEvent, PristineChangeEvent } from '@angular/forms';
8
+ import { FormField } from '@angular/forms/signals';
9
+ import { MlvStructural, mlvNextId, MlvRtlService } from '@malva-ui/cdk/utils';
10
+ import { NgTemplateOutlet } from '@angular/common';
11
+ import { MlvButtonClose } from '@malva-ui/core/button';
12
+ import { Subject } from 'rxjs';
13
+ import { FocusKeyManager } from '@angular/cdk/a11y';
14
+ import { UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';
15
+
16
+ const MLV_FORM_CONTROL = new InjectionToken('MLV_FORM_CONTROL');
17
+
18
+ class MlvLabel {
19
+ /** Id of the control this label names, rendered as the native `for` attribute. */
20
+ for = input('', /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "for" }] : /* istanbul ignore next */ []));
22
+ /**
23
+ * Whether the labelled control is required. Renders a visual `*` marker plus
24
+ * a visually-hidden, translated "required" word so the requirement is
25
+ * announced even where `aria-required` is not surfaced. Controls extending
26
+ * `MlvSignalFormUiControlBase` forward their own `required` input here.
27
+ */
28
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
29
+ /**
30
+ * @private The form-utils i18n strings. Optional so a bare `mlv-label` still
31
+ * renders in applications that never called `provideMlvI18n()`.
32
+ */
33
+ _i18n = inject(MLV_FORM_UTILS_I18N, { optional: true });
34
+ /** @protected Translated word announced after the label of a required control. */
35
+ _requiredText = computed(() => this._i18n?.().required ?? 'required', /* @ts-ignore */
36
+ ...(ngDevMode ? [{ debugName: "_requiredText" }] : /* istanbul ignore next */ []));
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvLabel, isStandalone: true, selector: "mlv-label", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "mlv-label" }, ngImport: i0, template: `
39
+ <label [attr.for]="for()">
40
+ <ng-content />
41
+ @if (required()) {
42
+ <span class="mlv-label__required" aria-hidden="true">*</span>
43
+ <span class="cdk-visually-hidden">{{ _requiredText() }}</span>
44
+ }
45
+ <span class="mlv-label__hint">
46
+ <ng-content select="mlv-hint" />
47
+ </span>
48
+ </label>
49
+ `, isInline: true, styles: ["@layer mlv.components{.mlv-label{display:block;margin-bottom:.25rem;font-size:var(--mlv-font-size-m)}[class*=--tight] .mlv-label:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-label[class*=--tight]{font-size:var(--mlv-font-size-s)}[class*=--compact] .mlv-label:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-label[class*=--compact]{font-size:var(--mlv-font-size-m)}[class*=--spacious] .mlv-label:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-label[class*=--spacious]{font-size:var(--mlv-font-size-l)}[class*=--airy] .mlv-label:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-label[class*=--airy]{font-size:var(--mlv-font-size-xl)}.mlv-label label{display:inline-flex;align-items:baseline;gap:.25rem;color:var(--mlv-text-primary)}.mlv-label__hint{display:inline-flex;align-self:center}.mlv-label__required{color:var(--mlv-text-negative);margin-inline-start:-.125rem}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvLabel, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'mlv-label', template: `
54
+ <label [attr.for]="for()">
55
+ <ng-content />
56
+ @if (required()) {
57
+ <span class="mlv-label__required" aria-hidden="true">*</span>
58
+ <span class="cdk-visually-hidden">{{ _requiredText() }}</span>
59
+ }
60
+ <span class="mlv-label__hint">
61
+ <ng-content select="mlv-hint" />
62
+ </span>
63
+ </label>
64
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
65
+ class: 'mlv-label',
66
+ }, styles: ["@layer mlv.components{.mlv-label{display:block;margin-bottom:.25rem;font-size:var(--mlv-font-size-m)}[class*=--tight] .mlv-label:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-label[class*=--tight]{font-size:var(--mlv-font-size-s)}[class*=--compact] .mlv-label:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-label[class*=--compact]{font-size:var(--mlv-font-size-m)}[class*=--spacious] .mlv-label:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-label[class*=--spacious]{font-size:var(--mlv-font-size-l)}[class*=--airy] .mlv-label:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-label[class*=--airy]{font-size:var(--mlv-font-size-xl)}.mlv-label label{display:inline-flex;align-items:baseline;gap:.25rem;color:var(--mlv-text-primary)}.mlv-label__hint{display:inline-flex;align-self:center}.mlv-label__required{color:var(--mlv-text-negative);margin-inline-start:-.125rem}}\n"] }]
67
+ }], propDecorators: { for: [{ type: i0.Input, args: [{ isSignal: true, alias: "for", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }] } });
68
+
69
+ /**
70
+ * Secondary hint for the control named by the enclosing `mlv-label`.
71
+ *
72
+ * The hint is authored as projected content — `<mlv-hint>Sent to your phone</mlv-hint>` —
73
+ * but it renders as a small `circle-question-mark` icon button that reveals the
74
+ * text in an `mlvTooltip` on hover and on keyboard focus. Rendering an icon
75
+ * rather than inline text keeps the label row on one line no matter how long
76
+ * the hint is, which inline text could not do inside the label's flex row.
77
+ *
78
+ * The projected content itself stays in the DOM (hidden) purely as the source
79
+ * the tooltip string is read from; it is `aria-hidden` so the hint no longer
80
+ * leaks into the accessible name of the labelled control. The same string is
81
+ * put on the trigger's `aria-label`, so assistive tech still reaches it.
82
+ *
83
+ * Use `mlv-description` instead for sentence-length help text that should stay
84
+ * permanently visible below the control.
85
+ *
86
+ * @example Inside a label
87
+ * ```html
88
+ * <mlv-label for="email">
89
+ * Email
90
+ * <mlv-hint>We only use this for receipts</mlv-hint>
91
+ * </mlv-label>
92
+ * ```
93
+ *
94
+ * @example Interpolated, as every `hint`-input control renders it
95
+ * ```html
96
+ * <mlv-hint>{{ hint() }}</mlv-hint>
97
+ * ```
98
+ */
99
+ class MlvHint {
100
+ /**
101
+ * @protected Wrapper around the projected content. Kept in the DOM (only
102
+ * `display: none`, never `@if`-ed away) because it is the sole source the
103
+ * hint string can be read from, and `textContent` still resolves on a
104
+ * non-displayed element.
105
+ */
106
+ _source = viewChild.required('source', /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "_source" }] : /* istanbul ignore next */ []));
108
+ /**
109
+ * @protected Trimmed text of the projected content — used both as the tooltip
110
+ * body and as the trigger's accessible name. Empty until the first render has
111
+ * produced the projected DOM, and kept in sync afterwards by `_observer`.
112
+ * While it is empty no trigger is rendered at all, so an empty `mlv-hint`
113
+ * never leaves a nameless icon button behind.
114
+ */
115
+ _text = signal('', /* @ts-ignore */
116
+ ...(ngDevMode ? [{ debugName: "_text" }] : /* istanbul ignore next */ []));
117
+ /**
118
+ * @private Watches the projected content for changes. Interpolated hints
119
+ * (`<mlv-hint>{{ hint() }}</mlv-hint>`) mutate a text node owned by the
120
+ * *parent* view, which no signal in this component can depend on — and
121
+ * `textContent` is not a reactive read, so an effect would evaluate once and
122
+ * never re-run. A MutationObserver is the only thing that sees the change.
123
+ */
124
+ _observer = null;
125
+ /** @private Disconnects `_observer` when the component is destroyed. */
126
+ _destroyRef = inject(DestroyRef);
127
+ constructor() {
128
+ // Deferred to `afterNextRender` so it never runs on the server, where there
129
+ // is no DOM to read and no MutationObserver to construct.
130
+ afterNextRender(() => {
131
+ const sourceEl = this._source().nativeElement;
132
+ this._readText(sourceEl);
133
+ if (typeof MutationObserver === 'undefined') {
134
+ return;
135
+ }
136
+ this._observer = new MutationObserver(() => this._readText(sourceEl));
137
+ this._observer.observe(sourceEl, {
138
+ childList: true,
139
+ characterData: true,
140
+ subtree: true,
141
+ });
142
+ });
143
+ this._destroyRef.onDestroy(() => this._observer?.disconnect());
144
+ }
145
+ /**
146
+ * @protected Swallows the trigger's click so it does not read as an
147
+ * activation of the enclosing `<label>`. `preventDefault()` stops the label's
148
+ * native "focus the labelled control" behaviour, and `stopPropagation()`
149
+ * stops click handlers bound on `mlv-label` itself — `mlv-select` binds one
150
+ * there to open its dropdown — from firing when the user only wanted the
151
+ * hint. Both are required; neither alone covers the other case.
152
+ */
153
+ _onClick(event) {
154
+ event.preventDefault();
155
+ event.stopPropagation();
156
+ }
157
+ /**
158
+ * @private Reads the trimmed projected text into `_text`. Setting a signal to
159
+ * an identical string is a no-op, so re-reads triggered by unrelated DOM
160
+ * mutations cannot loop.
161
+ */
162
+ _readText(sourceEl) {
163
+ this._text.set(sourceEl.textContent?.trim() ?? '');
164
+ }
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvHint, deps: [], target: i0.ɵɵFactoryTarget.Component });
166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvHint, isStandalone: true, selector: "mlv-hint", host: { classAttribute: "mlv-hint" }, viewQueries: [{ propertyName: "_source", first: true, predicate: ["source"], descendants: true, isSignal: true }], ngImport: i0, template: `
167
+ @if (_text(); as text) {
168
+ <button
169
+ type="button"
170
+ class="mlv-hint__trigger"
171
+ [attr.aria-label]="text"
172
+ [mlvTooltip]="text"
173
+ (click)="_onClick($event)"
174
+ >
175
+ <svg lucideCircleQuestionMark aria-hidden="true" [size]="14"></svg>
176
+ </button>
177
+ }
178
+ <span #source class="mlv-hint__source" aria-hidden="true"
179
+ ><ng-content
180
+ /></span>
181
+ `, isInline: true, styles: ["@layer mlv.components{.mlv-hint{display:inline-flex;align-items:center}.mlv-hint__source{display:none}.mlv-hint__trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--mlv-radius-full);background:none;color:var(--mlv-text-tertiary);line-height:0;cursor:help;transition:color var(--mlv-duration-fast) var(--mlv-ease-default)}.mlv-hint__trigger:hover,.mlv-hint__trigger:focus-visible{color:var(--mlv-text-secondary)}.mlv-hint__trigger:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}@media(prefers-reduced-motion:reduce){.mlv-hint__trigger{transition:none}}}\n"], dependencies: [{ kind: "component", type: LucideCircleQuestionMark, selector: "svg[lucideCircleQuestionMark], svg[lucideHelpCircle], svg[lucideCircleHelp]" }, { kind: "directive", type: MlvTooltip, selector: "[mlvTooltip]", inputs: ["mlvTooltip", "tooltipPlacement", "tooltipTone", "tooltipDelay", "tooltipDisabled", "tooltipArrow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvHint, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'mlv-hint', template: `
186
+ @if (_text(); as text) {
187
+ <button
188
+ type="button"
189
+ class="mlv-hint__trigger"
190
+ [attr.aria-label]="text"
191
+ [mlvTooltip]="text"
192
+ (click)="_onClick($event)"
193
+ >
194
+ <svg lucideCircleQuestionMark aria-hidden="true" [size]="14"></svg>
195
+ </button>
196
+ }
197
+ <span #source class="mlv-hint__source" aria-hidden="true"
198
+ ><ng-content
199
+ /></span>
200
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
201
+ class: 'mlv-hint',
202
+ }, imports: [LucideCircleQuestionMark, MlvTooltip], styles: ["@layer mlv.components{.mlv-hint{display:inline-flex;align-items:center}.mlv-hint__source{display:none}.mlv-hint__trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--mlv-radius-full);background:none;color:var(--mlv-text-tertiary);line-height:0;cursor:help;transition:color var(--mlv-duration-fast) var(--mlv-ease-default)}.mlv-hint__trigger:hover,.mlv-hint__trigger:focus-visible{color:var(--mlv-text-secondary)}.mlv-hint__trigger:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}@media(prefers-reduced-motion:reduce){.mlv-hint__trigger{transition:none}}}\n"] }]
203
+ }], ctorParameters: () => [], propDecorators: { _source: [{ type: i0.ViewChild, args: ['source', { isSignal: true }] }] } });
204
+
205
+ /**
206
+ * Persistent help text rendered below a form control, in front of the
207
+ * validation message. Projected into `mlv-form-control-wrapper` through its
208
+ * `mlv-description` slot and referenced by the control's `aria-describedby`,
209
+ * so it stays readable while a validation message is shown.
210
+ *
211
+ * @example
212
+ * <mlv-description [id]="descriptionId">
213
+ * We only use this address for receipts.
214
+ * </mlv-description>
215
+ */
216
+ class MlvDescription {
217
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDescription, deps: [], target: i0.ɵɵFactoryTarget.Component });
218
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: MlvDescription, isStandalone: true, selector: "mlv-description", host: { classAttribute: "mlv-description" }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["@layer mlv.components{.mlv-description{display:block;font-weight:400;font-size:var(--mlv-typography-body-s-size);color:var(--mlv-text-secondary)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDescription, decorators: [{
221
+ type: Component,
222
+ args: [{ selector: 'mlv-description', template: `<ng-content />`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
223
+ class: 'mlv-description',
224
+ }, styles: ["@layer mlv.components{.mlv-description{display:block;font-weight:400;font-size:var(--mlv-typography-body-s-size);color:var(--mlv-text-secondary)}}\n"] }]
225
+ }] });
226
+
227
+ class MlvMessage {
228
+ state = input('default', /* @ts-ignore */
229
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
230
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
231
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: MlvMessage, isStandalone: true, selector: "mlv-message", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "animate.enter": "enter-animation", "animate.leave": "leave-animation" }, properties: { "class": "\"mlv-message--\" + state()", "attr.role": "state() === 'error' ? 'alert' : null", "attr.aria-live": "state() !== 'default' ? 'polite' : null" }, classAttribute: "mlv-message" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, styles: ["@layer mlv.components{.mlv-message{display:block;font-weight:400;font-size:var(--mlv-typography-body-s-size)}.mlv-message--default{color:var(--mlv-text-secondary)}.mlv-message--success{color:var(--mlv-text-positive)}.mlv-message--info{color:var(--mlv-text-info)}.mlv-message--warning{color:var(--mlv-text-warning)}.mlv-message--error{color:var(--mlv-text-negative)}@media(prefers-reduced-motion:reduce){.mlv-message,.mlv-message *,.mlv-message:before,.mlv-message:after,[class^=mlv-message__],[class*=\" mlv-message__\"],[class^=mlv-message--],[class*=\" mlv-message--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}.enter-animation{animation:mlv-slide-down var(--mlv-duration-normal) var(--mlv-ease-default)}.leave-animation{animation:mlv-slide-down var(--mlv-duration-normal) var(--mlv-ease-default) reverse}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
232
+ }
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvMessage, decorators: [{
234
+ type: Component,
235
+ args: [{ selector: 'mlv-message', host: {
236
+ 'animate.enter': 'enter-animation',
237
+ 'animate.leave': 'leave-animation',
238
+ class: 'mlv-message',
239
+ '[class]': '"mlv-message--" + state()',
240
+ '[attr.role]': "state() === 'error' ? 'alert' : null",
241
+ '[attr.aria-live]': "state() !== 'default' ? 'polite' : null",
242
+ }, template: ` <ng-content /> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer mlv.components{.mlv-message{display:block;font-weight:400;font-size:var(--mlv-typography-body-s-size)}.mlv-message--default{color:var(--mlv-text-secondary)}.mlv-message--success{color:var(--mlv-text-positive)}.mlv-message--info{color:var(--mlv-text-info)}.mlv-message--warning{color:var(--mlv-text-warning)}.mlv-message--error{color:var(--mlv-text-negative)}@media(prefers-reduced-motion:reduce){.mlv-message,.mlv-message *,.mlv-message:before,.mlv-message:after,[class^=mlv-message__],[class*=\" mlv-message__\"],[class^=mlv-message--],[class*=\" mlv-message--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}.enter-animation{animation:mlv-slide-down var(--mlv-duration-normal) var(--mlv-ease-default)}.leave-animation{animation:mlv-slide-down var(--mlv-duration-normal) var(--mlv-ease-default) reverse}}\n"] }]
243
+ }], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }] } });
244
+
245
+ const DEFAULT_ERROR_MESSAGES = {
246
+ required: () => 'This field is required',
247
+ email: () => 'Please enter a valid email address',
248
+ min: (err) => `Value must be at least ${err.min}`,
249
+ max: (err) => `Value must be at most ${err.max}`,
250
+ minlength: (err) => {
251
+ const e = err;
252
+ return `Must be at least ${e.requiredLength} characters`;
253
+ },
254
+ maxlength: (err) => {
255
+ const e = err;
256
+ return `Must be at most ${e.requiredLength} characters`;
257
+ },
258
+ pattern: () => 'Invalid format',
259
+ };
260
+ /**
261
+ * Validator keys already reported through {@link MlvFormField}'s dev-mode
262
+ * warning. Module-scoped so a key is named once per application run rather than
263
+ * on every change-detection pass.
264
+ */
265
+ const WARNED_UNMAPPED_KEYS = new Set();
266
+ class MlvFormField {
267
+ /** Visual state of the field. Overridden to `'error'` when an auto error message is shown. */
268
+ state = input('default', /* @ts-ignore */
269
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
270
+ /** Custom validator-key → message map (string or factory) overriding the built-in defaults. */
271
+ errorMessages = input({}, /* @ts-ignore */
272
+ ...(ngDevMode ? [{ debugName: "errorMessages" }] : /* istanbul ignore next */ []));
273
+ /** Controls when validation errors become visible. */
274
+ displayStrategy = input('touched', /* @ts-ignore */
275
+ ...(ngDevMode ? [{ debugName: "displayStrategy" }] : /* istanbul ignore next */ []));
276
+ /**
277
+ * @private The form-utils i18n strings. Optional so `mlv-form-field` keeps
278
+ * rendering in applications that never called `provideMlvI18n()`.
279
+ */
280
+ _i18n = inject(MLV_FORM_UTILS_I18N, { optional: true });
281
+ /** @private The projected `NgControl` whose validation state this field reflects. */
282
+ _ngControl = contentChild(NgControl, /* @ts-ignore */
283
+ ...(ngDevMode ? [{ debugName: "_ngControl" }] : /* istanbul ignore next */ []));
284
+ /**
285
+ * @private The projected signal-forms `[formField]` directive, when the
286
+ * child control is bound through `@angular/forms/signals` instead of an
287
+ * `NgControl`. Takes precedence over the NgControl path when present.
288
+ */
289
+ _signalField = contentChild(FormField, /* @ts-ignore */
290
+ ...(ngDevMode ? [{ debugName: "_signalField" }] : /* istanbul ignore next */ []));
291
+ /**
292
+ * @private The bound signal-forms `FieldState`, or `null` while no
293
+ * `[formField]` child is projected. `field()` is the `FieldTree`; calling it
294
+ * yields the reactive `FieldState`.
295
+ */
296
+ _signalFieldState = computed(() => {
297
+ const formField = this._signalField();
298
+ return formField ? formField.field()() : null;
299
+ }, /* @ts-ignore */
300
+ ...(ngDevMode ? [{ debugName: "_signalFieldState" }] : /* istanbul ignore next */ []));
301
+ /** @private The ancestor form directive, used to observe submission state. */
302
+ _formDirective = inject(FormGroupDirective, { optional: true }) ??
303
+ inject(NgForm, { optional: true });
304
+ /** @private Current validation errors of the projected control. */
305
+ _controlErrors = signal(null, /* @ts-ignore */
306
+ ...(ngDevMode ? [{ debugName: "_controlErrors" }] : /* istanbul ignore next */ []));
307
+ /** @private Whether the projected control has been touched. */
308
+ _controlTouched = signal(false, /* @ts-ignore */
309
+ ...(ngDevMode ? [{ debugName: "_controlTouched" }] : /* istanbul ignore next */ []));
310
+ /** @private Whether the projected control is dirty. */
311
+ _controlDirty = signal(false, /* @ts-ignore */
312
+ ...(ngDevMode ? [{ debugName: "_controlDirty" }] : /* istanbul ignore next */ []));
313
+ /** @private Whether the ancestor form has been submitted. */
314
+ _formSubmitted = signal(false, /* @ts-ignore */
315
+ ...(ngDevMode ? [{ debugName: "_formSubmitted" }] : /* istanbul ignore next */ []));
316
+ constructor() {
317
+ effect((onCleanup) => {
318
+ // Signal-forms path: state is read reactively from the FieldState — no
319
+ // event subscriptions. (The signals interop also exposes a shim
320
+ // NgControl whose `.control` lacks the `events` stream, so the legacy
321
+ // path below must not run for a [formField]-bound child.)
322
+ if (this._signalField())
323
+ return;
324
+ const control = this._ngControl()?.control;
325
+ if (!control)
326
+ return;
327
+ this._controlErrors.set(control.errors);
328
+ this._controlTouched.set(control.touched);
329
+ this._controlDirty.set(control.dirty);
330
+ this._formSubmitted.set(this._formDirective?.submitted ?? false);
331
+ const subscription = control.events.subscribe((event) => {
332
+ if (event instanceof StatusChangeEvent) {
333
+ this._controlErrors.set(control.errors);
334
+ }
335
+ else if (event instanceof TouchedChangeEvent) {
336
+ this._controlTouched.set(event.touched);
337
+ }
338
+ else if (event instanceof PristineChangeEvent) {
339
+ this._controlDirty.set(!event.pristine);
340
+ }
341
+ });
342
+ const formDirective = this._formDirective;
343
+ if (formDirective) {
344
+ const formControl = formDirective.form;
345
+ const formSub = formControl.events.subscribe(() => {
346
+ this._formSubmitted.set(formDirective.submitted);
347
+ });
348
+ subscription.add(formSub);
349
+ }
350
+ onCleanup(() => subscription.unsubscribe());
351
+ });
352
+ // Dev-only diagnostic: a validator key with no mapped message renders the
353
+ // generic fallback, which is correct for users but usually a gap for the
354
+ // author. Warned once per key per application run.
355
+ effect(() => {
356
+ const key = this._unmappedErrorKey();
357
+ if (!key || !isDevMode() || WARNED_UNMAPPED_KEYS.has(key))
358
+ return;
359
+ WARNED_UNMAPPED_KEYS.add(key);
360
+ console.warn(`[mlv-form-field] No message is mapped for the validator key "${key}"; ` +
361
+ `showing the generic message instead. Supply one through [errorMessages].`);
362
+ });
363
+ }
364
+ /** @private Whether validation errors should currently be displayed, per {@link displayStrategy}. */
365
+ _shouldDisplay = computed(() => {
366
+ const signalState = this._signalFieldState();
367
+ switch (this.displayStrategy()) {
368
+ case 'touched':
369
+ return signalState ? signalState.touched() : this._controlTouched();
370
+ case 'dirty':
371
+ return signalState ? signalState.dirty() : this._controlDirty();
372
+ case 'submit':
373
+ // Signal forms: submission is field-tree-level state; the closest
374
+ // per-field proxy is touched (submit() marks all fields touched).
375
+ return signalState ? signalState.touched() : this._formSubmitted();
376
+ case 'immediate':
377
+ return true;
378
+ }
379
+ }, /* @ts-ignore */
380
+ ...(ngDevMode ? [{ debugName: "_shouldDisplay" }] : /* istanbul ignore next */ []));
381
+ /**
382
+ * @private Unified error view: `[key, errorPayload]` pairs from whichever
383
+ * forms API the projected control is bound through. Signal-forms
384
+ * `ValidationError`s are keyed by their lower-cased `kind` (matching the
385
+ * legacy reactive keys: `minLength` → `minlength`); the payload is the
386
+ * error object itself (it carries `message` when a rule supplied one).
387
+ */
388
+ _errorEntries = computed(() => {
389
+ const signalState = this._signalFieldState();
390
+ if (signalState) {
391
+ return signalState
392
+ .errors()
393
+ .map((error) => [error.kind.toLowerCase(), error]);
394
+ }
395
+ const errors = this._controlErrors();
396
+ return errors ? Object.entries(errors) : [];
397
+ }, /* @ts-ignore */
398
+ ...(ngDevMode ? [{ debugName: "_errorEntries" }] : /* istanbul ignore next */ []));
399
+ /** The resolved auto error message for the projected control, or `''` when none should show. */
400
+ autoErrorMessage = computed(() => {
401
+ const entries = this._errorEntries();
402
+ if (entries.length === 0 || !this._shouldDisplay())
403
+ return '';
404
+ const customMessages = this.errorMessages();
405
+ const [key, payload] = entries[0];
406
+ const custom = customMessages[key];
407
+ if (custom) {
408
+ return typeof custom === 'function' ? custom(payload) : custom;
409
+ }
410
+ // Signal-forms rules can carry their own message — prefer it.
411
+ const ruleMessage = payload?.message;
412
+ if (ruleMessage)
413
+ return ruleMessage;
414
+ const defaultFn = DEFAULT_ERROR_MESSAGES[key];
415
+ if (defaultFn) {
416
+ return defaultFn(payload);
417
+ }
418
+ // Unknown validator key: never surface the raw key to end users.
419
+ return this._genericErrorMessage();
420
+ }, /* @ts-ignore */
421
+ ...(ngDevMode ? [{ debugName: "autoErrorMessage" }] : /* istanbul ignore next */ []));
422
+ /**
423
+ * @private Neutral, translated message shown when a validator key has no
424
+ * consumer-supplied, rule-supplied or built-in message.
425
+ */
426
+ _genericErrorMessage = computed(() => this._i18n?.().invalidValue ?? 'This value is invalid', /* @ts-ignore */
427
+ ...(ngDevMode ? [{ debugName: "_genericErrorMessage" }] : /* istanbul ignore next */ []));
428
+ /**
429
+ * @private The currently displayed validator key that has no mapped message
430
+ * and therefore falls back to {@link _genericErrorMessage} — `null` when a
431
+ * specific message applies. Drives the dev-mode warning only.
432
+ */
433
+ _unmappedErrorKey = computed(() => {
434
+ const entries = this._errorEntries();
435
+ if (entries.length === 0 || !this._shouldDisplay())
436
+ return null;
437
+ const [key, payload] = entries[0];
438
+ if (this.errorMessages()[key])
439
+ return null;
440
+ if (payload?.message)
441
+ return null;
442
+ if (DEFAULT_ERROR_MESSAGES[key])
443
+ return null;
444
+ return key;
445
+ }, /* @ts-ignore */
446
+ ...(ngDevMode ? [{ debugName: "_unmappedErrorKey" }] : /* istanbul ignore next */ []));
447
+ /** The effective visual state: `'error'` when an auto error message is shown, otherwise {@link state}. */
448
+ resolvedState = computed(() => {
449
+ if (this.autoErrorMessage())
450
+ return 'error';
451
+ return this.state();
452
+ }, /* @ts-ignore */
453
+ ...(ngDevMode ? [{ debugName: "resolvedState" }] : /* istanbul ignore next */ []));
454
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormField, deps: [], target: i0.ɵɵFactoryTarget.Component });
455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvFormField, isStandalone: true, selector: "mlv-form-field", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, errorMessages: { classPropertyName: "errorMessages", publicName: "errorMessages", isSignal: true, isRequired: false, transformFunction: null }, displayStrategy: { classPropertyName: "displayStrategy", publicName: "displayStrategy", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "_ngControl", first: true, predicate: NgControl, descendants: true, isSignal: true }, { propertyName: "_signalField", first: true, predicate: FormField, descendants: true, isSignal: true }], ngImport: i0, template: `
456
+ <div class="mlv-form-field" [class]="'mlv-form-field--' + resolvedState()">
457
+ <ng-content select="mlv-label" />
458
+ <div class="mlv-form-field__control">
459
+ <ng-content />
460
+ </div>
461
+ <ng-content select="mlv-message" />
462
+ @if (autoErrorMessage()) {
463
+ <mlv-message state="error">{{ autoErrorMessage() }}</mlv-message>
464
+ }
465
+ </div>
466
+ `, isInline: true, styles: ["@layer mlv.components{:host{display:block}.mlv-form-field{display:flex;flex-direction:column}.mlv-form-field__control{display:flex;align-items:center;width:100%}.mlv-form-field__control>*{width:100%}.mlv-form-field--error>.mlv-form-field__control>*>.mlv-form-control-wrapper{--container-border-color: var(--mlv-border-error)}}\n"], dependencies: [{ kind: "component", type: MlvMessage, selector: "mlv-message", inputs: ["state"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
467
+ }
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormField, decorators: [{
469
+ type: Component,
470
+ args: [{ selector: 'mlv-form-field', imports: [MlvMessage], template: `
471
+ <div class="mlv-form-field" [class]="'mlv-form-field--' + resolvedState()">
472
+ <ng-content select="mlv-label" />
473
+ <div class="mlv-form-field__control">
474
+ <ng-content />
475
+ </div>
476
+ <ng-content select="mlv-message" />
477
+ @if (autoErrorMessage()) {
478
+ <mlv-message state="error">{{ autoErrorMessage() }}</mlv-message>
479
+ }
480
+ </div>
481
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer mlv.components{:host{display:block}.mlv-form-field{display:flex;flex-direction:column}.mlv-form-field__control{display:flex;align-items:center;width:100%}.mlv-form-field__control>*{width:100%}.mlv-form-field--error>.mlv-form-field__control>*>.mlv-form-control-wrapper{--container-border-color: var(--mlv-border-error)}}\n"] }]
482
+ }], ctorParameters: () => [], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], errorMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorMessages", required: false }] }], displayStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayStrategy", required: false }] }], _ngControl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => NgControl), { isSignal: true }] }], _signalField: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FormField), { isSignal: true }] }] } });
483
+
484
+ class MlvFormControlPrepend extends MlvStructural {
485
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlPrepend, deps: null, target: i0.ɵɵFactoryTarget.Directive });
486
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvFormControlPrepend, isStandalone: true, selector: "[mlvFormControlPrepend]", usesInheritance: true, ngImport: i0 });
487
+ }
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlPrepend, decorators: [{
489
+ type: Directive,
490
+ args: [{ selector: '[mlvFormControlPrepend]' }]
491
+ }] });
492
+ class MlvFormControlAppend extends MlvStructural {
493
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlAppend, deps: null, target: i0.ɵɵFactoryTarget.Directive });
494
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvFormControlAppend, isStandalone: true, selector: "[mlvFormControlAppend]", usesInheritance: true, ngImport: i0 });
495
+ }
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlAppend, decorators: [{
497
+ type: Directive,
498
+ args: [{ selector: '[mlvFormControlAppend]' }]
499
+ }] });
500
+ /**
501
+ * Full-width content rendered inside the bordered control, after its main row.
502
+ *
503
+ * Use for secondary, non-interactive control presentation such as strength
504
+ * meters. Prefix and suffix actions remain in their dedicated slots.
505
+ */
506
+ class MlvFormControlInset extends MlvStructural {
507
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlInset, deps: null, target: i0.ɵɵFactoryTarget.Directive });
508
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvFormControlInset, isStandalone: true, selector: "[mlvFormControlInset]", usesInheritance: true, ngImport: i0 });
509
+ }
510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlInset, decorators: [{
511
+ type: Directive,
512
+ args: [{ selector: '[mlvFormControlInset]' }]
513
+ }] });
514
+
515
+ /**
516
+ * Shared, forms-transport-agnostic surface for **signal-forms** Malva controls.
517
+ * Owns everything EXCEPT the value/checked model: the
518
+ * Malva field surface (`state`, `label`, `hint`, `message`, `clearable`,
519
+ * `id`, prepend/append slots), the wrapper connector contract
520
+ * ({@link MlvFormControl}), and the signal-forms field↔control bindings —
521
+ * `errors` / `disabled` / `readonly` / `touched` / `dirty` input signals the
522
+ * `[formField]` directive binds automatically, plus the `touch` output the
523
+ * control emits when the user leaves the field.
524
+ *
525
+ * Per the signal-forms contract a component must NOT implement both
526
+ * `ControlValueAccessor` and `FormValueControl`; controls therefore adopt
527
+ * either {@link MlvSignalFormControlBase} or {@link MlvSignalCheckboxControlBase}
528
+ * atomically. Reactive (`[formControl]`)
529
+ * and template-driven (`ngModel`) bindings keep working — Angular binds the
530
+ * signal contract from those directives without extra compatibility code.
531
+ */
532
+ class MlvSignalFormUiControlBase {
533
+ /** @protected Backing signal for {@link focused}. */
534
+ _focused = signal(false, /* @ts-ignore */
535
+ ...(ngDevMode ? [{ debugName: "_focused" }] : /* istanbul ignore next */ []));
536
+ /** Whether the control currently has focus (drives the wrapper's focus ring). */
537
+ focused = this._focused;
538
+ /** Sets the control's focus state (wired to the focus target's focus/blur). */
539
+ setFocused(value) {
540
+ this._focused.set(value);
541
+ }
542
+ /** Explicit consumer-authored visual validation state. */
543
+ state = input('default', /* @ts-ignore */
544
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
545
+ /**
546
+ * Whether the control is read-only. Also a signal-forms field binding: when
547
+ * bound via `[formField]`, a `readonly` schema rule drives this input.
548
+ */
549
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: (value) => coerceBooleanProperty(value) });
550
+ /**
551
+ * Whether the control is disabled. Also a signal-forms field binding: when
552
+ * bound via `[formField]`, the field's disabled state drives this input.
553
+ */
554
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: (value) => coerceBooleanProperty(value) });
555
+ /**
556
+ * Whether the control must be filled in. Renders the required marker in
557
+ * `mlv-label` and sets `aria-required` on the control's focus target. Also a
558
+ * signal-forms field binding: when bound via `[formField]`, a `required()`
559
+ * schema rule drives this input.
560
+ */
561
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: (value) => coerceBooleanProperty(value) });
562
+ /** Whether the control shows its loading affordance. */
563
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
564
+ /** Whether the control renders a clear (X) affordance while it has a value. */
565
+ clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
566
+ /**
567
+ * Fully rounded (stadium) control container. Shared by every control that
568
+ * renders through `mlv-form-control-wrapper`, mirroring `shape="pill"` on
569
+ * buttons and the pill action bar.
570
+ */
571
+ pill = input(false, { ...(ngDevMode ? { debugName: "pill" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
572
+ /**
573
+ * Signal-forms field binding: current validation errors of the bound field
574
+ * (`[formField]` binds them automatically). Empty when unbound.
575
+ */
576
+ errors = input([], /* @ts-ignore */
577
+ ...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
578
+ /** Signal-forms field binding: whether the bound field is touched. */
579
+ touched = input(false, { ...(ngDevMode ? { debugName: "touched" } : /* istanbul ignore next */ {}), transform: (value) => coerceBooleanProperty(value) });
580
+ /** Signal-forms field binding: whether the bound field is dirty. */
581
+ dirty = input(false, { ...(ngDevMode ? { debugName: "dirty" } : /* istanbul ignore next */ {}), transform: (value) => coerceBooleanProperty(value) });
582
+ /**
583
+ * Effective visual state exposed through the Malva form-control connector.
584
+ * An explicit non-default state wins; otherwise a signal-form validation
585
+ * error becomes visible after the field is touched, matching the default
586
+ * `MlvFormField` error-display strategy.
587
+ */
588
+ resolvedState = computed(() => {
589
+ const explicitState = this.state();
590
+ if (explicitState !== 'default')
591
+ return explicitState;
592
+ return this.errors().length > 0 && this.touched() ? 'error' : 'default';
593
+ }, /* @ts-ignore */
594
+ ...(ngDevMode ? [{ debugName: "resolvedState" }] : /* istanbul ignore next */ []));
595
+ /**
596
+ * Emits when the user finishes interacting with the field (blur) — the
597
+ * signal-forms replacement for the CVA `onTouched` callback; `[formField]`
598
+ * subscribes and marks the bound field touched.
599
+ */
600
+ touch = output();
601
+ /** HTML id applied to the control's focus target. */
602
+ id = input(mlvNextId('mlv-control'), /* @ts-ignore */
603
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
604
+ /** Label text rendered above the control. */
605
+ label = input('', /* @ts-ignore */
606
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
607
+ /** Hint text rendered inside the label. */
608
+ hint = input('', /* @ts-ignore */
609
+ ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
610
+ /**
611
+ * Persistent help text rendered **below** the control, in front of the
612
+ * validation message. Unlike {@link hint} (a short inline aside inside the
613
+ * label) this is meant for sentence-length descriptions, and it stays
614
+ * visible while {@link message} is shown. Referenced by `aria-describedby`.
615
+ */
616
+ description = input('', /* @ts-ignore */
617
+ ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
618
+ /** Validation/status message rendered below the control. */
619
+ message = input('', /* @ts-ignore */
620
+ ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
621
+ /**
622
+ * Accessible name applied to the control's focus target (`aria-label`).
623
+ * Use it when the control renders no visible `<mlv-label>`.
624
+ */
625
+ ariaLabel = input(null, /* @ts-ignore */
626
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
627
+ /** @protected Id of the rendered `<mlv-description>` element. */
628
+ _descriptionId = computed(() => `${this.id()}-description`, /* @ts-ignore */
629
+ ...(ngDevMode ? [{ debugName: "_descriptionId" }] : /* istanbul ignore next */ []));
630
+ /** @protected Id of the rendered `<mlv-message>` element. */
631
+ _messageId = computed(() => `${this.id()}-message`, /* @ts-ignore */
632
+ ...(ngDevMode ? [{ debugName: "_messageId" }] : /* istanbul ignore next */ []));
633
+ /**
634
+ * @protected Space-separated `aria-describedby` value covering the rendered
635
+ * description and message elements — `null` when neither is rendered, so no
636
+ * dangling IDREF is emitted.
637
+ */
638
+ _describedBy = computed(() => {
639
+ const ids = [];
640
+ if (this.description())
641
+ ids.push(this._descriptionId());
642
+ if (this.message())
643
+ ids.push(this._messageId());
644
+ return ids.length > 0 ? ids.join(' ') : null;
645
+ }, /* @ts-ignore */
646
+ ...(ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []));
647
+ /** Projected prefix slot. */
648
+ prepend = contentChild(MlvFormControlPrepend, /* @ts-ignore */
649
+ ...(ngDevMode ? [{ debugName: "prepend" }] : /* istanbul ignore next */ []));
650
+ /** Projected suffix slot. */
651
+ append = contentChild(MlvFormControlAppend, /* @ts-ignore */
652
+ ...(ngDevMode ? [{ debugName: "append" }] : /* istanbul ignore next */ []));
653
+ /** Projected full-width content rendered inside the control border. */
654
+ inset = contentChild(MlvFormControlInset, /* @ts-ignore */
655
+ ...(ngDevMode ? [{ debugName: "inset" }] : /* istanbul ignore next */ []));
656
+ /**
657
+ * Effective disabled state. In the signal base there is no CVA
658
+ * `setDisabledState` side channel — the `disabled` input is the single
659
+ * source (consumer-bound or field-bound), kept as a computed so existing
660
+ * control templates retain one consistent disabled-state signal.
661
+ */
662
+ computedDisabled = computed(() => this.disabled(), /* @ts-ignore */
663
+ ...(ngDevMode ? [{ debugName: "computedDisabled" }] : /* istanbul ignore next */ []));
664
+ /** @protected Notifies the field that the user left the control. */
665
+ _markTouched() {
666
+ this.touch.emit();
667
+ }
668
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalFormUiControlBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
669
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.7", type: MlvSignalFormUiControlBase, isStandalone: true, inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, pill: { classPropertyName: "pill", publicName: "pill", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, dirty: { classPropertyName: "dirty", publicName: "dirty", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { touch: "touch" }, queries: [{ propertyName: "prepend", first: true, predicate: MlvFormControlPrepend, descendants: true, isSignal: true }, { propertyName: "append", first: true, predicate: MlvFormControlAppend, descendants: true, isSignal: true }, { propertyName: "inset", first: true, predicate: MlvFormControlInset, descendants: true, isSignal: true }], ngImport: i0 });
670
+ }
671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalFormUiControlBase, decorators: [{
672
+ type: Directive
673
+ }], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], pill: [{ type: i0.Input, args: [{ isSignal: true, alias: "pill", required: false }] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }], dirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "dirty", required: false }] }], touch: [{ type: i0.Output, args: ["touch"] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], prepend: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvFormControlPrepend), { isSignal: true }] }], append: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvFormControlAppend), { isSignal: true }] }], inset: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvFormControlInset), { isSignal: true }] }] } });
674
+ /**
675
+ * Signal-forms base for **value** controls: adds the required
676
+ * `value: ModelSignal<T>` of the `FormValueControl` contract. Each control
677
+ * supplies the model itself (`readonly value = model<T>(initial)`), mirroring
678
+ * how `hasValue` is supplied.
679
+ */
680
+ class MlvSignalFormControlBase extends MlvSignalFormUiControlBase {
681
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalFormControlBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });
682
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvSignalFormControlBase, isStandalone: true, usesInheritance: true, ngImport: i0 });
683
+ }
684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalFormControlBase, decorators: [{
685
+ type: Directive
686
+ }] });
687
+ /**
688
+ * Signal-forms base for **checkbox-shaped** controls (checkbox, switch): adds
689
+ * the required `checked: ModelSignal<boolean>` of the `FormCheckboxControl`
690
+ * contract. The contract forbids a `value` member on this variant.
691
+ */
692
+ class MlvSignalCheckboxControlBase extends MlvSignalFormUiControlBase {
693
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalCheckboxControlBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });
694
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvSignalCheckboxControlBase, isStandalone: true, usesInheritance: true, ngImport: i0 });
695
+ }
696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSignalCheckboxControlBase, decorators: [{
697
+ type: Directive
698
+ }] });
699
+
700
+ class MlvFormControlWrapperControl extends MlvStructural {
701
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlWrapperControl, deps: null, target: i0.ɵɵFactoryTarget.Directive });
702
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvFormControlWrapperControl, isStandalone: true, selector: "[mlvFormControlWrapperControl]", usesInheritance: true, ngImport: i0 });
703
+ }
704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlWrapperControl, decorators: [{
705
+ type: Directive,
706
+ args: [{
707
+ selector: '[mlvFormControlWrapperControl]',
708
+ }]
709
+ }] });
710
+
711
+ class MlvFormControlWrapper {
712
+ /** @protected Optional injected form control connector for state/focus/disabled bindings. */
713
+ formControl = inject(MLV_FORM_CONTROL, {
714
+ optional: true,
715
+ });
716
+ /** @protected Computed BEM state modifier class derived from the control's validation state. */
717
+ _stateClass = computed(() => `mlv-form-control-wrapper--state-${this.formControl?.resolvedState?.() ??
718
+ this.formControl?.state() ??
719
+ 'default'}`, /* @ts-ignore */
720
+ ...(ngDevMode ? [{ debugName: "_stateClass" }] : /* istanbul ignore next */ []));
721
+ /** @protected Required projected control-slot directive rendered inside the wrapper. */
722
+ renderer = contentChild.required(MlvFormControlWrapperControl, /* @ts-ignore */
723
+ ...(ngDevMode ? [{ debugName: "renderer" }] : /* istanbul ignore next */ []));
724
+ /** @protected The component's i18n strings signal. */
725
+ _i18n = inject(MLV_FORM_UTILS_I18N);
726
+ /**
727
+ * Clear event emitter. Emits when user clicks on clear button
728
+ */
729
+ clear = output();
730
+ /** @protected Handles the clear-button click by emitting the `clear` output. */
731
+ _onClearClick() {
732
+ this.clear.emit();
733
+ }
734
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component });
735
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvFormControlWrapper, isStandalone: true, selector: "mlv-form-control-wrapper", outputs: { clear: "clear" }, host: { properties: { "class": "_stateClass()", "class.mlv-form-control-wrapper--focused": "formControl?.focused()", "class.mlv-form-control-wrapper--disabled": "formControl?.disabled()", "class.mlv-form-control-wrapper--readonly": "formControl?.readonly()", "class.mlv-form-control-wrapper--loading": "formControl?.loading()", "class.mlv-form-control-wrapper--pill": "formControl?.pill?.() ?? false" }, classAttribute: "mlv-form-control-wrapper" }, queries: [{ propertyName: "renderer", first: true, predicate: MlvFormControlWrapperControl, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mlv-form-control-wrapper__label-container\">\n <ng-content select=\"mlv-label\"></ng-content>\n</div>\n<div\n class=\"mlv-form-control-wrapper__control-container\"\n [class.mlv-form-control-wrapper__control-container--with-inset]=\"\n formControl?.inset()\n \"\n>\n <div class=\"mlv-form-control-wrapper__control-row\">\n @if (formControl?.prepend(); as prependTpl) {\n <div class=\"mlv-form-control-wrapper__side-content\">\n <ng-template [ngTemplateOutlet]=\"prependTpl.templateRef\"></ng-template>\n </div>\n }\n\n <ng-template [ngTemplateOutlet]=\"renderer().templateRef\"></ng-template>\n\n @if ( formControl?.clearable() && formControl?.hasValue() &&\n !formControl?.ownsClearButton?.() ) {\n <div class=\"mlv-form-control-wrapper__clear\">\n <mlv-button-close\n (click)=\"_onClearClick()\"\n mlvDensity=\"tight\"\n [ariaLabel]=\"_i18n().clear\"\n />\n </div>\n } @if (formControl?.append(); as appendTpl) {\n <div class=\"mlv-form-control-wrapper__side-content\">\n <ng-template [ngTemplateOutlet]=\"appendTpl.templateRef\"></ng-template>\n </div>\n }\n </div>\n\n @if (formControl?.inset(); as insetTpl) {\n <div class=\"mlv-form-control-wrapper__inset\">\n <ng-template [ngTemplateOutlet]=\"insetTpl.templateRef\"></ng-template>\n </div>\n }\n</div>\n\n<!-- Below-control slots. `mlv-description` is persistent help text, `mlv-message`\n the stateful validation line, and `[mlvFormControlWrapperAside]` any\n control-owned auxiliary readout (e.g. the textarea character counter). -->\n<div class=\"mlv-form-control-wrapper__message-container\">\n <ng-content select=\"mlv-description\"></ng-content>\n <ng-content select=\"mlv-message\"></ng-content>\n <ng-content select=\"[mlvFormControlWrapperAside]\"></ng-content>\n</div>\n", styles: ["@layer mlv.components{.mlv-form-control-wrapper{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-form-control-wrapper *{box-sizing:border-box}.mlv-form-control-wrapper{display:flex;flex-direction:column;gap:.25rem;--form-ctrl-height: var(--mlv-height-m);--form-ctrl-h-padding: var(--mlv-spacing-3);--form-ctrl-font-size: var(--mlv-font-size-m);--form-ctrl-radius: var(--mlv-radius-input);--form-ctrl-icon-size: calc( var(--form-ctrl-height) * var(--mlv-icon-in-container-ratio) );--container-border-color: var(--mlv-border-normal);--container-background-color: var(--mlv-elevation-bg-3);--container-side-content-color: var(--mlv-text-primary);--container-shadow: none;--container-action-color: var(--mlv-text-secondary)}[class*=--tight] .mlv-form-control-wrapper:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-form-control-wrapper[class*=--tight]{--form-ctrl-height: var(--mlv-height-xs);--form-ctrl-h-padding: var(--mlv-spacing-2);--form-ctrl-font-size: var(--mlv-font-size-s)}[class*=--compact] .mlv-form-control-wrapper:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-form-control-wrapper[class*=--compact]{--form-ctrl-height: var(--mlv-height-s);--form-ctrl-h-padding: var(--mlv-spacing-2-5);--form-ctrl-font-size: var(--mlv-font-size-m)}[class*=--spacious] .mlv-form-control-wrapper:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-form-control-wrapper[class*=--spacious]{--form-ctrl-height: var(--mlv-height-l);--form-ctrl-h-padding: var(--mlv-spacing-4);--form-ctrl-font-size: var(--mlv-font-size-l)}[class*=--airy] .mlv-form-control-wrapper:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-form-control-wrapper[class*=--airy]{--form-ctrl-height: var(--mlv-height-xl);--form-ctrl-h-padding: var(--mlv-spacing-5);--form-ctrl-font-size: var(--mlv-font-size-xl)}.mlv-form-control-wrapper--pill .mlv-form-control-wrapper__control-container{border-radius:var(--mlv-radius-full);padding-inline:calc(var(--form-ctrl-h-padding) * 1.35)}.mlv-form-control-wrapper__label-container:empty{display:none}.mlv-form-control-wrapper__control-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;width:100%;border-radius:var(--form-ctrl-radius);background-color:var(--container-background-color);border:.0625rem solid var(--container-border-color);--mlv-control-padding: var(--mlv-spacing-1) var(--form-ctrl-h-padding);padding:var(--mlv-control-padding);color:var(--container-border-color);box-shadow:var(--container-shadow);transition-property:background-color,border-color,box-shadow;transition-duration:var(--mlv-duration-fast);transition-timing-function:var(--mlv-ease-default);height:var(--form-ctrl-height);font-size:var(--form-ctrl-font-size)}.mlv-form-control-wrapper__control-container--with-inset{position:relative}.mlv-form-control-wrapper__control-container:hover{--container-action-color: var(--mlv-text-primary)}.mlv-form-control-wrapper__control-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem;width:100%;min-height:0;flex:1}.mlv-form-control-wrapper__inset{position:absolute;bottom:0;left:0;right:0;padding:var(--mlv-control-padding)}.mlv-form-control-wrapper__message-container{display:flex;flex-direction:column;gap:.125rem;min-width:0}.mlv-form-control-wrapper__message-container:empty{display:none}.mlv-form-control-wrapper__side-content{color:var(--container-side-content-color);line-height:1}.mlv-form-control-wrapper__clear .mlv-button-close .mlv-button--close.mlv-button--icon-only{--mlv-icon-font-size: min( var(--form-ctrl-icon-size), calc(var(--mlv-btn-height) * .75) )}.mlv-form-control-wrapper--state-error{--container-border-color: var(--mlv-border-error)}.mlv-form-control-wrapper--state-default:hover{--container-border-color: var(--mlv-border-strong)}.mlv-form-control-wrapper--focused{--container-shadow: 0 0 0 var(--mlv-stroke-width) currentColor;--container-action-color: var(--mlv-text-primary)}.mlv-form-control-wrapper--focused.mlv-form-control-wrapper--state-default{--container-border-color: var(--mlv-border-focus)}.mlv-form-control-wrapper--disabled{--container-background-color: var(--mlv-background-sunken);cursor:not-allowed;pointer-events:none}@media(prefers-reduced-motion:reduce){.mlv-form-control-wrapper,.mlv-form-control-wrapper *,.mlv-form-control-wrapper:before,.mlv-form-control-wrapper:after,[class^=mlv-form-control-wrapper__],[class*=\" mlv-form-control-wrapper__\"],[class^=mlv-form-control-wrapper--],[class*=\" mlv-form-control-wrapper--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MlvButtonClose, selector: "mlv-button-close", inputs: ["variant", "shape", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
736
+ }
737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFormControlWrapper, decorators: [{
738
+ type: Component,
739
+ args: [{ selector: 'mlv-form-control-wrapper', imports: [NgTemplateOutlet, MlvButtonClose], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
740
+ class: 'mlv-form-control-wrapper',
741
+ '[class]': '_stateClass()',
742
+ '[class.mlv-form-control-wrapper--focused]': 'formControl?.focused()',
743
+ '[class.mlv-form-control-wrapper--disabled]': 'formControl?.disabled()',
744
+ '[class.mlv-form-control-wrapper--readonly]': 'formControl?.readonly()',
745
+ '[class.mlv-form-control-wrapper--loading]': 'formControl?.loading()',
746
+ '[class.mlv-form-control-wrapper--pill]': 'formControl?.pill?.() ?? false',
747
+ }, template: "<div class=\"mlv-form-control-wrapper__label-container\">\n <ng-content select=\"mlv-label\"></ng-content>\n</div>\n<div\n class=\"mlv-form-control-wrapper__control-container\"\n [class.mlv-form-control-wrapper__control-container--with-inset]=\"\n formControl?.inset()\n \"\n>\n <div class=\"mlv-form-control-wrapper__control-row\">\n @if (formControl?.prepend(); as prependTpl) {\n <div class=\"mlv-form-control-wrapper__side-content\">\n <ng-template [ngTemplateOutlet]=\"prependTpl.templateRef\"></ng-template>\n </div>\n }\n\n <ng-template [ngTemplateOutlet]=\"renderer().templateRef\"></ng-template>\n\n @if ( formControl?.clearable() && formControl?.hasValue() &&\n !formControl?.ownsClearButton?.() ) {\n <div class=\"mlv-form-control-wrapper__clear\">\n <mlv-button-close\n (click)=\"_onClearClick()\"\n mlvDensity=\"tight\"\n [ariaLabel]=\"_i18n().clear\"\n />\n </div>\n } @if (formControl?.append(); as appendTpl) {\n <div class=\"mlv-form-control-wrapper__side-content\">\n <ng-template [ngTemplateOutlet]=\"appendTpl.templateRef\"></ng-template>\n </div>\n }\n </div>\n\n @if (formControl?.inset(); as insetTpl) {\n <div class=\"mlv-form-control-wrapper__inset\">\n <ng-template [ngTemplateOutlet]=\"insetTpl.templateRef\"></ng-template>\n </div>\n }\n</div>\n\n<!-- Below-control slots. `mlv-description` is persistent help text, `mlv-message`\n the stateful validation line, and `[mlvFormControlWrapperAside]` any\n control-owned auxiliary readout (e.g. the textarea character counter). -->\n<div class=\"mlv-form-control-wrapper__message-container\">\n <ng-content select=\"mlv-description\"></ng-content>\n <ng-content select=\"mlv-message\"></ng-content>\n <ng-content select=\"[mlvFormControlWrapperAside]\"></ng-content>\n</div>\n", styles: ["@layer mlv.components{.mlv-form-control-wrapper{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-form-control-wrapper *{box-sizing:border-box}.mlv-form-control-wrapper{display:flex;flex-direction:column;gap:.25rem;--form-ctrl-height: var(--mlv-height-m);--form-ctrl-h-padding: var(--mlv-spacing-3);--form-ctrl-font-size: var(--mlv-font-size-m);--form-ctrl-radius: var(--mlv-radius-input);--form-ctrl-icon-size: calc( var(--form-ctrl-height) * var(--mlv-icon-in-container-ratio) );--container-border-color: var(--mlv-border-normal);--container-background-color: var(--mlv-elevation-bg-3);--container-side-content-color: var(--mlv-text-primary);--container-shadow: none;--container-action-color: var(--mlv-text-secondary)}[class*=--tight] .mlv-form-control-wrapper:not([class*=--compact],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-form-control-wrapper[class*=--tight]{--form-ctrl-height: var(--mlv-height-xs);--form-ctrl-h-padding: var(--mlv-spacing-2);--form-ctrl-font-size: var(--mlv-font-size-s)}[class*=--compact] .mlv-form-control-wrapper:not([class*=--tight],[class*=--comfortable],[class*=--spacious],[class*=--airy]),.mlv-form-control-wrapper[class*=--compact]{--form-ctrl-height: var(--mlv-height-s);--form-ctrl-h-padding: var(--mlv-spacing-2-5);--form-ctrl-font-size: var(--mlv-font-size-m)}[class*=--spacious] .mlv-form-control-wrapper:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--airy]),.mlv-form-control-wrapper[class*=--spacious]{--form-ctrl-height: var(--mlv-height-l);--form-ctrl-h-padding: var(--mlv-spacing-4);--form-ctrl-font-size: var(--mlv-font-size-l)}[class*=--airy] .mlv-form-control-wrapper:not([class*=--tight],[class*=--compact],[class*=--comfortable],[class*=--spacious]),.mlv-form-control-wrapper[class*=--airy]{--form-ctrl-height: var(--mlv-height-xl);--form-ctrl-h-padding: var(--mlv-spacing-5);--form-ctrl-font-size: var(--mlv-font-size-xl)}.mlv-form-control-wrapper--pill .mlv-form-control-wrapper__control-container{border-radius:var(--mlv-radius-full);padding-inline:calc(var(--form-ctrl-h-padding) * 1.35)}.mlv-form-control-wrapper__label-container:empty{display:none}.mlv-form-control-wrapper__control-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;width:100%;border-radius:var(--form-ctrl-radius);background-color:var(--container-background-color);border:.0625rem solid var(--container-border-color);--mlv-control-padding: var(--mlv-spacing-1) var(--form-ctrl-h-padding);padding:var(--mlv-control-padding);color:var(--container-border-color);box-shadow:var(--container-shadow);transition-property:background-color,border-color,box-shadow;transition-duration:var(--mlv-duration-fast);transition-timing-function:var(--mlv-ease-default);height:var(--form-ctrl-height);font-size:var(--form-ctrl-font-size)}.mlv-form-control-wrapper__control-container--with-inset{position:relative}.mlv-form-control-wrapper__control-container:hover{--container-action-color: var(--mlv-text-primary)}.mlv-form-control-wrapper__control-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem;width:100%;min-height:0;flex:1}.mlv-form-control-wrapper__inset{position:absolute;bottom:0;left:0;right:0;padding:var(--mlv-control-padding)}.mlv-form-control-wrapper__message-container{display:flex;flex-direction:column;gap:.125rem;min-width:0}.mlv-form-control-wrapper__message-container:empty{display:none}.mlv-form-control-wrapper__side-content{color:var(--container-side-content-color);line-height:1}.mlv-form-control-wrapper__clear .mlv-button-close .mlv-button--close.mlv-button--icon-only{--mlv-icon-font-size: min( var(--form-ctrl-icon-size), calc(var(--mlv-btn-height) * .75) )}.mlv-form-control-wrapper--state-error{--container-border-color: var(--mlv-border-error)}.mlv-form-control-wrapper--state-default:hover{--container-border-color: var(--mlv-border-strong)}.mlv-form-control-wrapper--focused{--container-shadow: 0 0 0 var(--mlv-stroke-width) currentColor;--container-action-color: var(--mlv-text-primary)}.mlv-form-control-wrapper--focused.mlv-form-control-wrapper--state-default{--container-border-color: var(--mlv-border-focus)}.mlv-form-control-wrapper--disabled{--container-background-color: var(--mlv-background-sunken);cursor:not-allowed;pointer-events:none}@media(prefers-reduced-motion:reduce){.mlv-form-control-wrapper,.mlv-form-control-wrapper *,.mlv-form-control-wrapper:before,.mlv-form-control-wrapper:after,[class^=mlv-form-control-wrapper__],[class*=\" mlv-form-control-wrapper__\"],[class^=mlv-form-control-wrapper--],[class*=\" mlv-form-control-wrapper--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"] }]
748
+ }], propDecorators: { renderer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvFormControlWrapperControl), { isSignal: true }] }], clear: [{ type: i0.Output, args: ["clear"] }] } });
749
+
750
+ class MlvSelectionService {
751
+ multiple = signal(false, /* @ts-ignore */
752
+ ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
753
+ selectedValues = signal([], /* @ts-ignore */
754
+ ...(ngDevMode ? [{ debugName: "selectedValues" }] : /* istanbul ignore next */ []));
755
+ focusFirst$ = new Subject();
756
+ /**
757
+ * Equality predicate used for all membership checks (`isSelected`,
758
+ * `deselect`, and the `select`/`toggle` de-dup path). Defaults to reference
759
+ * equality (`a === b`). Set a custom comparator (e.g. compare by id) so object
760
+ * values written via `writeValue` after deserialization match the option
761
+ * instances and check-marks / display value stay in agreement.
762
+ */
763
+ compareWith = signal((a, b) => a === b, /* @ts-ignore */
764
+ ...(ngDevMode ? [{ debugName: "compareWith" }] : /* istanbul ignore next */ []));
765
+ displayValue = computed(() => {
766
+ const values = this.selectedValues();
767
+ if (values.length === 0)
768
+ return '';
769
+ if (values.length === 1)
770
+ return String(values[0]);
771
+ return `${values.length} items selected`;
772
+ }, /* @ts-ignore */
773
+ ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
774
+ /** @private Index of `value` within the current selection, or `-1`. */
775
+ _indexOf(value) {
776
+ const compare = this.compareWith();
777
+ return this.selectedValues().findIndex((v) => compare(v, value));
778
+ }
779
+ select(value) {
780
+ if (this.multiple()) {
781
+ const current = this.selectedValues();
782
+ const index = this._indexOf(value);
783
+ if (index >= 0) {
784
+ this.selectedValues.set([
785
+ ...current.slice(0, index),
786
+ ...current.slice(index + 1),
787
+ ]);
788
+ }
789
+ else {
790
+ this.selectedValues.set([...current, value]);
791
+ }
792
+ }
793
+ else {
794
+ this.selectedValues.set([value]);
795
+ }
796
+ }
797
+ deselect(value) {
798
+ const compare = this.compareWith();
799
+ this.selectedValues.set(this.selectedValues().filter((v) => !compare(v, value)));
800
+ }
801
+ isSelected(value) {
802
+ return this._indexOf(value) >= 0;
803
+ }
804
+ clear() {
805
+ this.selectedValues.set([]);
806
+ }
807
+ setValues(values) {
808
+ this.selectedValues.set(values);
809
+ }
810
+ toggle(value) {
811
+ if (this.isSelected(value)) {
812
+ this.deselect(value);
813
+ }
814
+ else {
815
+ this.select(value);
816
+ }
817
+ }
818
+ requestFocusFirst() {
819
+ this.focusFirst$.next();
820
+ }
821
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
822
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSelectionService });
823
+ }
824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSelectionService, decorators: [{
825
+ type: Injectable
826
+ }] });
827
+
828
+ /**
829
+ * Forms ↔ `@angular/aria` value bridge.
830
+ *
831
+ * The headless `@angular/aria` selection patterns (`ngListbox`, `ngMenu`,
832
+ * `ngTree`, …) always model their selection as an **array** of values
833
+ * (`value: ModelSignal<V[]>`), even in single-select mode where the array holds
834
+ * at most one entry. Malva UI form controls expose the idiomatic public shape:
835
+ * a bare `T` for single-select and a `T[]` for multi-select, with `null` used
836
+ * to represent "no selection".
837
+ *
838
+ * These helpers translate between the two representations so a component can
839
+ * keep its public single/multi forms contract while driving an aria pattern
840
+ * underneath. They are pure and allocation-light, and are designed to
841
+ * round-trip: `fromAriaValues(toAriaValues(v, multi), multi)` yields the
842
+ * canonical form of `v`.
843
+ *
844
+ * @remarks
845
+ * `toAriaValues` treats an incoming array as an already-expanded multi-select
846
+ * value. If your single-select `T` is itself an array type, wrap it before
847
+ * bridging — this is the same ambiguity the aria patterns themselves carry.
848
+ */
849
+ /**
850
+ * Normalises a control value (`T`, `T[]`, or `null`/`undefined`) into the flat
851
+ * `V[]` array that `@angular/aria` selection patterns expect.
852
+ *
853
+ * - `null` / `undefined` → `[]` (cleared selection)
854
+ * - an array → a shallow copy of that array (multi-select)
855
+ * - any other value → a single-element array (single-select)
856
+ *
857
+ * @param value The control-side value to convert.
858
+ * @returns A fresh array suitable for assigning to an aria `value` model.
859
+ */
860
+ function toAriaValues(value) {
861
+ if (value === null || value === undefined) {
862
+ return [];
863
+ }
864
+ return Array.isArray(value) ? [...value] : [value];
865
+ }
866
+ /**
867
+ * Collapses the flat `V[]` array produced by an `@angular/aria` selection
868
+ * pattern back into the control-side value shape.
869
+ *
870
+ * - `multiple === true` → a shallow copy of the array (empty array stays `[]`)
871
+ * - `multiple === false` → the first entry, or `null` when the array is empty
872
+ *
873
+ * @param values The aria-side selection array.
874
+ * @param multiple Whether the control is in multi-select mode.
875
+ * @returns The control-side value: `V[]` for multi-select, `V | null` for single.
876
+ */
877
+ function fromAriaValues(values, multiple) {
878
+ const list = values ?? [];
879
+ if (multiple) {
880
+ return [...list];
881
+ }
882
+ return list.length > 0 ? list[0] : null;
883
+ }
884
+
885
+ /**
886
+ * Shared, selection-agnostic scaffold for composite groups that navigate their
887
+ * children with a vertical, wrapping {@link FocusKeyManager} and a roving
888
+ * tabindex that follows focus (only the active child is tabbable).
889
+ *
890
+ * Extracted from the duplicated lifecycle in `MlvCheckboxGroup` and
891
+ * `MlvSwitchGroup`. It owns **only** the focus / roving-tabindex concern:
892
+ * key-manager creation over the current children, the `change`→tabindex sync,
893
+ * keydown delegation, child-focus tracking, and teardown. Subclasses supply the
894
+ * live children signal ({@link _items}) and the skip predicate
895
+ * ({@link _isDisabled}); everything else (selection, CVA, templates) stays in
896
+ * the concrete component.
897
+ *
898
+ * NB: this is a *focus-roving* base — the tab stop follows the focused child.
899
+ * Groups whose tab stop must follow a *selected* child instead (e.g.
900
+ * `mlv-radio-group`, whose checked radio is the tab stop and whose arrow keys
901
+ * also move selection) do not fit this contract and keep their own manager.
902
+ *
903
+ * @typeParam T The concrete focusable child component type.
904
+ */
905
+ class MlvFocusableGroupBase {
906
+ /** @private Normalizes the vertical arrow keys delegated to the key manager. */
907
+ _rtlService = inject(MlvRtlService);
908
+ /** @private FocusKeyManager driving roving-tabindex arrow navigation between children. */
909
+ _keyManager;
910
+ /** @private Subscription to the key manager's active-item changes. */
911
+ _changeSub;
912
+ constructor() {
913
+ inject(DestroyRef).onDestroy(() => {
914
+ this._changeSub?.unsubscribe();
915
+ this._keyManager?.destroy();
916
+ });
917
+ effect(() => {
918
+ const items = [...this._items()];
919
+ if (items.length === 0)
920
+ return;
921
+ // Destroy the previous instance before allocating a new one — without
922
+ // this, every children emission accumulates a live FocusKeyManager
923
+ // (subscriptions, change-detection refs) against detached items.
924
+ this._changeSub?.unsubscribe();
925
+ this._keyManager?.destroy();
926
+ this._keyManager = new FocusKeyManager(items)
927
+ .skipPredicate((item) => this._isDisabled(item))
928
+ .withVerticalOrientation()
929
+ .withWrap();
930
+ // Keep the roving tabindex in sync as focus moves between children so only
931
+ // the active item is tabbable. `tabIndex` is a signal, so the host binding
932
+ // updates under OnPush without an extra change-detection trigger.
933
+ this._changeSub = this._keyManager.change.subscribe((index) => this._syncTabIndices(index));
934
+ // Initial roving state: the first child is the single tab stop.
935
+ this._syncTabIndices(0);
936
+ });
937
+ }
938
+ /**
939
+ * Notifies the manager which child took focus so arrow navigation resumes from
940
+ * it. Wire to each child's focus notification (group accessor token).
941
+ */
942
+ onChildFocus(item) {
943
+ const index = this._items().indexOf(item);
944
+ if (index >= 0) {
945
+ this._keyManager?.setActiveItem(index);
946
+ }
947
+ }
948
+ /**
949
+ * Delegates ArrowUp/ArrowDown to the key manager (moving focus + the tab stop)
950
+ * and suppresses the default page scroll. Wire to the group's `(keydown)`.
951
+ */
952
+ onKeydown(event) {
953
+ const key = this._rtlService.normalizeArrowKey(event);
954
+ if (key === UP_ARROW || key === DOWN_ARROW) {
955
+ this._keyManager?.onKeydown(event);
956
+ event.preventDefault();
957
+ }
958
+ }
959
+ /** @private Sets tabindex 0 on the active child and -1 on the rest. */
960
+ _syncTabIndices(activeIndex) {
961
+ this._items().forEach((item, i) => {
962
+ item.tabIndex.set(i === activeIndex ? 0 : -1);
963
+ });
964
+ }
965
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFocusableGroupBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
966
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvFocusableGroupBase, isStandalone: true, ngImport: i0 });
967
+ }
968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvFocusableGroupBase, decorators: [{
969
+ type: Directive
970
+ }], ctorParameters: () => [] });
971
+
972
+ /**
973
+ * Generated bundle index. Do not edit.
974
+ */
975
+
976
+ export { MLV_FORM_CONTROL, MlvDescription, MlvFocusableGroupBase, MlvFormControlAppend, MlvFormControlInset, MlvFormControlPrepend, MlvFormControlWrapper, MlvFormControlWrapperControl, MlvFormField, MlvHint, MlvLabel, MlvMessage, MlvSelectionService, MlvSignalCheckboxControlBase, MlvSignalFormControlBase, MlvSignalFormUiControlBase, fromAriaValues, toAriaValues };
977
+ //# sourceMappingURL=malva-ui-core-form-utils.mjs.map