@malva-ui/core 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1619) hide show
  1. package/AGENTS.md +4 -1
  2. package/LICENSE +21 -0
  3. package/README.md +69 -3
  4. package/docs/ai/avatar.md +2 -0
  5. package/docs/ai/breadcrumb.md +67 -7
  6. package/docs/ai/button.md +74 -19
  7. package/docs/ai/card.md +8 -6
  8. package/docs/ai/chat.md +59 -45
  9. package/docs/ai/checkbox.md +12 -0
  10. package/docs/ai/combobox.md +18 -2
  11. package/docs/ai/copy-to-clipboard.md +1 -1
  12. package/docs/ai/core.md +15 -0
  13. package/docs/ai/data-table.md +89 -54
  14. package/docs/ai/dialog.md +76 -67
  15. package/docs/ai/drawer.md +15 -12
  16. package/docs/ai/dropdown.md +24 -19
  17. package/docs/ai/empty-state.md +3 -3
  18. package/docs/ai/filter.md +24 -5
  19. package/docs/ai/form-utils.md +160 -5
  20. package/docs/ai/icon-toggle.md +160 -0
  21. package/docs/ai/input.md +30 -0
  22. package/docs/ai/layout.md +23 -0
  23. package/docs/ai/list.md +10 -6
  24. package/docs/ai/menu.md +75 -1
  25. package/docs/ai/page.md +220 -60
  26. package/docs/ai/radio.md +9 -0
  27. package/docs/ai/scrollbar.md +30 -8
  28. package/docs/ai/segmented.md +35 -35
  29. package/docs/ai/select.md +30 -5
  30. package/docs/ai/sidebar.md +45 -27
  31. package/docs/ai/switch.md +114 -19
  32. package/docs/ai/table.md +69 -0
  33. package/docs/ai/tabs.md +2 -1
  34. package/docs/ai/tile.md +311 -85
  35. package/docs/ai/timeline.md +63 -39
  36. package/docs/ai/tokenizer.md +21 -5
  37. package/docs/ai/tooltip.md +5 -5
  38. package/docs/ai/view-variant.md +75 -0
  39. package/fesm2022/malva-ui-core-accordion.mjs +167 -0
  40. package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
  41. package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
  42. package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
  43. package/fesm2022/malva-ui-core-alert.mjs +173 -0
  44. package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
  45. package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
  46. package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
  47. package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
  48. package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
  49. package/fesm2022/malva-ui-core-avatar.mjs +247 -0
  50. package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
  51. package/fesm2022/malva-ui-core-badge.mjs +122 -0
  52. package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
  53. package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
  54. package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
  55. package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
  56. package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
  57. package/fesm2022/malva-ui-core-button.mjs +406 -0
  58. package/fesm2022/malva-ui-core-button.mjs.map +1 -0
  59. package/fesm2022/malva-ui-core-calendar.mjs +938 -0
  60. package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
  61. package/fesm2022/malva-ui-core-card.mjs +164 -0
  62. package/fesm2022/malva-ui-core-card.mjs.map +1 -0
  63. package/fesm2022/malva-ui-core-chat.mjs +825 -0
  64. package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
  65. package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
  66. package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
  67. package/fesm2022/malva-ui-core-chip.mjs +176 -0
  68. package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
  69. package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
  70. package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
  71. package/fesm2022/malva-ui-core-combobox.mjs +945 -0
  72. package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
  73. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
  74. package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
  75. package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
  76. package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
  77. package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
  78. package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
  79. package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
  80. package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
  81. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
  82. package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
  83. package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
  84. package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
  85. package/fesm2022/malva-ui-core-divider.mjs +80 -0
  86. package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
  87. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
  88. package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
  89. package/fesm2022/malva-ui-core-drawer.mjs +814 -0
  90. package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
  91. package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
  92. package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
  93. package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
  94. package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
  95. package/fesm2022/malva-ui-core-expand.mjs +130 -0
  96. package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
  97. package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
  98. package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
  99. package/fesm2022/malva-ui-core-filter.mjs +1627 -0
  100. package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
  101. package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
  102. package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
  103. package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
  104. package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
  105. package/fesm2022/malva-ui-core-form.mjs +283 -0
  106. package/fesm2022/malva-ui-core-form.mjs.map +1 -0
  107. package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
  108. package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
  109. package/fesm2022/malva-ui-core-input.mjs +375 -0
  110. package/fesm2022/malva-ui-core-input.mjs.map +1 -0
  111. package/fesm2022/malva-ui-core-kbd.mjs +131 -0
  112. package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
  113. package/fesm2022/malva-ui-core-layout.mjs +212 -0
  114. package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
  115. package/fesm2022/malva-ui-core-link.mjs +89 -0
  116. package/fesm2022/malva-ui-core-link.mjs.map +1 -0
  117. package/fesm2022/malva-ui-core-list.mjs +413 -0
  118. package/fesm2022/malva-ui-core-list.mjs.map +1 -0
  119. package/fesm2022/malva-ui-core-loader.mjs +141 -0
  120. package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
  121. package/fesm2022/malva-ui-core-menu.mjs +2540 -0
  122. package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
  123. package/fesm2022/malva-ui-core-notification.mjs +201 -0
  124. package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
  125. package/fesm2022/malva-ui-core-number-input.mjs +404 -0
  126. package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
  127. package/fesm2022/malva-ui-core-page.mjs +1898 -0
  128. package/fesm2022/malva-ui-core-page.mjs.map +1 -0
  129. package/fesm2022/malva-ui-core-pagination.mjs +458 -0
  130. package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
  131. package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
  132. package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
  133. package/fesm2022/malva-ui-core-popup.mjs +1488 -0
  134. package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
  135. package/fesm2022/malva-ui-core-progress.mjs +109 -0
  136. package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
  137. package/fesm2022/malva-ui-core-radio.mjs +317 -0
  138. package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
  139. package/fesm2022/malva-ui-core-rating.mjs +236 -0
  140. package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
  141. package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
  142. package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
  143. package/fesm2022/malva-ui-core-search-field.mjs +578 -0
  144. package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
  145. package/fesm2022/malva-ui-core-segmented.mjs +458 -0
  146. package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
  147. package/fesm2022/malva-ui-core-select.mjs +855 -0
  148. package/fesm2022/malva-ui-core-select.mjs.map +1 -0
  149. package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
  150. package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
  151. package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
  152. package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
  153. package/fesm2022/malva-ui-core-slider.mjs +514 -0
  154. package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
  155. package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
  156. package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
  157. package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
  158. package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
  159. package/fesm2022/malva-ui-core-stepper.mjs +332 -0
  160. package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
  161. package/fesm2022/malva-ui-core-switch.mjs +272 -0
  162. package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
  163. package/fesm2022/malva-ui-core-table.mjs +79 -0
  164. package/fesm2022/malva-ui-core-table.mjs.map +1 -0
  165. package/fesm2022/malva-ui-core-tabs.mjs +794 -0
  166. package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
  167. package/fesm2022/malva-ui-core-textarea.mjs +201 -0
  168. package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
  169. package/fesm2022/malva-ui-core-tile.mjs +1404 -0
  170. package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
  171. package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
  172. package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
  173. package/fesm2022/malva-ui-core-timeline.mjs +216 -0
  174. package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
  175. package/fesm2022/malva-ui-core-title.mjs +178 -0
  176. package/fesm2022/malva-ui-core-title.mjs.map +1 -0
  177. package/fesm2022/malva-ui-core-toast.mjs +749 -0
  178. package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
  179. package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
  180. package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
  181. package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
  182. package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
  183. package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
  184. package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
  185. package/fesm2022/malva-ui-core-tree.mjs +505 -0
  186. package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
  187. package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
  188. package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
  189. package/fesm2022/malva-ui-core.mjs +77 -0
  190. package/fesm2022/malva-ui-core.mjs.map +1 -0
  191. package/package.json +195 -156
  192. package/styles/malva-ui.css +253 -220
  193. package/styles/tokens.md +174 -173
  194. package/table/README.md +46 -0
  195. package/types/malva-ui-core-accordion.d.ts +121 -0
  196. package/types/malva-ui-core-action-bar.d.ts +82 -0
  197. package/types/malva-ui-core-alert.d.ts +131 -0
  198. package/types/malva-ui-core-autocomplete.d.ts +301 -0
  199. package/types/malva-ui-core-avatar-group.d.ts +119 -0
  200. package/types/malva-ui-core-avatar.d.ts +156 -0
  201. package/types/malva-ui-core-badge.d.ts +97 -0
  202. package/types/malva-ui-core-bottom-nav.d.ts +104 -0
  203. package/types/malva-ui-core-breadcrumb.d.ts +308 -0
  204. package/types/malva-ui-core-button.d.ts +194 -0
  205. package/types/malva-ui-core-calendar.d.ts +339 -0
  206. package/types/malva-ui-core-card.d.ts +88 -0
  207. package/types/malva-ui-core-chat.d.ts +375 -0
  208. package/types/malva-ui-core-checkbox.d.ts +158 -0
  209. package/types/malva-ui-core-chip.d.ts +128 -0
  210. package/types/malva-ui-core-color-picker.d.ts +442 -0
  211. package/types/malva-ui-core-combobox.d.ts +419 -0
  212. package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
  213. package/types/malva-ui-core-data-table.d.ts +1074 -0
  214. package/types/malva-ui-core-date-range-picker.d.ts +149 -0
  215. package/types/malva-ui-core-day-picker.d.ts +55 -0
  216. package/types/malva-ui-core-dialog.d.ts +597 -0
  217. package/types/malva-ui-core-divider.d.ts +68 -0
  218. package/types/malva-ui-core-drawer.d.ts +333 -0
  219. package/types/malva-ui-core-dropdown.d.ts +592 -0
  220. package/types/malva-ui-core-empty-state.d.ts +37 -0
  221. package/types/malva-ui-core-expand.d.ts +102 -0
  222. package/types/malva-ui-core-file-upload.d.ts +267 -0
  223. package/types/malva-ui-core-filter.d.ts +552 -0
  224. package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
  225. package/types/malva-ui-core-form-utils.d.ts +579 -0
  226. package/types/malva-ui-core-form.d.ts +176 -0
  227. package/types/malva-ui-core-icon-toggle.d.ts +80 -0
  228. package/types/malva-ui-core-input.d.ts +262 -0
  229. package/types/malva-ui-core-kbd.d.ts +56 -0
  230. package/types/malva-ui-core-layout.d.ts +70 -0
  231. package/types/malva-ui-core-link.d.ts +28 -0
  232. package/types/malva-ui-core-list.d.ts +252 -0
  233. package/types/malva-ui-core-loader.d.ts +89 -0
  234. package/types/malva-ui-core-menu.d.ts +954 -0
  235. package/types/malva-ui-core-notification.d.ts +122 -0
  236. package/types/malva-ui-core-number-input.d.ts +167 -0
  237. package/types/malva-ui-core-page.d.ts +799 -0
  238. package/types/malva-ui-core-pagination.d.ts +261 -0
  239. package/types/malva-ui-core-pin-input.d.ts +203 -0
  240. package/types/malva-ui-core-popup.d.ts +834 -0
  241. package/types/malva-ui-core-progress.d.ts +73 -0
  242. package/types/malva-ui-core-radio.d.ts +130 -0
  243. package/types/malva-ui-core-rating.d.ts +115 -0
  244. package/types/malva-ui-core-scrollbar.d.ts +203 -0
  245. package/types/malva-ui-core-search-field.d.ts +408 -0
  246. package/types/malva-ui-core-segmented.d.ts +206 -0
  247. package/types/malva-ui-core-select.d.ts +456 -0
  248. package/types/malva-ui-core-sidebar.d.ts +698 -0
  249. package/types/malva-ui-core-skeleton.d.ts +64 -0
  250. package/types/malva-ui-core-slider.d.ts +219 -0
  251. package/types/malva-ui-core-split-pane.d.ts +149 -0
  252. package/types/malva-ui-core-status-indicator.d.ts +65 -0
  253. package/types/malva-ui-core-stepper.d.ts +168 -0
  254. package/types/malva-ui-core-switch.d.ts +146 -0
  255. package/types/malva-ui-core-table.d.ts +37 -0
  256. package/types/malva-ui-core-tabs.d.ts +339 -0
  257. package/types/malva-ui-core-textarea.d.ts +79 -0
  258. package/types/malva-ui-core-tile.d.ts +373 -0
  259. package/types/malva-ui-core-time-picker.d.ts +141 -0
  260. package/types/malva-ui-core-timeline.d.ts +188 -0
  261. package/types/malva-ui-core-title.d.ts +66 -0
  262. package/types/malva-ui-core-toast.d.ts +432 -0
  263. package/types/malva-ui-core-tokenizer.d.ts +217 -0
  264. package/types/malva-ui-core-toolbar.d.ts +91 -0
  265. package/types/malva-ui-core-tooltip.d.ts +200 -0
  266. package/types/malva-ui-core-tree.d.ts +289 -0
  267. package/types/malva-ui-core-view-variant.d.ts +207 -0
  268. package/types/malva-ui-core.d.ts +72 -0
  269. package/view-variant/README.md +3 -0
  270. package/accordion/index.d.ts +0 -3
  271. package/accordion/lib/accordion/accordion.d.ts +0 -47
  272. package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
  273. package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
  274. package/accordion/malva-ui-core-accordion.d.ts +0 -5
  275. package/action-bar/index.d.ts +0 -4
  276. package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
  277. package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
  278. package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
  279. package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
  280. package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
  281. package/alert/index.d.ts +0 -2
  282. package/alert/lib/alert/alert.d.ts +0 -84
  283. package/alert/lib/alert/alert.directives.d.ts +0 -44
  284. package/alert/malva-ui-core-alert.d.ts +0 -5
  285. package/autocomplete/index.d.ts +0 -1
  286. package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
  287. package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
  288. package/avatar/index.d.ts +0 -2
  289. package/avatar/lib/avatar/avatar.d.ts +0 -125
  290. package/avatar/lib/color-from-text.pipe.d.ts +0 -21
  291. package/avatar/malva-ui-core-avatar.d.ts +0 -5
  292. package/avatar-group/index.d.ts +0 -1
  293. package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
  294. package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
  295. package/badge/index.d.ts +0 -2
  296. package/badge/lib/badge/badge.d.ts +0 -59
  297. package/badge/lib/badge-icon.d.ts +0 -35
  298. package/badge/malva-ui-core-badge.d.ts +0 -5
  299. package/bottom-nav/index.d.ts +0 -1
  300. package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
  301. package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
  302. package/breadcrumb/index.d.ts +0 -5
  303. package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
  304. package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
  305. package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
  306. package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
  307. package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
  308. package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
  309. package/button/index.d.ts +0 -7
  310. package/button/lib/button/button.d.ts +0 -61
  311. package/button/lib/button-close/button-close.d.ts +0 -24
  312. package/button/lib/button-group/button-group.d.ts +0 -21
  313. package/button/lib/button-split/button-split.d.ts +0 -21
  314. package/button/lib/button-toggle/button-toggle.d.ts +0 -33
  315. package/button/lib/button-variant.token.d.ts +0 -13
  316. package/button/lib/button.directives.d.ts +0 -14
  317. package/button/lib/button.types.d.ts +0 -8
  318. package/button/malva-ui-core-button.d.ts +0 -5
  319. package/calendar/index.d.ts +0 -3
  320. package/calendar/lib/calendar/calendar.d.ts +0 -182
  321. package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
  322. package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
  323. package/calendar/malva-ui-core-calendar.d.ts +0 -5
  324. package/card/index.d.ts +0 -5
  325. package/card/lib/card/card.d.ts +0 -43
  326. package/card/lib/card-actions-def.d.ts +0 -10
  327. package/card/lib/card-footer-def.d.ts +0 -13
  328. package/card/lib/card-header-def.d.ts +0 -10
  329. package/card/lib/card-subheader-def.d.ts +0 -16
  330. package/card/malva-ui-core-card.d.ts +0 -5
  331. package/chat/index.d.ts +0 -9
  332. package/chat/lib/chat/chat.d.ts +0 -133
  333. package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
  334. package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
  335. package/chat/lib/chat-date/chat-date.d.ts +0 -16
  336. package/chat/lib/chat-format.d.ts +0 -5
  337. package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
  338. package/chat/lib/chat-message/chat-message.d.ts +0 -45
  339. package/chat/lib/chat-render-list.d.ts +0 -16
  340. package/chat/lib/chat-tokens.d.ts +0 -25
  341. package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
  342. package/chat/lib/chat.types.d.ts +0 -80
  343. package/chat/lib/defs/chat-author-def.d.ts +0 -30
  344. package/chat/lib/defs/chat-date-def.d.ts +0 -22
  345. package/chat/lib/defs/chat-message-def.d.ts +0 -23
  346. package/chat/malva-ui-core-chat.d.ts +0 -5
  347. package/checkbox/index.d.ts +0 -3
  348. package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
  349. package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
  350. package/checkbox/lib/checkbox-group-token.d.ts +0 -6
  351. package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
  352. package/chip/index.d.ts +0 -2
  353. package/chip/lib/chip/chip.d.ts +0 -107
  354. package/chip/lib/chip/chip.directives.d.ts +0 -18
  355. package/chip/malva-ui-core-chip.d.ts +0 -5
  356. package/color-picker/index.d.ts +0 -3
  357. package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
  358. package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
  359. package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
  360. package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
  361. package/combobox/index.d.ts +0 -2
  362. package/combobox/lib/combobox/combobox.d.ts +0 -400
  363. package/combobox/lib/combobox-template.directives.d.ts +0 -10
  364. package/combobox/malva-ui-core-combobox.d.ts +0 -5
  365. package/copy-to-clipboard/index.d.ts +0 -1
  366. package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
  367. package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
  368. package/data-table/index.d.ts +0 -8
  369. package/data-table/lib/data-source.d.ts +0 -5
  370. package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
  371. package/data-table/lib/data-table/data-table.d.ts +0 -699
  372. package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
  373. package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
  374. package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
  375. package/data-table/lib/data-table-cell.d.ts +0 -44
  376. package/data-table/lib/data-table-edit-cell.d.ts +0 -44
  377. package/data-table/lib/data-table-error.d.ts +0 -37
  378. package/data-table/lib/data-table-footer.d.ts +0 -26
  379. package/data-table/lib/data-table-no-data.d.ts +0 -19
  380. package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
  381. package/data-table/lib/types.d.ts +0 -134
  382. package/data-table/malva-ui-core-data-table.d.ts +0 -5
  383. package/date-range-picker/index.d.ts +0 -1
  384. package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
  385. package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
  386. package/day-picker/index.d.ts +0 -1
  387. package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
  388. package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
  389. package/dialog/index.d.ts +0 -11
  390. package/dialog/lib/confirm-dialog-options.d.ts +0 -41
  391. package/dialog/lib/confirm-dialog.d.ts +0 -52
  392. package/dialog/lib/dialog/dialog.d.ts +0 -22
  393. package/dialog/lib/dialog-body.d.ts +0 -9
  394. package/dialog/lib/dialog-close.d.ts +0 -27
  395. package/dialog/lib/dialog-config.d.ts +0 -112
  396. package/dialog/lib/dialog-container.d.ts +0 -40
  397. package/dialog/lib/dialog-footer.d.ts +0 -13
  398. package/dialog/lib/dialog-header.d.ts +0 -74
  399. package/dialog/lib/dialog-ref.d.ts +0 -95
  400. package/dialog/lib/dialog-template.d.ts +0 -65
  401. package/dialog/lib/dialog-text-content.d.ts +0 -24
  402. package/dialog/lib/dialog.service.d.ts +0 -63
  403. package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
  404. package/dialog/lib/inject-dialog-ref.d.ts +0 -8
  405. package/dialog/lib/routable-dialog.d.ts +0 -30
  406. package/dialog/malva-ui-core-dialog.d.ts +0 -5
  407. package/divider/index.d.ts +0 -1
  408. package/divider/lib/divider/divider.d.ts +0 -64
  409. package/divider/malva-ui-core-divider.d.ts +0 -5
  410. package/drawer/index.d.ts +0 -11
  411. package/drawer/lib/drawer/drawer.d.ts +0 -106
  412. package/drawer/lib/drawer-body.d.ts +0 -8
  413. package/drawer/lib/drawer-content.d.ts +0 -6
  414. package/drawer/lib/drawer-footer.d.ts +0 -5
  415. package/drawer/lib/drawer-header.d.ts +0 -5
  416. package/drawer/lib/drawer-ref.d.ts +0 -29
  417. package/drawer/lib/drawer-resize.d.ts +0 -65
  418. package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
  419. package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
  420. package/drawer/lib/drawer-sections.service.d.ts +0 -42
  421. package/drawer/lib/drawer.service.d.ts +0 -66
  422. package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
  423. package/drawer/lib/routable-drawer.d.ts +0 -30
  424. package/drawer/malva-ui-core-drawer.d.ts +0 -5
  425. package/dropdown/index.d.ts +0 -9
  426. package/dropdown/lib/active-descendant.d.ts +0 -64
  427. package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
  428. package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
  429. package/dropdown/lib/option-matcher.d.ts +0 -87
  430. package/dropdown/lib/options-adapter.d.ts +0 -142
  431. package/dropdown/lib/options-result.d.ts +0 -6
  432. package/dropdown/lib/reconciliation.d.ts +0 -19
  433. package/dropdown/lib/select-data-source.d.ts +0 -18
  434. package/dropdown/lib/select-option.d.ts +0 -37
  435. package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
  436. package/empty-state/index.d.ts +0 -1
  437. package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
  438. package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
  439. package/esm2022/accordion/index.js +0 -4
  440. package/esm2022/accordion/index.js.map +0 -1
  441. package/esm2022/accordion/lib/accordion/accordion.js +0 -65
  442. package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
  443. package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
  444. package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
  445. package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
  446. package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
  447. package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
  448. package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
  449. package/esm2022/action-bar/index.js +0 -5
  450. package/esm2022/action-bar/index.js.map +0 -1
  451. package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
  452. package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
  453. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
  454. package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
  455. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
  456. package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
  457. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
  458. package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
  459. package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
  460. package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
  461. package/esm2022/alert/index.js +0 -3
  462. package/esm2022/alert/index.js.map +0 -1
  463. package/esm2022/alert/lib/alert/alert.directives.js +0 -53
  464. package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
  465. package/esm2022/alert/lib/alert/alert.js +0 -118
  466. package/esm2022/alert/lib/alert/alert.js.map +0 -1
  467. package/esm2022/alert/malva-ui-core-alert.js +0 -5
  468. package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
  469. package/esm2022/autocomplete/index.js +0 -2
  470. package/esm2022/autocomplete/index.js.map +0 -1
  471. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
  472. package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
  473. package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
  474. package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
  475. package/esm2022/avatar/index.js +0 -3
  476. package/esm2022/avatar/index.js.map +0 -1
  477. package/esm2022/avatar/lib/avatar/avatar.js +0 -192
  478. package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
  479. package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
  480. package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
  481. package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
  482. package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
  483. package/esm2022/avatar-group/index.js +0 -2
  484. package/esm2022/avatar-group/index.js.map +0 -1
  485. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
  486. package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
  487. package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
  488. package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
  489. package/esm2022/badge/index.js +0 -3
  490. package/esm2022/badge/index.js.map +0 -1
  491. package/esm2022/badge/lib/badge/badge.js +0 -71
  492. package/esm2022/badge/lib/badge/badge.js.map +0 -1
  493. package/esm2022/badge/lib/badge-icon.js +0 -47
  494. package/esm2022/badge/lib/badge-icon.js.map +0 -1
  495. package/esm2022/badge/malva-ui-core-badge.js +0 -5
  496. package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
  497. package/esm2022/bottom-nav/index.js +0 -2
  498. package/esm2022/bottom-nav/index.js.map +0 -1
  499. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
  500. package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
  501. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
  502. package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
  503. package/esm2022/breadcrumb/index.js +0 -6
  504. package/esm2022/breadcrumb/index.js.map +0 -1
  505. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
  506. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
  507. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
  508. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
  509. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
  510. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
  511. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
  512. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
  513. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
  514. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
  515. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
  516. package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
  517. package/esm2022/button/index.js +0 -8
  518. package/esm2022/button/index.js.map +0 -1
  519. package/esm2022/button/lib/button/button.js +0 -137
  520. package/esm2022/button/lib/button/button.js.map +0 -1
  521. package/esm2022/button/lib/button-close/button-close.js +0 -52
  522. package/esm2022/button/lib/button-close/button-close.js.map +0 -1
  523. package/esm2022/button/lib/button-group/button-group.js +0 -44
  524. package/esm2022/button/lib/button-group/button-group.js.map +0 -1
  525. package/esm2022/button/lib/button-split/button-split.js +0 -44
  526. package/esm2022/button/lib/button-split/button-split.js.map +0 -1
  527. package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
  528. package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
  529. package/esm2022/button/lib/button-variant.token.js +0 -4
  530. package/esm2022/button/lib/button-variant.token.js.map +0 -1
  531. package/esm2022/button/lib/button.directives.js +0 -37
  532. package/esm2022/button/lib/button.directives.js.map +0 -1
  533. package/esm2022/button/lib/button.types.js +0 -1
  534. package/esm2022/button/lib/button.types.js.map +0 -1
  535. package/esm2022/button/malva-ui-core-button.js +0 -5
  536. package/esm2022/button/malva-ui-core-button.js.map +0 -1
  537. package/esm2022/calendar/index.js +0 -4
  538. package/esm2022/calendar/index.js.map +0 -1
  539. package/esm2022/calendar/lib/calendar/calendar.js +0 -672
  540. package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
  541. package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
  542. package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
  543. package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
  544. package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
  545. package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
  546. package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
  547. package/esm2022/card/index.js +0 -6
  548. package/esm2022/card/index.js.map +0 -1
  549. package/esm2022/card/lib/card/card.js +0 -54
  550. package/esm2022/card/lib/card/card.js.map +0 -1
  551. package/esm2022/card/lib/card-actions-def.js +0 -27
  552. package/esm2022/card/lib/card-actions-def.js.map +0 -1
  553. package/esm2022/card/lib/card-footer-def.js +0 -32
  554. package/esm2022/card/lib/card-footer-def.js.map +0 -1
  555. package/esm2022/card/lib/card-header-def.js +0 -27
  556. package/esm2022/card/lib/card-header-def.js.map +0 -1
  557. package/esm2022/card/lib/card-subheader-def.js +0 -33
  558. package/esm2022/card/lib/card-subheader-def.js.map +0 -1
  559. package/esm2022/card/malva-ui-core-card.js +0 -5
  560. package/esm2022/card/malva-ui-core-card.js.map +0 -1
  561. package/esm2022/chat/index.js +0 -10
  562. package/esm2022/chat/index.js.map +0 -1
  563. package/esm2022/chat/lib/chat/chat.js +0 -326
  564. package/esm2022/chat/lib/chat/chat.js.map +0 -1
  565. package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
  566. package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
  567. package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
  568. package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
  569. package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
  570. package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
  571. package/esm2022/chat/lib/chat-format.js +0 -11
  572. package/esm2022/chat/lib/chat-format.js.map +0 -1
  573. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
  574. package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
  575. package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
  576. package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
  577. package/esm2022/chat/lib/chat-render-list.js +0 -55
  578. package/esm2022/chat/lib/chat-render-list.js.map +0 -1
  579. package/esm2022/chat/lib/chat-tokens.js +0 -9
  580. package/esm2022/chat/lib/chat-tokens.js.map +0 -1
  581. package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
  582. package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
  583. package/esm2022/chat/lib/chat.types.js +0 -1
  584. package/esm2022/chat/lib/chat.types.js.map +0 -1
  585. package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
  586. package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
  587. package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
  588. package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
  589. package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
  590. package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
  591. package/esm2022/chat/malva-ui-core-chat.js +0 -5
  592. package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
  593. package/esm2022/checkbox/index.js +0 -4
  594. package/esm2022/checkbox/index.js.map +0 -1
  595. package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
  596. package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
  597. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
  598. package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
  599. package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
  600. package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
  601. package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
  602. package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
  603. package/esm2022/chip/index.js +0 -3
  604. package/esm2022/chip/index.js.map +0 -1
  605. package/esm2022/chip/lib/chip/chip.directives.js +0 -32
  606. package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
  607. package/esm2022/chip/lib/chip/chip.js +0 -140
  608. package/esm2022/chip/lib/chip/chip.js.map +0 -1
  609. package/esm2022/chip/malva-ui-core-chip.js +0 -5
  610. package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
  611. package/esm2022/color-picker/index.js +0 -4
  612. package/esm2022/color-picker/index.js.map +0 -1
  613. package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
  614. package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
  615. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
  616. package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
  617. package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
  618. package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
  619. package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
  620. package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
  621. package/esm2022/combobox/index.js +0 -3
  622. package/esm2022/combobox/index.js.map +0 -1
  623. package/esm2022/combobox/lib/combobox/combobox.js +0 -911
  624. package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
  625. package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
  626. package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
  627. package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
  628. package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
  629. package/esm2022/copy-to-clipboard/index.js +0 -2
  630. package/esm2022/copy-to-clipboard/index.js.map +0 -1
  631. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
  632. package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
  633. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
  634. package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
  635. package/esm2022/data-table/index.js +0 -9
  636. package/esm2022/data-table/index.js.map +0 -1
  637. package/esm2022/data-table/lib/data-source.js +0 -6
  638. package/esm2022/data-table/lib/data-source.js.map +0 -1
  639. package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
  640. package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
  641. package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
  642. package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
  643. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
  644. package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
  645. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
  646. package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
  647. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
  648. package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
  649. package/esm2022/data-table/lib/data-table-cell.js +0 -46
  650. package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
  651. package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
  652. package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
  653. package/esm2022/data-table/lib/data-table-error.js +0 -37
  654. package/esm2022/data-table/lib/data-table-error.js.map +0 -1
  655. package/esm2022/data-table/lib/data-table-footer.js +0 -33
  656. package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
  657. package/esm2022/data-table/lib/data-table-no-data.js +0 -26
  658. package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
  659. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
  660. package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
  661. package/esm2022/data-table/lib/types.js +0 -1
  662. package/esm2022/data-table/lib/types.js.map +0 -1
  663. package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
  664. package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
  665. package/esm2022/date-range-picker/index.js +0 -2
  666. package/esm2022/date-range-picker/index.js.map +0 -1
  667. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
  668. package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
  669. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
  670. package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
  671. package/esm2022/day-picker/index.js +0 -2
  672. package/esm2022/day-picker/index.js.map +0 -1
  673. package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
  674. package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
  675. package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
  676. package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
  677. package/esm2022/dialog/index.js +0 -12
  678. package/esm2022/dialog/index.js.map +0 -1
  679. package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
  680. package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
  681. package/esm2022/dialog/lib/confirm-dialog.js +0 -155
  682. package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
  683. package/esm2022/dialog/lib/dialog/dialog.js +0 -40
  684. package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
  685. package/esm2022/dialog/lib/dialog-body.js +0 -33
  686. package/esm2022/dialog/lib/dialog-body.js.map +0 -1
  687. package/esm2022/dialog/lib/dialog-close.js +0 -45
  688. package/esm2022/dialog/lib/dialog-close.js.map +0 -1
  689. package/esm2022/dialog/lib/dialog-config.js +0 -23
  690. package/esm2022/dialog/lib/dialog-config.js.map +0 -1
  691. package/esm2022/dialog/lib/dialog-container.js +0 -69
  692. package/esm2022/dialog/lib/dialog-container.js.map +0 -1
  693. package/esm2022/dialog/lib/dialog-footer.js +0 -29
  694. package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
  695. package/esm2022/dialog/lib/dialog-header.js +0 -181
  696. package/esm2022/dialog/lib/dialog-header.js.map +0 -1
  697. package/esm2022/dialog/lib/dialog-ref.js +0 -167
  698. package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
  699. package/esm2022/dialog/lib/dialog-template.js +0 -136
  700. package/esm2022/dialog/lib/dialog-template.js.map +0 -1
  701. package/esm2022/dialog/lib/dialog-text-content.js +0 -59
  702. package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
  703. package/esm2022/dialog/lib/dialog.service.js +0 -205
  704. package/esm2022/dialog/lib/dialog.service.js.map +0 -1
  705. package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
  706. package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
  707. package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
  708. package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
  709. package/esm2022/dialog/lib/routable-dialog.js +0 -91
  710. package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
  711. package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
  712. package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
  713. package/esm2022/divider/index.js +0 -2
  714. package/esm2022/divider/index.js.map +0 -1
  715. package/esm2022/divider/lib/divider/divider.js +0 -73
  716. package/esm2022/divider/lib/divider/divider.js.map +0 -1
  717. package/esm2022/divider/malva-ui-core-divider.js +0 -5
  718. package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
  719. package/esm2022/drawer/index.js +0 -12
  720. package/esm2022/drawer/index.js.map +0 -1
  721. package/esm2022/drawer/lib/drawer/drawer.js +0 -180
  722. package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
  723. package/esm2022/drawer/lib/drawer-body.js +0 -32
  724. package/esm2022/drawer/lib/drawer-body.js.map +0 -1
  725. package/esm2022/drawer/lib/drawer-content.js +0 -14
  726. package/esm2022/drawer/lib/drawer-content.js.map +0 -1
  727. package/esm2022/drawer/lib/drawer-footer.js +0 -14
  728. package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
  729. package/esm2022/drawer/lib/drawer-header.js +0 -14
  730. package/esm2022/drawer/lib/drawer-header.js.map +0 -1
  731. package/esm2022/drawer/lib/drawer-ref.js +0 -31
  732. package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
  733. package/esm2022/drawer/lib/drawer-resize.js +0 -243
  734. package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
  735. package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
  736. package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
  737. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
  738. package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
  739. package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
  740. package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
  741. package/esm2022/drawer/lib/drawer.service.js +0 -86
  742. package/esm2022/drawer/lib/drawer.service.js.map +0 -1
  743. package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
  744. package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
  745. package/esm2022/drawer/lib/routable-drawer.js +0 -91
  746. package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
  747. package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
  748. package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
  749. package/esm2022/dropdown/index.js +0 -10
  750. package/esm2022/dropdown/index.js.map +0 -1
  751. package/esm2022/dropdown/lib/active-descendant.js +0 -92
  752. package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
  753. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
  754. package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
  755. package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
  756. package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
  757. package/esm2022/dropdown/lib/option-matcher.js +0 -124
  758. package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
  759. package/esm2022/dropdown/lib/options-adapter.js +0 -356
  760. package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
  761. package/esm2022/dropdown/lib/options-result.js +0 -11
  762. package/esm2022/dropdown/lib/options-result.js.map +0 -1
  763. package/esm2022/dropdown/lib/reconciliation.js +0 -32
  764. package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
  765. package/esm2022/dropdown/lib/select-data-source.js +0 -21
  766. package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
  767. package/esm2022/dropdown/lib/select-option.js +0 -25
  768. package/esm2022/dropdown/lib/select-option.js.map +0 -1
  769. package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
  770. package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
  771. package/esm2022/empty-state/index.js +0 -2
  772. package/esm2022/empty-state/index.js.map +0 -1
  773. package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
  774. package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
  775. package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
  776. package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
  777. package/esm2022/expand/index.js +0 -3
  778. package/esm2022/expand/index.js.map +0 -1
  779. package/esm2022/expand/lib/expand/expand-content.js +0 -33
  780. package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
  781. package/esm2022/expand/lib/expand/expand.js +0 -93
  782. package/esm2022/expand/lib/expand/expand.js.map +0 -1
  783. package/esm2022/expand/malva-ui-core-expand.js +0 -5
  784. package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
  785. package/esm2022/file-upload/index.js +0 -5
  786. package/esm2022/file-upload/index.js.map +0 -1
  787. package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
  788. package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
  789. package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
  790. package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
  791. package/esm2022/file-upload/lib/file-upload-action.js +0 -65
  792. package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
  793. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
  794. package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
  795. package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
  796. package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
  797. package/esm2022/filter/index.js +0 -4
  798. package/esm2022/filter/index.js.map +0 -1
  799. package/esm2022/filter/lib/filter/filter.js +0 -552
  800. package/esm2022/filter/lib/filter/filter.js.map +0 -1
  801. package/esm2022/filter/lib/filter.types.js +0 -1
  802. package/esm2022/filter/lib/filter.types.js.map +0 -1
  803. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
  804. package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
  805. package/esm2022/filter/malva-ui-core-filter.js +0 -5
  806. package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
  807. package/esm2022/form/index.js +0 -7
  808. package/esm2022/form/index.js.map +0 -1
  809. package/esm2022/form/lib/fieldset/fieldset.js +0 -101
  810. package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
  811. package/esm2022/form/lib/fieldset-span.js +0 -49
  812. package/esm2022/form/lib/fieldset-span.js.map +0 -1
  813. package/esm2022/form/lib/form/form.js +0 -60
  814. package/esm2022/form/lib/form/form.js.map +0 -1
  815. package/esm2022/form/lib/form-actions.js +0 -34
  816. package/esm2022/form/lib/form-actions.js.map +0 -1
  817. package/esm2022/form/lib/form-gap.js +0 -15
  818. package/esm2022/form/lib/form-gap.js.map +0 -1
  819. package/esm2022/form/lib/form-header.js +0 -27
  820. package/esm2022/form/lib/form-header.js.map +0 -1
  821. package/esm2022/form/lib/form.types.js +0 -1
  822. package/esm2022/form/lib/form.types.js.map +0 -1
  823. package/esm2022/form/malva-ui-core-form.js +0 -5
  824. package/esm2022/form/malva-ui-core-form.js.map +0 -1
  825. package/esm2022/form-utils/index.js +0 -16
  826. package/esm2022/form-utils/index.js.map +0 -1
  827. package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
  828. package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
  829. package/esm2022/form-utils/lib/description/description.js +0 -24
  830. package/esm2022/form-utils/lib/description/description.js.map +0 -1
  831. package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
  832. package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
  833. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
  834. package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
  835. package/esm2022/form-utils/lib/form-control-sides.js +0 -34
  836. package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
  837. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
  838. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
  839. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
  840. package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
  841. package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
  842. package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
  843. package/esm2022/form-utils/lib/hint/hint.js +0 -11
  844. package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
  845. package/esm2022/form-utils/lib/label/label.js +0 -55
  846. package/esm2022/form-utils/lib/label/label.js.map +0 -1
  847. package/esm2022/form-utils/lib/message/message.js +0 -20
  848. package/esm2022/form-utils/lib/message/message.js.map +0 -1
  849. package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
  850. package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
  851. package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
  852. package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
  853. package/esm2022/form-utils/lib/models/form-state.js +0 -1
  854. package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
  855. package/esm2022/form-utils/lib/selection.service.js +0 -81
  856. package/esm2022/form-utils/lib/selection.service.js.map +0 -1
  857. package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
  858. package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
  859. package/esm2022/form-utils/testing/index.js +0 -2
  860. package/esm2022/form-utils/testing/index.js.map +0 -1
  861. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
  862. package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
  863. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
  864. package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
  865. package/esm2022/index.js +0 -70
  866. package/esm2022/index.js.map +0 -1
  867. package/esm2022/input/index.js +0 -4
  868. package/esm2022/input/index.js.map +0 -1
  869. package/esm2022/input/lib/input/input-native.js +0 -49
  870. package/esm2022/input/lib/input/input-native.js.map +0 -1
  871. package/esm2022/input/lib/input/input-value-accessor.js +0 -4
  872. package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
  873. package/esm2022/input/lib/input/input.js +0 -277
  874. package/esm2022/input/lib/input/input.js.map +0 -1
  875. package/esm2022/input/lib/input/password-strength.js +0 -46
  876. package/esm2022/input/lib/input/password-strength.js.map +0 -1
  877. package/esm2022/input/malva-ui-core-input.js +0 -5
  878. package/esm2022/input/malva-ui-core-input.js.map +0 -1
  879. package/esm2022/kbd/index.js +0 -2
  880. package/esm2022/kbd/index.js.map +0 -1
  881. package/esm2022/kbd/lib/kbd/kbd.js +0 -124
  882. package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
  883. package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
  884. package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
  885. package/esm2022/layout/index.js +0 -5
  886. package/esm2022/layout/index.js.map +0 -1
  887. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
  888. package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
  889. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
  890. package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
  891. package/esm2022/layout/lib/layout/layout.js +0 -43
  892. package/esm2022/layout/lib/layout/layout.js.map +0 -1
  893. package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
  894. package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
  895. package/esm2022/layout/malva-ui-core-layout.js +0 -5
  896. package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
  897. package/esm2022/link/index.js +0 -3
  898. package/esm2022/link/index.js.map +0 -1
  899. package/esm2022/link/lib/link/link.directives.js +0 -24
  900. package/esm2022/link/lib/link/link.directives.js.map +0 -1
  901. package/esm2022/link/lib/link/link.js +0 -61
  902. package/esm2022/link/lib/link/link.js.map +0 -1
  903. package/esm2022/link/malva-ui-core-link.js +0 -5
  904. package/esm2022/link/malva-ui-core-link.js.map +0 -1
  905. package/esm2022/list/index.js +0 -14
  906. package/esm2022/list/index.js.map +0 -1
  907. package/esm2022/list/lib/list/list.js +0 -28
  908. package/esm2022/list/lib/list/list.js.map +0 -1
  909. package/esm2022/list/lib/list-item/list-item.js +0 -125
  910. package/esm2022/list/lib/list-item/list-item.js.map +0 -1
  911. package/esm2022/list/lib/list-item-actions.js +0 -23
  912. package/esm2022/list/lib/list-item-actions.js.map +0 -1
  913. package/esm2022/list/lib/list-item-byline.js +0 -13
  914. package/esm2022/list/lib/list-item-byline.js.map +0 -1
  915. package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
  916. package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
  917. package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
  918. package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
  919. package/esm2022/list/lib/list-item-media.js +0 -13
  920. package/esm2022/list/lib/list-item-media.js.map +0 -1
  921. package/esm2022/list/lib/list-item-meta.js +0 -13
  922. package/esm2022/list/lib/list-item-meta.js.map +0 -1
  923. package/esm2022/list/lib/list-item-prefix.js +0 -13
  924. package/esm2022/list/lib/list-item-prefix.js.map +0 -1
  925. package/esm2022/list/lib/list-item-suffix.js +0 -13
  926. package/esm2022/list/lib/list-item-suffix.js.map +0 -1
  927. package/esm2022/list/lib/list-item-template.js +0 -14
  928. package/esm2022/list/lib/list-item-template.js.map +0 -1
  929. package/esm2022/list/lib/list-item-title.js +0 -13
  930. package/esm2022/list/lib/list-item-title.js.map +0 -1
  931. package/esm2022/list/lib/list-selectable.js +0 -116
  932. package/esm2022/list/lib/list-selectable.js.map +0 -1
  933. package/esm2022/list/malva-ui-core-list.js +0 -5
  934. package/esm2022/list/malva-ui-core-list.js.map +0 -1
  935. package/esm2022/loader/index.js +0 -2
  936. package/esm2022/loader/index.js.map +0 -1
  937. package/esm2022/loader/lib/loader/loader.js +0 -134
  938. package/esm2022/loader/lib/loader/loader.js.map +0 -1
  939. package/esm2022/loader/malva-ui-core-loader.js +0 -5
  940. package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
  941. package/esm2022/malva-ui-core.js +0 -5
  942. package/esm2022/malva-ui-core.js.map +0 -1
  943. package/esm2022/menu/index.js +0 -10
  944. package/esm2022/menu/index.js.map +0 -1
  945. package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
  946. package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
  947. package/esm2022/menu/lib/menu/menu-group.js +0 -44
  948. package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
  949. package/esm2022/menu/lib/menu/menu-item.js +0 -117
  950. package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
  951. package/esm2022/menu/lib/menu/menu-separator.js +0 -41
  952. package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
  953. package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
  954. package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
  955. package/esm2022/menu/lib/menu/menu.js +0 -308
  956. package/esm2022/menu/lib/menu/menu.js.map +0 -1
  957. package/esm2022/menu/lib/menu/menu.types.js +0 -4
  958. package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
  959. package/esm2022/menu/lib/menu/menubar.js +0 -257
  960. package/esm2022/menu/lib/menu/menubar.js.map +0 -1
  961. package/esm2022/menu/lib/menu/menubar.types.js +0 -4
  962. package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
  963. package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
  964. package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
  965. package/esm2022/menu/malva-ui-core-menu.js +0 -5
  966. package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
  967. package/esm2022/notification/index.js +0 -5
  968. package/esm2022/notification/index.js.map +0 -1
  969. package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
  970. package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
  971. package/esm2022/notification/lib/notification-ref.js +0 -13
  972. package/esm2022/notification/lib/notification-ref.js.map +0 -1
  973. package/esm2022/notification/lib/notification.service.js +0 -118
  974. package/esm2022/notification/lib/notification.service.js.map +0 -1
  975. package/esm2022/notification/lib/notification.types.js +0 -6
  976. package/esm2022/notification/lib/notification.types.js.map +0 -1
  977. package/esm2022/notification/malva-ui-core-notification.js +0 -5
  978. package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
  979. package/esm2022/number-input/index.js +0 -2
  980. package/esm2022/number-input/index.js.map +0 -1
  981. package/esm2022/number-input/lib/number-input/number-input.js +0 -395
  982. package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
  983. package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
  984. package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
  985. package/esm2022/page/index.js +0 -15
  986. package/esm2022/page/index.js.map +0 -1
  987. package/esm2022/page/lib/page/page-scroll.token.js +0 -9
  988. package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
  989. package/esm2022/page/lib/page/page-snap-controller.js +0 -170
  990. package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
  991. package/esm2022/page/lib/page/page-snap.directive.js +0 -65
  992. package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
  993. package/esm2022/page/lib/page/page.js +0 -173
  994. package/esm2022/page/lib/page/page.js.map +0 -1
  995. package/esm2022/page/lib/page-content/page-aside.js +0 -13
  996. package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
  997. package/esm2022/page/lib/page-content/page-content.js +0 -72
  998. package/esm2022/page/lib/page-content/page-content.js.map +0 -1
  999. package/esm2022/page/lib/page-dock/page-dock.js +0 -128
  1000. package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
  1001. package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
  1002. package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
  1003. package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
  1004. package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
  1005. package/esm2022/page/lib/page-header/page-header.js +0 -124
  1006. package/esm2022/page/lib/page-header/page-header.js.map +0 -1
  1007. package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
  1008. package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
  1009. package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
  1010. package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
  1011. package/esm2022/page/lib/page-shell/page-shell.js +0 -131
  1012. package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
  1013. package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
  1014. package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
  1015. package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
  1016. package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
  1017. package/esm2022/page/lib/page-summary/page-summary.js +0 -87
  1018. package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
  1019. package/esm2022/page/malva-ui-core-page.js +0 -5
  1020. package/esm2022/page/malva-ui-core-page.js.map +0 -1
  1021. package/esm2022/pagination/index.js +0 -5
  1022. package/esm2022/pagination/index.js.map +0 -1
  1023. package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
  1024. package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
  1025. package/esm2022/pagination/lib/pagination/pagination.js +0 -293
  1026. package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
  1027. package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
  1028. package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
  1029. package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
  1030. package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
  1031. package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
  1032. package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
  1033. package/esm2022/pin-input/index.js +0 -3
  1034. package/esm2022/pin-input/index.js.map +0 -1
  1035. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
  1036. package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
  1037. package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
  1038. package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
  1039. package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
  1040. package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
  1041. package/esm2022/popup/index.js +0 -10
  1042. package/esm2022/popup/index.js.map +0 -1
  1043. package/esm2022/popup/lib/popup/popup.js +0 -500
  1044. package/esm2022/popup/lib/popup/popup.js.map +0 -1
  1045. package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
  1046. package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
  1047. package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
  1048. package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
  1049. package/esm2022/popup/lib/popup-content.js +0 -14
  1050. package/esm2022/popup/lib/popup-content.js.map +0 -1
  1051. package/esm2022/popup/lib/popup-header-content.js +0 -26
  1052. package/esm2022/popup/lib/popup-header-content.js.map +0 -1
  1053. package/esm2022/popup/lib/popup-pinned-content.js +0 -25
  1054. package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
  1055. package/esm2022/popup/lib/popup-positions.js +0 -252
  1056. package/esm2022/popup/lib/popup-positions.js.map +0 -1
  1057. package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
  1058. package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
  1059. package/esm2022/popup/lib/popup.service.js +0 -188
  1060. package/esm2022/popup/lib/popup.service.js.map +0 -1
  1061. package/esm2022/popup/malva-ui-core-popup.js +0 -5
  1062. package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
  1063. package/esm2022/progress/index.js +0 -2
  1064. package/esm2022/progress/index.js.map +0 -1
  1065. package/esm2022/progress/lib/progress/progress.js +0 -102
  1066. package/esm2022/progress/lib/progress/progress.js.map +0 -1
  1067. package/esm2022/progress/malva-ui-core-progress.js +0 -5
  1068. package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
  1069. package/esm2022/radio/index.js +0 -3
  1070. package/esm2022/radio/index.js.map +0 -1
  1071. package/esm2022/radio/lib/radio/radio.js +0 -134
  1072. package/esm2022/radio/lib/radio/radio.js.map +0 -1
  1073. package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
  1074. package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
  1075. package/esm2022/radio/lib/radio-group-token.js +0 -3
  1076. package/esm2022/radio/lib/radio-group-token.js.map +0 -1
  1077. package/esm2022/radio/malva-ui-core-radio.js +0 -5
  1078. package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
  1079. package/esm2022/rating/index.js +0 -2
  1080. package/esm2022/rating/index.js.map +0 -1
  1081. package/esm2022/rating/lib/rating/rating.js +0 -208
  1082. package/esm2022/rating/lib/rating/rating.js.map +0 -1
  1083. package/esm2022/rating/malva-ui-core-rating.js +0 -5
  1084. package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
  1085. package/esm2022/scrollbar/index.js +0 -2
  1086. package/esm2022/scrollbar/index.js.map +0 -1
  1087. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
  1088. package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
  1089. package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
  1090. package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
  1091. package/esm2022/search-field/index.js +0 -3
  1092. package/esm2022/search-field/index.js.map +0 -1
  1093. package/esm2022/search-field/lib/search-field/search-field.js +0 -535
  1094. package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
  1095. package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
  1096. package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
  1097. package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
  1098. package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
  1099. package/esm2022/segmented/index.js +0 -5
  1100. package/esm2022/segmented/index.js.map +0 -1
  1101. package/esm2022/segmented/lib/segmented/segmented.js +0 -248
  1102. package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
  1103. package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
  1104. package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
  1105. package/esm2022/segmented/lib/segmented-token.js +0 -4
  1106. package/esm2022/segmented/lib/segmented-token.js.map +0 -1
  1107. package/esm2022/segmented/lib/segmented.types.js +0 -1
  1108. package/esm2022/segmented/lib/segmented.types.js.map +0 -1
  1109. package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
  1110. package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
  1111. package/esm2022/select/index.js +0 -4
  1112. package/esm2022/select/index.js.map +0 -1
  1113. package/esm2022/select/lib/select/select.js +0 -685
  1114. package/esm2022/select/lib/select/select.js.map +0 -1
  1115. package/esm2022/select/lib/select-option.js +0 -2
  1116. package/esm2022/select/lib/select-option.js.map +0 -1
  1117. package/esm2022/select/lib/select-template.directives.js +0 -34
  1118. package/esm2022/select/lib/select-template.directives.js.map +0 -1
  1119. package/esm2022/select/malva-ui-core-select.js +0 -5
  1120. package/esm2022/select/malva-ui-core-select.js.map +0 -1
  1121. package/esm2022/sidebar/index.js +0 -16
  1122. package/esm2022/sidebar/index.js.map +0 -1
  1123. package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
  1124. package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
  1125. package/esm2022/sidebar/lib/sidebar-content.js +0 -37
  1126. package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
  1127. package/esm2022/sidebar/lib/sidebar-context.js +0 -3
  1128. package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
  1129. package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
  1130. package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
  1131. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
  1132. package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
  1133. package/esm2022/sidebar/lib/sidebar-header.js +0 -20
  1134. package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
  1135. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
  1136. package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
  1137. package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
  1138. package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
  1139. package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
  1140. package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
  1141. package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
  1142. package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
  1143. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
  1144. package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
  1145. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
  1146. package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
  1147. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
  1148. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
  1149. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
  1150. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
  1151. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
  1152. package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
  1153. package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
  1154. package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
  1155. package/esm2022/skeleton/index.js +0 -2
  1156. package/esm2022/skeleton/index.js.map +0 -1
  1157. package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
  1158. package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
  1159. package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
  1160. package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
  1161. package/esm2022/slider/index.js +0 -3
  1162. package/esm2022/slider/index.js.map +0 -1
  1163. package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
  1164. package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
  1165. package/esm2022/slider/lib/slider/slider.js +0 -468
  1166. package/esm2022/slider/lib/slider/slider.js.map +0 -1
  1167. package/esm2022/slider/malva-ui-core-slider.js +0 -5
  1168. package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
  1169. package/esm2022/split-pane/index.js +0 -4
  1170. package/esm2022/split-pane/index.js.map +0 -1
  1171. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
  1172. package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
  1173. package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
  1174. package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
  1175. package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
  1176. package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
  1177. package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
  1178. package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
  1179. package/esm2022/status-indicator/index.js +0 -2
  1180. package/esm2022/status-indicator/index.js.map +0 -1
  1181. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
  1182. package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
  1183. package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
  1184. package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
  1185. package/esm2022/stepper/index.js +0 -5
  1186. package/esm2022/stepper/index.js.map +0 -1
  1187. package/esm2022/stepper/lib/stepper/step-header.js +0 -46
  1188. package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
  1189. package/esm2022/stepper/lib/stepper/step.js +0 -65
  1190. package/esm2022/stepper/lib/stepper/step.js.map +0 -1
  1191. package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
  1192. package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
  1193. package/esm2022/stepper/lib/stepper/stepper.js +0 -216
  1194. package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
  1195. package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
  1196. package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
  1197. package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
  1198. package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
  1199. package/esm2022/switch/index.js +0 -3
  1200. package/esm2022/switch/index.js.map +0 -1
  1201. package/esm2022/switch/lib/switch/switch.js +0 -190
  1202. package/esm2022/switch/lib/switch/switch.js.map +0 -1
  1203. package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
  1204. package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
  1205. package/esm2022/switch/lib/switch-group-token.js +0 -3
  1206. package/esm2022/switch/lib/switch-group-token.js.map +0 -1
  1207. package/esm2022/switch/malva-ui-core-switch.js +0 -5
  1208. package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
  1209. package/esm2022/tabs/index.js +0 -9
  1210. package/esm2022/tabs/index.js.map +0 -1
  1211. package/esm2022/tabs/lib/tab/tab.js +0 -72
  1212. package/esm2022/tabs/lib/tab/tab.js.map +0 -1
  1213. package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
  1214. package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
  1215. package/esm2022/tabs/lib/tab-content-def.js +0 -14
  1216. package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
  1217. package/esm2022/tabs/lib/tab-def.js +0 -17
  1218. package/esm2022/tabs/lib/tab-def.js.map +0 -1
  1219. package/esm2022/tabs/lib/tab-group-token.js +0 -3
  1220. package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
  1221. package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
  1222. package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
  1223. package/esm2022/tabs/lib/tabs/tabs.js +0 -542
  1224. package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
  1225. package/esm2022/tabs/lib/tabs.service.js +0 -83
  1226. package/esm2022/tabs/lib/tabs.service.js.map +0 -1
  1227. package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
  1228. package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
  1229. package/esm2022/textarea/index.js +0 -2
  1230. package/esm2022/textarea/index.js.map +0 -1
  1231. package/esm2022/textarea/lib/textarea/textarea.js +0 -194
  1232. package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
  1233. package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
  1234. package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
  1235. package/esm2022/tile/index.js +0 -3
  1236. package/esm2022/tile/index.js.map +0 -1
  1237. package/esm2022/tile/lib/tile/tile.js +0 -39
  1238. package/esm2022/tile/lib/tile/tile.js.map +0 -1
  1239. package/esm2022/tile/lib/tile-header.js +0 -14
  1240. package/esm2022/tile/lib/tile-header.js.map +0 -1
  1241. package/esm2022/tile/malva-ui-core-tile.js +0 -5
  1242. package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
  1243. package/esm2022/time-picker/index.js +0 -2
  1244. package/esm2022/time-picker/index.js.map +0 -1
  1245. package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
  1246. package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
  1247. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
  1248. package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
  1249. package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
  1250. package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
  1251. package/esm2022/timeline/index.js +0 -6
  1252. package/esm2022/timeline/index.js.map +0 -1
  1253. package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
  1254. package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
  1255. package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
  1256. package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
  1257. package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
  1258. package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
  1259. package/esm2022/timeline/lib/timeline/timeline.js +0 -36
  1260. package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
  1261. package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
  1262. package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
  1263. package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
  1264. package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
  1265. package/esm2022/title/index.js +0 -2
  1266. package/esm2022/title/index.js.map +0 -1
  1267. package/esm2022/title/lib/title/title.js +0 -171
  1268. package/esm2022/title/lib/title/title.js.map +0 -1
  1269. package/esm2022/title/malva-ui-core-title.js +0 -5
  1270. package/esm2022/title/malva-ui-core-title.js.map +0 -1
  1271. package/esm2022/toast/index.js +0 -13
  1272. package/esm2022/toast/index.js.map +0 -1
  1273. package/esm2022/toast/lib/abstract-toast-container.js +0 -50
  1274. package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
  1275. package/esm2022/toast/lib/abstract-toast-item.js +0 -75
  1276. package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
  1277. package/esm2022/toast/lib/abstract-toast.service.js +0 -176
  1278. package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
  1279. package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
  1280. package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
  1281. package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
  1282. package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
  1283. package/esm2022/toast/lib/toast-ref.js +0 -54
  1284. package/esm2022/toast/lib/toast-ref.js.map +0 -1
  1285. package/esm2022/toast/lib/toast-timer.js +0 -37
  1286. package/esm2022/toast/lib/toast-timer.js.map +0 -1
  1287. package/esm2022/toast/lib/toast.directives.js +0 -76
  1288. package/esm2022/toast/lib/toast.directives.js.map +0 -1
  1289. package/esm2022/toast/lib/toast.service.js +0 -127
  1290. package/esm2022/toast/lib/toast.service.js.map +0 -1
  1291. package/esm2022/toast/lib/toast.types.js +0 -39
  1292. package/esm2022/toast/lib/toast.types.js.map +0 -1
  1293. package/esm2022/toast/malva-ui-core-toast.js +0 -5
  1294. package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
  1295. package/esm2022/tokenizer/index.js +0 -4
  1296. package/esm2022/tokenizer/index.js.map +0 -1
  1297. package/esm2022/tokenizer/lib/token/token.js +0 -123
  1298. package/esm2022/tokenizer/lib/token/token.js.map +0 -1
  1299. package/esm2022/tokenizer/lib/token-template.js +0 -23
  1300. package/esm2022/tokenizer/lib/token-template.js.map +0 -1
  1301. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
  1302. package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
  1303. package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
  1304. package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
  1305. package/esm2022/toolbar/index.js +0 -4
  1306. package/esm2022/toolbar/index.js.map +0 -1
  1307. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
  1308. package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
  1309. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
  1310. package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
  1311. package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
  1312. package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
  1313. package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
  1314. package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
  1315. package/esm2022/tooltip/index.js +0 -4
  1316. package/esm2022/tooltip/index.js.map +0 -1
  1317. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
  1318. package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
  1319. package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
  1320. package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
  1321. package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
  1322. package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
  1323. package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
  1324. package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
  1325. package/esm2022/tree/index.js +0 -5
  1326. package/esm2022/tree/index.js.map +0 -1
  1327. package/esm2022/tree/lib/tree/tree-context.js +0 -7
  1328. package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
  1329. package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
  1330. package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
  1331. package/esm2022/tree/lib/tree/tree-node.js +0 -1
  1332. package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
  1333. package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
  1334. package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
  1335. package/esm2022/tree/lib/tree/tree.js +0 -362
  1336. package/esm2022/tree/lib/tree/tree.js.map +0 -1
  1337. package/esm2022/tree/malva-ui-core-tree.js +0 -5
  1338. package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
  1339. package/expand/index.d.ts +0 -2
  1340. package/expand/lib/expand/expand-content.d.ts +0 -26
  1341. package/expand/lib/expand/expand.d.ts +0 -74
  1342. package/expand/malva-ui-core-expand.d.ts +0 -5
  1343. package/file-upload/index.d.ts +0 -4
  1344. package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
  1345. package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
  1346. package/file-upload/lib/file-upload-action.d.ts +0 -53
  1347. package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
  1348. package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
  1349. package/filter/index.d.ts +0 -3
  1350. package/filter/lib/filter/filter.d.ts +0 -156
  1351. package/filter/lib/filter.types.d.ts +0 -75
  1352. package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
  1353. package/filter/malva-ui-core-filter.d.ts +0 -5
  1354. package/form/index.d.ts +0 -6
  1355. package/form/lib/fieldset/fieldset.d.ts +0 -58
  1356. package/form/lib/fieldset-span.d.ts +0 -28
  1357. package/form/lib/form/form.d.ts +0 -37
  1358. package/form/lib/form-actions.d.ts +0 -20
  1359. package/form/lib/form-gap.d.ts +0 -5
  1360. package/form/lib/form-header.d.ts +0 -18
  1361. package/form/lib/form.types.d.ts +0 -13
  1362. package/form/malva-ui-core-form.d.ts +0 -5
  1363. package/form-utils/index.d.ts +0 -15
  1364. package/form-utils/lib/aria-value-bridge.d.ts +0 -45
  1365. package/form-utils/lib/description/description.d.ts +0 -16
  1366. package/form-utils/lib/focusable-group-base.d.ts +0 -76
  1367. package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
  1368. package/form-utils/lib/form-control-sides.d.ts +0 -20
  1369. package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
  1370. package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
  1371. package/form-utils/lib/form-field/form-field.d.ts +0 -68
  1372. package/form-utils/lib/hint/hint.d.ts +0 -5
  1373. package/form-utils/lib/label/label.d.ts +0 -22
  1374. package/form-utils/lib/message/message.d.ts +0 -7
  1375. package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
  1376. package/form-utils/lib/models/form-control-connector.d.ts +0 -41
  1377. package/form-utils/lib/models/form-state.d.ts +0 -1
  1378. package/form-utils/lib/selection.service.d.ts +0 -27
  1379. package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
  1380. package/form-utils/testing/index.d.ts +0 -1
  1381. package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
  1382. package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
  1383. package/index.d.ts +0 -69
  1384. package/input/index.d.ts +0 -3
  1385. package/input/lib/input/input-native.d.ts +0 -36
  1386. package/input/lib/input/input-value-accessor.d.ts +0 -11
  1387. package/input/lib/input/input.d.ts +0 -189
  1388. package/input/lib/input/password-strength.d.ts +0 -34
  1389. package/input/malva-ui-core-input.d.ts +0 -5
  1390. package/kbd/index.d.ts +0 -1
  1391. package/kbd/lib/kbd/kbd.d.ts +0 -52
  1392. package/kbd/malva-ui-core-kbd.d.ts +0 -5
  1393. package/layout/index.d.ts +0 -4
  1394. package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
  1395. package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
  1396. package/layout/lib/layout/layout.d.ts +0 -20
  1397. package/layout/lib/layout/services/theme.service.d.ts +0 -33
  1398. package/layout/malva-ui-core-layout.d.ts +0 -5
  1399. package/link/index.d.ts +0 -2
  1400. package/link/lib/link/link.d.ts +0 -15
  1401. package/link/lib/link/link.directives.d.ts +0 -10
  1402. package/link/malva-ui-core-link.d.ts +0 -5
  1403. package/list/index.d.ts +0 -13
  1404. package/list/lib/list/list.d.ts +0 -25
  1405. package/list/lib/list-item/list-item.d.ts +0 -67
  1406. package/list/lib/list-item-actions.d.ts +0 -12
  1407. package/list/lib/list-item-byline.d.ts +0 -5
  1408. package/list/lib/list-item-group/list-item-group.d.ts +0 -11
  1409. package/list/lib/list-item-link/list-item-link.d.ts +0 -8
  1410. package/list/lib/list-item-media.d.ts +0 -5
  1411. package/list/lib/list-item-meta.d.ts +0 -5
  1412. package/list/lib/list-item-prefix.d.ts +0 -5
  1413. package/list/lib/list-item-suffix.d.ts +0 -5
  1414. package/list/lib/list-item-template.d.ts +0 -10
  1415. package/list/lib/list-item-title.d.ts +0 -5
  1416. package/list/lib/list-selectable.d.ts +0 -73
  1417. package/list/malva-ui-core-list.d.ts +0 -5
  1418. package/loader/index.d.ts +0 -1
  1419. package/loader/lib/loader/loader.d.ts +0 -84
  1420. package/loader/malva-ui-core-loader.d.ts +0 -5
  1421. package/malva-ui-core.d.ts +0 -5
  1422. package/menu/index.d.ts +0 -9
  1423. package/menu/lib/menu/menu-group-label.d.ts +0 -22
  1424. package/menu/lib/menu/menu-group.d.ts +0 -27
  1425. package/menu/lib/menu/menu-item.d.ts +0 -76
  1426. package/menu/lib/menu/menu-separator.d.ts +0 -18
  1427. package/menu/lib/menu/menu-trigger.d.ts +0 -255
  1428. package/menu/lib/menu/menu.d.ts +0 -149
  1429. package/menu/lib/menu/menu.types.d.ts +0 -13
  1430. package/menu/lib/menu/menubar.d.ts +0 -131
  1431. package/menu/lib/menu/menubar.types.d.ts +0 -82
  1432. package/menu/lib/menu/submenu-aim.d.ts +0 -10
  1433. package/menu/malva-ui-core-menu.d.ts +0 -5
  1434. package/notification/index.d.ts +0 -4
  1435. package/notification/lib/notification-item/notification-item.d.ts +0 -20
  1436. package/notification/lib/notification-ref.d.ts +0 -12
  1437. package/notification/lib/notification.service.d.ts +0 -43
  1438. package/notification/lib/notification.types.d.ts +0 -52
  1439. package/notification/malva-ui-core-notification.d.ts +0 -5
  1440. package/number-input/index.d.ts +0 -1
  1441. package/number-input/lib/number-input/number-input.d.ts +0 -162
  1442. package/number-input/malva-ui-core-number-input.d.ts +0 -5
  1443. package/page/index.d.ts +0 -14
  1444. package/page/lib/page/page-scroll.token.d.ts +0 -19
  1445. package/page/lib/page/page-snap-controller.d.ts +0 -87
  1446. package/page/lib/page/page-snap.directive.d.ts +0 -40
  1447. package/page/lib/page/page.d.ts +0 -74
  1448. package/page/lib/page-content/page-aside.d.ts +0 -7
  1449. package/page/lib/page-content/page-content.d.ts +0 -37
  1450. package/page/lib/page-dock/page-dock.d.ts +0 -50
  1451. package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
  1452. package/page/lib/page-header/page-header.d.ts +0 -77
  1453. package/page/lib/page-header/page-header.directives.d.ts +0 -50
  1454. package/page/lib/page-shell/page-shell-color.d.ts +0 -48
  1455. package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
  1456. package/page/lib/page-shell/page-shell.d.ts +0 -44
  1457. package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
  1458. package/page/lib/page-summary/page-summary-item.d.ts +0 -11
  1459. package/page/lib/page-summary/page-summary.d.ts +0 -36
  1460. package/page/malva-ui-core-page.d.ts +0 -5
  1461. package/pagination/index.d.ts +0 -4
  1462. package/pagination/lib/pagination/pagination.d.ts +0 -182
  1463. package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
  1464. package/pagination/lib/pagination/pagination.model.d.ts +0 -6
  1465. package/pagination/lib/pagination/pagination.service.d.ts +0 -26
  1466. package/pagination/malva-ui-core-pagination.d.ts +0 -5
  1467. package/pin-input/index.d.ts +0 -2
  1468. package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
  1469. package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
  1470. package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
  1471. package/popup/index.d.ts +0 -9
  1472. package/popup/lib/popup/popup.d.ts +0 -343
  1473. package/popup/lib/popup-container/popup-container.d.ts +0 -61
  1474. package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
  1475. package/popup/lib/popup-content.d.ts +0 -6
  1476. package/popup/lib/popup-header-content.d.ts +0 -18
  1477. package/popup/lib/popup-pinned-content.d.ts +0 -17
  1478. package/popup/lib/popup-positions.d.ts +0 -105
  1479. package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
  1480. package/popup/lib/popup.service.d.ts +0 -159
  1481. package/popup/malva-ui-core-popup.d.ts +0 -5
  1482. package/progress/index.d.ts +0 -1
  1483. package/progress/lib/progress/progress.d.ts +0 -69
  1484. package/progress/malva-ui-core-progress.d.ts +0 -5
  1485. package/radio/index.d.ts +0 -2
  1486. package/radio/lib/radio/radio.d.ts +0 -87
  1487. package/radio/lib/radio-group/radio-group.d.ts +0 -35
  1488. package/radio/lib/radio-group-token.d.ts +0 -7
  1489. package/radio/malva-ui-core-radio.d.ts +0 -5
  1490. package/rating/index.d.ts +0 -1
  1491. package/rating/lib/rating/rating.d.ts +0 -100
  1492. package/rating/malva-ui-core-rating.d.ts +0 -5
  1493. package/scrollbar/index.d.ts +0 -1
  1494. package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
  1495. package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
  1496. package/search-field/index.d.ts +0 -2
  1497. package/search-field/lib/search-field/search-field.d.ts +0 -347
  1498. package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
  1499. package/search-field/malva-ui-core-search-field.d.ts +0 -5
  1500. package/segmented/index.d.ts +0 -4
  1501. package/segmented/lib/segmented/segmented.d.ts +0 -80
  1502. package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
  1503. package/segmented/lib/segmented-token.d.ts +0 -22
  1504. package/segmented/lib/segmented.types.d.ts +0 -9
  1505. package/segmented/malva-ui-core-segmented.d.ts +0 -5
  1506. package/select/index.d.ts +0 -3
  1507. package/select/lib/select/select.d.ts +0 -379
  1508. package/select/lib/select-option.d.ts +0 -1
  1509. package/select/lib/select-template.directives.d.ts +0 -14
  1510. package/select/malva-ui-core-select.d.ts +0 -5
  1511. package/sidebar/index.d.ts +0 -15
  1512. package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
  1513. package/sidebar/lib/sidebar-content.d.ts +0 -11
  1514. package/sidebar/lib/sidebar-context.d.ts +0 -23
  1515. package/sidebar/lib/sidebar-footer.d.ts +0 -9
  1516. package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
  1517. package/sidebar/lib/sidebar-header.d.ts +0 -9
  1518. package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
  1519. package/sidebar/lib/sidebar-item-host.d.ts +0 -18
  1520. package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
  1521. package/sidebar/lib/sidebar-mode.d.ts +0 -2
  1522. package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
  1523. package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
  1524. package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
  1525. package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
  1526. package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
  1527. package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
  1528. package/skeleton/index.d.ts +0 -1
  1529. package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
  1530. package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
  1531. package/slider/index.d.ts +0 -2
  1532. package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
  1533. package/slider/lib/slider/slider.d.ts +0 -171
  1534. package/slider/malva-ui-core-slider.d.ts +0 -5
  1535. package/split-pane/index.d.ts +0 -3
  1536. package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
  1537. package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
  1538. package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
  1539. package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
  1540. package/status-indicator/index.d.ts +0 -1
  1541. package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
  1542. package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
  1543. package/stepper/index.d.ts +0 -4
  1544. package/stepper/lib/stepper/step-header.d.ts +0 -34
  1545. package/stepper/lib/stepper/step.d.ts +0 -51
  1546. package/stepper/lib/stepper/stepper-token.d.ts +0 -13
  1547. package/stepper/lib/stepper/stepper.d.ts +0 -98
  1548. package/stepper/lib/stepper/stepper.types.d.ts +0 -4
  1549. package/stepper/malva-ui-core-stepper.d.ts +0 -5
  1550. package/switch/index.d.ts +0 -2
  1551. package/switch/lib/switch/switch.d.ts +0 -118
  1552. package/switch/lib/switch-group/switch-group.d.ts +0 -24
  1553. package/switch/lib/switch-group-token.d.ts +0 -6
  1554. package/switch/malva-ui-core-switch.d.ts +0 -5
  1555. package/tabs/index.d.ts +0 -8
  1556. package/tabs/lib/tab/tab.d.ts +0 -46
  1557. package/tabs/lib/tab-content/tab-content.d.ts +0 -11
  1558. package/tabs/lib/tab-content-def.d.ts +0 -6
  1559. package/tabs/lib/tab-def.d.ts +0 -11
  1560. package/tabs/lib/tab-group-token.d.ts +0 -10
  1561. package/tabs/lib/tab-item/tab-item.d.ts +0 -28
  1562. package/tabs/lib/tabs/tabs.d.ts +0 -202
  1563. package/tabs/lib/tabs.service.d.ts +0 -24
  1564. package/tabs/malva-ui-core-tabs.d.ts +0 -5
  1565. package/textarea/index.d.ts +0 -1
  1566. package/textarea/lib/textarea/textarea.d.ts +0 -77
  1567. package/textarea/malva-ui-core-textarea.d.ts +0 -5
  1568. package/tile/index.d.ts +0 -2
  1569. package/tile/lib/tile/tile.d.ts +0 -20
  1570. package/tile/lib/tile-header.d.ts +0 -6
  1571. package/tile/malva-ui-core-tile.d.ts +0 -5
  1572. package/time-picker/index.d.ts +0 -1
  1573. package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
  1574. package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
  1575. package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
  1576. package/timeline/index.d.ts +0 -5
  1577. package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
  1578. package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
  1579. package/timeline/lib/timeline/timeline-item.d.ts +0 -52
  1580. package/timeline/lib/timeline/timeline.d.ts +0 -27
  1581. package/timeline/lib/timeline/timeline.types.d.ts +0 -18
  1582. package/timeline/malva-ui-core-timeline.d.ts +0 -5
  1583. package/title/index.d.ts +0 -1
  1584. package/title/lib/title/title.d.ts +0 -63
  1585. package/title/malva-ui-core-title.d.ts +0 -5
  1586. package/toast/index.d.ts +0 -10
  1587. package/toast/lib/abstract-toast-container.d.ts +0 -29
  1588. package/toast/lib/abstract-toast-item.d.ts +0 -44
  1589. package/toast/lib/abstract-toast.service.d.ts +0 -75
  1590. package/toast/lib/toast-container/toast-container.d.ts +0 -23
  1591. package/toast/lib/toast-item/toast-item.d.ts +0 -25
  1592. package/toast/lib/toast-ref.d.ts +0 -33
  1593. package/toast/lib/toast-timer.d.ts +0 -24
  1594. package/toast/lib/toast.directives.d.ts +0 -13
  1595. package/toast/lib/toast.service.d.ts +0 -41
  1596. package/toast/lib/toast.types.d.ts +0 -139
  1597. package/toast/malva-ui-core-toast.d.ts +0 -5
  1598. package/tokenizer/index.d.ts +0 -3
  1599. package/tokenizer/lib/token/token.d.ts +0 -60
  1600. package/tokenizer/lib/token-template.d.ts +0 -29
  1601. package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
  1602. package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
  1603. package/toolbar/index.d.ts +0 -3
  1604. package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
  1605. package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
  1606. package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
  1607. package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
  1608. package/tooltip/index.d.ts +0 -3
  1609. package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
  1610. package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
  1611. package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
  1612. package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
  1613. package/tree/index.d.ts +0 -4
  1614. package/tree/lib/tree/tree-context.d.ts +0 -62
  1615. package/tree/lib/tree/tree-node-def.d.ts +0 -33
  1616. package/tree/lib/tree/tree-node.d.ts +0 -45
  1617. package/tree/lib/tree/tree-subtree.d.ts +0 -63
  1618. package/tree/lib/tree/tree.d.ts +0 -156
  1619. package/tree/malva-ui-core-tree.d.ts +0 -5
@@ -0,0 +1,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