@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../../../libs/core/tabs/src/lib/tabs/tabs.ts","../../../../../../../libs/core/tabs/src/lib/tabs/tabs.html"],"names":[],"mappings":"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","sourcesContent":["import type { AfterViewInit, TemplateRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n model,\n signal,\n untracked,\n viewChild,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\nimport type { IsActiveMatchOptions } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { Tab, TabContent, TabList, TabPanel, Tabs } from '@angular/aria/tabs';\nimport { MlvTabItem } from '../tab-item/tab-item';\nimport { MlvTabContent } from '../tab-content/tab-content';\nimport type { MlvTab } from '../tab/tab';\nimport { MlvTabsService } from '../tabs.service';\nimport type {\n MlvTabGroupAccessor,\n MlvTabOrientation,\n} from '../tab-group-token';\nimport { TAB_GROUP } from '../tab-group-token';\nimport {\n MlvPopup,\n MlvPopupContent,\n MlvPopupTrigger,\n} from '@malva-ui/core/popup';\nimport { MlvList, MlvListItem } from '@malva-ui/core/list';\nimport { MLV_TABS_I18N } from '@malva-ui/i18n';\nimport {\n MLV_DENSITY_ELEMENT,\n MlvDensityDirective,\n} from '@malva-ui/cdk/density';\n\n/**\n * Visual style of the tab header. Orthogonal to `orientation` — a boxed group can\n * be horizontal or vertical.\n *\n * - `'underline'` (default): a sliding indicator bar under/beside the active tab\n * (non-active tabs show a faint underline on hover).\n * - `'boxed'`: a segmented control — a grey, content-width track holds the tabs\n * and a white pill slides behind the active one (non-active tabs tint on hover).\n */\nexport type MlvTabAppearance = 'underline' | 'boxed';\n\n@Component({\n selector: 'mlv-tab-group',\n imports: [\n NgTemplateOutlet,\n TabList,\n Tab,\n TabPanel,\n TabContent,\n MlvTabItem,\n MlvTabContent,\n MlvPopup,\n MlvPopupContent,\n MlvPopupTrigger,\n MlvList,\n MlvListItem,\n ],\n templateUrl: './tabs.html',\n styleUrl: './tabs.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n // `Tabs` (`ngTabs`) is applied to the host so the aria tab list/panels\n // register against a single container; it carries no inputs.\n // `MlvDensityDirective` exposes `mlvDensity` for content-density sizing.\n hostDirectives: [\n Tabs,\n { directive: MlvDensityDirective, inputs: ['mlvDensity: mlvDensity'] },\n ],\n providers: [\n MlvTabsService,\n { provide: MLV_DENSITY_ELEMENT, useValue: 'tab-group' },\n {\n provide: TAB_GROUP,\n useExisting: MlvTabGroup,\n },\n ],\n host: {\n class: 'mlv-tab-group',\n '[class.mlv-tab-group--horizontal]': 'orientation() === \"horizontal\"',\n '[class.mlv-tab-group--vertical]': 'orientation() === \"vertical\"',\n '[class.mlv-tab-group--appearance-boxed]': \"appearance() === 'boxed'\",\n },\n})\nexport class MlvTabGroup implements MlvTabGroupAccessor, AfterViewInit {\n /** @private Scoped service tracking tab registration and visible/overflow split. */\n private readonly _tabsService = inject(MlvTabsService);\n /** @private Destroy reference used to tear down the resize observer. */\n private readonly _destroyRef = inject(DestroyRef);\n /**\n * @private Router used for routed-mode active detection and navigation.\n * `null` when `RouterModule`/`provideRouter` is not present, keeping non-routed\n * tab groups fully functional without a router.\n */\n private readonly _router = inject(Router, { optional: true });\n\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_TABS_I18N);\n /** @private Native ResizeObserver watching the tab-list header for overflow recalculation. */\n private _resizeObserver: ResizeObserver | null = null;\n\n /**\n * @private Trailing debounce timer for the ResizeObserver. Coalesces the burst\n * of resize callbacks fired during a drag into a single recalculation so tabs\n * do not flip between the row and the overflow menu on every frame.\n */\n private _resizeDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n\n /**\n * @private Cache of each tab's natural (fully-rendered) header width, keyed by\n * tab value. Populated the first time all tabs are rendered and reused on every\n * subsequent recalculation so we never have to briefly expand the DOM to all\n * tabs to re-measure — which is what caused the \"dizzy\" flicker feedback loop.\n */\n private readonly _tabWidths = new Map<string, number>();\n\n /** @private Measured width of the \"More (N)\" overflow trigger (falls back to 100). */\n private _moreButtonWidth = 0;\n\n /** @private Trailing debounce (ms) applied to ResizeObserver-driven recalculation. */\n private static readonly _RESIZE_DEBOUNCE_MS = 64;\n\n /**\n * @private Extra px of clearance an overflowed tab must gain before it is\n * allowed back into the visible row. Provides hysteresis so a tab does not\n * oscillate in/out at boundary widths.\n */\n private static readonly _HYSTERESIS_PX = 24;\n\n /** @private True when popup closed because an item was selected (skip focus restoration). */\n private _popupClosedBySelection = false;\n\n readonly orientation = model<MlvTabOrientation>('horizontal');\n readonly activeTab = model<string>('');\n\n /**\n * Visual style of the tab header. `'underline'` (default) shows a sliding\n * indicator bar; `'boxed'` fills the active tab with a rounded surface and\n * hides the indicator. Orthogonal to `orientation` — composes with both\n * horizontal and vertical layouts.\n */\n readonly appearance = input<MlvTabAppearance>('underline');\n\n /**\n * @internal True when at least one registered tab carries a `[routerLink]`\n * (its `urlTree()` is non-null). In routed mode the active tab is derived from\n * the URL via `Router.isActive` rather than from click/keyboard selection, and\n * the auto-select-first + aria-selection paths defer to the route.\n */\n protected readonly _isRouted = computed(() =>\n this._tabsService.tabs().some((t) => t.urlTree() !== null),\n );\n\n /**\n * @internal Bridges the public `activeTab` model to the aria `ngTabList`\n * `selectedTab` model input (`string | undefined`). An empty `activeTab`\n * maps to `undefined` (no tab selected) so aria does not try to match a tab\n * whose value is the empty string.\n */\n protected readonly selectedTab = computed<string | undefined>(\n () => this.activeTab() || undefined,\n );\n\n /** @internal Tracks which overflow item has tabindex=0. */\n readonly overflowFocusedIndex = signal(0);\n\n readonly tabListRef = viewChild<ElementRef<HTMLElement>>('tabListRef');\n readonly indicatorRef = viewChild<ElementRef<HTMLElement>>('indicatorRef');\n readonly morePopupRef = viewChild<MlvPopup>('morePopup');\n readonly tabItems = viewChildren(MlvTabItem);\n\n /**\n * @private The \"More (N)\" overflow trigger button, present only while overflow\n * is active. An own-template element, so a signal view query replaces the\n * former `querySelector('.mlv-tab-group__more-trigger')` used when measuring\n * the trigger's width during overflow layout.\n */\n private readonly _moreTriggerRef =\n viewChild<ElementRef<HTMLButtonElement>>('moreTrigger');\n\n /**\n * @private The overflow popup's focusable menu-item elements, in DOM order.\n * They are declared in this component's own template (inside `mlvPopupContent`),\n * so a signal view query resolves them even though the popup renders in a\n * detached overlay — replacing a `querySelectorAll('[data-overflow-item-index]')`\n * for the Arrow-key navigation inside the overflow menu.\n */\n private readonly _overflowItemRefs = viewChildren('overflowItem', {\n read: ElementRef,\n });\n\n readonly visibleTabs = computed(() => this._tabsService.visibleTabs());\n readonly overflowTabs = computed(() => this._tabsService.overflowTabs());\n\n readonly activeContentTemplate = computed<TemplateRef<unknown> | null>(() => {\n const value = this.activeTab();\n const tabs = this._tabsService.tabs();\n const activeTabComp = tabs.find((t) => t.value() === value);\n return activeTabComp?.contentTemplate()?.templateRef ?? null;\n });\n\n constructor() {\n // Auto-select first tab if none is set. Suppressed in routed mode where the\n // URL owns the active tab (see `_syncActiveFromRoute`).\n effect(() => {\n if (this._isRouted()) return;\n const tabs = this._tabsService.tabs();\n const active = this.activeTab();\n if (\n tabs.length > 0 &&\n (!active || !tabs.some((t) => t.value() === active))\n ) {\n this.activeTab.set(tabs[0].value());\n }\n });\n\n // ─── Routed mode ─────────────────────────────────────────────────────────\n // When any child <mlv-tab> carries a [routerLink], derive `activeTab` from\n // the current URL instead of click/keyboard selection. The routerLink is a\n // URL carrier on the display:none def node; because the header tab is\n // rendered separately, routerLinkActive cannot style it, so active state is\n // owned here via Router.isActive. Intentional, not a workaround.\n const router = this._router;\n if (router) {\n router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(),\n )\n .subscribe(() => this._syncActiveFromRoute());\n\n // The router may already be settled (no further NavigationEnd will fire),\n // so run an initial sync once routed tabs register. Only `_isRouted()` /\n // `tabs()` are tracked; the set itself is untracked to avoid a feedback\n // loop through `activeTab`.\n effect(() => {\n if (!this._isRouted()) return;\n this._tabsService.tabs();\n untracked(() => this._syncActiveFromRoute());\n });\n }\n\n // Pin the active tab into the visible row. When overflow is active this\n // swaps the active tab into the last visible slot (identical to picking it\n // from the overflow popup) so the active tab ALWAYS keeps a rendered\n // `ngTab`. That is essential: if the active tab's `ngTab` is torn down (e.g.\n // a resize repartition pushes it into overflow), `@angular/aria` desyncs its\n // `selectedTab` model, marks the active `ngTabPanel` inert and the deferred\n // `ngTabContent` destroys the panel body permanently. Keeping the active\n // tab visible prevents that teardown, so the active content survives any\n // resize/repartition.\n effect(() => {\n const active = this.activeTab();\n this._tabsService.forcedVisibleValue.set(active || null);\n });\n\n // Update indicator position when active tab or visible tabs change\n effect(() => {\n this.activeTab();\n this.visibleTabs();\n this.tabItems();\n this._updateIndicator();\n });\n }\n\n ngAfterViewInit(): void {\n this._setupResizeObserver();\n this._destroyRef.onDestroy(() => this._teardownResizeObserver());\n }\n\n // ─── Public API ──────────────────────────────────────────────────────────\n\n selectTab(value: string): void {\n const tab = this._tabsService.tabs().find((t) => t.value() === value);\n if (tab?.disabled()) return;\n\n // Routed tab: navigation is the source of truth. Trigger it and let the\n // resulting NavigationEnd update `activeTab` via `_syncActiveFromRoute` — do\n // NOT set `activeTab` directly (that would desync the header from the URL).\n const urlTree = tab?.urlTree() ?? null;\n if (urlTree && this._router) {\n this._router.navigateByUrl(urlTree);\n return;\n }\n\n this.activeTab.set(value);\n }\n\n /**\n * @internal Bridges the aria `ngTabList` `selectedTab` output back to the\n * public `activeTab` model. Ignores `undefined` (aria emits it transiently\n * before the default selection settles) so the auto-select effect keeps\n * ownership of the initial value.\n */\n protected _onSelectedTabChange(value: string | undefined): void {\n // In routed mode the URL owns `activeTab`; ignore aria's optimistic\n // selection so the header cannot desync from the route (navigation,\n // triggered via `selectTab`, drives `activeTab` through NavigationEnd).\n if (this._isRouted()) return;\n if (value !== undefined && value !== this.activeTab()) {\n this.activeTab.set(value);\n }\n }\n\n selectOverflowTab(value: string): void {\n this._popupClosedBySelection = true;\n this._tabsService.forceVisible(value);\n this.selectTab(value);\n // Close popup then focus the newly promoted visible tab\n this.morePopupRef()?.opened.set(false);\n requestAnimationFrame(() => {\n const items = this.tabItems();\n const visibleTabs = this.visibleTabs();\n const idx = visibleTabs.findIndex((t) => t.value() === value);\n if (idx >= 0 && items[idx]) {\n items[idx].focus();\n }\n });\n }\n\n isActive(value: string): boolean {\n return this.activeTab() === value;\n }\n\n // ─── Routed mode helpers ─────────────────────────────────────────────────\n\n /**\n * @private Sets `activeTab` to the first tab whose routerLink target is active\n * for the current URL (per its `linkActiveOptions`). No-op when not routed or\n * when no tab matches (the route stays the source of truth).\n */\n private _syncActiveFromRoute(): void {\n if (!this._isRouted()) return;\n const match = this._tabsService\n .tabs()\n .find((t) => this._isTabActiveByRoute(t));\n if (match && match.value() !== this.activeTab()) {\n this.activeTab.set(match.value());\n }\n }\n\n /**\n * @private Whether a tab's routerLink `urlTree` is active for the current URL,\n * honouring its `linkActiveOptions`.\n */\n private _isTabActiveByRoute(tab: MlvTab): boolean {\n const router = this._router;\n const urlTree = tab.urlTree();\n if (!router || !urlTree) return false;\n const opts = tab.linkActiveOptions();\n // `Router.isActive` reads an object argument as raw `IsActiveMatchOptions`\n // and would silently ignore an `{ exact }` key, so map the RouterLinkActive\n // `{ exact }` shorthand through the boolean overload (matching Angular's own\n // RouterLinkActive), and pass a full `IsActiveMatchOptions` straight through.\n return this._isFullMatchOptions(opts)\n ? router.isActive(urlTree, opts)\n : router.isActive(urlTree, opts.exact);\n }\n\n /**\n * @private Type guard distinguishing a full `IsActiveMatchOptions` object from\n * the `{ exact: boolean }` shorthand (mirrors Angular's internal check).\n */\n private _isFullMatchOptions(\n opts: { exact: boolean } | IsActiveMatchOptions,\n ): opts is IsActiveMatchOptions {\n const o = opts as Partial<IsActiveMatchOptions>;\n return !!(o.paths || o.matrixParams || o.queryParams || o.fragment);\n }\n\n // ─── Overflow popup handling ─────────────────────────────────────────────\n\n /** Opens the overflow popup and focuses the first overflow item after render. */\n openOverflowPopup(): void {\n this.overflowFocusedIndex.set(0);\n this.morePopupRef()?.opened.set(true);\n }\n\n /**\n * Called when the overflow popup finishes opening.\n * Focuses the first (or active) overflow item.\n */\n onMorePopupAfterOpened(): void {\n // Active overflow tab gets initial focus, otherwise first item\n const overflowTabs = this.overflowTabs();\n const activeIdx = overflowTabs.findIndex((t) => this.isActive(t.value()));\n const targetIdx = activeIdx >= 0 ? activeIdx : 0;\n this.overflowFocusedIndex.set(targetIdx);\n\n this._overflowItemRefs()[targetIdx]?.nativeElement.focus();\n }\n\n /**\n * Called when the overflow popup finishes closing.\n * Returns focus to the active visible tab unless the popup was closed by\n * selecting an item (focus goes to the promoted tab instead).\n */\n onMorePopupAfterClosed(): void {\n if (this._popupClosedBySelection) {\n this._popupClosedBySelection = false;\n return;\n }\n const items = this.tabItems();\n const activeIdx = this.visibleTabs().findIndex((t) =>\n this.isActive(t.value()),\n );\n items[activeIdx >= 0 ? activeIdx : 0]?.focus();\n }\n\n /**\n * Keydown handler on the overflow list wrapper inside the popup.\n * Up/Down arrows navigate between items; Escape closes the popup.\n */\n onOverflowKeydown(event: KeyboardEvent): void {\n const items = this._overflowItemRefs().map((ref) => ref.nativeElement);\n const count = items.length;\n if (count === 0) return;\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.overflowFocusedIndex.update((i) => Math.min(i + 1, count - 1));\n items[this.overflowFocusedIndex()]?.focus();\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.overflowFocusedIndex.update((i) => Math.max(i - 1, 0));\n items[this.overflowFocusedIndex()]?.focus();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.morePopupRef()?.opened.set(false);\n // afterClosed will restore focus to last focused visible tab\n }\n }\n\n // ─── Private helpers ─────────────────────────────────────────────────────\n\n /** @private Repositions the active-tab indicator bar via CSS custom properties. */\n private _updateIndicator(): void {\n queueMicrotask(() => {\n const items = this.tabItems();\n const indicatorEl = this.indicatorRef()?.nativeElement;\n if (!indicatorEl) return;\n\n const activeItem = items.find(\n (_, i) =>\n this.visibleTabs()[i] && this.isActive(this.visibleTabs()[i].value()),\n );\n\n if (!activeItem) {\n indicatorEl.style.setProperty('--mlv-tab-indicator-width', '0');\n indicatorEl.style.setProperty('--mlv-tab-indicator-height', '0');\n return;\n }\n\n const el = activeItem.elementRef.nativeElement;\n if (this.orientation() === 'horizontal') {\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-left',\n `${el.offsetLeft}px`,\n );\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-width',\n `${el.offsetWidth}px`,\n );\n } else {\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-top',\n `${el.offsetTop}px`,\n );\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-height',\n `${el.offsetHeight}px`,\n );\n }\n });\n }\n\n /** @private Attaches a ResizeObserver to the header to recalculate overflow on width changes. */\n private _setupResizeObserver(): void {\n if (this.orientation() === 'vertical') return;\n\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n if (typeof ResizeObserver === 'undefined') return;\n\n // Debounce (trailing): a drag fires the observer many times per second.\n // Coalescing them into one recalculation after the width settles is the\n // first line of defence against the flickering \"dizzy\" repartition.\n this._resizeObserver = new ResizeObserver(() => {\n if (this._resizeDebounceTimer !== null) {\n clearTimeout(this._resizeDebounceTimer);\n }\n this._resizeDebounceTimer = setTimeout(() => {\n this._resizeDebounceTimer = null;\n this._recalculateOverflow();\n }, MlvTabGroup._RESIZE_DEBOUNCE_MS);\n });\n this._resizeObserver.observe(headerEl);\n }\n\n /** @private Disconnects and clears the header ResizeObserver and its debounce timer. */\n private _teardownResizeObserver(): void {\n if (this._resizeDebounceTimer !== null) {\n clearTimeout(this._resizeDebounceTimer);\n this._resizeDebounceTimer = null;\n }\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n }\n\n /**\n * @private Updates the visible/overflow split for the current header width.\n *\n * Unlike the previous implementation it does NOT reset the rendered set to\n * \"show all\" on every call. Tab widths are cached (keyed by value) the first\n * time every tab is rendered; afterwards the split is computed purely from the\n * cache and the container width. That removes the measure→mutate→re-measure\n * feedback loop (moving a tab to overflow no longer changes what we measure),\n * which — together with the ResizeObserver debounce and the hysteresis in\n * {@link _computeFittingCount} — kills the flickering repartition.\n */\n private _recalculateOverflow(): void {\n if (this.orientation() === 'vertical') {\n this._tabsService.maxVisibleCount.set(-1);\n return;\n }\n\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n // Refresh the cache from whatever is currently rendered (no DOM mutation).\n this._captureRenderedWidths();\n\n const allTabs = this._tabsService.tabs();\n const missingWidth = allTabs.some((t) => !this._tabWidths.has(t.value()));\n\n if (missingWidth) {\n // Cold cache (first run) or new tabs added: render every tab once so we\n // can capture the missing widths, then apply. This is the ONLY branch\n // that expands the DOM, and only runs until the cache is warm — so\n // steady-state resizes never flash the full tab set.\n this._tabsService.maxVisibleCount.set(-1);\n requestAnimationFrame(() => {\n this._captureRenderedWidths();\n this._applyOverflowFit();\n });\n return;\n }\n\n this._applyOverflowFit();\n }\n\n /**\n * @private Captures the natural widths of the currently-rendered tab items\n * (and the \"More\" trigger) into the width cache, keyed by tab value. Zero\n * widths (detached / not laid out) are ignored so a transient render never\n * poisons the cache.\n */\n private _captureRenderedWidths(): void {\n const items = this.tabItems();\n const visible = this._tabsService.visibleTabs();\n items.forEach((item, i) => {\n const value = visible[i]?.value();\n const width = item.elementRef.nativeElement.offsetWidth;\n if (value && width > 0) {\n this._tabWidths.set(value, width);\n }\n });\n\n const moreEl = this._moreTriggerRef()?.nativeElement;\n if (moreEl && moreEl.offsetWidth > 0) {\n this._moreButtonWidth = moreEl.offsetWidth;\n }\n }\n\n /**\n * @private Applies the cached-width overflow computation to the service and\n * repositions the indicator.\n */\n private _applyOverflowFit(): void {\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n const allTabs = this._tabsService.tabs();\n const widths = allTabs.map((t) => this._tabWidths.get(t.value()) ?? 0);\n const fittingCount = this._computeFittingCount(\n widths,\n headerEl.clientWidth,\n this._moreButtonWidth || 100,\n this._tabsService.maxVisibleCount(),\n );\n\n this._tabsService.maxVisibleCount.set(fittingCount);\n this._updateIndicator();\n }\n\n /**\n * @private Pure overflow fit calculation. Returns how many leading tabs fit in\n * `containerWidth`, or `-1` when every tab fits with no \"More\" button.\n *\n * Hysteresis: a tab that is currently in the overflow region\n * (`i >= currentMax`) must clear the boundary by an extra\n * {@link _HYSTERESIS_PX} before it is allowed back into the visible row. A\n * currently-visible tab leaves as soon as it no longer fits. This asymmetric\n * threshold means the two states around a boundary width can never both be\n * satisfied, so the split cannot oscillate between adjacent widths.\n *\n * @param widths Natural width of each tab, in DOM order.\n * @param containerWidth Available header content width.\n * @param moreButtonWidth Width reserved for the \"More (N)\" trigger.\n * @param currentMax The current `maxVisibleCount` (`-1` = all visible).\n */\n private _computeFittingCount(\n widths: number[],\n containerWidth: number,\n moreButtonWidth: number,\n currentMax: number,\n ): number {\n const total = widths.reduce((sum, w) => sum + w, 0);\n // Everything fits without needing a \"More\" button.\n if (total <= containerWidth) return -1;\n\n let accumulated = 0;\n let count = 0;\n for (let i = 0; i < widths.length; i++) {\n const wasOverflowed = currentMax >= 0 && i >= currentMax;\n const margin = wasOverflowed ? MlvTabGroup._HYSTERESIS_PX : 0;\n if (\n accumulated + widths[i] + moreButtonWidth + margin <=\n containerWidth\n ) {\n accumulated += widths[i];\n count++;\n } else {\n break;\n }\n }\n return count;\n }\n}\n","<div\n class=\"mlv-tab-group__header\"\n ngTabList\n [orientation]=\"orientation()\"\n [wrap]=\"false\"\n [softDisabled]=\"false\"\n selectionMode=\"follow\"\n [selectedTab]=\"selectedTab()\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n #tabListRef\n>\n @for (tab of visibleTabs(); track tab.value(); let i = $index) {\n <mlv-tab-item\n ngTab\n [value]=\"tab.value()\"\n [active]=\"isActive(tab.value())\"\n [disabled]=\"tab.disabled()\"\n (activate)=\"selectTab(tab.value())\"\n >\n @if (tab.defTemplate(); as def) {\n <!--\n The label is rendered directly inside the roving `role=\"tab\"`\n (<mlv-tab-item>, ngTab). Routed tabs do NOT wrap it in an <a href>: an\n anchor is inherently interactive, and nesting it inside `role=\"tab\"` fails\n the axe `nested-interactive` rule (a11y is a hard requirement). Navigation\n is driven by the tab-item's `activate` output → selectTab() →\n router.navigateByUrl() for both click and keyboard, and the URL is fully\n deep-linkable; the only thing lost versus a nested anchor is native\n middle-click / open-in-new-tab, an accepted trade-off.\n -->\n <ng-template\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n />\n }\n </mlv-tab-item>\n } @if (overflowTabs().length > 0) {\n <button\n type=\"button\"\n #moreTrigger\n class=\"mlv-tab-group__more-trigger\"\n [mlvPopupTrigger]=\"morePopup\"\n triggerOn=\"click\"\n [ariaHasPopup]=\"'menu'\"\n [attr.aria-expanded]=\"morePopupRef()?.opened() ?? false\"\n [attr.aria-label]=\"_i18n().moreTabs\"\n >\n More ({{ overflowTabs().length }})\n </button>\n <mlv-popup\n #morePopup\n [hasShadow]=\"true\"\n (afterOpened)=\"onMorePopupAfterOpened()\"\n (afterClosed)=\"onMorePopupAfterClosed()\"\n >\n <ng-template mlvPopupContent>\n <div tabindex=\"-1\" (keydown)=\"onOverflowKeydown($event)\">\n <mlv-list listRole=\"menu\">\n @for (tab of overflowTabs(); track tab.value(); let i = $index) {\n <mlv-list-item\n #overflowItem\n itemRole=\"menuitemradio\"\n [class.mlv-list-item--active]=\"isActive(tab.value())\"\n [attr.tabindex]=\"overflowFocusedIndex() === i ? 0 : -1\"\n [attr.data-overflow-item-index]=\"i\"\n [attr.aria-disabled]=\"tab.disabled() || null\"\n [attr.aria-checked]=\"isActive(tab.value())\"\n (click)=\"selectOverflowTab(tab.value())\"\n (keydown.enter)=\"selectOverflowTab(tab.value()); $event.stopPropagation()\"\n (keydown.space)=\"selectOverflowTab(tab.value()); $event.stopPropagation(); $event.preventDefault()\"\n >\n @if (tab.defTemplate(); as def) {\n <ng-template\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n />\n }\n </mlv-list-item>\n }\n </mlv-list>\n </div>\n </ng-template>\n </mlv-popup>\n }\n\n <div class=\"mlv-tab-group__indicator\" #indicatorRef></div>\n</div>\n\n<div class=\"mlv-tab-group__body\">\n @if (activeContentTemplate(); as tmpl) {\n <mlv-tab-content ngTabPanel [value]=\"activeTab()\">\n <ng-template ngTabContent>\n <ng-container [ngTemplateOutlet]=\"tmpl\" />\n </ng-template>\n </mlv-tab-content>\n }\n <!--\n Inert stub panels for the visible-but-inactive tabs. Every `ngTab` must\n resolve to a corresponding `ngTabPanel` (aria wires `aria-controls` and\n validates the pairing). The active tab renders the real `mlv-tab-content`\n above; the remaining visible tabs get an empty, `ngTabContent`-carrying\n panel so their `aria-controls` resolves without rendering duplicate content.\n -->\n @for (tab of visibleTabs(); track tab.value()) { @if (!isActive(tab.value()))\n {\n <div class=\"mlv-tab-group__panel-stub\" ngTabPanel [value]=\"tab.value()\">\n <ng-template ngTabContent></ng-template>\n </div>\n } }\n</div>\n"]}
@@ -1,83 +0,0 @@
1
- import { computed, Injectable, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class MlvTabsService {
4
- tabs = signal([], /* @ts-ignore */
5
- ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
6
- /** How many tabs fit in the header. -1 means no overflow (all fit). */
7
- maxVisibleCount = signal(-1, /* @ts-ignore */
8
- ...(ngDevMode ? [{ debugName: "maxVisibleCount" }] : /* istanbul ignore next */ []));
9
- /** A tab value forced into the visible area (selected from overflow popup). */
10
- forcedVisibleValue = signal(null, /* @ts-ignore */
11
- ...(ngDevMode ? [{ debugName: "forcedVisibleValue" }] : /* istanbul ignore next */ []));
12
- /**
13
- * Visible tabs with swap logic:
14
- * - If a forced tab exists and is beyond maxVisibleCount,
15
- * it replaces the last naturally-visible tab.
16
- *
17
- * Example: tabs=[t1,t2,t3,t4,t5], max=3, forced=t4
18
- * visible=[t1,t2,t4], overflow=[t3,t5]
19
- */
20
- visibleTabs = computed(() => {
21
- const all = this.tabs();
22
- const max = this.maxVisibleCount();
23
- if (max < 0 || max >= all.length)
24
- return all;
25
- const forced = this.forcedVisibleValue();
26
- const forcedIndex = forced !== null ? all.findIndex((t) => t.value() === forced) : -1;
27
- // Forced tab is already in the visible range or doesn't exist
28
- if (forcedIndex < 0 || forcedIndex < max) {
29
- return all.slice(0, max);
30
- }
31
- // Swap: take first (max-1), then the forced tab. `Math.max(0, …)` guards the
32
- // `max === 0` case (all tabs overflow) so the forced/active tab is the sole
33
- // visible tab instead of duplicating the last natural tab.
34
- const visible = all.slice(0, Math.max(0, max - 1));
35
- visible.push(all[forcedIndex]);
36
- return visible;
37
- }, /* @ts-ignore */
38
- ...(ngDevMode ? [{ debugName: "visibleTabs" }] : /* istanbul ignore next */ []));
39
- overflowTabs = computed(() => {
40
- const all = this.tabs();
41
- const max = this.maxVisibleCount();
42
- if (max < 0 || max >= all.length)
43
- return [];
44
- const forced = this.forcedVisibleValue();
45
- const forcedIndex = forced !== null ? all.findIndex((t) => t.value() === forced) : -1;
46
- // No forced tab or forced is already visible
47
- if (forcedIndex < 0 || forcedIndex < max) {
48
- return all.slice(max);
49
- }
50
- // The last naturally-visible tab (index max-1) goes to overflow, plus all
51
- // original overflow tabs except the forced one. When `max === 0` there is no
52
- // last-natural tab to demote (guarded below).
53
- const overflow = [];
54
- if (max - 1 >= 0) {
55
- overflow.push(all[max - 1]);
56
- }
57
- for (let i = max; i < all.length; i++) {
58
- if (i !== forcedIndex) {
59
- overflow.push(all[i]);
60
- }
61
- }
62
- return overflow;
63
- }, /* @ts-ignore */
64
- ...(ngDevMode ? [{ debugName: "overflowTabs" }] : /* istanbul ignore next */ []));
65
- register(tab) {
66
- this.tabs.update((tabs) => [...tabs, tab]);
67
- }
68
- unregister(tab) {
69
- this.tabs.update((tabs) => tabs.filter((t) => t !== tab));
70
- if (this.forcedVisibleValue() === tab.value()) {
71
- this.forcedVisibleValue.set(null);
72
- }
73
- }
74
- forceVisible(value) {
75
- this.forcedVisibleValue.set(value);
76
- }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService });
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService, decorators: [{
81
- type: Injectable
82
- }] });
83
- //# sourceMappingURL=tabs.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.service.js","sourceRoot":"","sources":["../../../../../../libs/core/tabs/src/lib/tabs.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport type { MlvTab } from './tab/tab';\n\n@Injectable()\nexport class MlvTabsService {\n readonly tabs = signal<MlvTab[]>([]);\n\n /** How many tabs fit in the header. -1 means no overflow (all fit). */\n readonly maxVisibleCount = signal<number>(-1);\n\n /** A tab value forced into the visible area (selected from overflow popup). */\n readonly forcedVisibleValue = signal<string | null>(null);\n\n /**\n * Visible tabs with swap logic:\n * - If a forced tab exists and is beyond maxVisibleCount,\n * it replaces the last naturally-visible tab.\n *\n * Example: tabs=[t1,t2,t3,t4,t5], max=3, forced=t4\n * visible=[t1,t2,t4], overflow=[t3,t5]\n */\n readonly visibleTabs = computed(() => {\n const all = this.tabs();\n const max = this.maxVisibleCount();\n\n if (max < 0 || max >= all.length) return all;\n\n const forced = this.forcedVisibleValue();\n const forcedIndex =\n forced !== null ? all.findIndex((t) => t.value() === forced) : -1;\n\n // Forced tab is already in the visible range or doesn't exist\n if (forcedIndex < 0 || forcedIndex < max) {\n return all.slice(0, max);\n }\n\n // Swap: take first (max-1), then the forced tab. `Math.max(0, …)` guards the\n // `max === 0` case (all tabs overflow) so the forced/active tab is the sole\n // visible tab instead of duplicating the last natural tab.\n const visible = all.slice(0, Math.max(0, max - 1));\n visible.push(all[forcedIndex]);\n return visible;\n });\n\n readonly overflowTabs = computed(() => {\n const all = this.tabs();\n const max = this.maxVisibleCount();\n\n if (max < 0 || max >= all.length) return [];\n\n const forced = this.forcedVisibleValue();\n const forcedIndex =\n forced !== null ? all.findIndex((t) => t.value() === forced) : -1;\n\n // No forced tab or forced is already visible\n if (forcedIndex < 0 || forcedIndex < max) {\n return all.slice(max);\n }\n\n // The last naturally-visible tab (index max-1) goes to overflow, plus all\n // original overflow tabs except the forced one. When `max === 0` there is no\n // last-natural tab to demote (guarded below).\n const overflow: MlvTab[] = [];\n if (max - 1 >= 0) {\n overflow.push(all[max - 1]);\n }\n for (let i = max; i < all.length; i++) {\n if (i !== forcedIndex) {\n overflow.push(all[i]);\n }\n }\n return overflow;\n });\n\n register(tab: MlvTab): void {\n this.tabs.update((tabs) => [...tabs, tab]);\n }\n\n unregister(tab: MlvTab): void {\n this.tabs.update((tabs) => tabs.filter((t) => t !== tab));\n if (this.forcedVisibleValue() === tab.value()) {\n this.forcedVisibleValue.set(null);\n }\n }\n\n forceVisible(value: string): void {\n this.forcedVisibleValue.set(value);\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=malva-ui-core-tabs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"malva-ui-core-tabs.js","sourceRoot":"","sources":["../../../../../libs/core/tabs/src/malva-ui-core-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1,2 +0,0 @@
1
- export * from './lib/textarea/textarea';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/textarea/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './lib/textarea/textarea';\n"]}
@@ -1,194 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, forwardRef, input, model, ViewEncapsulation, viewChild, effect, } from '@angular/core';
2
- import { MlvSignalFormControlBase, MlvDescription, MlvFormControlWrapper, MlvFormControlWrapperControl, MlvHint, MlvLabel, MLV_FORM_CONTROL, MlvMessage, } from '@malva-ui/core/form-utils';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { MlvScrollbar } from '@malva-ui/core/scrollbar';
5
- import * as i0 from "@angular/core";
6
- export class MlvTextarea extends MlvSignalFormControlBase {
7
- /** Placeholder text shown inside the textarea when empty. */
8
- placeholder = input('', /* @ts-ignore */
9
- ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
10
- /** Number of visible text rows. Determines the default height. */
11
- rows = input(3, /* @ts-ignore */
12
- ...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
13
- /** Minimum number of rows when autoResize is enabled. */
14
- minRows = input(undefined, /* @ts-ignore */
15
- ...(ngDevMode ? [{ debugName: "minRows" }] : /* istanbul ignore next */ []));
16
- /** Maximum number of rows when autoResize is enabled. */
17
- maxRows = input(undefined, /* @ts-ignore */
18
- ...(ngDevMode ? [{ debugName: "maxRows" }] : /* istanbul ignore next */ []));
19
- /**
20
- * When true, the textarea grows vertically with content.
21
- * Respects minRows and maxRows constraints.
22
- */
23
- autoResize = input(false, { ...(ngDevMode ? { debugName: "autoResize" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
24
- /**
25
- * Maximum number of characters allowed.
26
- * When set, a character counter is displayed below the textarea.
27
- */
28
- maxLength = input(undefined, /* @ts-ignore */
29
- ...(ngDevMode ? [{ debugName: "maxLength" }] : /* istanbul ignore next */ []));
30
- /** The character count ID for aria-describedby linking to the count element. */
31
- countId = computed(() => `${this.id()}-count`, /* @ts-ignore */
32
- ...(ngDevMode ? [{ debugName: "countId" }] : /* istanbul ignore next */ []));
33
- /**
34
- * @protected The textarea's `aria-describedby`: the shared description /
35
- * message ids from the base plus the character counter when one is rendered.
36
- * `null` when nothing describes the field, so no dangling IDREF is emitted.
37
- */
38
- _textareaDescribedBy = computed(() => {
39
- const ids = this._describedBy();
40
- if (!this.maxLength())
41
- return ids;
42
- return ids ? `${ids} ${this.countId()}` : this.countId();
43
- }, /* @ts-ignore */
44
- ...(ngDevMode ? [{ debugName: "_textareaDescribedBy" }] : /* istanbul ignore next */ []));
45
- /**
46
- * The textarea's text value — the signal-forms `FormValueControl` model.
47
- * Two-way bindable (`[(value)]`) and kept in sync with the bound field by
48
- * `[formField]` / `[formControl]` / `ngModel`. Replaces the former
49
- * `internalValue` signal + CVA transport.
50
- */
51
- value = model('', /* @ts-ignore */
52
- ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
53
- /** @private Reference to the native textarea element. */
54
- _textareaRef = viewChild('textareaEl', /* @ts-ignore */
55
- ...(ngDevMode ? [{ debugName: "_textareaRef" }] : /* istanbul ignore next */ []));
56
- /**
57
- * The current character count.
58
- */
59
- charCount = computed(() => (this.value() ?? '').length, /* @ts-ignore */
60
- ...(ngDevMode ? [{ debugName: "charCount" }] : /* istanbul ignore next */ []));
61
- /**
62
- * Whether the character count is approaching the limit (>90%).
63
- */
64
- isCountWarning = computed(() => {
65
- const max = this.maxLength();
66
- if (!max)
67
- return false;
68
- const ratio = this.charCount() / max;
69
- return ratio >= 0.9 && ratio < 1;
70
- }, /* @ts-ignore */
71
- ...(ngDevMode ? [{ debugName: "isCountWarning" }] : /* istanbul ignore next */ []));
72
- /**
73
- * Whether the character limit has been reached.
74
- */
75
- isCountError = computed(() => {
76
- const max = this.maxLength();
77
- if (!max)
78
- return false;
79
- return this.charCount() >= max;
80
- }, /* @ts-ignore */
81
- ...(ngDevMode ? [{ debugName: "isCountError" }] : /* istanbul ignore next */ []));
82
- /**
83
- * Computed minimum height style for the scrollbar wrapper.
84
- * When rows = 1, matches `--mlv-height-m` (same as mlv-input).
85
- * For multi-row, grows proportionally: each additional row adds 1.5em.
86
- */
87
- minHeightStyle = computed(() => {
88
- const rows = this.minRows() ?? this.rows();
89
- if (rows === 1) {
90
- return 'var(--mlv-height-m)';
91
- }
92
- // Base height for a single row equals --mlv-height-m (2.75rem).
93
- // Each extra row adds one line (1.5em at font-size ~0.875rem ≈ 1.3125rem).
94
- return `calc(var(--mlv-height-m) + ${rows - 1} * 1.5em)`;
95
- }, /* @ts-ignore */
96
- ...(ngDevMode ? [{ debugName: "minHeightStyle" }] : /* istanbul ignore next */ []));
97
- /**
98
- * Computed maximum height style for the scrollbar wrapper based on maxRows input.
99
- */
100
- maxHeightStyle = computed(() => {
101
- const maxRows = this.maxRows();
102
- if (!maxRows)
103
- return undefined;
104
- if (maxRows === 1) {
105
- return 'var(--mlv-height-m)';
106
- }
107
- return `calc(var(--mlv-height-m) + ${maxRows - 1} * 1.5em)`;
108
- }, /* @ts-ignore */
109
- ...(ngDevMode ? [{ debugName: "maxHeightStyle" }] : /* istanbul ignore next */ []));
110
- constructor() {
111
- super();
112
- // Re-run auto-resize when value changes
113
- effect(() => {
114
- this.value();
115
- if (this.autoResize()) {
116
- this._runAutoResize();
117
- }
118
- });
119
- }
120
- /** @private Adjusts textarea height to fit its content. */
121
- _runAutoResize() {
122
- const el = this._textareaRef()?.nativeElement;
123
- if (!el)
124
- return;
125
- el.style.height = 'auto';
126
- let newHeight = el.scrollHeight;
127
- const minRows = this.minRows();
128
- const maxRows = this.maxRows();
129
- const lineHeight = parseFloat(getComputedStyle(el).lineHeight) || 24;
130
- const paddingTop = parseFloat(getComputedStyle(el).paddingTop) || 0;
131
- const paddingBottom = parseFloat(getComputedStyle(el).paddingBottom) || 0;
132
- if (minRows) {
133
- const minHeight = minRows * lineHeight + paddingTop + paddingBottom;
134
- newHeight = Math.max(newHeight, minHeight);
135
- }
136
- if (maxRows) {
137
- const maxHeight = maxRows * lineHeight + paddingTop + paddingBottom;
138
- newHeight = Math.min(newHeight, maxHeight);
139
- }
140
- el.style.height = `${newHeight}px`;
141
- }
142
- /** Handles the native input event. */
143
- onInput(event) {
144
- this.value.set(event.target.value);
145
- }
146
- /** Handles the native blur event. */
147
- onBlur() {
148
- this.setFocused(false);
149
- this._markTouched();
150
- }
151
- /** Whether the control holds a clearable value — Non-empty text present. */
152
- hasValue = computed(() => (this.value() ?? '').length > 0, /* @ts-ignore */
153
- ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
154
- /** Clears the textarea value and marks the field touched. */
155
- clearValue() {
156
- this.value.set('');
157
- this._markTouched();
158
- }
159
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTextarea, deps: [], target: i0.ɵɵFactoryTarget.Component });
160
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTextarea, isStandalone: true, selector: "mlv-textarea", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, minRows: { classPropertyName: "minRows", publicName: "minRows", isSignal: true, isRequired: false, transformFunction: null }, maxRows: { classPropertyName: "maxRows", publicName: "maxRows", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.mlv-textarea--default": "resolvedState() === \"default\"", "class.mlv-textarea--success": "resolvedState() === \"success\"", "class.mlv-textarea--info": "resolvedState() === \"info\"", "class.mlv-textarea--warning": "resolvedState() === \"warning\"", "class.mlv-textarea--error": "resolvedState() === \"error\"", "class.mlv-textarea--disabled": "computedDisabled()", "class.mlv-textarea--focused": "focused()", "class.mlv-textarea--auto-resize": "autoResize()" }, classAttribute: "mlv-textarea" }, providers: [
161
- {
162
- provide: MLV_FORM_CONTROL,
163
- useExisting: forwardRef(() => MlvTextarea),
164
- },
165
- ], viewQueries: [{ propertyName: "_textareaRef", first: true, predicate: ["textareaEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot \u2014 a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n", styles: [".mlv-textarea{display:block}.mlv-textarea .mlv-form-control-wrapper__control-container{height:auto;align-items:flex-start;padding:0}.mlv-textarea .mlv-form-control-wrapper__clear{align-self:flex-start;margin-top:var(--mlv-spacing-1);margin-inline-end:var(--mlv-spacing-1)}.mlv-textarea__scrollbar{flex:1 1 auto;min-width:0}.mlv-textarea__scrollbar.mlv-scrollbar--disabled{overflow:visible}.mlv-textarea__field{box-sizing:border-box;padding:var(--mlv-spacing-1) var(--form-ctrl-h-padding, var(--mlv-spacing-3));margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--form-ctrl-font-size, var(--mlv-font-size-m))}.mlv-textarea__field *{box-sizing:border-box}.mlv-textarea__field{display:block;width:100%;resize:none;border:none;outline:none;appearance:none;background:none;line-height:1.5;color:var(--mlv-text-primary);box-sizing:border-box;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.mlv-textarea__field::-webkit-scrollbar{display:none}.mlv-textarea__field::placeholder{color:var(--mlv-text-tertiary)}.mlv-textarea__count{display:block;align-self:flex-end;text-align:right;font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-tertiary)}.mlv-textarea__count--warning{color:var(--mlv-text-warning)}.mlv-textarea__count--error{color:var(--mlv-text-negative)}.mlv-textarea--auto-resize .mlv-textarea__field{resize:none;height:auto}\n"], dependencies: [{ kind: "component", type: MlvLabel, selector: "mlv-label", inputs: ["for", "required"] }, { kind: "component", type: MlvHint, selector: "mlv-hint" }, { kind: "component", type: MlvDescription, selector: "mlv-description" }, { kind: "component", type: MlvFormControlWrapper, selector: "mlv-form-control-wrapper", outputs: ["clear"] }, { kind: "directive", type: MlvFormControlWrapperControl, selector: "[mlvFormControlWrapperControl]" }, { kind: "component", type: MlvMessage, selector: "mlv-message", inputs: ["state"] }, { kind: "component", type: MlvScrollbar, selector: "mlv-scrollbar", inputs: ["orientation", "scrollbarSize", "disabled", "ariaLabel", "viewportTabIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
166
- }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTextarea, decorators: [{
168
- type: Component,
169
- args: [{ selector: 'mlv-textarea', imports: [
170
- MlvLabel,
171
- MlvHint,
172
- MlvDescription,
173
- MlvFormControlWrapper,
174
- MlvFormControlWrapperControl,
175
- MlvMessage,
176
- MlvScrollbar,
177
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
178
- {
179
- provide: MLV_FORM_CONTROL,
180
- useExisting: forwardRef(() => MlvTextarea),
181
- },
182
- ], host: {
183
- class: 'mlv-textarea',
184
- '[class.mlv-textarea--default]': 'resolvedState() === "default"',
185
- '[class.mlv-textarea--success]': 'resolvedState() === "success"',
186
- '[class.mlv-textarea--info]': 'resolvedState() === "info"',
187
- '[class.mlv-textarea--warning]': 'resolvedState() === "warning"',
188
- '[class.mlv-textarea--error]': 'resolvedState() === "error"',
189
- '[class.mlv-textarea--disabled]': 'computedDisabled()',
190
- '[class.mlv-textarea--focused]': 'focused()',
191
- '[class.mlv-textarea--auto-resize]': 'autoResize()',
192
- }, template: "<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot \u2014 a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n", styles: [".mlv-textarea{display:block}.mlv-textarea .mlv-form-control-wrapper__control-container{height:auto;align-items:flex-start;padding:0}.mlv-textarea .mlv-form-control-wrapper__clear{align-self:flex-start;margin-top:var(--mlv-spacing-1);margin-inline-end:var(--mlv-spacing-1)}.mlv-textarea__scrollbar{flex:1 1 auto;min-width:0}.mlv-textarea__scrollbar.mlv-scrollbar--disabled{overflow:visible}.mlv-textarea__field{box-sizing:border-box;padding:var(--mlv-spacing-1) var(--form-ctrl-h-padding, var(--mlv-spacing-3));margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--form-ctrl-font-size, var(--mlv-font-size-m))}.mlv-textarea__field *{box-sizing:border-box}.mlv-textarea__field{display:block;width:100%;resize:none;border:none;outline:none;appearance:none;background:none;line-height:1.5;color:var(--mlv-text-primary);box-sizing:border-box;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.mlv-textarea__field::-webkit-scrollbar{display:none}.mlv-textarea__field::placeholder{color:var(--mlv-text-tertiary)}.mlv-textarea__count{display:block;align-self:flex-end;text-align:right;font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-tertiary)}.mlv-textarea__count--warning{color:var(--mlv-text-warning)}.mlv-textarea__count--error{color:var(--mlv-text-negative)}.mlv-textarea--auto-resize .mlv-textarea__field{resize:none;height:auto}\n"] }]
193
- }], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], minRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "minRows", required: false }] }], maxRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxRows", required: false }] }], autoResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoResize", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _textareaRef: [{ type: i0.ViewChild, args: ['textareaEl', { isSignal: true }] }] } });
194
- //# sourceMappingURL=textarea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../../../../libs/core/textarea/src/lib/textarea/textarea.ts","../../../../../../../libs/core/textarea/src/lib/textarea/textarea.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EAER,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,MAAM,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;;AAmCxD,MAAM,OAAO,WACX,SAAQ,wBAAgC;IAGxC,6DAA6D;IACpD,WAAW,GAAG,KAAK,CAAC,EAAE;oFAAC,CAAC;IAEjC,kEAAkE;IACzD,IAAI,GAAG,KAAK,CAAS,CAAC;6EAAC,CAAC;IAEjC,yDAAyD;IAChD,OAAO,GAAG,KAAK,CAAqB,SAAS;gFAAC,CAAC;IAExD,yDAAyD;IAChD,OAAO,GAAG,KAAK,CAAqB,SAAS;gFAAC,CAAC;IAExD;;;OAGG;IACM,UAAU,GAAG,KAAK,CAAwB,KAAK,kFACtD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IAEH;;;OAGG;IACM,SAAS,GAAG,KAAK,CAAqB,SAAS;kFAAC,CAAC;IAE1D,gFAAgF;IACvE,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ;gFAAC,CAAC;IAExD;;;;OAIG;IACgB,oBAAoB,GAAG,QAAQ,CAAC,GAAG,EAAE;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;6FAAC,CAAC;IAEH;;;;;OAKG;IACM,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC,CAAC;IAEnC,yDAAyD;IACtC,YAAY,GAC7B,SAAS,CAAkC,YAAY;qFAAC,CAAC;IAE3D;;OAEG;IACM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM;kFAAC,CAAC;IAEjE;;OAEG;IACM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;QACrC,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC;IACnC,CAAC;uFAAC,CAAC;IAEH;;OAEG;IACM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC;IACjC,CAAC;qFAAC,CAAC;IAEH;;;;OAIG;IACM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,gEAAgE;QAChE,2EAA2E;QAC3E,OAAO,8BAA8B,IAAI,GAAG,CAAC,WAAW,CAAC;IAC3D,CAAC;uFAAC,CAAC;IAEH;;OAEG;IACM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,8BAA8B,OAAO,GAAG,CAAC,WAAW,CAAC;IAC9D,CAAC;uFAAC,CAAC;IAEH;QACE,KAAK,EAAE,CAAC;QACR,wCAAwC;QACxC,MAAM,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IACnD,cAAc;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC;QAC9C,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,IAAI,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;YACpE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;YACpE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;IACrC,CAAC;IAED,sCAAsC;IACtC,OAAO,CAAC,KAAY;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,KAAK,CAAC,MAA8B,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,qCAAqC;IACrC,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,4EAA4E;IACnE,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;iFAAC,CAAC;IAEpE,6DAA6D;IAC7D,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;uGA/JU,WAAW;2FAAX,WAAW,u/CAlBX;YACT;gBACE,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;aAC3C;SACF,6KC/CH,uiEA+DA,m5CDjCI,QAAQ,mFACR,OAAO,qDACP,cAAc,4DACd,qBAAqB,yFACrB,4BAA4B,2EAC5B,UAAU,2EACV,YAAY;;2FAwBH,WAAW;kBAjCvB,SAAS;+BACE,cAAc,WACf;wBACP,QAAQ;wBACR,OAAO;wBACP,cAAc;wBACd,qBAAqB;wBACrB,4BAA4B;wBAC5B,UAAU;wBACV,YAAY;qBACb,iBAGc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,aACpC;wBACT;4BACE,OAAO,EAAE,gBAAgB;4BACzB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;yBAC3C;qBACF,QACK;wBACJ,KAAK,EAAE,cAAc;wBACrB,+BAA+B,EAAE,+BAA+B;wBAChE,+BAA+B,EAAE,+BAA+B;wBAChE,4BAA4B,EAAE,4BAA4B;wBAC1D,+BAA+B,EAAE,+BAA+B;wBAChE,6BAA6B,EAAE,6BAA6B;wBAC5D,gCAAgC,EAAE,oBAAoB;wBACtD,+BAA+B,EAAE,WAAW;wBAC5C,mCAAmC,EAAE,cAAc;qBACpD;0yBAwD4C,YAAY","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n forwardRef,\n input,\n model,\n ViewEncapsulation,\n viewChild,\n effect,\n} from '@angular/core';\nimport type { MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvSignalFormControlBase,\n MlvDescription,\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvHint,\n MlvLabel,\n MLV_FORM_CONTROL,\n MlvMessage,\n} from '@malva-ui/core/form-utils';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\n\n@Component({\n selector: 'mlv-textarea',\n imports: [\n MlvLabel,\n MlvHint,\n MlvDescription,\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvMessage,\n MlvScrollbar,\n ],\n templateUrl: './textarea.html',\n styleUrl: './textarea.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvTextarea),\n },\n ],\n host: {\n class: 'mlv-textarea',\n '[class.mlv-textarea--default]': 'resolvedState() === \"default\"',\n '[class.mlv-textarea--success]': 'resolvedState() === \"success\"',\n '[class.mlv-textarea--info]': 'resolvedState() === \"info\"',\n '[class.mlv-textarea--warning]': 'resolvedState() === \"warning\"',\n '[class.mlv-textarea--error]': 'resolvedState() === \"error\"',\n '[class.mlv-textarea--disabled]': 'computedDisabled()',\n '[class.mlv-textarea--focused]': 'focused()',\n '[class.mlv-textarea--auto-resize]': 'autoResize()',\n },\n})\nexport class MlvTextarea\n extends MlvSignalFormControlBase<string>\n implements MlvFormControl\n{\n /** Placeholder text shown inside the textarea when empty. */\n readonly placeholder = input('');\n\n /** Number of visible text rows. Determines the default height. */\n readonly rows = input<number>(3);\n\n /** Minimum number of rows when autoResize is enabled. */\n readonly minRows = input<number | undefined>(undefined);\n\n /** Maximum number of rows when autoResize is enabled. */\n readonly maxRows = input<number | undefined>(undefined);\n\n /**\n * When true, the textarea grows vertically with content.\n * Respects minRows and maxRows constraints.\n */\n readonly autoResize = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Maximum number of characters allowed.\n * When set, a character counter is displayed below the textarea.\n */\n readonly maxLength = input<number | undefined>(undefined);\n\n /** The character count ID for aria-describedby linking to the count element. */\n readonly countId = computed(() => `${this.id()}-count`);\n\n /**\n * @protected The textarea's `aria-describedby`: the shared description /\n * message ids from the base plus the character counter when one is rendered.\n * `null` when nothing describes the field, so no dangling IDREF is emitted.\n */\n protected readonly _textareaDescribedBy = computed(() => {\n const ids = this._describedBy();\n if (!this.maxLength()) return ids;\n return ids ? `${ids} ${this.countId()}` : this.countId();\n });\n\n /**\n * The textarea's text value — the signal-forms `FormValueControl` model.\n * Two-way bindable (`[(value)]`) and kept in sync with the bound field by\n * `[formField]` / `[formControl]` / `ngModel`. Replaces the former\n * `internalValue` signal + CVA transport.\n */\n readonly value = model<string>('');\n\n /** @private Reference to the native textarea element. */\n protected readonly _textareaRef =\n viewChild<ElementRef<HTMLTextAreaElement>>('textareaEl');\n\n /**\n * The current character count.\n */\n readonly charCount = computed(() => (this.value() ?? '').length);\n\n /**\n * Whether the character count is approaching the limit (>90%).\n */\n readonly isCountWarning = computed(() => {\n const max = this.maxLength();\n if (!max) return false;\n const ratio = this.charCount() / max;\n return ratio >= 0.9 && ratio < 1;\n });\n\n /**\n * Whether the character limit has been reached.\n */\n readonly isCountError = computed(() => {\n const max = this.maxLength();\n if (!max) return false;\n return this.charCount() >= max;\n });\n\n /**\n * Computed minimum height style for the scrollbar wrapper.\n * When rows = 1, matches `--mlv-height-m` (same as mlv-input).\n * For multi-row, grows proportionally: each additional row adds 1.5em.\n */\n readonly minHeightStyle = computed(() => {\n const rows = this.minRows() ?? this.rows();\n if (rows === 1) {\n return 'var(--mlv-height-m)';\n }\n // Base height for a single row equals --mlv-height-m (2.75rem).\n // Each extra row adds one line (1.5em at font-size ~0.875rem ≈ 1.3125rem).\n return `calc(var(--mlv-height-m) + ${rows - 1} * 1.5em)`;\n });\n\n /**\n * Computed maximum height style for the scrollbar wrapper based on maxRows input.\n */\n readonly maxHeightStyle = computed(() => {\n const maxRows = this.maxRows();\n if (!maxRows) return undefined;\n if (maxRows === 1) {\n return 'var(--mlv-height-m)';\n }\n return `calc(var(--mlv-height-m) + ${maxRows - 1} * 1.5em)`;\n });\n\n constructor() {\n super();\n // Re-run auto-resize when value changes\n effect(() => {\n this.value();\n if (this.autoResize()) {\n this._runAutoResize();\n }\n });\n }\n\n /** @private Adjusts textarea height to fit its content. */\n private _runAutoResize(): void {\n const el = this._textareaRef()?.nativeElement;\n if (!el) return;\n el.style.height = 'auto';\n let newHeight = el.scrollHeight;\n const minRows = this.minRows();\n const maxRows = this.maxRows();\n const lineHeight = parseFloat(getComputedStyle(el).lineHeight) || 24;\n const paddingTop = parseFloat(getComputedStyle(el).paddingTop) || 0;\n const paddingBottom = parseFloat(getComputedStyle(el).paddingBottom) || 0;\n\n if (minRows) {\n const minHeight = minRows * lineHeight + paddingTop + paddingBottom;\n newHeight = Math.max(newHeight, minHeight);\n }\n if (maxRows) {\n const maxHeight = maxRows * lineHeight + paddingTop + paddingBottom;\n newHeight = Math.min(newHeight, maxHeight);\n }\n el.style.height = `${newHeight}px`;\n }\n\n /** Handles the native input event. */\n onInput(event: Event): void {\n this.value.set((event.target as HTMLTextAreaElement).value);\n }\n\n /** Handles the native blur event. */\n onBlur(): void {\n this.setFocused(false);\n this._markTouched();\n }\n\n /** Whether the control holds a clearable value — Non-empty text present. */\n readonly hasValue = computed(() => (this.value() ?? '').length > 0);\n\n /** Clears the textarea value and marks the field touched. */\n clearValue(): void {\n this.value.set('');\n this._markTouched();\n }\n}\n","<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot — a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=malva-ui-core-textarea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"malva-ui-core-textarea.js","sourceRoot":"","sources":["../../../../../libs/core/textarea/src/malva-ui-core-textarea.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './lib/tile/tile';
2
- export * from './lib/tile-header';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/tile/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './lib/tile/tile';\nexport * from './lib/tile-header';\n"]}
@@ -1,39 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, contentChild, inject, input, output, } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { NgTemplateOutlet } from '@angular/common';
4
- import { LucideGripVertical, LucideX } from '@lucide/angular';
5
- import { MlvButton } from '@malva-ui/core/button';
6
- import { MlvTileHeader } from '../tile-header';
7
- import { MLV_TILE_I18N } from '@malva-ui/i18n';
8
- import * as i0 from "@angular/core";
9
- export class MlvTile {
10
- /** @protected The component's i18n strings signal. */
11
- _i18n = inject(MLV_TILE_I18N);
12
- size = input('m', /* @ts-ignore */
13
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
14
- tone = input('default', /* @ts-ignore */
15
- ...(ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []));
16
- closable = input(false, { ...(ngDevMode ? { debugName: "closable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
17
- draggable = input(false, { ...(ngDevMode ? { debugName: "draggable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
18
- dragDisabled = input(false, { ...(ngDevMode ? { debugName: "dragDisabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
19
- closed = output();
20
- /** @protected Header slot template projected via `[mlvTileHeader]`. */
21
- headerRef = contentChild(MlvTileHeader, /* @ts-ignore */
22
- ...(ngDevMode ? [{ debugName: "headerRef" }] : /* istanbul ignore next */ []));
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTile, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTile, isStandalone: true, selector: "mlv-tile", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, dragDisabled: { classPropertyName: "dragDisabled", publicName: "dragDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { properties: { "class": "\"mlv-tile--size-\" + size()", "class.mlv-tile--tone-info": "tone() === \"info\"", "class.mlv-tile--tone-success": "tone() === \"success\"", "class.mlv-tile--tone-warning": "tone() === \"warning\"", "class.mlv-tile--tone-danger": "tone() === \"danger\"", "class.mlv-tile--draggable": "draggable()", "class.mlv-tile--drag-disabled": "dragDisabled()" }, classAttribute: "mlv-tile" }, queries: [{ propertyName: "headerRef", first: true, predicate: MlvTileHeader, descendants: true, isSignal: true }], ngImport: i0, template: "@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n", styles: ["@keyframes tile-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mlv-tile,.mlv-tile *,.mlv-tile:before,.mlv-tile:after,[class^=mlv-tile__],[class*=\" mlv-tile__\"],[class^=mlv-tile--],[class*=\" mlv-tile--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}@keyframes tile-leave-fade{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes tile-leave-collapse{0%{max-height:31.25rem}to{max-height:0}}.mlv-tile{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-tile *{box-sizing:border-box}.mlv-tile{position:relative;display:flex;flex-direction:column;background-color:var(--mlv-elevation-bg-1);color:var(--mlv-text-primary);box-shadow:var(--mlv-shadow-1);border-left:var(--mlv-stroke-width-thick) solid transparent;overflow:hidden;transition:box-shadow var(--mlv-duration-normal) var(--mlv-ease-out),background-color var(--mlv-duration-normal) var(--mlv-ease-out),border-left-color var(--mlv-duration-normal) var(--mlv-ease-out);animation:tile-enter var(--mlv-duration-normal) var(--mlv-ease-out) both}.mlv-tile--size-xs{padding:.5rem;border-radius:var(--mlv-radius-xs);gap:.25rem}.mlv-tile--size-s{padding:.625rem;border-radius:var(--mlv-radius-s);gap:.375rem}.mlv-tile--size-m{padding:var(--mlv-padding-s);border-radius:var(--mlv-radius-m);gap:.5rem}.mlv-tile--size-l{padding:var(--mlv-padding-m);border-radius:var(--mlv-radius-l);gap:.625rem}.mlv-tile--size-xl{padding:var(--mlv-padding-l);border-radius:var(--mlv-radius-xl);gap:.75rem}.mlv-tile--tone-info{border-left-color:var(--mlv-text-info)}.mlv-tile--tone-success{border-left-color:var(--mlv-text-positive)}.mlv-tile--tone-warning{border-left-color:var(--mlv-text-warning)}.mlv-tile--tone-danger{border-left-color:var(--mlv-text-negative)}.mlv-tile.sortable-drag{box-shadow:var(--mlv-shadow-floating);cursor:grabbing;z-index:var(--mlv-z-modal)}.mlv-tile.sortable-chosen{box-shadow:var(--mlv-shadow-3)}.mlv-tile.sortable-ghost{opacity:.35}.mlv-tile.sortable-drag,.mlv-tile.sortable-chosen,.mlv-tile.sortable-ghost{animation:none}.mlv-tile--leaving{overflow:hidden;pointer-events:none;animation:tile-leave-fade var(--mlv-duration-normal) var(--mlv-ease-out) forwards,tile-leave-collapse var(--mlv-duration-normal) var(--mlv-ease-out) forwards}.mlv-tile--drag-disabled{opacity:var(--mlv-disabled-opacity);cursor:not-allowed}.mlv-tile--drag-disabled .mlv-tile__drag-handle{cursor:not-allowed}.mlv-tile__drag-handle{display:flex;align-items:center;flex-shrink:0;cursor:grab;color:var(--mlv-text-secondary);touch-action:none}.sortable-drag .mlv-tile__drag-handle{cursor:grabbing}.mlv-tile__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:0;margin-bottom:.25rem}.mlv-tile__close{flex-shrink:0;margin-left:auto}.mlv-tile__body{flex:1 1 auto;min-height:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MlvButton, selector: "button[mlvButton], a[mlvButton]", inputs: ["variant", "shape", "disabled", "loading"] }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "component", type: LucideGripVertical, selector: "svg[lucideGripVertical]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTile, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'mlv-tile', imports: [NgTemplateOutlet, MlvButton, LucideX, LucideGripVertical], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
29
- class: 'mlv-tile',
30
- '[class]': '"mlv-tile--size-" + size()',
31
- '[class.mlv-tile--tone-info]': 'tone() === "info"',
32
- '[class.mlv-tile--tone-success]': 'tone() === "success"',
33
- '[class.mlv-tile--tone-warning]': 'tone() === "warning"',
34
- '[class.mlv-tile--tone-danger]': 'tone() === "danger"',
35
- '[class.mlv-tile--draggable]': 'draggable()',
36
- '[class.mlv-tile--drag-disabled]': 'dragDisabled()',
37
- }, template: "@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n", styles: ["@keyframes tile-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mlv-tile,.mlv-tile *,.mlv-tile:before,.mlv-tile:after,[class^=mlv-tile__],[class*=\" mlv-tile__\"],[class^=mlv-tile--],[class*=\" mlv-tile--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}@keyframes tile-leave-fade{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes tile-leave-collapse{0%{max-height:31.25rem}to{max-height:0}}.mlv-tile{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-tile *{box-sizing:border-box}.mlv-tile{position:relative;display:flex;flex-direction:column;background-color:var(--mlv-elevation-bg-1);color:var(--mlv-text-primary);box-shadow:var(--mlv-shadow-1);border-left:var(--mlv-stroke-width-thick) solid transparent;overflow:hidden;transition:box-shadow var(--mlv-duration-normal) var(--mlv-ease-out),background-color var(--mlv-duration-normal) var(--mlv-ease-out),border-left-color var(--mlv-duration-normal) var(--mlv-ease-out);animation:tile-enter var(--mlv-duration-normal) var(--mlv-ease-out) both}.mlv-tile--size-xs{padding:.5rem;border-radius:var(--mlv-radius-xs);gap:.25rem}.mlv-tile--size-s{padding:.625rem;border-radius:var(--mlv-radius-s);gap:.375rem}.mlv-tile--size-m{padding:var(--mlv-padding-s);border-radius:var(--mlv-radius-m);gap:.5rem}.mlv-tile--size-l{padding:var(--mlv-padding-m);border-radius:var(--mlv-radius-l);gap:.625rem}.mlv-tile--size-xl{padding:var(--mlv-padding-l);border-radius:var(--mlv-radius-xl);gap:.75rem}.mlv-tile--tone-info{border-left-color:var(--mlv-text-info)}.mlv-tile--tone-success{border-left-color:var(--mlv-text-positive)}.mlv-tile--tone-warning{border-left-color:var(--mlv-text-warning)}.mlv-tile--tone-danger{border-left-color:var(--mlv-text-negative)}.mlv-tile.sortable-drag{box-shadow:var(--mlv-shadow-floating);cursor:grabbing;z-index:var(--mlv-z-modal)}.mlv-tile.sortable-chosen{box-shadow:var(--mlv-shadow-3)}.mlv-tile.sortable-ghost{opacity:.35}.mlv-tile.sortable-drag,.mlv-tile.sortable-chosen,.mlv-tile.sortable-ghost{animation:none}.mlv-tile--leaving{overflow:hidden;pointer-events:none;animation:tile-leave-fade var(--mlv-duration-normal) var(--mlv-ease-out) forwards,tile-leave-collapse var(--mlv-duration-normal) var(--mlv-ease-out) forwards}.mlv-tile--drag-disabled{opacity:var(--mlv-disabled-opacity);cursor:not-allowed}.mlv-tile--drag-disabled .mlv-tile__drag-handle{cursor:not-allowed}.mlv-tile__drag-handle{display:flex;align-items:center;flex-shrink:0;cursor:grab;color:var(--mlv-text-secondary);touch-action:none}.sortable-drag .mlv-tile__drag-handle{cursor:grabbing}.mlv-tile__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:0;margin-bottom:.25rem}.mlv-tile__close{flex-shrink:0;margin-left:auto}.mlv-tile__body{flex:1 1 auto;min-height:0}\n"] }]
38
- }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], dragDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragDisabled", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], headerRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvTileHeader), { isSignal: true }] }] } });
39
- //# sourceMappingURL=tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../../../../libs/core/tile/src/lib/tile/tile.ts","../../../../../../../libs/core/tile/src/lib/tile/tile.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAwB/C,MAAM,OAAO,OAAO;IAClB,sDAAsD;IACnC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAExC,IAAI,GAAG,KAAK,CAAc,GAAG;6EAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAc,SAAS;6EAAC,CAAC;IACrC,QAAQ,GAAG,KAAK,CAAwB,KAAK,gFACpD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IACM,SAAS,GAAG,KAAK,CAAwB,KAAK,iFACrD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IACM,YAAY,GAAG,KAAK,CAAwB,KAAK,oFACxD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IAEM,MAAM,GAAG,MAAM,EAAQ,CAAC;IAEjC,uEAAuE;IACpD,SAAS,GAAG,YAAY,CAAC,aAAa;kFAAC,CAAC;uGAnBhD,OAAO;2FAAP,OAAO,grCAmB0B,aAAa,gEC1D3D,4rBA4BA,qiGDLY,gBAAgB,oJAAE,SAAS,iIAAE,OAAO,yDAAE,kBAAkB;;2FAgBvD,OAAO;kBAlBnB,SAAS;+BACE,UAAU,WACX,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,iBAGpD,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,QACzC;wBACJ,KAAK,EAAE,UAAU;wBACjB,SAAS,EAAE,4BAA4B;wBACvC,6BAA6B,EAAE,mBAAmB;wBAClD,gCAAgC,EAAE,sBAAsB;wBACxD,gCAAgC,EAAE,sBAAsB;wBACxD,+BAA+B,EAAE,qBAAqB;wBACtD,6BAA6B,EAAE,aAAa;wBAC5C,iCAAiC,EAAE,gBAAgB;qBACpD;ymBAqB2C,aAAa","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n contentChild,\n inject,\n input,\n output,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { LucideGripVertical, LucideX } from '@lucide/angular';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvTileHeader } from '../tile-header';\nimport { MLV_TILE_I18N } from '@malva-ui/i18n';\nimport type { MlvTone } from '@malva-ui/cdk/utils';\n\nexport type MlvTileSize = 'xs' | 's' | 'm' | 'l' | 'xl';\nexport type MlvTileTone = MlvTone | 'default';\n\n@Component({\n selector: 'mlv-tile',\n imports: [NgTemplateOutlet, MlvButton, LucideX, LucideGripVertical],\n templateUrl: './tile.html',\n styleUrl: './tile.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-tile',\n '[class]': '\"mlv-tile--size-\" + size()',\n '[class.mlv-tile--tone-info]': 'tone() === \"info\"',\n '[class.mlv-tile--tone-success]': 'tone() === \"success\"',\n '[class.mlv-tile--tone-warning]': 'tone() === \"warning\"',\n '[class.mlv-tile--tone-danger]': 'tone() === \"danger\"',\n '[class.mlv-tile--draggable]': 'draggable()',\n '[class.mlv-tile--drag-disabled]': 'dragDisabled()',\n },\n})\nexport class MlvTile {\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_TILE_I18N);\n\n readonly size = input<MlvTileSize>('m');\n readonly tone = input<MlvTileTone>('default');\n readonly closable = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n readonly draggable = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n readonly dragDisabled = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n readonly closed = output<void>();\n\n /** @protected Header slot template projected via `[mlvTileHeader]`. */\n protected readonly headerRef = contentChild(MlvTileHeader);\n}\n","@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n"]}
@@ -1,14 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { MlvStructural } from '@malva-ui/cdk/utils';
3
- import * as i0 from "@angular/core";
4
- export class MlvTileHeader extends MlvStructural {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTileHeader, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvTileHeader, isStandalone: true, selector: "[mlvTileHeader]", usesInheritance: true, ngImport: i0 });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTileHeader, decorators: [{
9
- type: Directive,
10
- args: [{
11
- selector: '[mlvTileHeader]',
12
- }]
13
- }] });
14
- //# sourceMappingURL=tile-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile-header.js","sourceRoot":"","sources":["../../../../../../libs/core/tile/src/lib/tile-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;;AAKpD,MAAM,OAAO,aAAc,SAAQ,aAAa;uGAAnC,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAHzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B","sourcesContent":["import { Directive } from '@angular/core';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n@Directive({\n selector: '[mlvTileHeader]',\n})\nexport class MlvTileHeader extends MlvStructural {}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=malva-ui-core-tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"malva-ui-core-tile.js","sourceRoot":"","sources":["../../../../../libs/core/tile/src/malva-ui-core-tile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}