@malva-ui/core 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1618) hide show
  1. package/AGENTS.md +4 -1
  2. package/README.md +15 -0
  3. package/docs/ai/avatar.md +2 -0
  4. package/docs/ai/breadcrumb.md +67 -7
  5. package/docs/ai/button.md +74 -19
  6. package/docs/ai/card.md +8 -6
  7. package/docs/ai/chat.md +59 -45
  8. package/docs/ai/checkbox.md +12 -0
  9. package/docs/ai/combobox.md +18 -2
  10. package/docs/ai/copy-to-clipboard.md +1 -1
  11. package/docs/ai/core.md +15 -0
  12. package/docs/ai/data-table.md +89 -54
  13. package/docs/ai/dialog.md +76 -67
  14. package/docs/ai/drawer.md +15 -12
  15. package/docs/ai/dropdown.md +24 -19
  16. package/docs/ai/empty-state.md +3 -3
  17. package/docs/ai/filter.md +24 -5
  18. package/docs/ai/form-utils.md +160 -5
  19. package/docs/ai/icon-toggle.md +160 -0
  20. package/docs/ai/input.md +30 -0
  21. package/docs/ai/layout.md +23 -0
  22. package/docs/ai/list.md +10 -6
  23. package/docs/ai/menu.md +75 -1
  24. package/docs/ai/page.md +220 -60
  25. package/docs/ai/radio.md +9 -0
  26. package/docs/ai/scrollbar.md +30 -8
  27. package/docs/ai/segmented.md +35 -35
  28. package/docs/ai/select.md +30 -5
  29. package/docs/ai/sidebar.md +45 -27
  30. package/docs/ai/switch.md +114 -19
  31. package/docs/ai/table.md +69 -0
  32. package/docs/ai/tabs.md +2 -1
  33. package/docs/ai/tile.md +311 -85
  34. package/docs/ai/timeline.md +63 -39
  35. package/docs/ai/tokenizer.md +21 -5
  36. package/docs/ai/tooltip.md +5 -5
  37. package/docs/ai/view-variant.md +75 -0
  38. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  40. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  42. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  43. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  44. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  46. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  48. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  50. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  51. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  52. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  54. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  56. package/fesm2022/malva-ui-core-button.mjs +406 -0
  57. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  58. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  60. package/fesm2022/malva-ui-core-card.mjs +164 -0
  61. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  62. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  63. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  64. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  66. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  67. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  68. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  70. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  72. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  74. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  76. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  78. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  80. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  82. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  84. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  85. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  86. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  88. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  90. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  92. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  94. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  95. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  96. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  98. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  99. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  100. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  102. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  104. package/fesm2022/malva-ui-core-form.mjs +283 -0
  105. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  106. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  108. package/fesm2022/malva-ui-core-input.mjs +375 -0
  109. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  110. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  112. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  113. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  114. package/fesm2022/malva-ui-core-link.mjs +89 -0
  115. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  116. package/fesm2022/malva-ui-core-list.mjs +413 -0
  117. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  118. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  119. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  120. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  121. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  122. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  123. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  124. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  126. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  127. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  128. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  130. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  132. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  133. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  134. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  135. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  136. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  137. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  138. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  139. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  140. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  142. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  144. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  146. package/fesm2022/malva-ui-core-select.mjs +855 -0
  147. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  148. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  150. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  152. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  153. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  154. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  156. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  158. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  160. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  161. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  162. package/fesm2022/malva-ui-core-table.mjs +79 -0
  163. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  164. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  166. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  168. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  169. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  170. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  172. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  174. package/fesm2022/malva-ui-core-title.mjs +178 -0
  175. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  176. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  177. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  178. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  180. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  182. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  184. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  185. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  186. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  188. package/fesm2022/malva-ui-core.mjs +77 -0
  189. package/fesm2022/malva-ui-core.mjs.map +1 -0
  190. package/package.json +179 -156
  191. package/styles/malva-ui.css +253 -220
  192. package/styles/tokens.md +174 -173
  193. package/table/README.md +46 -0
  194. package/types/malva-ui-core-accordion.d.ts +121 -0
  195. package/types/malva-ui-core-action-bar.d.ts +82 -0
  196. package/types/malva-ui-core-alert.d.ts +131 -0
  197. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  198. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  199. package/types/malva-ui-core-avatar.d.ts +156 -0
  200. package/types/malva-ui-core-badge.d.ts +97 -0
  201. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  202. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  203. package/types/malva-ui-core-button.d.ts +194 -0
  204. package/types/malva-ui-core-calendar.d.ts +339 -0
  205. package/types/malva-ui-core-card.d.ts +88 -0
  206. package/types/malva-ui-core-chat.d.ts +375 -0
  207. package/types/malva-ui-core-checkbox.d.ts +158 -0
  208. package/types/malva-ui-core-chip.d.ts +128 -0
  209. package/types/malva-ui-core-color-picker.d.ts +442 -0
  210. package/types/malva-ui-core-combobox.d.ts +419 -0
  211. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  212. package/types/malva-ui-core-data-table.d.ts +1074 -0
  213. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  214. package/types/malva-ui-core-day-picker.d.ts +55 -0
  215. package/types/malva-ui-core-dialog.d.ts +597 -0
  216. package/types/malva-ui-core-divider.d.ts +68 -0
  217. package/types/malva-ui-core-drawer.d.ts +333 -0
  218. package/types/malva-ui-core-dropdown.d.ts +592 -0
  219. package/types/malva-ui-core-empty-state.d.ts +37 -0
  220. package/types/malva-ui-core-expand.d.ts +102 -0
  221. package/types/malva-ui-core-file-upload.d.ts +267 -0
  222. package/types/malva-ui-core-filter.d.ts +552 -0
  223. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  224. package/types/malva-ui-core-form-utils.d.ts +579 -0
  225. package/types/malva-ui-core-form.d.ts +176 -0
  226. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  227. package/types/malva-ui-core-input.d.ts +262 -0
  228. package/types/malva-ui-core-kbd.d.ts +56 -0
  229. package/types/malva-ui-core-layout.d.ts +70 -0
  230. package/types/malva-ui-core-link.d.ts +28 -0
  231. package/types/malva-ui-core-list.d.ts +252 -0
  232. package/types/malva-ui-core-loader.d.ts +89 -0
  233. package/types/malva-ui-core-menu.d.ts +954 -0
  234. package/types/malva-ui-core-notification.d.ts +122 -0
  235. package/types/malva-ui-core-number-input.d.ts +167 -0
  236. package/types/malva-ui-core-page.d.ts +799 -0
  237. package/types/malva-ui-core-pagination.d.ts +261 -0
  238. package/types/malva-ui-core-pin-input.d.ts +203 -0
  239. package/types/malva-ui-core-popup.d.ts +834 -0
  240. package/types/malva-ui-core-progress.d.ts +73 -0
  241. package/types/malva-ui-core-radio.d.ts +130 -0
  242. package/types/malva-ui-core-rating.d.ts +115 -0
  243. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  244. package/types/malva-ui-core-search-field.d.ts +408 -0
  245. package/types/malva-ui-core-segmented.d.ts +206 -0
  246. package/types/malva-ui-core-select.d.ts +456 -0
  247. package/types/malva-ui-core-sidebar.d.ts +698 -0
  248. package/types/malva-ui-core-skeleton.d.ts +64 -0
  249. package/types/malva-ui-core-slider.d.ts +219 -0
  250. package/types/malva-ui-core-split-pane.d.ts +149 -0
  251. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  252. package/types/malva-ui-core-stepper.d.ts +168 -0
  253. package/types/malva-ui-core-switch.d.ts +146 -0
  254. package/types/malva-ui-core-table.d.ts +37 -0
  255. package/types/malva-ui-core-tabs.d.ts +339 -0
  256. package/types/malva-ui-core-textarea.d.ts +79 -0
  257. package/types/malva-ui-core-tile.d.ts +373 -0
  258. package/types/malva-ui-core-time-picker.d.ts +141 -0
  259. package/types/malva-ui-core-timeline.d.ts +188 -0
  260. package/types/malva-ui-core-title.d.ts +66 -0
  261. package/types/malva-ui-core-toast.d.ts +432 -0
  262. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  263. package/types/malva-ui-core-toolbar.d.ts +91 -0
  264. package/types/malva-ui-core-tooltip.d.ts +200 -0
  265. package/types/malva-ui-core-tree.d.ts +289 -0
  266. package/types/malva-ui-core-view-variant.d.ts +207 -0
  267. package/types/malva-ui-core.d.ts +72 -0
  268. package/view-variant/README.md +3 -0
  269. package/accordion/index.d.ts +0 -3
  270. package/accordion/lib/accordion/accordion.d.ts +0 -47
  271. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  272. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  273. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  274. package/action-bar/index.d.ts +0 -4
  275. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  276. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  277. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  278. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  279. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  280. package/alert/index.d.ts +0 -2
  281. package/alert/lib/alert/alert.d.ts +0 -84
  282. package/alert/lib/alert/alert.directives.d.ts +0 -44
  283. package/alert/malva-ui-core-alert.d.ts +0 -5
  284. package/autocomplete/index.d.ts +0 -1
  285. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  286. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  287. package/avatar/index.d.ts +0 -2
  288. package/avatar/lib/avatar/avatar.d.ts +0 -125
  289. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  290. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  291. package/avatar-group/index.d.ts +0 -1
  292. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  293. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  294. package/badge/index.d.ts +0 -2
  295. package/badge/lib/badge/badge.d.ts +0 -59
  296. package/badge/lib/badge-icon.d.ts +0 -35
  297. package/badge/malva-ui-core-badge.d.ts +0 -5
  298. package/bottom-nav/index.d.ts +0 -1
  299. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  300. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  301. package/breadcrumb/index.d.ts +0 -5
  302. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  305. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  307. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  308. package/button/index.d.ts +0 -7
  309. package/button/lib/button/button.d.ts +0 -61
  310. package/button/lib/button-close/button-close.d.ts +0 -24
  311. package/button/lib/button-group/button-group.d.ts +0 -21
  312. package/button/lib/button-split/button-split.d.ts +0 -21
  313. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  314. package/button/lib/button-variant.token.d.ts +0 -13
  315. package/button/lib/button.directives.d.ts +0 -14
  316. package/button/lib/button.types.d.ts +0 -8
  317. package/button/malva-ui-core-button.d.ts +0 -5
  318. package/calendar/index.d.ts +0 -3
  319. package/calendar/lib/calendar/calendar.d.ts +0 -182
  320. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  321. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  322. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  323. package/card/index.d.ts +0 -5
  324. package/card/lib/card/card.d.ts +0 -43
  325. package/card/lib/card-actions-def.d.ts +0 -10
  326. package/card/lib/card-footer-def.d.ts +0 -13
  327. package/card/lib/card-header-def.d.ts +0 -10
  328. package/card/lib/card-subheader-def.d.ts +0 -16
  329. package/card/malva-ui-core-card.d.ts +0 -5
  330. package/chat/index.d.ts +0 -9
  331. package/chat/lib/chat/chat.d.ts +0 -133
  332. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  333. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  334. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  335. package/chat/lib/chat-format.d.ts +0 -5
  336. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  337. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  338. package/chat/lib/chat-render-list.d.ts +0 -16
  339. package/chat/lib/chat-tokens.d.ts +0 -25
  340. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  341. package/chat/lib/chat.types.d.ts +0 -80
  342. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  343. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  344. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  345. package/chat/malva-ui-core-chat.d.ts +0 -5
  346. package/checkbox/index.d.ts +0 -3
  347. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  348. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  349. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  350. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  351. package/chip/index.d.ts +0 -2
  352. package/chip/lib/chip/chip.d.ts +0 -107
  353. package/chip/lib/chip/chip.directives.d.ts +0 -18
  354. package/chip/malva-ui-core-chip.d.ts +0 -5
  355. package/color-picker/index.d.ts +0 -3
  356. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  357. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  358. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  359. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  360. package/combobox/index.d.ts +0 -2
  361. package/combobox/lib/combobox/combobox.d.ts +0 -400
  362. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  363. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  364. package/copy-to-clipboard/index.d.ts +0 -1
  365. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  366. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  367. package/data-table/index.d.ts +0 -8
  368. package/data-table/lib/data-source.d.ts +0 -5
  369. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  370. package/data-table/lib/data-table/data-table.d.ts +0 -699
  371. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  372. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  373. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  374. package/data-table/lib/data-table-cell.d.ts +0 -44
  375. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-error.d.ts +0 -37
  377. package/data-table/lib/data-table-footer.d.ts +0 -26
  378. package/data-table/lib/data-table-no-data.d.ts +0 -19
  379. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  380. package/data-table/lib/types.d.ts +0 -134
  381. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  382. package/date-range-picker/index.d.ts +0 -1
  383. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  384. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  385. package/day-picker/index.d.ts +0 -1
  386. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  387. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  388. package/dialog/index.d.ts +0 -11
  389. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  390. package/dialog/lib/confirm-dialog.d.ts +0 -52
  391. package/dialog/lib/dialog/dialog.d.ts +0 -22
  392. package/dialog/lib/dialog-body.d.ts +0 -9
  393. package/dialog/lib/dialog-close.d.ts +0 -27
  394. package/dialog/lib/dialog-config.d.ts +0 -112
  395. package/dialog/lib/dialog-container.d.ts +0 -40
  396. package/dialog/lib/dialog-footer.d.ts +0 -13
  397. package/dialog/lib/dialog-header.d.ts +0 -74
  398. package/dialog/lib/dialog-ref.d.ts +0 -95
  399. package/dialog/lib/dialog-template.d.ts +0 -65
  400. package/dialog/lib/dialog-text-content.d.ts +0 -24
  401. package/dialog/lib/dialog.service.d.ts +0 -63
  402. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  403. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  404. package/dialog/lib/routable-dialog.d.ts +0 -30
  405. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  406. package/divider/index.d.ts +0 -1
  407. package/divider/lib/divider/divider.d.ts +0 -64
  408. package/divider/malva-ui-core-divider.d.ts +0 -5
  409. package/drawer/index.d.ts +0 -11
  410. package/drawer/lib/drawer/drawer.d.ts +0 -106
  411. package/drawer/lib/drawer-body.d.ts +0 -8
  412. package/drawer/lib/drawer-content.d.ts +0 -6
  413. package/drawer/lib/drawer-footer.d.ts +0 -5
  414. package/drawer/lib/drawer-header.d.ts +0 -5
  415. package/drawer/lib/drawer-ref.d.ts +0 -29
  416. package/drawer/lib/drawer-resize.d.ts +0 -65
  417. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  418. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  419. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  420. package/drawer/lib/drawer.service.d.ts +0 -66
  421. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  422. package/drawer/lib/routable-drawer.d.ts +0 -30
  423. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  424. package/dropdown/index.d.ts +0 -9
  425. package/dropdown/lib/active-descendant.d.ts +0 -64
  426. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  427. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  428. package/dropdown/lib/option-matcher.d.ts +0 -87
  429. package/dropdown/lib/options-adapter.d.ts +0 -142
  430. package/dropdown/lib/options-result.d.ts +0 -6
  431. package/dropdown/lib/reconciliation.d.ts +0 -19
  432. package/dropdown/lib/select-data-source.d.ts +0 -18
  433. package/dropdown/lib/select-option.d.ts +0 -37
  434. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  435. package/empty-state/index.d.ts +0 -1
  436. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  437. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  438. package/esm2022/accordion/index.js +0 -4
  439. package/esm2022/accordion/index.js.map +0 -1
  440. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  441. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  442. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  444. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  446. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  447. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  448. package/esm2022/action-bar/index.js +0 -5
  449. package/esm2022/action-bar/index.js.map +0 -1
  450. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  452. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  458. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  460. package/esm2022/alert/index.js +0 -3
  461. package/esm2022/alert/index.js.map +0 -1
  462. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  463. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  464. package/esm2022/alert/lib/alert/alert.js +0 -118
  465. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  466. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  467. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  468. package/esm2022/autocomplete/index.js +0 -2
  469. package/esm2022/autocomplete/index.js.map +0 -1
  470. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  472. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  474. package/esm2022/avatar/index.js +0 -3
  475. package/esm2022/avatar/index.js.map +0 -1
  476. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  477. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  478. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  479. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  480. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  481. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  482. package/esm2022/avatar-group/index.js +0 -2
  483. package/esm2022/avatar-group/index.js.map +0 -1
  484. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  486. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  488. package/esm2022/badge/index.js +0 -3
  489. package/esm2022/badge/index.js.map +0 -1
  490. package/esm2022/badge/lib/badge/badge.js +0 -71
  491. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  492. package/esm2022/badge/lib/badge-icon.js +0 -47
  493. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  494. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  495. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  496. package/esm2022/bottom-nav/index.js +0 -2
  497. package/esm2022/bottom-nav/index.js.map +0 -1
  498. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  500. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  502. package/esm2022/breadcrumb/index.js +0 -6
  503. package/esm2022/breadcrumb/index.js.map +0 -1
  504. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  514. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  516. package/esm2022/button/index.js +0 -8
  517. package/esm2022/button/index.js.map +0 -1
  518. package/esm2022/button/lib/button/button.js +0 -137
  519. package/esm2022/button/lib/button/button.js.map +0 -1
  520. package/esm2022/button/lib/button-close/button-close.js +0 -52
  521. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  522. package/esm2022/button/lib/button-group/button-group.js +0 -44
  523. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  524. package/esm2022/button/lib/button-split/button-split.js +0 -44
  525. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  526. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  527. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  528. package/esm2022/button/lib/button-variant.token.js +0 -4
  529. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  530. package/esm2022/button/lib/button.directives.js +0 -37
  531. package/esm2022/button/lib/button.directives.js.map +0 -1
  532. package/esm2022/button/lib/button.types.js +0 -1
  533. package/esm2022/button/lib/button.types.js.map +0 -1
  534. package/esm2022/button/malva-ui-core-button.js +0 -5
  535. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  536. package/esm2022/calendar/index.js +0 -4
  537. package/esm2022/calendar/index.js.map +0 -1
  538. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  539. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  540. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  542. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  544. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  545. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  546. package/esm2022/card/index.js +0 -6
  547. package/esm2022/card/index.js.map +0 -1
  548. package/esm2022/card/lib/card/card.js +0 -54
  549. package/esm2022/card/lib/card/card.js.map +0 -1
  550. package/esm2022/card/lib/card-actions-def.js +0 -27
  551. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  552. package/esm2022/card/lib/card-footer-def.js +0 -32
  553. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  554. package/esm2022/card/lib/card-header-def.js +0 -27
  555. package/esm2022/card/lib/card-header-def.js.map +0 -1
  556. package/esm2022/card/lib/card-subheader-def.js +0 -33
  557. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  558. package/esm2022/card/malva-ui-core-card.js +0 -5
  559. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  560. package/esm2022/chat/index.js +0 -10
  561. package/esm2022/chat/index.js.map +0 -1
  562. package/esm2022/chat/lib/chat/chat.js +0 -326
  563. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  564. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  566. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  568. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  569. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  570. package/esm2022/chat/lib/chat-format.js +0 -11
  571. package/esm2022/chat/lib/chat-format.js.map +0 -1
  572. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  574. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  575. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  576. package/esm2022/chat/lib/chat-render-list.js +0 -55
  577. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  578. package/esm2022/chat/lib/chat-tokens.js +0 -9
  579. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  580. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  582. package/esm2022/chat/lib/chat.types.js +0 -1
  583. package/esm2022/chat/lib/chat.types.js.map +0 -1
  584. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  585. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  586. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  587. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  588. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  589. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  590. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  591. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  592. package/esm2022/checkbox/index.js +0 -4
  593. package/esm2022/checkbox/index.js.map +0 -1
  594. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  596. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  598. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  599. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  600. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  602. package/esm2022/chip/index.js +0 -3
  603. package/esm2022/chip/index.js.map +0 -1
  604. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  605. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  606. package/esm2022/chip/lib/chip/chip.js +0 -140
  607. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  608. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  609. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  610. package/esm2022/color-picker/index.js +0 -4
  611. package/esm2022/color-picker/index.js.map +0 -1
  612. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  614. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  616. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  618. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  620. package/esm2022/combobox/index.js +0 -3
  621. package/esm2022/combobox/index.js.map +0 -1
  622. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  623. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  624. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  625. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  626. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  627. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  628. package/esm2022/copy-to-clipboard/index.js +0 -2
  629. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  630. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  632. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  634. package/esm2022/data-table/index.js +0 -9
  635. package/esm2022/data-table/index.js.map +0 -1
  636. package/esm2022/data-table/lib/data-source.js +0 -6
  637. package/esm2022/data-table/lib/data-source.js.map +0 -1
  638. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  640. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  641. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  642. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  644. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  646. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  648. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  649. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  650. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  651. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  652. package/esm2022/data-table/lib/data-table-error.js +0 -37
  653. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  654. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  655. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  656. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  657. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  658. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  660. package/esm2022/data-table/lib/types.js +0 -1
  661. package/esm2022/data-table/lib/types.js.map +0 -1
  662. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  663. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  664. package/esm2022/date-range-picker/index.js +0 -2
  665. package/esm2022/date-range-picker/index.js.map +0 -1
  666. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  668. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  670. package/esm2022/day-picker/index.js +0 -2
  671. package/esm2022/day-picker/index.js.map +0 -1
  672. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  674. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  676. package/esm2022/dialog/index.js +0 -12
  677. package/esm2022/dialog/index.js.map +0 -1
  678. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  681. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  682. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  683. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  684. package/esm2022/dialog/lib/dialog-body.js +0 -33
  685. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  686. package/esm2022/dialog/lib/dialog-close.js +0 -45
  687. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  688. package/esm2022/dialog/lib/dialog-config.js +0 -23
  689. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  690. package/esm2022/dialog/lib/dialog-container.js +0 -69
  691. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  692. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  693. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  694. package/esm2022/dialog/lib/dialog-header.js +0 -181
  695. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  696. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  697. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  698. package/esm2022/dialog/lib/dialog-template.js +0 -136
  699. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  700. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  701. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  702. package/esm2022/dialog/lib/dialog.service.js +0 -205
  703. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  704. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  706. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  707. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  708. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  709. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  710. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  711. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  712. package/esm2022/divider/index.js +0 -2
  713. package/esm2022/divider/index.js.map +0 -1
  714. package/esm2022/divider/lib/divider/divider.js +0 -73
  715. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  716. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  717. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  718. package/esm2022/drawer/index.js +0 -12
  719. package/esm2022/drawer/index.js.map +0 -1
  720. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  721. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  722. package/esm2022/drawer/lib/drawer-body.js +0 -32
  723. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  724. package/esm2022/drawer/lib/drawer-content.js +0 -14
  725. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  726. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  727. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  728. package/esm2022/drawer/lib/drawer-header.js +0 -14
  729. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  730. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  731. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  732. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  733. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  734. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  736. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  738. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  739. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  740. package/esm2022/drawer/lib/drawer.service.js +0 -86
  741. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  742. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  744. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  745. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  746. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  747. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  748. package/esm2022/dropdown/index.js +0 -10
  749. package/esm2022/dropdown/index.js.map +0 -1
  750. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  751. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  752. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  754. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  756. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  757. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  758. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  759. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  760. package/esm2022/dropdown/lib/options-result.js +0 -11
  761. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  762. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  763. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  764. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  765. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  766. package/esm2022/dropdown/lib/select-option.js +0 -25
  767. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  768. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  770. package/esm2022/empty-state/index.js +0 -2
  771. package/esm2022/empty-state/index.js.map +0 -1
  772. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  774. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  776. package/esm2022/expand/index.js +0 -3
  777. package/esm2022/expand/index.js.map +0 -1
  778. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  779. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  780. package/esm2022/expand/lib/expand/expand.js +0 -93
  781. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  782. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  783. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  784. package/esm2022/file-upload/index.js +0 -5
  785. package/esm2022/file-upload/index.js.map +0 -1
  786. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  788. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  790. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  791. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  792. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  794. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  796. package/esm2022/filter/index.js +0 -4
  797. package/esm2022/filter/index.js.map +0 -1
  798. package/esm2022/filter/lib/filter/filter.js +0 -552
  799. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  800. package/esm2022/filter/lib/filter.types.js +0 -1
  801. package/esm2022/filter/lib/filter.types.js.map +0 -1
  802. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  804. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  805. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  806. package/esm2022/form/index.js +0 -7
  807. package/esm2022/form/index.js.map +0 -1
  808. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  809. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  810. package/esm2022/form/lib/fieldset-span.js +0 -49
  811. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  812. package/esm2022/form/lib/form/form.js +0 -60
  813. package/esm2022/form/lib/form/form.js.map +0 -1
  814. package/esm2022/form/lib/form-actions.js +0 -34
  815. package/esm2022/form/lib/form-actions.js.map +0 -1
  816. package/esm2022/form/lib/form-gap.js +0 -15
  817. package/esm2022/form/lib/form-gap.js.map +0 -1
  818. package/esm2022/form/lib/form-header.js +0 -27
  819. package/esm2022/form/lib/form-header.js.map +0 -1
  820. package/esm2022/form/lib/form.types.js +0 -1
  821. package/esm2022/form/lib/form.types.js.map +0 -1
  822. package/esm2022/form/malva-ui-core-form.js +0 -5
  823. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  824. package/esm2022/form-utils/index.js +0 -16
  825. package/esm2022/form-utils/index.js.map +0 -1
  826. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  827. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  828. package/esm2022/form-utils/lib/description/description.js +0 -24
  829. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  830. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  831. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  832. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  834. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  835. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  836. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  840. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  841. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  842. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  843. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  844. package/esm2022/form-utils/lib/label/label.js +0 -55
  845. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  846. package/esm2022/form-utils/lib/message/message.js +0 -20
  847. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  848. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  850. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  851. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  852. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  854. package/esm2022/form-utils/lib/selection.service.js +0 -81
  855. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  856. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  858. package/esm2022/form-utils/testing/index.js +0 -2
  859. package/esm2022/form-utils/testing/index.js.map +0 -1
  860. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  862. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  864. package/esm2022/index.js +0 -70
  865. package/esm2022/index.js.map +0 -1
  866. package/esm2022/input/index.js +0 -4
  867. package/esm2022/input/index.js.map +0 -1
  868. package/esm2022/input/lib/input/input-native.js +0 -49
  869. package/esm2022/input/lib/input/input-native.js.map +0 -1
  870. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  871. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  872. package/esm2022/input/lib/input/input.js +0 -277
  873. package/esm2022/input/lib/input/input.js.map +0 -1
  874. package/esm2022/input/lib/input/password-strength.js +0 -46
  875. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  876. package/esm2022/input/malva-ui-core-input.js +0 -5
  877. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  878. package/esm2022/kbd/index.js +0 -2
  879. package/esm2022/kbd/index.js.map +0 -1
  880. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  881. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  882. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  883. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  884. package/esm2022/layout/index.js +0 -5
  885. package/esm2022/layout/index.js.map +0 -1
  886. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  890. package/esm2022/layout/lib/layout/layout.js +0 -43
  891. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  892. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  893. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  894. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  895. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  896. package/esm2022/link/index.js +0 -3
  897. package/esm2022/link/index.js.map +0 -1
  898. package/esm2022/link/lib/link/link.directives.js +0 -24
  899. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  900. package/esm2022/link/lib/link/link.js +0 -61
  901. package/esm2022/link/lib/link/link.js.map +0 -1
  902. package/esm2022/link/malva-ui-core-link.js +0 -5
  903. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  904. package/esm2022/list/index.js +0 -14
  905. package/esm2022/list/index.js.map +0 -1
  906. package/esm2022/list/lib/list/list.js +0 -28
  907. package/esm2022/list/lib/list/list.js.map +0 -1
  908. package/esm2022/list/lib/list-item/list-item.js +0 -125
  909. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  910. package/esm2022/list/lib/list-item-actions.js +0 -23
  911. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  912. package/esm2022/list/lib/list-item-byline.js +0 -13
  913. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  914. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  915. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  916. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  917. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  918. package/esm2022/list/lib/list-item-media.js +0 -13
  919. package/esm2022/list/lib/list-item-media.js.map +0 -1
  920. package/esm2022/list/lib/list-item-meta.js +0 -13
  921. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  922. package/esm2022/list/lib/list-item-prefix.js +0 -13
  923. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  924. package/esm2022/list/lib/list-item-suffix.js +0 -13
  925. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  926. package/esm2022/list/lib/list-item-template.js +0 -14
  927. package/esm2022/list/lib/list-item-template.js.map +0 -1
  928. package/esm2022/list/lib/list-item-title.js +0 -13
  929. package/esm2022/list/lib/list-item-title.js.map +0 -1
  930. package/esm2022/list/lib/list-selectable.js +0 -116
  931. package/esm2022/list/lib/list-selectable.js.map +0 -1
  932. package/esm2022/list/malva-ui-core-list.js +0 -5
  933. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  934. package/esm2022/loader/index.js +0 -2
  935. package/esm2022/loader/index.js.map +0 -1
  936. package/esm2022/loader/lib/loader/loader.js +0 -134
  937. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  938. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  939. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  940. package/esm2022/malva-ui-core.js +0 -5
  941. package/esm2022/malva-ui-core.js.map +0 -1
  942. package/esm2022/menu/index.js +0 -10
  943. package/esm2022/menu/index.js.map +0 -1
  944. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  945. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  946. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  947. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  948. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  949. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  950. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  951. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  952. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  953. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  954. package/esm2022/menu/lib/menu/menu.js +0 -308
  955. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  956. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  957. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  958. package/esm2022/menu/lib/menu/menubar.js +0 -257
  959. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  960. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  961. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  962. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  963. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  964. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  965. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  966. package/esm2022/notification/index.js +0 -5
  967. package/esm2022/notification/index.js.map +0 -1
  968. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  969. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  970. package/esm2022/notification/lib/notification-ref.js +0 -13
  971. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  972. package/esm2022/notification/lib/notification.service.js +0 -118
  973. package/esm2022/notification/lib/notification.service.js.map +0 -1
  974. package/esm2022/notification/lib/notification.types.js +0 -6
  975. package/esm2022/notification/lib/notification.types.js.map +0 -1
  976. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  977. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  978. package/esm2022/number-input/index.js +0 -2
  979. package/esm2022/number-input/index.js.map +0 -1
  980. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  981. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  982. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  983. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  984. package/esm2022/page/index.js +0 -15
  985. package/esm2022/page/index.js.map +0 -1
  986. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  987. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  988. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  989. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  990. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  991. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  992. package/esm2022/page/lib/page/page.js +0 -173
  993. package/esm2022/page/lib/page/page.js.map +0 -1
  994. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  995. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  996. package/esm2022/page/lib/page-content/page-content.js +0 -72
  997. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  998. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  999. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1000. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1002. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1003. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1004. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1005. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1006. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1008. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1010. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1011. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1012. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1014. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1016. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1017. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1018. package/esm2022/page/malva-ui-core-page.js +0 -5
  1019. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1020. package/esm2022/pagination/index.js +0 -5
  1021. package/esm2022/pagination/index.js.map +0 -1
  1022. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1024. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1025. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1026. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1030. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1031. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1032. package/esm2022/pin-input/index.js +0 -3
  1033. package/esm2022/pin-input/index.js.map +0 -1
  1034. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1036. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1038. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1040. package/esm2022/popup/index.js +0 -10
  1041. package/esm2022/popup/index.js.map +0 -1
  1042. package/esm2022/popup/lib/popup/popup.js +0 -500
  1043. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1044. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1045. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1046. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1048. package/esm2022/popup/lib/popup-content.js +0 -14
  1049. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1050. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1051. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1052. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1053. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1054. package/esm2022/popup/lib/popup-positions.js +0 -252
  1055. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1056. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1058. package/esm2022/popup/lib/popup.service.js +0 -188
  1059. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1060. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1061. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1062. package/esm2022/progress/index.js +0 -2
  1063. package/esm2022/progress/index.js.map +0 -1
  1064. package/esm2022/progress/lib/progress/progress.js +0 -102
  1065. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1066. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1067. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1068. package/esm2022/radio/index.js +0 -3
  1069. package/esm2022/radio/index.js.map +0 -1
  1070. package/esm2022/radio/lib/radio/radio.js +0 -134
  1071. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1072. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1073. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1074. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1075. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1076. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1077. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1078. package/esm2022/rating/index.js +0 -2
  1079. package/esm2022/rating/index.js.map +0 -1
  1080. package/esm2022/rating/lib/rating/rating.js +0 -208
  1081. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1082. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1083. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1084. package/esm2022/scrollbar/index.js +0 -2
  1085. package/esm2022/scrollbar/index.js.map +0 -1
  1086. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1088. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1090. package/esm2022/search-field/index.js +0 -3
  1091. package/esm2022/search-field/index.js.map +0 -1
  1092. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1093. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1094. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1096. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1097. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1098. package/esm2022/segmented/index.js +0 -5
  1099. package/esm2022/segmented/index.js.map +0 -1
  1100. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1101. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1102. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1104. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1105. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1106. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1108. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1109. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1110. package/esm2022/select/index.js +0 -4
  1111. package/esm2022/select/index.js.map +0 -1
  1112. package/esm2022/select/lib/select/select.js +0 -685
  1113. package/esm2022/select/lib/select/select.js.map +0 -1
  1114. package/esm2022/select/lib/select-option.js +0 -2
  1115. package/esm2022/select/lib/select-option.js.map +0 -1
  1116. package/esm2022/select/lib/select-template.directives.js +0 -34
  1117. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1118. package/esm2022/select/malva-ui-core-select.js +0 -5
  1119. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1120. package/esm2022/sidebar/index.js +0 -16
  1121. package/esm2022/sidebar/index.js.map +0 -1
  1122. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1124. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1125. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1126. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1127. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1128. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1129. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1130. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1132. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1133. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1134. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1136. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1138. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1140. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1144. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1146. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1152. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1154. package/esm2022/skeleton/index.js +0 -2
  1155. package/esm2022/skeleton/index.js.map +0 -1
  1156. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1158. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1160. package/esm2022/slider/index.js +0 -3
  1161. package/esm2022/slider/index.js.map +0 -1
  1162. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1164. package/esm2022/slider/lib/slider/slider.js +0 -468
  1165. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1166. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1167. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1168. package/esm2022/split-pane/index.js +0 -4
  1169. package/esm2022/split-pane/index.js.map +0 -1
  1170. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1172. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1176. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1178. package/esm2022/status-indicator/index.js +0 -2
  1179. package/esm2022/status-indicator/index.js.map +0 -1
  1180. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1182. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1184. package/esm2022/stepper/index.js +0 -5
  1185. package/esm2022/stepper/index.js.map +0 -1
  1186. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1187. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1188. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1189. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1190. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1192. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1193. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1194. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1196. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1197. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1198. package/esm2022/switch/index.js +0 -3
  1199. package/esm2022/switch/index.js.map +0 -1
  1200. package/esm2022/switch/lib/switch/switch.js +0 -190
  1201. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1202. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1203. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1204. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1205. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1206. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1207. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1208. package/esm2022/tabs/index.js +0 -9
  1209. package/esm2022/tabs/index.js.map +0 -1
  1210. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1211. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1212. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1214. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1215. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1216. package/esm2022/tabs/lib/tab-def.js +0 -17
  1217. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1218. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1219. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1220. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1222. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1223. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1224. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1225. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1226. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1227. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1228. package/esm2022/textarea/index.js +0 -2
  1229. package/esm2022/textarea/index.js.map +0 -1
  1230. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1231. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1232. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1233. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1234. package/esm2022/tile/index.js +0 -3
  1235. package/esm2022/tile/index.js.map +0 -1
  1236. package/esm2022/tile/lib/tile/tile.js +0 -39
  1237. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1238. package/esm2022/tile/lib/tile-header.js +0 -14
  1239. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1240. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1241. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1242. package/esm2022/time-picker/index.js +0 -2
  1243. package/esm2022/time-picker/index.js.map +0 -1
  1244. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1246. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1248. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1250. package/esm2022/timeline/index.js +0 -6
  1251. package/esm2022/timeline/index.js.map +0 -1
  1252. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1254. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1256. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1258. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1259. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1260. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1262. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1263. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1264. package/esm2022/title/index.js +0 -2
  1265. package/esm2022/title/index.js.map +0 -1
  1266. package/esm2022/title/lib/title/title.js +0 -171
  1267. package/esm2022/title/lib/title/title.js.map +0 -1
  1268. package/esm2022/title/malva-ui-core-title.js +0 -5
  1269. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1270. package/esm2022/toast/index.js +0 -13
  1271. package/esm2022/toast/index.js.map +0 -1
  1272. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1273. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1274. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1275. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1276. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1277. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1278. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1279. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1280. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1281. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1282. package/esm2022/toast/lib/toast-ref.js +0 -54
  1283. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1284. package/esm2022/toast/lib/toast-timer.js +0 -37
  1285. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1286. package/esm2022/toast/lib/toast.directives.js +0 -76
  1287. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1288. package/esm2022/toast/lib/toast.service.js +0 -127
  1289. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1290. package/esm2022/toast/lib/toast.types.js +0 -39
  1291. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1292. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1293. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1294. package/esm2022/tokenizer/index.js +0 -4
  1295. package/esm2022/tokenizer/index.js.map +0 -1
  1296. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1297. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1298. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1299. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1300. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1302. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1304. package/esm2022/toolbar/index.js +0 -4
  1305. package/esm2022/toolbar/index.js.map +0 -1
  1306. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1310. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1312. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1314. package/esm2022/tooltip/index.js +0 -4
  1315. package/esm2022/tooltip/index.js.map +0 -1
  1316. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1318. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1322. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1324. package/esm2022/tree/index.js +0 -5
  1325. package/esm2022/tree/index.js.map +0 -1
  1326. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1327. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1328. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1329. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1330. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1332. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1333. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1334. package/esm2022/tree/lib/tree/tree.js +0 -362
  1335. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1336. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1337. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1338. package/expand/index.d.ts +0 -2
  1339. package/expand/lib/expand/expand-content.d.ts +0 -26
  1340. package/expand/lib/expand/expand.d.ts +0 -74
  1341. package/expand/malva-ui-core-expand.d.ts +0 -5
  1342. package/file-upload/index.d.ts +0 -4
  1343. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1344. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1345. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1346. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1347. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1348. package/filter/index.d.ts +0 -3
  1349. package/filter/lib/filter/filter.d.ts +0 -156
  1350. package/filter/lib/filter.types.d.ts +0 -75
  1351. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1352. package/filter/malva-ui-core-filter.d.ts +0 -5
  1353. package/form/index.d.ts +0 -6
  1354. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1355. package/form/lib/fieldset-span.d.ts +0 -28
  1356. package/form/lib/form/form.d.ts +0 -37
  1357. package/form/lib/form-actions.d.ts +0 -20
  1358. package/form/lib/form-gap.d.ts +0 -5
  1359. package/form/lib/form-header.d.ts +0 -18
  1360. package/form/lib/form.types.d.ts +0 -13
  1361. package/form/malva-ui-core-form.d.ts +0 -5
  1362. package/form-utils/index.d.ts +0 -15
  1363. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1364. package/form-utils/lib/description/description.d.ts +0 -16
  1365. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1366. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1367. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1368. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1370. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1371. package/form-utils/lib/hint/hint.d.ts +0 -5
  1372. package/form-utils/lib/label/label.d.ts +0 -22
  1373. package/form-utils/lib/message/message.d.ts +0 -7
  1374. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1375. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1376. package/form-utils/lib/models/form-state.d.ts +0 -1
  1377. package/form-utils/lib/selection.service.d.ts +0 -27
  1378. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1379. package/form-utils/testing/index.d.ts +0 -1
  1380. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1381. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1382. package/index.d.ts +0 -69
  1383. package/input/index.d.ts +0 -3
  1384. package/input/lib/input/input-native.d.ts +0 -36
  1385. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1386. package/input/lib/input/input.d.ts +0 -189
  1387. package/input/lib/input/password-strength.d.ts +0 -34
  1388. package/input/malva-ui-core-input.d.ts +0 -5
  1389. package/kbd/index.d.ts +0 -1
  1390. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1391. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1392. package/layout/index.d.ts +0 -4
  1393. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1394. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1395. package/layout/lib/layout/layout.d.ts +0 -20
  1396. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1397. package/layout/malva-ui-core-layout.d.ts +0 -5
  1398. package/link/index.d.ts +0 -2
  1399. package/link/lib/link/link.d.ts +0 -15
  1400. package/link/lib/link/link.directives.d.ts +0 -10
  1401. package/link/malva-ui-core-link.d.ts +0 -5
  1402. package/list/index.d.ts +0 -13
  1403. package/list/lib/list/list.d.ts +0 -25
  1404. package/list/lib/list-item/list-item.d.ts +0 -67
  1405. package/list/lib/list-item-actions.d.ts +0 -12
  1406. package/list/lib/list-item-byline.d.ts +0 -5
  1407. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1408. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1409. package/list/lib/list-item-media.d.ts +0 -5
  1410. package/list/lib/list-item-meta.d.ts +0 -5
  1411. package/list/lib/list-item-prefix.d.ts +0 -5
  1412. package/list/lib/list-item-suffix.d.ts +0 -5
  1413. package/list/lib/list-item-template.d.ts +0 -10
  1414. package/list/lib/list-item-title.d.ts +0 -5
  1415. package/list/lib/list-selectable.d.ts +0 -73
  1416. package/list/malva-ui-core-list.d.ts +0 -5
  1417. package/loader/index.d.ts +0 -1
  1418. package/loader/lib/loader/loader.d.ts +0 -84
  1419. package/loader/malva-ui-core-loader.d.ts +0 -5
  1420. package/malva-ui-core.d.ts +0 -5
  1421. package/menu/index.d.ts +0 -9
  1422. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1423. package/menu/lib/menu/menu-group.d.ts +0 -27
  1424. package/menu/lib/menu/menu-item.d.ts +0 -76
  1425. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1426. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1427. package/menu/lib/menu/menu.d.ts +0 -149
  1428. package/menu/lib/menu/menu.types.d.ts +0 -13
  1429. package/menu/lib/menu/menubar.d.ts +0 -131
  1430. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1431. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1432. package/menu/malva-ui-core-menu.d.ts +0 -5
  1433. package/notification/index.d.ts +0 -4
  1434. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1435. package/notification/lib/notification-ref.d.ts +0 -12
  1436. package/notification/lib/notification.service.d.ts +0 -43
  1437. package/notification/lib/notification.types.d.ts +0 -52
  1438. package/notification/malva-ui-core-notification.d.ts +0 -5
  1439. package/number-input/index.d.ts +0 -1
  1440. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1441. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1442. package/page/index.d.ts +0 -14
  1443. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1444. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1445. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1446. package/page/lib/page/page.d.ts +0 -74
  1447. package/page/lib/page-content/page-aside.d.ts +0 -7
  1448. package/page/lib/page-content/page-content.d.ts +0 -37
  1449. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1450. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1451. package/page/lib/page-header/page-header.d.ts +0 -77
  1452. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1453. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1454. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1455. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1456. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1457. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1458. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1459. package/page/malva-ui-core-page.d.ts +0 -5
  1460. package/pagination/index.d.ts +0 -4
  1461. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1462. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1463. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1464. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1465. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1466. package/pin-input/index.d.ts +0 -2
  1467. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1468. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1469. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1470. package/popup/index.d.ts +0 -9
  1471. package/popup/lib/popup/popup.d.ts +0 -343
  1472. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1473. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1474. package/popup/lib/popup-content.d.ts +0 -6
  1475. package/popup/lib/popup-header-content.d.ts +0 -18
  1476. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1477. package/popup/lib/popup-positions.d.ts +0 -105
  1478. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1479. package/popup/lib/popup.service.d.ts +0 -159
  1480. package/popup/malva-ui-core-popup.d.ts +0 -5
  1481. package/progress/index.d.ts +0 -1
  1482. package/progress/lib/progress/progress.d.ts +0 -69
  1483. package/progress/malva-ui-core-progress.d.ts +0 -5
  1484. package/radio/index.d.ts +0 -2
  1485. package/radio/lib/radio/radio.d.ts +0 -87
  1486. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1487. package/radio/lib/radio-group-token.d.ts +0 -7
  1488. package/radio/malva-ui-core-radio.d.ts +0 -5
  1489. package/rating/index.d.ts +0 -1
  1490. package/rating/lib/rating/rating.d.ts +0 -100
  1491. package/rating/malva-ui-core-rating.d.ts +0 -5
  1492. package/scrollbar/index.d.ts +0 -1
  1493. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1494. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1495. package/search-field/index.d.ts +0 -2
  1496. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1497. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1498. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1499. package/segmented/index.d.ts +0 -4
  1500. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1501. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1502. package/segmented/lib/segmented-token.d.ts +0 -22
  1503. package/segmented/lib/segmented.types.d.ts +0 -9
  1504. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1505. package/select/index.d.ts +0 -3
  1506. package/select/lib/select/select.d.ts +0 -379
  1507. package/select/lib/select-option.d.ts +0 -1
  1508. package/select/lib/select-template.directives.d.ts +0 -14
  1509. package/select/malva-ui-core-select.d.ts +0 -5
  1510. package/sidebar/index.d.ts +0 -15
  1511. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1512. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1513. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1514. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1515. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1516. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1517. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1518. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1519. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1520. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1521. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1522. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1523. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1526. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1527. package/skeleton/index.d.ts +0 -1
  1528. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1529. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1530. package/slider/index.d.ts +0 -2
  1531. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1532. package/slider/lib/slider/slider.d.ts +0 -171
  1533. package/slider/malva-ui-core-slider.d.ts +0 -5
  1534. package/split-pane/index.d.ts +0 -3
  1535. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1536. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1537. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1538. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1539. package/status-indicator/index.d.ts +0 -1
  1540. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1541. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1542. package/stepper/index.d.ts +0 -4
  1543. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1544. package/stepper/lib/stepper/step.d.ts +0 -51
  1545. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1546. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1547. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1548. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1549. package/switch/index.d.ts +0 -2
  1550. package/switch/lib/switch/switch.d.ts +0 -118
  1551. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1552. package/switch/lib/switch-group-token.d.ts +0 -6
  1553. package/switch/malva-ui-core-switch.d.ts +0 -5
  1554. package/tabs/index.d.ts +0 -8
  1555. package/tabs/lib/tab/tab.d.ts +0 -46
  1556. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1557. package/tabs/lib/tab-content-def.d.ts +0 -6
  1558. package/tabs/lib/tab-def.d.ts +0 -11
  1559. package/tabs/lib/tab-group-token.d.ts +0 -10
  1560. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1561. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1562. package/tabs/lib/tabs.service.d.ts +0 -24
  1563. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1564. package/textarea/index.d.ts +0 -1
  1565. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1566. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1567. package/tile/index.d.ts +0 -2
  1568. package/tile/lib/tile/tile.d.ts +0 -20
  1569. package/tile/lib/tile-header.d.ts +0 -6
  1570. package/tile/malva-ui-core-tile.d.ts +0 -5
  1571. package/time-picker/index.d.ts +0 -1
  1572. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1573. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1574. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1575. package/timeline/index.d.ts +0 -5
  1576. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1577. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1579. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1580. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1581. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1582. package/title/index.d.ts +0 -1
  1583. package/title/lib/title/title.d.ts +0 -63
  1584. package/title/malva-ui-core-title.d.ts +0 -5
  1585. package/toast/index.d.ts +0 -10
  1586. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1587. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1588. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1589. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1590. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1591. package/toast/lib/toast-ref.d.ts +0 -33
  1592. package/toast/lib/toast-timer.d.ts +0 -24
  1593. package/toast/lib/toast.directives.d.ts +0 -13
  1594. package/toast/lib/toast.service.d.ts +0 -41
  1595. package/toast/lib/toast.types.d.ts +0 -139
  1596. package/toast/malva-ui-core-toast.d.ts +0 -5
  1597. package/tokenizer/index.d.ts +0 -3
  1598. package/tokenizer/lib/token/token.d.ts +0 -60
  1599. package/tokenizer/lib/token-template.d.ts +0 -29
  1600. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1601. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1602. package/toolbar/index.d.ts +0 -3
  1603. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1604. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1605. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1606. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1607. package/tooltip/index.d.ts +0 -3
  1608. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1609. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1610. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1611. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1612. package/tree/index.d.ts +0 -4
  1613. package/tree/lib/tree/tree-context.d.ts +0 -62
  1614. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1615. package/tree/lib/tree/tree-node.d.ts +0 -45
  1616. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1617. package/tree/lib/tree/tree.d.ts +0 -156
  1618. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1,1488 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, InjectionToken, inject, input, computed, model, output, signal, contentChild, effect, DestroyRef, viewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgZone, Injectable, ElementRef, ViewContainerRef } from '@angular/core';
3
+ import { NgTemplateOutlet } from '@angular/common';
4
+ import { Subject } from 'rxjs';
5
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
+ import { OverlayModule, Overlay } from '@angular/cdk/overlay';
7
+ import * as i1 from '@angular/cdk/a11y';
8
+ import { A11yModule } from '@angular/cdk/a11y';
9
+ import { PortalModule, TemplatePortal } from '@angular/cdk/portal';
10
+ import { MlvScrollbar } from '@malva-ui/core/scrollbar';
11
+ import { MlvStructural, MlvBreakpointService, MlvRtlService } from '@malva-ui/cdk/utils';
12
+ import { MlvDensityService, MLV_DENSITY_CONTEXT } from '@malva-ui/cdk/density';
13
+ import { MLV_POPUP_I18N } from '@malva-ui/i18n';
14
+ import { MlvButtonClose } from '@malva-ui/core/button';
15
+
16
+ class MlvPopupContent extends MlvStructural {
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvPopupContent, isStandalone: true, selector: "[mlvPopupContent]", usesInheritance: true, ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupContent, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[mlvPopupContent]',
24
+ }]
25
+ }] });
26
+
27
+ /**
28
+ * Marks an `<ng-template>` as extra chrome rendered inside the popup's
29
+ * full-screen mobile header, directly beneath the title/close row.
30
+ *
31
+ * Generic and reusable: the popup renders it only while
32
+ * {@link MlvPopup.isFullscreen} is `true`, and no-ops when the slot is
33
+ * absent or the popup is trigger-anchored. Consumers use it to move controls
34
+ * that must stay reachable inside the full-screen sheet — e.g. `mlv-combobox`
35
+ * projects an in-sheet search input here so type-to-filter keeps working when
36
+ * the solid backdrop and focus trap would otherwise occlude/block the outer
37
+ * trigger input.
38
+ */
39
+ class MlvPopupHeaderContent extends MlvStructural {
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupHeaderContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
41
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvPopupHeaderContent, isStandalone: true, selector: "[mlvPopupHeaderContent]", usesInheritance: true, ngImport: i0 });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupHeaderContent, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: '[mlvPopupHeaderContent]',
47
+ }]
48
+ }] });
49
+
50
+ /**
51
+ * Marks an `<ng-template>` as extra chrome pinned above the popup's scroll
52
+ * region in every mode — never scrolls with the content.
53
+ *
54
+ * Generic and reusable: the popup stamps it directly above
55
+ * `.mlv-popup__scrollbar` whether the panel is trigger-anchored or a
56
+ * full-screen sheet (where it sits below the header), and no-ops when the slot
57
+ * is absent. Consumers use it for chrome that must stay visible no matter how
58
+ * far the content scrolls — e.g. `mlv-select` projects its in-dropdown search
59
+ * field here so a long option list cannot push it out of view.
60
+ */
61
+ class MlvPopupPinnedContent extends MlvStructural {
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupPinnedContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
63
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvPopupPinnedContent, isStandalone: true, selector: "[mlvPopupPinnedContent]", usesInheritance: true, ngImport: i0 });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupPinnedContent, decorators: [{
66
+ type: Directive,
67
+ args: [{
68
+ selector: '[mlvPopupPinnedContent]',
69
+ }]
70
+ }] });
71
+
72
+ // ---------------------------------------------------------------------------
73
+ // Default position map
74
+ // ---------------------------------------------------------------------------
75
+ /**
76
+ * The default named-position map used when no custom `POPUP_POSITIONS` provider
77
+ * is registered. Contains all twelve standard popup placements.
78
+ *
79
+ * Override globally with `providePopupPositions()`, or per-component via
80
+ * the `POPUP_POSITIONS` injection token.
81
+ */
82
+ const POPUP_POSITION_MAP = new Map([
83
+ // ── Top ──────────────────────────────────────────────────────────────────
84
+ [
85
+ 'top-start',
86
+ {
87
+ originX: 'start',
88
+ originY: 'top',
89
+ overlayX: 'start',
90
+ overlayY: 'bottom',
91
+ offsetY: -8,
92
+ },
93
+ ],
94
+ [
95
+ 'top',
96
+ {
97
+ originX: 'center',
98
+ originY: 'top',
99
+ overlayX: 'center',
100
+ overlayY: 'bottom',
101
+ offsetY: -8,
102
+ },
103
+ ],
104
+ [
105
+ 'top-end',
106
+ {
107
+ originX: 'end',
108
+ originY: 'top',
109
+ overlayX: 'end',
110
+ overlayY: 'bottom',
111
+ offsetY: -8,
112
+ },
113
+ ],
114
+ // ── Bottom ───────────────────────────────────────────────────────────────
115
+ [
116
+ 'bottom-start',
117
+ {
118
+ originX: 'start',
119
+ originY: 'bottom',
120
+ overlayX: 'start',
121
+ overlayY: 'top',
122
+ offsetY: 8,
123
+ },
124
+ ],
125
+ [
126
+ 'bottom',
127
+ {
128
+ originX: 'center',
129
+ originY: 'bottom',
130
+ overlayX: 'center',
131
+ overlayY: 'top',
132
+ offsetY: 8,
133
+ },
134
+ ],
135
+ [
136
+ 'bottom-end',
137
+ {
138
+ originX: 'end',
139
+ originY: 'bottom',
140
+ overlayX: 'end',
141
+ overlayY: 'top',
142
+ offsetY: 8,
143
+ },
144
+ ],
145
+ // ── Left ─────────────────────────────────────────────────────────────────
146
+ [
147
+ 'left-start',
148
+ {
149
+ originX: 'start',
150
+ originY: 'top',
151
+ overlayX: 'end',
152
+ overlayY: 'top',
153
+ offsetX: -8,
154
+ },
155
+ ],
156
+ [
157
+ 'left',
158
+ {
159
+ originX: 'start',
160
+ originY: 'center',
161
+ overlayX: 'end',
162
+ overlayY: 'center',
163
+ offsetX: -8,
164
+ },
165
+ ],
166
+ [
167
+ 'left-end',
168
+ {
169
+ originX: 'start',
170
+ originY: 'bottom',
171
+ overlayX: 'end',
172
+ overlayY: 'bottom',
173
+ offsetX: -8,
174
+ },
175
+ ],
176
+ // ── Right ────────────────────────────────────────────────────────────────
177
+ [
178
+ 'right-start',
179
+ {
180
+ originX: 'end',
181
+ originY: 'top',
182
+ overlayX: 'start',
183
+ overlayY: 'top',
184
+ offsetX: 8,
185
+ },
186
+ ],
187
+ [
188
+ 'right',
189
+ {
190
+ originX: 'end',
191
+ originY: 'center',
192
+ overlayX: 'start',
193
+ overlayY: 'center',
194
+ offsetX: 8,
195
+ },
196
+ ],
197
+ [
198
+ 'right-end',
199
+ {
200
+ originX: 'end',
201
+ originY: 'bottom',
202
+ overlayX: 'start',
203
+ overlayY: 'bottom',
204
+ offsetX: 8,
205
+ },
206
+ ],
207
+ ]);
208
+ // ---------------------------------------------------------------------------
209
+ // Injection token
210
+ // ---------------------------------------------------------------------------
211
+ /**
212
+ * Injection token that holds the active named-position map.
213
+ *
214
+ * Defaults to {@link POPUP_POSITION_MAP}. Override at the application or
215
+ * component level with {@link providePopupPositions} to add, remove, or
216
+ * replace named positions.
217
+ *
218
+ * @example Override globally in app providers
219
+ * ```ts
220
+ * providePopupPositions(new Map([
221
+ * ['bottom', { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 4 }],
222
+ * ]))
223
+ * ```
224
+ */
225
+ const POPUP_POSITIONS = new InjectionToken('POPUP_POSITIONS', {
226
+ providedIn: 'root',
227
+ factory: () => POPUP_POSITION_MAP,
228
+ });
229
+ // ---------------------------------------------------------------------------
230
+ // Provider factory
231
+ // ---------------------------------------------------------------------------
232
+ /**
233
+ * Registers a custom named-position map as the active `POPUP_POSITIONS`.
234
+ *
235
+ * Call in the root `providers` array (or a component's `providers`) to
236
+ * replace all default positions with a custom set.
237
+ *
238
+ * @param positions — A `Map` of {@link MlvPopupPositionName} → CDK `ConnectedPosition`.
239
+ *
240
+ * @example
241
+ * ```ts
242
+ * // app.config.ts
243
+ * providers: [
244
+ * providePopupPositions(new Map([
245
+ * ...POPUP_POSITION_MAP,
246
+ * ['bottom', { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 4 }],
247
+ * ]))
248
+ * ]
249
+ * ```
250
+ */
251
+ function providePopupPositions(positions) {
252
+ return { provide: POPUP_POSITIONS, useValue: positions };
253
+ }
254
+ // ---------------------------------------------------------------------------
255
+ // Static helper — MlvPopupPositionResolver
256
+ // ---------------------------------------------------------------------------
257
+ /**
258
+ * Static utility class for resolving named popup positions.
259
+ *
260
+ * Centralises all lookup logic so that {@link MlvPopup} and
261
+ * {@link MlvPopupService} share one consistent resolution path.
262
+ */
263
+ class MlvPopupPositionResolver {
264
+ /**
265
+ * Resolves one or more {@link MlvPopupPositionName} strings to CDK
266
+ * `ConnectedPosition` objects using the provided map.
267
+ *
268
+ * - Positions are returned in the same order as `names`.
269
+ * - If a name is not found in the map, it is skipped and a warning is
270
+ * emitted in dev mode via `console.warn`.
271
+ * - Returns an empty array if no names resolve successfully.
272
+ *
273
+ * @param names — A single name or ordered array of names (CDK uses
274
+ * the first one that fits in the viewport).
275
+ * @param positionMap — The active position map (from `POPUP_POSITIONS` token).
276
+ */
277
+ static resolve(names, positionMap) {
278
+ const nameList = Array.isArray(names) ? names : [names];
279
+ const resolved = [];
280
+ for (const name of nameList) {
281
+ const pos = positionMap.get(name);
282
+ if (pos !== undefined) {
283
+ resolved.push(pos);
284
+ }
285
+ else if (typeof ngDevMode !== 'undefined' && ngDevMode) {
286
+ console.warn(`[MlvPopup] Position "${name}" was not found in the POPUP_POSITIONS map. ` +
287
+ `Available positions: [${Array.from(positionMap.keys()).join(', ')}].`);
288
+ }
289
+ }
290
+ return resolved;
291
+ }
292
+ /**
293
+ * Returns all positions in the map as an ordered array.
294
+ * Used as the CDK fallback sequence when no explicit `position` is set.
295
+ *
296
+ * @param positionMap — The active position map (from `POPUP_POSITIONS` token).
297
+ */
298
+ static allPositions(positionMap) {
299
+ return Array.from(positionMap.values());
300
+ }
301
+ }
302
+ // ---------------------------------------------------------------------------
303
+ // Shared named-position sequences
304
+ // ---------------------------------------------------------------------------
305
+ /**
306
+ * Ordered CDK positions for a dropdown menu panel that opens below its trigger:
307
+ * `bottom-start` preferred, flipping vertically (`top-start`) then aligning to
308
+ * the trigger's end edge (`bottom-end`, `top-end`) when space is constrained.
309
+ *
310
+ * Derived from {@link POPUP_POSITION_MAP} so menu overlays stay consistent with
311
+ * the rest of the Malva UI overlay system. Consumed by `MlvMenuTrigger`.
312
+ */
313
+ const MENU_POSITIONS = MlvPopupPositionResolver.resolve(['bottom-start', 'top-start', 'bottom-end', 'top-end'], POPUP_POSITION_MAP);
314
+ /**
315
+ * Ordered CDK positions for a submenu panel that opens to the right of its
316
+ * parent item (`right-start`), flipping to the left (`left-start`) when there
317
+ * is no room on the right.
318
+ *
319
+ * Derived from {@link POPUP_POSITION_MAP}. Consumed by `MlvMenuTrigger`.
320
+ */
321
+ const SUBMENU_POSITIONS = MlvPopupPositionResolver.resolve(['right-start', 'left-start'], POPUP_POSITION_MAP);
322
+
323
+ /**
324
+ * Fallback delay (ms) after which a pending leave is force-completed when the
325
+ * panel's `animationend` never fires — `prefers-reduced-motion` removes the
326
+ * leave animation entirely, and hidden/background tabs throttle CSS animations.
327
+ * Comfortably above the default leave duration (`--mlv-duration-fast`, 100ms);
328
+ * matches the dialog's `LEAVE_FALLBACK_MS` (250 ms).
329
+ */
330
+ const POPUP_LEAVE_FALLBACK_MS = 250;
331
+ /**
332
+ * Delay (ms) after which an overlay owner force-detaches a popup whose leave
333
+ * animation never completed. Sits just past {@link POPUP_LEAVE_FALLBACK_MS} so
334
+ * the normal `animationend` / fallback path always wins when it works.
335
+ */
336
+ const POPUP_DETACH_WATCHDOG_MS = POPUP_LEAVE_FALLBACK_MS + 100;
337
+ class MlvPopup {
338
+ /** @private Active named-position map (overridable via `POPUP_POSITIONS` token). */
339
+ _positionMap = inject(POPUP_POSITIONS);
340
+ /**
341
+ * Named position(s) controlling where the popup appears relative to its trigger.
342
+ *
343
+ * Accepts a single {@link MlvPopupPositionName} or an ordered array of names.
344
+ * CDK tries positions in array order and uses the first one that fits in the
345
+ * viewport — useful for automatic flip behaviour.
346
+ *
347
+ * When set, takes precedence over the raw {@link positions} input.
348
+ * When both are omitted, all twelve default positions are passed to CDK.
349
+ *
350
+ * An unrecognised name is skipped and a `console.warn` is emitted in dev mode.
351
+ *
352
+ * @example Single preferred position
353
+ * ```html
354
+ * <mlv-popup position="bottom-end" />
355
+ * ```
356
+ *
357
+ * @example Preferred + fallback
358
+ * ```html
359
+ * <mlv-popup [position]="['bottom-end', 'top-end']" />
360
+ * ```
361
+ */
362
+ position = input(undefined, /* @ts-ignore */
363
+ ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
364
+ /**
365
+ * Raw CDK `ConnectedPosition` array for advanced use cases where named
366
+ * positions are insufficient.
367
+ *
368
+ * When set and `position` is not set, these positions are passed directly
369
+ * to the CDK overlay. Prefer `position` for standard placements.
370
+ */
371
+ positions = input(undefined, /* @ts-ignore */
372
+ ...(ngDevMode ? [{ debugName: "positions" }] : /* istanbul ignore next */ []));
373
+ /** Explicit CSS width of the popup panel. */
374
+ width = input(undefined, /* @ts-ignore */
375
+ ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
376
+ /** Explicit CSS height of the popup panel. */
377
+ height = input(undefined, /* @ts-ignore */
378
+ ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
379
+ /** Minimum CSS width of the popup panel. */
380
+ minWidth = input(undefined, /* @ts-ignore */
381
+ ...(ngDevMode ? [{ debugName: "minWidth" }] : /* istanbul ignore next */ []));
382
+ /** Minimum CSS height of the popup panel. */
383
+ minHeight = input(undefined, /* @ts-ignore */
384
+ ...(ngDevMode ? [{ debugName: "minHeight" }] : /* istanbul ignore next */ []));
385
+ /** Maximum CSS width of the popup panel. */
386
+ maxWidth = input(undefined, /* @ts-ignore */
387
+ ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
388
+ /** Maximum CSS height of the popup panel. */
389
+ maxHeight = input(undefined, /* @ts-ignore */
390
+ ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []));
391
+ /** When `true`, a directional arrow is rendered pointing toward the trigger. */
392
+ hasArrow = input(false, { ...(ngDevMode ? { debugName: "hasArrow" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
393
+ /** When `true` (default), a drop-shadow is applied to the popup panel. */
394
+ hasShadow = input(true, { ...(ngDevMode ? { debugName: "hasShadow" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
395
+ /** Additional CSS classes forwarded to the popup panel host. */
396
+ class = input(/* @ts-ignore */
397
+ ...(ngDevMode ? [undefined, { debugName: "class" }] : /* istanbul ignore next */ []));
398
+ /**
399
+ * Density applied to the popup's content.
400
+ *
401
+ * The popup panel is portaled to the CDK overlay container on `<body>`, so it
402
+ * sits outside any `mlvDensityRoot` / ancestor density cascade in the page.
403
+ * This input restores the cascade on the detached panel: the resolved density
404
+ * is stamped as a `mlv--{density}` class on the panel element, and every
405
+ * density-aware descendant (e.g. `mlv-list-item` rows in a dropdown panel)
406
+ * responds through the standard CSS cascade.
407
+ *
408
+ * When omitted, the nearest ancestor `MLV_DENSITY_CONTEXT` (e.g. a
409
+ * `form[mlvForm]`) is used, then the global `MlvDensityService`, so popovers
410
+ * follow the surrounding / app-wide density without extra wiring. Components
411
+ * that embed a popup (select, combobox, pagination, menu, …) forward their
412
+ * own `mlvDensity` input here.
413
+ */
414
+ mlvDensity = input(undefined, /* @ts-ignore */
415
+ ...(ngDevMode ? [{ debugName: "mlvDensity" }] : /* istanbul ignore next */ []));
416
+ /**
417
+ * @private Global density service — fallback when no explicit
418
+ * {@link mlvDensity} is supplied.
419
+ */
420
+ _densityService = inject(MlvDensityService);
421
+ /**
422
+ * @private Density projected by an ancestor container (e.g. `form[mlvForm]`).
423
+ * Consulted after the explicit {@link mlvDensity} input, before the service.
424
+ */
425
+ _densityContext = inject(MLV_DENSITY_CONTEXT, {
426
+ optional: true,
427
+ });
428
+ /**
429
+ * @protected Class list for the detached panel element: consumer classes from
430
+ * {@link class} plus the resolved `mlv--{density}` cascade class.
431
+ */
432
+ _panelClasses = computed(() => {
433
+ const density = this.mlvDensity() ??
434
+ this._densityContext?.() ??
435
+ this._densityService.density();
436
+ const extra = this.class();
437
+ return extra ? `${extra} mlv--${density}` : `mlv--${density}`;
438
+ }, /* @ts-ignore */
439
+ ...(ngDevMode ? [{ debugName: "_panelClasses" }] : /* istanbul ignore next */ []));
440
+ /** Allow the overlay panel to grow to fill available viewport space. */
441
+ flexibleDimensions = input(false, { ...(ngDevMode ? { debugName: "flexibleDimensions" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
442
+ /**
443
+ * Controls overlay behaviour when the page is scrolled.
444
+ *
445
+ * - `'reposition'` (default) — overlay follows the trigger.
446
+ * - `'close'` — overlay closes on scroll.
447
+ * - `'block'` — page scroll is blocked while the overlay is open.
448
+ * - `'noop'` — overlay stays fixed.
449
+ */
450
+ scrollStrategy = input('reposition', /* @ts-ignore */
451
+ ...(ngDevMode ? [{ debugName: "scrollStrategy" }] : /* istanbul ignore next */ []));
452
+ /**
453
+ * Whether to render a transparent backdrop behind the popup.
454
+ *
455
+ * When `undefined` (default), the trigger decides — click/keyboard triggers
456
+ * use a backdrop; hover triggers do not.
457
+ *
458
+ * Set to `false` to suppress the backdrop while keeping click-outside and
459
+ * Escape detection active.
460
+ */
461
+ hasBackdrop = input(undefined, { ...(ngDevMode ? { debugName: "hasBackdrop" } : /* istanbul ignore next */ {}), transform: (v) => v == null ? undefined : coerceBooleanProperty(v) });
462
+ /**
463
+ * When `true` (default), only the explicitly provided position(s) are passed to CDK.
464
+ * CDK will push the popup into the viewport if none of them fit, but won't try other
465
+ * named positions automatically.
466
+ *
467
+ * When `false`, the provided position(s) are used first and all remaining positions
468
+ * from the active `POPUP_POSITIONS` map are appended as ordered fallbacks. CDK will
469
+ * try them in sequence and use the first one that fits — useful for popups near edges
470
+ * that should freely reposition rather than be pushed.
471
+ *
472
+ * @example Prefer bottom-start, fall back to any position that fits
473
+ * ```html
474
+ * <mlv-popup position="bottom-start" [restrictPosition]="false" />
475
+ * ```
476
+ */
477
+ restrictPosition = input(true, { ...(ngDevMode ? { debugName: "restrictPosition" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
478
+ /**
479
+ * ARIA role applied to the popup panel element.
480
+ *
481
+ * Defaults to `null` — the panel is a neutral positioning/chrome container and
482
+ * the semantic role is expected to come from the projected content
483
+ * (e.g. a `role="menu"` list, a `role="listbox"`, or a `role="tooltip"`).
484
+ *
485
+ * Set to `'dialog'` (together with {@link modal}`= true`) for genuine modal
486
+ * dialog surfaces such as a date-picker calendar. When `panelRole === 'dialog'`
487
+ * and {@link modal} is `true`, an accessible name via {@link ariaLabel} (or a
488
+ * projected labelling element) is required.
489
+ */
490
+ panelRole = input(null, /* @ts-ignore */
491
+ ...(ngDevMode ? [{ debugName: "panelRole" }] : /* istanbul ignore next */ []));
492
+ /**
493
+ * Whether the popup panel behaves as a modal surface.
494
+ *
495
+ * When `true`, the panel renders `aria-modal="true"` and enables the CDK focus
496
+ * trap (Tab / Shift+Tab cycle within the panel). When `false` (default), no
497
+ * `aria-modal` is emitted and focus is free to leave the panel — the correct
498
+ * behaviour for menus, listboxes, and tooltips whose focus is managed by their
499
+ * own trigger / roving-tabindex logic.
500
+ */
501
+ modal = input(false, { ...(ngDevMode ? { debugName: "modal" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
502
+ /**
503
+ * Optional accessible name for the popup panel.
504
+ * Applied as `aria-label` on the popup element.
505
+ */
506
+ ariaLabel = input(undefined, /* @ts-ignore */
507
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
508
+ /**
509
+ * Extra elements that count as "inside" the popup for click-outside dismissal.
510
+ *
511
+ * When the popup is opened without a backdrop (`[hasBackdrop]="false"`),
512
+ * dismissal is detected by a document-level click listener that closes the
513
+ * popup on any click outside the overlay panel. The trigger/anchor lives in
514
+ * the normal document flow — outside the floating panel — so a click on it
515
+ * (or on any control it owns) would otherwise be treated as "outside" and
516
+ * dismiss the popup. List these elements (typically the trigger) so clicks
517
+ * within them do not close the popup; e.g. `mlv-combobox` passes its input
518
+ * row so caret repositioning while the list is open keeps the list open.
519
+ *
520
+ * Has no effect when a backdrop is used.
521
+ */
522
+ dismissExcludeElements = input([], /* @ts-ignore */
523
+ ...(ngDevMode ? [{ debugName: "dismissExcludeElements" }] : /* istanbul ignore next */ []));
524
+ // ─── Mobile fullscreen mode ──────────────────────────────────────────────
525
+ /** @private Signal-based viewport breakpoint service (SSR-safe via CDK). */
526
+ _breakpoint = inject(MlvBreakpointService);
527
+ /**
528
+ * @private Optional popup i18n slice — provides the fullscreen close-button
529
+ * label. Injected optionally so the popup keeps working when no i18n provider
530
+ * is configured (falls back to the English default).
531
+ */
532
+ _i18n = inject(MLV_POPUP_I18N, { optional: true });
533
+ /**
534
+ * Controls whether the popup renders as a full-screen mobile sheet with a
535
+ * header bar and close button instead of a trigger-anchored panel.
536
+ *
537
+ * Defaults to `'off'` so existing consumers are unaffected — the pickers
538
+ * (day/date-range/time) opt into `'auto'`.
539
+ */
540
+ mobileMode = input('off', /* @ts-ignore */
541
+ ...(ngDevMode ? [{ debugName: "mobileMode" }] : /* istanbul ignore next */ []));
542
+ /**
543
+ * Breakpoint below which `mobileMode="auto"` switches the popup to full-screen.
544
+ * Defaults to `'md'` (viewport narrower than 768px, per `MLV_BREAKPOINT_CONFIG`).
545
+ */
546
+ mobileBreakpoint = input('md', /* @ts-ignore */
547
+ ...(ngDevMode ? [{ debugName: "mobileBreakpoint" }] : /* istanbul ignore next */ []));
548
+ /**
549
+ * Optional visible title rendered in the full-screen header bar. When omitted,
550
+ * the header shows only the close button.
551
+ */
552
+ mobileTitle = input(undefined, /* @ts-ignore */
553
+ ...(ngDevMode ? [{ debugName: "mobileTitle" }] : /* istanbul ignore next */ []));
554
+ /**
555
+ * Optional override for the full-screen close-button accessible name.
556
+ * Falls back to the `MLV_POPUP_I18N` `close` string, then to `'Close'`.
557
+ */
558
+ mobileCloseLabel = input(undefined, /* @ts-ignore */
559
+ ...(ngDevMode ? [{ debugName: "mobileCloseLabel" }] : /* istanbul ignore next */ []));
560
+ /**
561
+ * Whether the popup is currently rendering as a full-screen mobile sheet.
562
+ *
563
+ * `'off'` → always `false`; `'fullscreen'` → always `true`; `'auto'` → `true`
564
+ * when the viewport is below {@link mobileBreakpoint}. Public so consumers with
565
+ * their own inner focus trap (e.g. `mlv-date-range-picker`) can disable it to
566
+ * avoid nesting two traps inside the full-screen panel.
567
+ */
568
+ isFullscreen = computed(() => {
569
+ const mode = this.mobileMode();
570
+ if (mode === 'off')
571
+ return false;
572
+ if (mode === 'fullscreen')
573
+ return true;
574
+ return this._breakpoint.isDown(this.mobileBreakpoint())();
575
+ }, /* @ts-ignore */
576
+ ...(ngDevMode ? [{ debugName: "isFullscreen" }] : /* istanbul ignore next */ []));
577
+ /** @protected Resolved accessible name for the full-screen close button. */
578
+ _closeLabel = computed(() => this.mobileCloseLabel() ?? this._i18n?.().close ?? 'Close', /* @ts-ignore */
579
+ ...(ngDevMode ? [{ debugName: "_closeLabel" }] : /* istanbul ignore next */ []));
580
+ /** Two-way binding for the open/closed state. */
581
+ opened = model(false, /* @ts-ignore */
582
+ ...(ngDevMode ? [{ debugName: "opened" }] : /* istanbul ignore next */ []));
583
+ /** Emitted after the popup enters the view and the enter animation completes. */
584
+ afterOpened = output();
585
+ /** Emitted after the popup leaves the view and the leave animation completes. */
586
+ afterClosed = output();
587
+ animationState = signal('idle', /* @ts-ignore */
588
+ ...(ngDevMode ? [{ debugName: "animationState" }] : /* istanbul ignore next */ []));
589
+ arrowEdge = signal('top', /* @ts-ignore */
590
+ ...(ngDevMode ? [{ debugName: "arrowEdge" }] : /* istanbul ignore next */ []));
591
+ arrowAlign = signal('start', /* @ts-ignore */
592
+ ...(ngDevMode ? [{ debugName: "arrowAlign" }] : /* istanbul ignore next */ []));
593
+ /**
594
+ * CSS transform value for the popup's hidden/offscreen position.
595
+ * Used as `--mlv-popup-hidden-transform` so the enter/leave keyframes
596
+ * slide in from the correct edge depending on where the popup is placed.
597
+ */
598
+ popupHiddenTransform = computed(() => {
599
+ switch (this.arrowEdge()) {
600
+ case 'top':
601
+ return 'translateY(-4px)';
602
+ case 'bottom':
603
+ return 'translateY(4px)';
604
+ case 'left':
605
+ return 'translateX(-4px)';
606
+ case 'right':
607
+ return 'translateX(4px)';
608
+ }
609
+ }, /* @ts-ignore */
610
+ ...(ngDevMode ? [{ debugName: "popupHiddenTransform" }] : /* istanbul ignore next */ []));
611
+ /** @protected Projected popup content template, rendered into the overlay panel. */
612
+ contentRef = contentChild(MlvPopupContent, /* @ts-ignore */
613
+ ...(ngDevMode ? [{ debugName: "contentRef" }] : /* istanbul ignore next */ []));
614
+ /**
615
+ * @protected Optional header-extension template projected via
616
+ * `[mlvPopupHeaderContent]`. Rendered inside the full-screen header, directly
617
+ * beneath the title/close row. Ignored while the popup is trigger-anchored
618
+ * (only stamped when {@link isFullscreen} is `true`), so anchored popups are
619
+ * byte-identical whether or not the slot is supplied.
620
+ */
621
+ headerContentRef = contentChild(MlvPopupHeaderContent, /* @ts-ignore */
622
+ ...(ngDevMode ? [{ debugName: "headerContentRef" }] : /* istanbul ignore next */ []));
623
+ /**
624
+ * @protected Optional pinned-chrome template projected via
625
+ * `[mlvPopupPinnedContent]`. Rendered in **every** mode, directly above
626
+ * `.mlv-popup__scrollbar`, so it never scrolls with the content (in
627
+ * full-screen it sits below the header). An absent slot stamps nothing —
628
+ * byte-identical markup to a popup that never declared one.
629
+ */
630
+ pinnedContentRef = contentChild(MlvPopupPinnedContent, /* @ts-ignore */
631
+ ...(ngDevMode ? [{ debugName: "pinnedContentRef" }] : /* istanbul ignore next */ []));
632
+ /** @internal Emits when the leave animation finishes so the container can dispose the overlay. */
633
+ leaveAnimationDone$ = new Subject();
634
+ /**
635
+ * @private Fallback timer guaranteeing `leaveAnimationDone$` fires even when
636
+ * the panel's `animationend` never arrives — `prefers-reduced-motion` strips
637
+ * the leave animation entirely, and hidden/background tabs throttle CSS
638
+ * animations indefinitely. Without it the overlay would never dispose.
639
+ * Mirrors `MlvOverlayRef`'s `_leaveFallbackMs` used by the drawer, and the
640
+ * dialog's `LEAVE_FALLBACK_MS`.
641
+ */
642
+ _leaveFallbackTimer = null;
643
+ constructor() {
644
+ // Arm the fallback whenever a leave starts; disarm on any state change
645
+ // (the real `animationend` path resets the state to 'idle' on dispose).
646
+ effect(() => {
647
+ const state = this.animationState();
648
+ if (this._leaveFallbackTimer !== null) {
649
+ clearTimeout(this._leaveFallbackTimer);
650
+ this._leaveFallbackTimer = null;
651
+ }
652
+ if (state === 'leave') {
653
+ this._leaveFallbackTimer = setTimeout(() => {
654
+ this._leaveFallbackTimer = null;
655
+ this.onAnimationEnd();
656
+ }, POPUP_LEAVE_FALLBACK_MS);
657
+ }
658
+ });
659
+ inject(DestroyRef).onDestroy(() => {
660
+ if (this._leaveFallbackTimer !== null) {
661
+ clearTimeout(this._leaveFallbackTimer);
662
+ this._leaveFallbackTimer = null;
663
+ }
664
+ });
665
+ }
666
+ popupTemplate = viewChild.required('popupTemplate', /* @ts-ignore */
667
+ ...(ngDevMode ? [{ debugName: "popupTemplate" }] : /* istanbul ignore next */ []));
668
+ // ─── Position resolution ─────────────────────────────────────────────────
669
+ /**
670
+ * Resolves the active CDK `ConnectedPosition[]` to pass to the overlay.
671
+ *
672
+ * **Position source** (first match wins):
673
+ * 1. `position` input — named position(s) looked up in `POPUP_POSITIONS` map.
674
+ * 2. `positions` input — raw CDK positions for advanced use.
675
+ * 3. All defaults — every position in the active `POPUP_POSITIONS` map.
676
+ *
677
+ * **`restrictPosition` modifier:**
678
+ * - `true` (default) — return the resolved positions as-is; CDK pushes the popup
679
+ * if none fit.
680
+ * - `false` — append all remaining map positions (deduped by reference) after the
681
+ * resolved ones so CDK can freely choose a fitting position.
682
+ */
683
+ resolvedPositions() {
684
+ const named = this.position();
685
+ let preferred;
686
+ if (named !== undefined) {
687
+ preferred = MlvPopupPositionResolver.resolve(named, this._positionMap);
688
+ }
689
+ else {
690
+ preferred = this.positions();
691
+ }
692
+ const base = preferred ?? MlvPopupPositionResolver.allPositions(this._positionMap);
693
+ if (this.restrictPosition()) {
694
+ return base;
695
+ }
696
+ // Append every map position not already present as a fallback.
697
+ // Position objects from the map share the same reference, so Set dedup works.
698
+ const all = MlvPopupPositionResolver.allPositions(this._positionMap);
699
+ const seen = new Set(base);
700
+ return [...base, ...all.filter((p) => !seen.has(p))];
701
+ }
702
+ buildSizeConfig() {
703
+ const size = {};
704
+ const width = this.width();
705
+ const height = this.height();
706
+ const minWidth = this.minWidth();
707
+ const minHeight = this.minHeight();
708
+ const maxWidth = this.maxWidth();
709
+ const maxHeight = this.maxHeight();
710
+ if (width !== undefined)
711
+ size.width = width;
712
+ if (height !== undefined)
713
+ size.height = height;
714
+ if (minWidth !== undefined)
715
+ size.minWidth = minWidth;
716
+ if (minHeight !== undefined)
717
+ size.minHeight = minHeight;
718
+ if (maxWidth !== undefined)
719
+ size.maxWidth = maxWidth;
720
+ if (maxHeight !== undefined)
721
+ size.maxHeight = maxHeight;
722
+ return size;
723
+ }
724
+ onAnimationEnd() {
725
+ if (this.animationState() === 'leave') {
726
+ this.leaveAnimationDone$.next();
727
+ }
728
+ }
729
+ /**
730
+ * @internal Promotes a freshly attached panel from `'idle'` to `'enter'`.
731
+ *
732
+ * Overlay owners (`MlvPopupContainer`, `MlvPopupTrigger`, `MlvMenuTrigger`)
733
+ * call this from a microtask so the panel is in the DOM before the enter
734
+ * keyframes start. A close requested in the same tick as the attach already
735
+ * moved the state to `'leave'` by then, and overwriting it would strand the
736
+ * overlay: the leave keyframes never play, so no `animationend` arrives, and
737
+ * the write itself cancels the leave fallback timer — leaving no path back to
738
+ * a detach. Promote only from the exact state the attach left behind.
739
+ */
740
+ beginEnterAnimation() {
741
+ if (this.animationState() === 'idle') {
742
+ this.animationState.set('enter');
743
+ }
744
+ }
745
+ /**
746
+ * @protected Handles the full-screen header close button. Requests closure via
747
+ * the two-way `opened` model so the consumer's `afterClosed` (focus restore)
748
+ * and the container/trigger leave-animation machinery run — identical to the
749
+ * Escape / backdrop close path.
750
+ */
751
+ _onCloseClick() {
752
+ this.opened.set(false);
753
+ }
754
+ /**
755
+ * Derives `arrowEdge` and `arrowAlign` from a resolved CDK `ConnectedPosition`.
756
+ *
757
+ * Detection logic:
758
+ * - `overlayX='end'` + `originX='start'` → popup is to the **left** of the trigger → arrow on right edge
759
+ * - `overlayX='start'` + `originX='end'` → popup is to the **right** of the trigger → arrow on left edge
760
+ * - `overlayY='top'` (all other cases) → popup is **below** the trigger → arrow on top edge
761
+ * - `overlayY='bottom'` (all other cases) → popup is **above** the trigger → arrow on bottom edge
762
+ *
763
+ * For left/right arrows the vertical alignment is read from `overlayY`
764
+ * (`'top'` → `'start'`, `'center'` → `'center'`, `'bottom'` → `'end'`).
765
+ * For top/bottom arrows the horizontal alignment comes directly from `overlayX`.
766
+ */
767
+ updateArrowFromPosition(pair) {
768
+ const { originX, overlayX, overlayY } = pair;
769
+ if (overlayX === 'end' && originX === 'start') {
770
+ // Popup is to the LEFT of the trigger — arrow on the right edge
771
+ this.arrowEdge.set('right');
772
+ this.arrowAlign.set(overlayY === 'top' ? 'start' : overlayY === 'bottom' ? 'end' : 'center');
773
+ }
774
+ else if (overlayX === 'start' && originX === 'end') {
775
+ // Popup is to the RIGHT of the trigger — arrow on the left edge
776
+ this.arrowEdge.set('left');
777
+ this.arrowAlign.set(overlayY === 'top' ? 'start' : overlayY === 'bottom' ? 'end' : 'center');
778
+ }
779
+ else if (overlayY === 'top') {
780
+ // Popup is BELOW the trigger — arrow on the top edge
781
+ this.arrowEdge.set('top');
782
+ this.arrowAlign.set(overlayX);
783
+ }
784
+ else {
785
+ // Popup is ABOVE the trigger — arrow on the bottom edge
786
+ this.arrowEdge.set('bottom');
787
+ this.arrowAlign.set(overlayX);
788
+ }
789
+ }
790
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopup, deps: [], target: i0.ɵɵFactoryTarget.Component });
791
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvPopup, isStandalone: true, selector: "mlv-popup", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, hasArrow: { classPropertyName: "hasArrow", publicName: "hasArrow", isSignal: true, isRequired: false, transformFunction: null }, hasShadow: { classPropertyName: "hasShadow", publicName: "hasShadow", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, mlvDensity: { classPropertyName: "mlvDensity", publicName: "mlvDensity", isSignal: true, isRequired: false, transformFunction: null }, flexibleDimensions: { classPropertyName: "flexibleDimensions", publicName: "flexibleDimensions", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, restrictPosition: { classPropertyName: "restrictPosition", publicName: "restrictPosition", isSignal: true, isRequired: false, transformFunction: null }, panelRole: { classPropertyName: "panelRole", publicName: "panelRole", isSignal: true, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, dismissExcludeElements: { classPropertyName: "dismissExcludeElements", publicName: "dismissExcludeElements", isSignal: true, isRequired: false, transformFunction: null }, mobileMode: { classPropertyName: "mobileMode", publicName: "mobileMode", isSignal: true, isRequired: false, transformFunction: null }, mobileBreakpoint: { classPropertyName: "mobileBreakpoint", publicName: "mobileBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, mobileTitle: { classPropertyName: "mobileTitle", publicName: "mobileTitle", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseLabel: { classPropertyName: "mobileCloseLabel", publicName: "mobileCloseLabel", isSignal: true, isRequired: false, transformFunction: null }, opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "openedChange", afterOpened: "afterOpened", afterClosed: "afterClosed" }, queries: [{ propertyName: "contentRef", first: true, predicate: MlvPopupContent, descendants: true, isSignal: true }, { propertyName: "headerContentRef", first: true, predicate: MlvPopupHeaderContent, descendants: true, isSignal: true }, { propertyName: "pinnedContentRef", first: true, predicate: MlvPopupPinnedContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #popupTemplate>\n <div\n class=\"mlv-popup\"\n [style.--mlv-popup-hidden-transform]=\"popupHiddenTransform()\"\n [class]=\"_panelClasses()\"\n [class.mlv-popup--fullscreen]=\"isFullscreen()\"\n [class.mlv-popup--arrow]=\"hasArrow() && !isFullscreen()\"\n [class.mlv-popup--shadow]=\"hasShadow() && !isFullscreen()\"\n [class.mlv-popup--arrow-top]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'top'\"\n [class.mlv-popup--arrow-bottom]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'bottom'\"\n [class.mlv-popup--arrow-left]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'left'\"\n [class.mlv-popup--arrow-right]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'right'\"\n [class.mlv-popup--arrow-start]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'start'\"\n [class.mlv-popup--arrow-center]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'center'\"\n [class.mlv-popup--arrow-end]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'end'\"\n [class.mlv-popup--enter]=\"animationState() === 'enter'\"\n [class.mlv-popup--leave]=\"animationState() === 'leave'\"\n (animationend)=\"onAnimationEnd()\"\n [attr.role]=\"panelRole()\"\n [attr.aria-modal]=\"modal() ? 'true' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [cdkTrapFocus]=\"modal() || isFullscreen()\"\n >\n @if (isFullscreen()) {\n <div class=\"mlv-popup__header\">\n <div class=\"mlv-popup__header-row\">\n @if (mobileTitle(); as title) {\n <span class=\"mlv-popup__title\">{{ title }}</span>\n }\n <mlv-button-close\n class=\"mlv-popup__close\"\n [ariaLabel]=\"_closeLabel()\"\n (click)=\"_onCloseClick()\"\n variant=\"secondary\"\n ></mlv-button-close>\n </div>\n @if (headerContentRef(); as headerTpl) {\n <div class=\"mlv-popup__header-content\">\n <ng-template [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n </div>\n }\n </div>\n } @if (pinnedContentRef(); as pinnedTpl) {\n <div class=\"mlv-popup__pinned\">\n <ng-template [ngTemplateOutlet]=\"pinnedTpl.templateRef\" />\n </div>\n }\n <mlv-scrollbar class=\"mlv-popup__scrollbar\">\n <div class=\"mlv-popup__inner\">\n @if (contentRef(); as contentTpl) {\n <ng-template [ngTemplateOutlet]=\"contentTpl.templateRef\" />\n }\n </div>\n </mlv-scrollbar>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";@layer mlv.components{.mlv-popup{--mlv-popup-bg: var(--mlv-elevation-bg-3);--mlv-popup-border: .0625rem solid var(--mlv-border-subtle);background-color:var(--mlv-popup-bg);color:var(--mlv-text-primary);border:var(--mlv-popup-border);border-radius:var(--mlv-popover-surface-radius);max-height:inherit;display:flex;flex-direction:column;position:relative;width:100%}.mlv-popup__scrollbar{position:relative;z-index:2;flex:1 1 auto;width:100%;min-height:0}.mlv-popup__pinned{flex:0 0 auto;position:relative;z-index:3}.mlv-popup__inner{display:flex;flex-direction:column;min-height:100%}.mlv-popup__scrollbar>.mlv-scrollbar__viewport{overflow-x:hidden}.mlv-popup:after{content:\"\";position:absolute;inset:-.5rem;background:transparent;z-index:1}.mlv-popup--shadow{filter:drop-shadow(0 .75rem 1.75rem rgba(0,0,0,.12));box-shadow:var(--mlv-shadow-floating)}.mlv-popup--fullscreen{--mlv-popup-enter-from-translate-y: 100%;--mlv-popup-enter-from-scale: 1;--mlv-popup-enter-from-opacity: 1;--mlv-popup-leave-to-translate-y: 100%;--mlv-popup-leave-to-scale: 1;--mlv-popup-leave-to-opacity: 1;--mlv-popup-transform-origin: bottom center;width:100%;height:100%;max-height:none;border:none;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mlv-popup--fullscreen .mlv-popup__scrollbar>.mlv-scrollbar__viewport{-webkit-overflow-scrolling:touch}.mlv-popup--fullscreen .mlv-popup__inner{padding:var(--mlv-spacing-4)}.mlv-popup__header{display:flex;flex-direction:column;gap:var(--mlv-spacing-3);flex:0 0 auto;padding:var(--mlv-spacing-3) var(--mlv-spacing-4);border-bottom:var(--mlv-popup-border);position:relative;z-index:2}.mlv-popup__header-row{display:flex;align-items:center;gap:var(--mlv-spacing-3)}.mlv-popup__header-content{display:flex;flex-direction:column}.mlv-popup__title{font-family:var(--mlv-typography-family-heading);font-size:var(--mlv-font-size-l);font-weight:var(--mlv-font-weight-semibold);color:var(--mlv-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mlv-popup__close{margin-inline-start:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--mlv-height-s);height:var(--mlv-height-s);border:none;background:transparent;color:var(--mlv-text-secondary);border-radius:var(--mlv-radius-full);cursor:pointer;transition:background-color var(--mlv-duration-fast) var(--mlv-ease-default),color var(--mlv-duration-fast) var(--mlv-ease-default)}.mlv-popup__close:hover{background-color:var(--mlv-background-neutral-1-hover);color:var(--mlv-text-primary)}.mlv-popup__close:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}.mlv-popup--arrow:before{content:\"\";position:absolute;width:.75rem;height:.75rem;background-color:var(--mlv-popup-bg);border:var(--mlv-popup-border);z-index:1}.mlv-popup--arrow-top:before{top:-.4375rem;border-inline-end:none;border-bottom:none;transform:rotate(45deg)}.mlv-popup--arrow-bottom:before{bottom:-.4375rem;border-inline-start:none;border-top:none;transform:rotate(45deg)}.mlv-popup--arrow-left:before{left:-.4375rem;border-inline-end:none;border-top:none;transform:rotate(45deg)}.mlv-popup--arrow-right:before{right:-.4375rem;border-inline-start:none;border-bottom:none;transform:rotate(45deg)}.mlv-popup--arrow-start.mlv-popup--arrow-top:before,.mlv-popup--arrow-start.mlv-popup--arrow-bottom:before{left:1rem}.mlv-popup--arrow-start.mlv-popup--arrow-left:before,.mlv-popup--arrow-start.mlv-popup--arrow-right:before{top:1rem}.mlv-popup--arrow-center.mlv-popup--arrow-top:before,.mlv-popup--arrow-center.mlv-popup--arrow-bottom:before{left:50%;margin-inline-start:-.375rem}.mlv-popup--arrow-center.mlv-popup--arrow-left:before,.mlv-popup--arrow-center.mlv-popup--arrow-right:before{top:50%;margin-top:-.375rem}.mlv-popup--arrow-end.mlv-popup--arrow-top:before,.mlv-popup--arrow-end.mlv-popup--arrow-bottom:before{right:1rem}.mlv-popup--arrow-end.mlv-popup--arrow-left:before,.mlv-popup--arrow-end.mlv-popup--arrow-right:before{bottom:1rem}.cdk-overlay-connected-position-bounding-box .cdk-overlay-pane{max-height:inherit}.mlv-popup-fullscreen-pane{width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh}.mlv-popup-fullscreen-backdrop{background-color:var(--mlv-background-overlay)}}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MlvScrollbar, selector: "mlv-scrollbar", inputs: ["orientation", "scrollbarSize", "disabled", "ariaLabel", "viewportTabIndex"] }, { kind: "component", type: MlvButtonClose, selector: "mlv-button-close", inputs: ["variant", "shape", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
792
+ }
793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopup, decorators: [{
794
+ type: Component,
795
+ args: [{ selector: 'mlv-popup', imports: [
796
+ OverlayModule,
797
+ A11yModule,
798
+ PortalModule,
799
+ NgTemplateOutlet,
800
+ MlvScrollbar,
801
+ MlvButtonClose,
802
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #popupTemplate>\n <div\n class=\"mlv-popup\"\n [style.--mlv-popup-hidden-transform]=\"popupHiddenTransform()\"\n [class]=\"_panelClasses()\"\n [class.mlv-popup--fullscreen]=\"isFullscreen()\"\n [class.mlv-popup--arrow]=\"hasArrow() && !isFullscreen()\"\n [class.mlv-popup--shadow]=\"hasShadow() && !isFullscreen()\"\n [class.mlv-popup--arrow-top]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'top'\"\n [class.mlv-popup--arrow-bottom]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'bottom'\"\n [class.mlv-popup--arrow-left]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'left'\"\n [class.mlv-popup--arrow-right]=\"hasArrow() && !isFullscreen() && arrowEdge() === 'right'\"\n [class.mlv-popup--arrow-start]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'start'\"\n [class.mlv-popup--arrow-center]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'center'\"\n [class.mlv-popup--arrow-end]=\"hasArrow() && !isFullscreen() && arrowAlign() === 'end'\"\n [class.mlv-popup--enter]=\"animationState() === 'enter'\"\n [class.mlv-popup--leave]=\"animationState() === 'leave'\"\n (animationend)=\"onAnimationEnd()\"\n [attr.role]=\"panelRole()\"\n [attr.aria-modal]=\"modal() ? 'true' : null\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [cdkTrapFocus]=\"modal() || isFullscreen()\"\n >\n @if (isFullscreen()) {\n <div class=\"mlv-popup__header\">\n <div class=\"mlv-popup__header-row\">\n @if (mobileTitle(); as title) {\n <span class=\"mlv-popup__title\">{{ title }}</span>\n }\n <mlv-button-close\n class=\"mlv-popup__close\"\n [ariaLabel]=\"_closeLabel()\"\n (click)=\"_onCloseClick()\"\n variant=\"secondary\"\n ></mlv-button-close>\n </div>\n @if (headerContentRef(); as headerTpl) {\n <div class=\"mlv-popup__header-content\">\n <ng-template [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n </div>\n }\n </div>\n } @if (pinnedContentRef(); as pinnedTpl) {\n <div class=\"mlv-popup__pinned\">\n <ng-template [ngTemplateOutlet]=\"pinnedTpl.templateRef\" />\n </div>\n }\n <mlv-scrollbar class=\"mlv-popup__scrollbar\">\n <div class=\"mlv-popup__inner\">\n @if (contentRef(); as contentTpl) {\n <ng-template [ngTemplateOutlet]=\"contentTpl.templateRef\" />\n }\n </div>\n </mlv-scrollbar>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";@layer mlv.components{.mlv-popup{--mlv-popup-bg: var(--mlv-elevation-bg-3);--mlv-popup-border: .0625rem solid var(--mlv-border-subtle);background-color:var(--mlv-popup-bg);color:var(--mlv-text-primary);border:var(--mlv-popup-border);border-radius:var(--mlv-popover-surface-radius);max-height:inherit;display:flex;flex-direction:column;position:relative;width:100%}.mlv-popup__scrollbar{position:relative;z-index:2;flex:1 1 auto;width:100%;min-height:0}.mlv-popup__pinned{flex:0 0 auto;position:relative;z-index:3}.mlv-popup__inner{display:flex;flex-direction:column;min-height:100%}.mlv-popup__scrollbar>.mlv-scrollbar__viewport{overflow-x:hidden}.mlv-popup:after{content:\"\";position:absolute;inset:-.5rem;background:transparent;z-index:1}.mlv-popup--shadow{filter:drop-shadow(0 .75rem 1.75rem rgba(0,0,0,.12));box-shadow:var(--mlv-shadow-floating)}.mlv-popup--fullscreen{--mlv-popup-enter-from-translate-y: 100%;--mlv-popup-enter-from-scale: 1;--mlv-popup-enter-from-opacity: 1;--mlv-popup-leave-to-translate-y: 100%;--mlv-popup-leave-to-scale: 1;--mlv-popup-leave-to-opacity: 1;--mlv-popup-transform-origin: bottom center;width:100%;height:100%;max-height:none;border:none;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mlv-popup--fullscreen .mlv-popup__scrollbar>.mlv-scrollbar__viewport{-webkit-overflow-scrolling:touch}.mlv-popup--fullscreen .mlv-popup__inner{padding:var(--mlv-spacing-4)}.mlv-popup__header{display:flex;flex-direction:column;gap:var(--mlv-spacing-3);flex:0 0 auto;padding:var(--mlv-spacing-3) var(--mlv-spacing-4);border-bottom:var(--mlv-popup-border);position:relative;z-index:2}.mlv-popup__header-row{display:flex;align-items:center;gap:var(--mlv-spacing-3)}.mlv-popup__header-content{display:flex;flex-direction:column}.mlv-popup__title{font-family:var(--mlv-typography-family-heading);font-size:var(--mlv-font-size-l);font-weight:var(--mlv-font-weight-semibold);color:var(--mlv-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mlv-popup__close{margin-inline-start:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--mlv-height-s);height:var(--mlv-height-s);border:none;background:transparent;color:var(--mlv-text-secondary);border-radius:var(--mlv-radius-full);cursor:pointer;transition:background-color var(--mlv-duration-fast) var(--mlv-ease-default),color var(--mlv-duration-fast) var(--mlv-ease-default)}.mlv-popup__close:hover{background-color:var(--mlv-background-neutral-1-hover);color:var(--mlv-text-primary)}.mlv-popup__close:focus-visible{outline:var(--mlv-stroke-width-medium) solid var(--mlv-border-focus);outline-offset:var(--mlv-focus-ring-offset)}.mlv-popup--arrow:before{content:\"\";position:absolute;width:.75rem;height:.75rem;background-color:var(--mlv-popup-bg);border:var(--mlv-popup-border);z-index:1}.mlv-popup--arrow-top:before{top:-.4375rem;border-inline-end:none;border-bottom:none;transform:rotate(45deg)}.mlv-popup--arrow-bottom:before{bottom:-.4375rem;border-inline-start:none;border-top:none;transform:rotate(45deg)}.mlv-popup--arrow-left:before{left:-.4375rem;border-inline-end:none;border-top:none;transform:rotate(45deg)}.mlv-popup--arrow-right:before{right:-.4375rem;border-inline-start:none;border-bottom:none;transform:rotate(45deg)}.mlv-popup--arrow-start.mlv-popup--arrow-top:before,.mlv-popup--arrow-start.mlv-popup--arrow-bottom:before{left:1rem}.mlv-popup--arrow-start.mlv-popup--arrow-left:before,.mlv-popup--arrow-start.mlv-popup--arrow-right:before{top:1rem}.mlv-popup--arrow-center.mlv-popup--arrow-top:before,.mlv-popup--arrow-center.mlv-popup--arrow-bottom:before{left:50%;margin-inline-start:-.375rem}.mlv-popup--arrow-center.mlv-popup--arrow-left:before,.mlv-popup--arrow-center.mlv-popup--arrow-right:before{top:50%;margin-top:-.375rem}.mlv-popup--arrow-end.mlv-popup--arrow-top:before,.mlv-popup--arrow-end.mlv-popup--arrow-bottom:before{right:1rem}.mlv-popup--arrow-end.mlv-popup--arrow-left:before,.mlv-popup--arrow-end.mlv-popup--arrow-right:before{bottom:1rem}.cdk-overlay-connected-position-bounding-box .cdk-overlay-pane{max-height:inherit}.mlv-popup-fullscreen-pane{width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh}.mlv-popup-fullscreen-backdrop{background-color:var(--mlv-background-overlay)}}\n"] }]
803
+ }], ctorParameters: () => [], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], positions: [{ type: i0.Input, args: [{ isSignal: true, alias: "positions", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], hasArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasArrow", required: false }] }], hasShadow: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasShadow", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], mlvDensity: [{ type: i0.Input, args: [{ isSignal: true, alias: "mlvDensity", required: false }] }], flexibleDimensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "flexibleDimensions", required: false }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], restrictPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "restrictPosition", required: false }] }], panelRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelRole", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], dismissExcludeElements: [{ type: i0.Input, args: [{ isSignal: true, alias: "dismissExcludeElements", required: false }] }], mobileMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileMode", required: false }] }], mobileBreakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileBreakpoint", required: false }] }], mobileTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileTitle", required: false }] }], mobileCloseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileCloseLabel", required: false }] }], opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }, { type: i0.Output, args: ["openedChange"] }], afterOpened: [{ type: i0.Output, args: ["afterOpened"] }], afterClosed: [{ type: i0.Output, args: ["afterClosed"] }], contentRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvPopupContent), { isSignal: true }] }], headerContentRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvPopupHeaderContent), { isSignal: true }] }], pinnedContentRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvPopupPinnedContent), { isSignal: true }] }], popupTemplate: [{ type: i0.ViewChild, args: ['popupTemplate', { isSignal: true }] }] } });
804
+
805
+ // ---------------------------------------------------------------------------
806
+ // Service
807
+ // ---------------------------------------------------------------------------
808
+ /**
809
+ * Low-level CDK overlay service for Malva UI popup components.
810
+ *
811
+ * Handles overlay creation, portal attachment, position strategy,
812
+ * backdrop clicks, and Escape-key closure.
813
+ *
814
+ * For template-driven usage prefer `[mlvPopupTrigger]` or
815
+ * `<mlv-popup-container>`. Use this service directly only when you need
816
+ * full programmatic control.
817
+ *
818
+ * @example Programmatic usage
819
+ * ```ts
820
+ * const handle = this.popupService.open({
821
+ * origin: this.triggerRef,
822
+ * template: this.tpl,
823
+ * vcr: this.vcr,
824
+ * positions: this.popupService.resolvePositions(['bottom', 'top']),
825
+ * onClose: () => this.isOpen.set(false),
826
+ * });
827
+ * // Later:
828
+ * handle.close();
829
+ * ```
830
+ */
831
+ class MlvPopupService {
832
+ /** @private CDK overlay service. */
833
+ _overlay = inject(Overlay);
834
+ /**
835
+ * @private Resolves the direction scoped to each popup's origin so portaled
836
+ * panes mirror with their trigger rather than with the document.
837
+ */
838
+ _rtl = inject(MlvRtlService);
839
+ /** @private Active named-position map (overridable via `POPUP_POSITIONS` token). */
840
+ _positionMap = inject(POPUP_POSITIONS);
841
+ /** @private Angular zone for running document-level event handlers inside change detection. */
842
+ _ngZone = inject(NgZone);
843
+ // ─── Public API ────────────────────────────────────────────────────────────
844
+ /**
845
+ * Resolves one or more {@link MlvPopupPositionName} strings to CDK
846
+ * `ConnectedPosition` objects.
847
+ *
848
+ * Positions are resolved from the active `POPUP_POSITIONS` map. If a name
849
+ * is not found, it is skipped and a `console.warn` is emitted in dev mode.
850
+ * CDK uses the first position in the returned array that fits in the viewport.
851
+ *
852
+ * @param names — A single name or ordered array of fallback names.
853
+ *
854
+ * @example
855
+ * ```ts
856
+ * positions: this.popupService.resolvePositions('bottom-end')
857
+ * positions: this.popupService.resolvePositions(['bottom-end', 'top-end'])
858
+ * ```
859
+ */
860
+ resolvePositions(names) {
861
+ return MlvPopupPositionResolver.resolve(names, this._positionMap);
862
+ }
863
+ /**
864
+ * Creates a CDK overlay, attaches the given template portal, and wires up
865
+ * backdrop and Escape-key closure.
866
+ *
867
+ * @param config — Full overlay configuration.
868
+ * @returns A {@link MlvPopupHandle} with the `overlayRef` and a `close()` method.
869
+ */
870
+ open(config) {
871
+ const fullscreen = config.fullscreen ?? false;
872
+ const flexible = config.flexibleDimensions ?? false;
873
+ // Full-screen mode uses a global (viewport-centred) strategy that the pane
874
+ // stretches to fill; the connected positions are irrelevant. Otherwise use
875
+ // the trigger-anchored flexible-connected strategy (unchanged behaviour).
876
+ // withPush(false) for 'reposition': the overlay moves with the trigger and
877
+ // naturally disappears when the trigger scrolls out of the viewport.
878
+ // withPush(true) for all other strategies: CDK keeps the overlay inside the
879
+ // viewport until the strategy itself decides what to do (close, block, noop).
880
+ const push = (config.scrollStrategy ?? 'reposition') !== 'reposition';
881
+ const positionStrategy = fullscreen
882
+ ? this._overlay.position().global()
883
+ : this._overlay
884
+ .position()
885
+ .flexibleConnectedTo(config.origin)
886
+ .withPositions(config.positions)
887
+ .withPush(push)
888
+ .withFlexibleDimensions(flexible)
889
+ .withGrowAfterOpen(flexible);
890
+ // The backdrop is always shown in full-screen mode regardless of the
891
+ // trigger's preference (it doubles as the scrim behind the sheet).
892
+ const hasBackdrop = fullscreen ? true : (config.hasBackdrop ?? true);
893
+ const overlayRef = this._overlay.create({
894
+ positionStrategy,
895
+ // The pane is portaled to the overlay container on <body>, outside any
896
+ // `[dir]` scope the origin sits in, so the origin's direction has to be
897
+ // passed explicitly. It also drives `start`/`end` position mirroring in
898
+ // `FlexibleConnectedPositionStrategy`.
899
+ direction: this._rtl.resolveDirection(config.origin),
900
+ hasBackdrop,
901
+ ...(hasBackdrop
902
+ ? {
903
+ backdropClass: fullscreen
904
+ ? 'mlv-popup-fullscreen-backdrop'
905
+ : (config.backdropClass ?? 'cdk-overlay-transparent-backdrop'),
906
+ }
907
+ : {}),
908
+ // Full-screen locks the page behind the sheet (no layout shift — the block
909
+ // strategy compensates for the removed scrollbar width).
910
+ scrollStrategy: fullscreen
911
+ ? this._overlay.scrollStrategies.block()
912
+ : this._resolveScrollStrategy(config.scrollStrategy),
913
+ ...(fullscreen
914
+ ? { panelClass: 'mlv-popup-fullscreen-pane' }
915
+ : config.size),
916
+ });
917
+ const portal = new TemplatePortal(config.template, config.vcr);
918
+ overlayRef.attach(portal);
919
+ // Position changes only occur for the connected strategy; the global
920
+ // (full-screen) strategy exposes no positionChanges stream.
921
+ if (config.onPositionChange && !fullscreen) {
922
+ positionStrategy.positionChanges.subscribe(config.onPositionChange);
923
+ }
924
+ // Collect cleanup callbacks so they all run on close regardless of how it was triggered.
925
+ const cleanups = [];
926
+ // The direction is resolved once above, but the pane now lives outside the
927
+ // origin's `[dir]` scope: nothing re-mirrors it if the direction flips while
928
+ // the popup is open. Without this the pane keeps its stale `dir` (its content
929
+ // stays LTR under an RTL page) and the connected strategy keeps resolving
930
+ // `start`/`end` against the old direction, so the panel stays put while the
931
+ // trigger moves to the other edge.
932
+ cleanups.push(this._rtl.watchDirection(config.origin, (direction) => {
933
+ overlayRef.setDirection(direction);
934
+ overlayRef.updatePosition();
935
+ }));
936
+ let disposed = false;
937
+ const close = () => {
938
+ if (disposed)
939
+ return;
940
+ disposed = true;
941
+ for (const fn of cleanups)
942
+ fn();
943
+ overlayRef.dispose();
944
+ config.onClose();
945
+ };
946
+ // Detect when CDK closes the overlay externally (e.g. CloseScrollStrategy calls
947
+ // overlayRef.detach() — bypassing our close() — leaving handle/opened out of sync).
948
+ const detachSub = overlayRef.detachments().subscribe(() => close());
949
+ cleanups.push(() => detachSub.unsubscribe());
950
+ const requestClose = config.onRequestClose ?? close;
951
+ if (hasBackdrop) {
952
+ const sub = overlayRef.backdropClick().subscribe(() => requestClose());
953
+ cleanups.push(() => sub.unsubscribe());
954
+ }
955
+ else {
956
+ // Defer the document listener to avoid catching the same click that opened the popup.
957
+ const excludeElements = config.dismissExcludeElements ?? [];
958
+ const timerId = setTimeout(() => {
959
+ const handler = (event) => {
960
+ const target = event.target;
961
+ const insidePanel = overlayRef.hasAttached() &&
962
+ overlayRef.overlayElement.contains(target);
963
+ // Clicks on the trigger/anchor (outside the floating panel) are not
964
+ // "outside" — e.g. repositioning the caret in a combobox's input
965
+ // must not dismiss its open list.
966
+ const insideExcluded = excludeElements.some((el) => el.contains(target));
967
+ if (overlayRef.hasAttached() && !insidePanel && !insideExcluded) {
968
+ this._ngZone.run(() => requestClose());
969
+ }
970
+ };
971
+ document.addEventListener('click', handler, true);
972
+ cleanups.push(() => document.removeEventListener('click', handler, true));
973
+ }, 0);
974
+ cleanups.push(() => clearTimeout(timerId));
975
+ }
976
+ const keySub = overlayRef.keydownEvents().subscribe((event) => {
977
+ if (event.key === 'Escape') {
978
+ requestClose();
979
+ event.preventDefault();
980
+ }
981
+ });
982
+ cleanups.push(() => keySub.unsubscribe());
983
+ return { overlayRef, close };
984
+ }
985
+ /**
986
+ * @private Maps a {@link MlvPopupScrollStrategy} name to a CDK scroll-strategy instance.
987
+ */
988
+ _resolveScrollStrategy(strategy = 'reposition') {
989
+ switch (strategy) {
990
+ case 'close':
991
+ return this._overlay.scrollStrategies.close();
992
+ case 'block':
993
+ return this._overlay.scrollStrategies.block();
994
+ case 'noop':
995
+ return this._overlay.scrollStrategies.noop();
996
+ default:
997
+ return this._overlay.scrollStrategies.reposition();
998
+ }
999
+ }
1000
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1001
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupService, providedIn: 'root' });
1002
+ }
1003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupService, decorators: [{
1004
+ type: Injectable,
1005
+ args: [{ providedIn: 'root' }]
1006
+ }] });
1007
+
1008
+ /**
1009
+ * Injection token for the nearest `MlvPopupContainer`.
1010
+ *
1011
+ * Used by `MlvPopupTrigger` to detect container mode and delegate
1012
+ * open/close/toggle calls without creating a conflicting overlay.
1013
+ */
1014
+ const POPUP_CONTAINER = new InjectionToken('POPUP_CONTAINER');
1015
+
1016
+ const HOVER_CLOSE_DELAY = 20;
1017
+ class MlvPopupTrigger {
1018
+ /** @private Low-level overlay API used in standalone mode. */
1019
+ _popupService = inject(MlvPopupService);
1020
+ /** @private Host element ref used as the overlay anchor. */
1021
+ _elementRef = inject(ElementRef);
1022
+ /** @private View container used to instantiate the popup template portal. */
1023
+ _vcr = inject(ViewContainerRef);
1024
+ /** @private Zone used to re-enter Angular after out-of-zone hover timers. */
1025
+ _ngZone = inject(NgZone);
1026
+ /**
1027
+ * Optional injection of a parent {@link MlvPopupContainer}.
1028
+ *
1029
+ * When present the trigger operates in **container mode**: it delegates
1030
+ * open/close/toggle to the container instead of creating its own overlay,
1031
+ * and registers its host element as the visual anchor.
1032
+ *
1033
+ * When absent the trigger operates in **standalone mode** and manages the
1034
+ * overlay lifecycle itself (legacy behaviour).
1035
+ */
1036
+ _container = inject(POPUP_CONTAINER, { optional: true });
1037
+ /** @private The active overlay handle in standalone mode, or `null` when closed. */
1038
+ _handle = null;
1039
+ /** @private Guards against re-triggering the leave animation while already closing. */
1040
+ _closing = false;
1041
+ /** @private Subscription to the popup's leave-animation-done stream. */
1042
+ _leaveSubscription = null;
1043
+ /** @private Pending hover-close timer handle, or `null` when none is scheduled. */
1044
+ _hoverCloseTimer = null;
1045
+ /**
1046
+ * @private Last-resort timer that force-detaches an overlay whose leave never
1047
+ * completed — without it a lost `animationState` write latches `_closing`
1048
+ * with no path back to a detach.
1049
+ */
1050
+ _detachWatchdog = null;
1051
+ /** @private Teardown callbacks for the overlay hover mouse listeners. */
1052
+ _overlayMouseListeners = [];
1053
+ /**
1054
+ * The `MlvPopup` to control.
1055
+ *
1056
+ * **Standalone mode** (no parent `mlv-popup-container`): must be bound to the
1057
+ * target `<mlv-popup>` element: `[mlvPopupTrigger]="myPopup"`.
1058
+ *
1059
+ * **Container mode** (inside `mlv-popup-container`): can be used as a bare
1060
+ * attribute (`mlvPopupTrigger`) without a value — the container already holds
1061
+ * the popup reference and orchestrates the overlay. The empty-string value from
1062
+ * the bare attribute is coerced to `undefined` by the transform.
1063
+ */
1064
+ mlvPopupTrigger = input(undefined, { ...(ngDevMode ? { debugName: "mlvPopupTrigger" } : /* istanbul ignore next */ {}), transform: (v) => typeof v === 'string' ? undefined : v });
1065
+ /** One or more event types that open the popup. Defaults to `'click'`. */
1066
+ triggerOn = input('click', /* @ts-ignore */
1067
+ ...(ngDevMode ? [{ debugName: "triggerOn" }] : /* istanbul ignore next */ []));
1068
+ /**
1069
+ * Value applied to the trigger's `aria-haspopup` attribute. Should match the
1070
+ * semantic role of the popup panel's content — e.g. `'menu'` for a menu
1071
+ * flyout, `'listbox'` for a select, `'dialog'` for a modal surface. Defaults
1072
+ * to `'dialog'` for backwards compatibility. Set to `null` to omit the
1073
+ * attribute entirely (e.g. for a tooltip-only popup).
1074
+ */
1075
+ ariaHasPopup = input('dialog', /* @ts-ignore */
1076
+ ...(ngDevMode ? [{ debugName: "ariaHasPopup" }] : /* istanbul ignore next */ []));
1077
+ /** @protected Whether the associated popup is currently open. */
1078
+ _isOpen = computed(() => {
1079
+ const popup = this.mlvPopupTrigger();
1080
+ if (popup)
1081
+ return popup.opened();
1082
+ if (this._container)
1083
+ return this._container.isOpen?.() ?? false;
1084
+ return false;
1085
+ }, /* @ts-ignore */
1086
+ ...(ngDevMode ? [{ debugName: "_isOpen" }] : /* istanbul ignore next */ []));
1087
+ constructor() {
1088
+ if (this._container) {
1089
+ // ── Container mode ──────────────────────────────────────────────────
1090
+ // Register this element as the overlay anchor. Re-runs if triggerOn changes
1091
+ // so the container can update its backdrop preference accordingly.
1092
+ const container = this._container;
1093
+ effect(() => {
1094
+ container.registerTrigger(this._elementRef, !this.hasTrigger('hover'));
1095
+ });
1096
+ }
1097
+ else {
1098
+ // ── Standalone mode ─────────────────────────────────────────────────
1099
+ // Watch the popup's opened signal and manage the CDK overlay ourselves.
1100
+ effect(() => {
1101
+ const popup = this.mlvPopupTrigger();
1102
+ if (!popup)
1103
+ return;
1104
+ const isOpen = popup.opened();
1105
+ if (isOpen && !this._handle) {
1106
+ this._attachOverlay();
1107
+ }
1108
+ else if (!isOpen && this._handle && !this._closing) {
1109
+ this._startLeaveAnimation();
1110
+ }
1111
+ });
1112
+ }
1113
+ }
1114
+ open() {
1115
+ if (this._container) {
1116
+ this._container.open();
1117
+ }
1118
+ else {
1119
+ this.mlvPopupTrigger()?.opened.set(true);
1120
+ }
1121
+ }
1122
+ close() {
1123
+ if (this._container) {
1124
+ this._container.close();
1125
+ }
1126
+ else {
1127
+ this.mlvPopupTrigger()?.opened.set(false);
1128
+ }
1129
+ }
1130
+ toggle() {
1131
+ if (this._container) {
1132
+ this._container.toggle();
1133
+ }
1134
+ else if (this._handle) {
1135
+ this.close();
1136
+ }
1137
+ else {
1138
+ this.open();
1139
+ }
1140
+ }
1141
+ ngOnDestroy() {
1142
+ this._clearHoverTimer();
1143
+ this._clearDetachWatchdog();
1144
+ this._removeOverlayMouseListeners();
1145
+ this._cleanupSubscription();
1146
+ this._detachOverlay();
1147
+ }
1148
+ onClick() {
1149
+ if (this.hasTrigger('click')) {
1150
+ this.toggle();
1151
+ }
1152
+ }
1153
+ onMouseEnter() {
1154
+ if (this.hasTrigger('hover')) {
1155
+ this._clearHoverTimer();
1156
+ this.open();
1157
+ }
1158
+ }
1159
+ onMouseLeave() {
1160
+ if (this.hasTrigger('hover')) {
1161
+ this._scheduleHoverClose();
1162
+ }
1163
+ }
1164
+ onFocus() {
1165
+ if (this.hasTrigger('focus')) {
1166
+ this.open();
1167
+ }
1168
+ }
1169
+ onBlur() {
1170
+ if (this.hasTrigger('focus')) {
1171
+ this.close();
1172
+ }
1173
+ }
1174
+ hasTrigger(type) {
1175
+ const trigger = this.triggerOn();
1176
+ return Array.isArray(trigger) ? trigger.includes(type) : trigger === type;
1177
+ }
1178
+ /** @private Schedules a delayed close after the pointer leaves the trigger. */
1179
+ _scheduleHoverClose() {
1180
+ this._clearHoverTimer();
1181
+ this._hoverCloseTimer = setTimeout(() => {
1182
+ this._hoverCloseTimer = null;
1183
+ this._ngZone.run(() => this.close());
1184
+ }, HOVER_CLOSE_DELAY);
1185
+ }
1186
+ /** @private Cancels any pending hover-close timer. */
1187
+ _clearHoverTimer() {
1188
+ if (this._hoverCloseTimer !== null) {
1189
+ clearTimeout(this._hoverCloseTimer);
1190
+ this._hoverCloseTimer = null;
1191
+ }
1192
+ }
1193
+ /** @private Creates the CDK overlay and plays the enter animation (standalone mode). */
1194
+ _attachOverlay() {
1195
+ if (this._handle)
1196
+ return;
1197
+ const popup = this.mlvPopupTrigger();
1198
+ if (!popup)
1199
+ return;
1200
+ popup.animationState.set('idle');
1201
+ const isHover = this.hasTrigger('hover');
1202
+ this._handle = this._popupService.open({
1203
+ origin: this._elementRef,
1204
+ template: popup.popupTemplate(),
1205
+ vcr: this._vcr,
1206
+ positions: popup.resolvedPositions(),
1207
+ size: popup.buildSizeConfig(),
1208
+ fullscreen: popup.isFullscreen(),
1209
+ hasBackdrop: popup.hasBackdrop() ?? !isHover,
1210
+ scrollStrategy: popup.scrollStrategy(),
1211
+ onPositionChange: (change) => popup.updateArrowFromPosition(change.connectionPair),
1212
+ onClose: () => {
1213
+ this._removeOverlayMouseListeners();
1214
+ this._clearHoverTimer();
1215
+ this._clearDetachWatchdog();
1216
+ this._handle = null;
1217
+ this._closing = false;
1218
+ popup.animationState.set('idle');
1219
+ popup.opened.set(false);
1220
+ popup.afterClosed.emit();
1221
+ },
1222
+ onRequestClose: () => this.close(),
1223
+ });
1224
+ if (isHover) {
1225
+ this._addOverlayMouseListeners();
1226
+ }
1227
+ this._cleanupSubscription();
1228
+ this._leaveSubscription = popup.leaveAnimationDone$.subscribe(() => {
1229
+ this._detachOverlay();
1230
+ });
1231
+ // Deferred so the panel is in the DOM before the enter keyframes start;
1232
+ // `beginEnterAnimation()` refuses to overwrite a close that beat it here.
1233
+ queueMicrotask(() => popup.beginEnterAnimation());
1234
+ popup.afterOpened.emit();
1235
+ }
1236
+ /** @private Wires hover enter/leave listeners on the overlay panel to keep it open on hover. */
1237
+ _addOverlayMouseListeners() {
1238
+ if (!this._handle)
1239
+ return;
1240
+ const overlayEl = this._handle.overlayRef.overlayElement;
1241
+ const onEnter = () => this._clearHoverTimer();
1242
+ const onLeave = () => this._scheduleHoverClose();
1243
+ overlayEl.addEventListener('mouseenter', onEnter);
1244
+ overlayEl.addEventListener('mouseleave', onLeave);
1245
+ this._overlayMouseListeners = [
1246
+ () => overlayEl.removeEventListener('mouseenter', onEnter),
1247
+ () => overlayEl.removeEventListener('mouseleave', onLeave),
1248
+ ];
1249
+ }
1250
+ /** @private Removes the overlay hover listeners. */
1251
+ _removeOverlayMouseListeners() {
1252
+ for (const cleanup of this._overlayMouseListeners) {
1253
+ cleanup();
1254
+ }
1255
+ this._overlayMouseListeners = [];
1256
+ }
1257
+ /** @private Triggers the popup leave animation before detaching the overlay. */
1258
+ _startLeaveAnimation() {
1259
+ if (!this._handle)
1260
+ return;
1261
+ this._closing = true;
1262
+ this.mlvPopupTrigger()?.animationState.set('leave');
1263
+ this._armDetachWatchdog();
1264
+ }
1265
+ /** @private Tears down the overlay, its subscriptions, and pending timers. */
1266
+ _detachOverlay() {
1267
+ this._cleanupSubscription();
1268
+ this._clearDetachWatchdog();
1269
+ if (this._handle) {
1270
+ this._handle.close();
1271
+ }
1272
+ }
1273
+ /**
1274
+ * @private Arms the force-detach timer for the pending leave. Detaching is
1275
+ * what resets `_closing` and `_handle`, so a leave that never completes must
1276
+ * still end in a detach or the trigger latches permanently.
1277
+ */
1278
+ _armDetachWatchdog() {
1279
+ this._clearDetachWatchdog();
1280
+ this._detachWatchdog = setTimeout(() => {
1281
+ this._detachWatchdog = null;
1282
+ if (this._closing && this._handle) {
1283
+ this._detachOverlay();
1284
+ }
1285
+ }, POPUP_DETACH_WATCHDOG_MS);
1286
+ }
1287
+ /** @private Cancels a pending force-detach timer. */
1288
+ _clearDetachWatchdog() {
1289
+ if (this._detachWatchdog !== null) {
1290
+ clearTimeout(this._detachWatchdog);
1291
+ this._detachWatchdog = null;
1292
+ }
1293
+ }
1294
+ /** @private Unsubscribes from the leave-animation-done stream. */
1295
+ _cleanupSubscription() {
1296
+ this._leaveSubscription?.unsubscribe();
1297
+ this._leaveSubscription = null;
1298
+ }
1299
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1300
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: MlvPopupTrigger, isStandalone: true, selector: "[mlvPopupTrigger]", inputs: { mlvPopupTrigger: { classPropertyName: "mlvPopupTrigger", publicName: "mlvPopupTrigger", isSignal: true, isRequired: false, transformFunction: null }, triggerOn: { classPropertyName: "triggerOn", publicName: "triggerOn", isSignal: true, isRequired: false, transformFunction: null }, ariaHasPopup: { classPropertyName: "ariaHasPopup", publicName: "ariaHasPopup", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.aria-expanded": "_isOpen()", "attr.aria-haspopup": "ariaHasPopup()" } }, exportAs: ["mlvPopupTrigger"], ngImport: i0 });
1301
+ }
1302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupTrigger, decorators: [{
1303
+ type: Directive,
1304
+ args: [{
1305
+ selector: '[mlvPopupTrigger]',
1306
+ host: {
1307
+ '[attr.aria-expanded]': '_isOpen()',
1308
+ '[attr.aria-haspopup]': 'ariaHasPopup()',
1309
+ '(click)': 'onClick()',
1310
+ '(mouseenter)': 'onMouseEnter()',
1311
+ '(mouseleave)': 'onMouseLeave()',
1312
+ '(focus)': 'onFocus()',
1313
+ '(blur)': 'onBlur()',
1314
+ },
1315
+ exportAs: 'mlvPopupTrigger',
1316
+ }]
1317
+ }], ctorParameters: () => [], propDecorators: { mlvPopupTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "mlvPopupTrigger", required: false }] }], triggerOn: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerOn", required: false }] }], ariaHasPopup: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaHasPopup", required: false }] }] } });
1318
+
1319
+ class MlvPopupContainer {
1320
+ /** @private Low-level popup overlay service used to open/close the CDK overlay. */
1321
+ _popupService = inject(MlvPopupService);
1322
+ /** @private View container used as the anchor for the popup's template portal. */
1323
+ _vcr = inject(ViewContainerRef);
1324
+ /** @private Host element reference, used as the overlay origin when no trigger is registered. */
1325
+ _elementRef = inject(ElementRef);
1326
+ /** @private Handle to the currently-open overlay, or `null` when closed. */
1327
+ _handle = null;
1328
+ /** @private True while the leave animation is playing, before the overlay detaches. */
1329
+ _closing = false;
1330
+ /** @private Subscription to the popup's leave-animation-done stream. */
1331
+ _leaveSubscription = null;
1332
+ /**
1333
+ * @private Last-resort timer that force-detaches an overlay whose leave never
1334
+ * completed. The popup's own animation fallback normally gets there first;
1335
+ * this one also covers a lost `animationState` write, which would otherwise
1336
+ * latch `_closing` with no path back to a detach.
1337
+ */
1338
+ _detachWatchdog = null;
1339
+ /** @private Origin registered by a child `MlvPopupTrigger`, if any. */
1340
+ _triggerOrigin = null;
1341
+ /** @private Backdrop preference registered by a child `MlvPopupTrigger`. */
1342
+ _hasBackdrop = true;
1343
+ popup = contentChild.required(MlvPopup, /* @ts-ignore */
1344
+ ...(ngDevMode ? [{ debugName: "popup" }] : /* istanbul ignore next */ []));
1345
+ /**
1346
+ * Called by a child {@link MlvPopupTrigger} to register its host element
1347
+ * as the visual anchor for the CDK overlay.
1348
+ */
1349
+ registerTrigger(origin, hasBackdrop) {
1350
+ this._triggerOrigin = origin;
1351
+ this._hasBackdrop = hasBackdrop;
1352
+ }
1353
+ constructor() {
1354
+ effect(() => {
1355
+ const popup = this.popup();
1356
+ const isOpen = popup.opened();
1357
+ if (isOpen && !this._handle) {
1358
+ this._attachOverlay();
1359
+ }
1360
+ else if (!isOpen && this._handle && !this._closing) {
1361
+ this._startLeaveAnimation();
1362
+ }
1363
+ });
1364
+ }
1365
+ open() {
1366
+ if (this._handle)
1367
+ return;
1368
+ this.popup().opened.set(true);
1369
+ }
1370
+ close() {
1371
+ this.popup().opened.set(false);
1372
+ }
1373
+ toggle() {
1374
+ if (this._handle) {
1375
+ this.close();
1376
+ }
1377
+ else {
1378
+ this.open();
1379
+ }
1380
+ }
1381
+ /** Returns whether the popup is currently open. */
1382
+ isOpen() {
1383
+ return this.popup().opened();
1384
+ }
1385
+ ngOnDestroy() {
1386
+ this._cleanupSubscription();
1387
+ this._clearDetachWatchdog();
1388
+ this._detachOverlay();
1389
+ }
1390
+ /** @private Opens the CDK overlay for the popup and subscribes to its leave-animation completion. */
1391
+ _attachOverlay() {
1392
+ if (this._handle)
1393
+ return;
1394
+ const popup = this.popup();
1395
+ popup.animationState.set('idle');
1396
+ this._handle = this._popupService.open({
1397
+ origin: this._triggerOrigin ?? this._elementRef,
1398
+ template: popup.popupTemplate(),
1399
+ vcr: this._vcr,
1400
+ positions: popup.resolvedPositions(),
1401
+ size: popup.buildSizeConfig(),
1402
+ fullscreen: popup.isFullscreen(),
1403
+ hasBackdrop: popup.hasBackdrop() ?? this._hasBackdrop,
1404
+ scrollStrategy: popup.scrollStrategy(),
1405
+ flexibleDimensions: popup.flexibleDimensions(),
1406
+ dismissExcludeElements: popup.dismissExcludeElements(),
1407
+ onPositionChange: (change) => popup.updateArrowFromPosition(change.connectionPair),
1408
+ onClose: () => {
1409
+ this._clearDetachWatchdog();
1410
+ this._handle = null;
1411
+ this._closing = false;
1412
+ popup.animationState.set('idle');
1413
+ popup.opened.set(false);
1414
+ popup.afterClosed.emit();
1415
+ },
1416
+ onRequestClose: () => this.close(),
1417
+ });
1418
+ this._cleanupSubscription();
1419
+ this._leaveSubscription = popup.leaveAnimationDone$.subscribe(() => {
1420
+ this._detachOverlay();
1421
+ });
1422
+ // Deferred so the panel is in the DOM before the enter keyframes start;
1423
+ // `beginEnterAnimation()` refuses to overwrite a close that beat it here.
1424
+ queueMicrotask(() => popup.beginEnterAnimation());
1425
+ popup.afterOpened.emit();
1426
+ }
1427
+ /** @private Marks the container as closing and triggers the popup's leave animation. */
1428
+ _startLeaveAnimation() {
1429
+ if (!this._handle)
1430
+ return;
1431
+ this._closing = true;
1432
+ this.popup().animationState.set('leave');
1433
+ this._armDetachWatchdog();
1434
+ }
1435
+ /** @private Cleans up subscriptions, timers, and closes the overlay handle. */
1436
+ _detachOverlay() {
1437
+ this._cleanupSubscription();
1438
+ this._clearDetachWatchdog();
1439
+ if (this._handle) {
1440
+ this._handle.close();
1441
+ }
1442
+ }
1443
+ /**
1444
+ * @private Arms the force-detach timer for the pending leave. Detaching is
1445
+ * what resets `_closing` and `_handle`, so a leave that never completes must
1446
+ * still end in a detach or the container latches permanently.
1447
+ */
1448
+ _armDetachWatchdog() {
1449
+ this._clearDetachWatchdog();
1450
+ this._detachWatchdog = setTimeout(() => {
1451
+ this._detachWatchdog = null;
1452
+ if (this._closing && this._handle) {
1453
+ this._detachOverlay();
1454
+ }
1455
+ }, POPUP_DETACH_WATCHDOG_MS);
1456
+ }
1457
+ /** @private Cancels a pending force-detach timer. */
1458
+ _clearDetachWatchdog() {
1459
+ if (this._detachWatchdog !== null) {
1460
+ clearTimeout(this._detachWatchdog);
1461
+ this._detachWatchdog = null;
1462
+ }
1463
+ }
1464
+ /** @private Unsubscribes from and clears the leave-animation subscription. */
1465
+ _cleanupSubscription() {
1466
+ this._leaveSubscription?.unsubscribe();
1467
+ this._leaveSubscription = null;
1468
+ }
1469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
1470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: MlvPopupContainer, isStandalone: true, selector: "mlv-popup-container", providers: [{ provide: POPUP_CONTAINER, useExisting: MlvPopupContainer }], queries: [{ propertyName: "popup", first: true, predicate: MlvPopup, descendants: true, isSignal: true }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1471
+ }
1472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvPopupContainer, decorators: [{
1473
+ type: Component,
1474
+ args: [{
1475
+ selector: 'mlv-popup-container',
1476
+ template: `<ng-content />`,
1477
+ encapsulation: ViewEncapsulation.None,
1478
+ changeDetection: ChangeDetectionStrategy.OnPush,
1479
+ providers: [{ provide: POPUP_CONTAINER, useExisting: MlvPopupContainer }],
1480
+ }]
1481
+ }], ctorParameters: () => [], propDecorators: { popup: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvPopup), { isSignal: true }] }] } });
1482
+
1483
+ /**
1484
+ * Generated bundle index. Do not edit.
1485
+ */
1486
+
1487
+ export { MENU_POSITIONS, MlvPopup, MlvPopupContainer, MlvPopupContent, MlvPopupHeaderContent, MlvPopupPinnedContent, MlvPopupPositionResolver, MlvPopupService, MlvPopupTrigger, POPUP_CONTAINER, POPUP_DETACH_WATCHDOG_MS, POPUP_LEAVE_FALLBACK_MS, POPUP_POSITIONS, POPUP_POSITION_MAP, SUBMENU_POSITIONS, providePopupPositions };
1488
+ //# sourceMappingURL=malva-ui-core-popup.mjs.map