@mono-lit/helper 0.0.0-stage → 0.0.2

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 (539) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +35 -3
  3. package/dist/breakpoints-CAbhDUht.js +84 -0
  4. package/dist/checkbox-Cqpie9Ap.js +4 -0
  5. package/dist/chip-DBUUa2eB.js +4 -0
  6. package/dist/chip-limits-BMoO31JM.js +213 -0
  7. package/dist/chip-strip-Cw3gyz0q.js +213 -0
  8. package/dist/color-DHYrfXsX.js +253 -0
  9. package/dist/css-class-BRKRzHx-.js +60 -0
  10. package/dist/css-size-DhHSVZJK.js +37 -0
  11. package/dist/data/theme/presets.json.d.ts +140 -0
  12. package/dist/data-source-controller-B_rgHCjw.js +241 -0
  13. package/dist/data-source-controller-Dbb4fd8I.js +241 -0
  14. package/dist/data-source-options-CP-X62Pa.js +535 -0
  15. package/dist/data-source-options-Jqj7LU3Z.js +537 -0
  16. package/dist/data-source-read-B4DGp6UQ.js +216 -0
  17. package/dist/data-source-read-DL88aH8t.js +217 -0
  18. package/dist/decorate-DEXtNagw.js +141 -0
  19. package/dist/element-props-CLB6yvbm.js +114 -0
  20. package/dist/esm-Ptok4SQZ.js +2026 -0
  21. package/dist/excel-CY6zGkcx.js +608 -0
  22. package/dist/excel-DopRbEMK.js +608 -0
  23. package/dist/export-BiGVyxt6.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-DELrSdqJ.js +86 -0
  27. package/dist/field-path-C92eGLg3.js +251 -0
  28. package/dist/filter-builder-Bke3qOgJ.js +205 -0
  29. package/dist/filter-builder-CE4zE0V5.js +205 -0
  30. package/dist/filter-eval-DIfU2EAn.js +173 -0
  31. package/dist/filter-odata-C1vSGZaY.js +591 -0
  32. package/dist/form-control-core-B8d7k6vk.js +223 -0
  33. package/dist/form-control-core-eeRr0zLU.js +223 -0
  34. package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
  35. package/dist/icon-CJkTlmTb.js +55 -0
  36. package/dist/icon-dVhYJUIH.js +17 -0
  37. package/dist/import-BgJdkwBI.js +606 -0
  38. package/dist/import.d.ts +1 -0
  39. package/dist/import.js +606 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js +16 -0
  42. package/dist/index.node-BIqEGehH.js +396 -0
  43. package/dist/index.node.d.ts +1 -0
  44. package/dist/index.node.js +16 -0
  45. package/dist/input-zGOULADt.js +4 -0
  46. package/dist/layout-var-CZnzMC0s.js +73 -0
  47. package/dist/light-slots-BVJwyg_2.js +244 -0
  48. package/dist/light-slots-DW1WgfgT.js +254 -0
  49. package/dist/markdown-DfqrfOJN.js +20146 -0
  50. package/dist/mono-button-simcTQdW.js +873 -0
  51. package/dist/mono-button.shadow-B_rKOY9N.js +784 -0
  52. package/dist/mono-data-chart-CEv29_NS.js +779 -0
  53. package/dist/mono-data-dropdown-Wnoke6zO.js +357 -0
  54. package/dist/mono-data-grid-CjkEqxgE.js +3913 -0
  55. package/dist/mono-data-grid-YjR3n9Ar.js +3915 -0
  56. package/dist/mono-element-B0kP_96P.js +232 -0
  57. package/dist/mono-event-Bi1qP9uN.js +129 -0
  58. package/dist/mono-form-controller-5PfsU4qa.js +409 -0
  59. package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
  60. package/dist/mono-ui-CPV7rrdo.js +358 -0
  61. package/dist/normalize-error-Gcgmgh5i.js +871 -0
  62. package/dist/notifier-CE4yxMUQ.js +88 -0
  63. package/dist/nuxt.d.ts +1 -0
  64. package/dist/nuxt.js +130 -0
  65. package/dist/popup-portal-BziRX1yG.js +465 -0
  66. package/dist/popup-stack-CEEMib__.js +189 -0
  67. package/dist/rate-limit-BBa2PO79.js +521 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/reactive-Di3mTMnV.js +1087 -0
  70. package/dist/search.d.ts +1 -0
  71. package/dist/search.js +97 -0
  72. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  73. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  74. package/dist/src/components/accordion/index.d.ts +3 -0
  75. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  76. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  77. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  78. package/dist/src/components/alert/alert-core.d.ts +46 -0
  79. package/dist/src/components/alert/alert-types.d.ts +44 -0
  80. package/dist/src/components/alert/index.d.ts +3 -0
  81. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  82. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  83. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  88. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  89. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  90. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  94. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  95. package/dist/src/components/button/button-core.d.ts +90 -0
  96. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  97. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  98. package/dist/src/components/button/button-types.d.ts +219 -0
  99. package/dist/src/components/button/button-utils.d.ts +18 -0
  100. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  101. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  102. package/dist/src/components/button/index.d.ts +8 -0
  103. package/dist/src/components/button/index.shadow.d.ts +5 -0
  104. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  105. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  106. package/dist/src/components/button/mono-button.d.ts +123 -0
  107. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  108. package/dist/src/components/card/card-core.d.ts +75 -0
  109. package/dist/src/components/card/card-types.d.ts +137 -0
  110. package/dist/src/components/card/card-utils.d.ts +23 -0
  111. package/dist/src/components/card/index.d.ts +4 -0
  112. package/dist/src/components/card/index.shadow.d.ts +6 -0
  113. package/dist/src/components/card/mono-card.d.ts +56 -0
  114. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  115. package/dist/src/components/chart/chart-core.d.ts +43 -0
  116. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  117. package/dist/src/components/chart/chart-types.d.ts +356 -0
  118. package/dist/src/components/chart/index.d.ts +8 -0
  119. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  120. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  122. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  123. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  124. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  125. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  126. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  127. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  128. package/dist/src/components/checkbox/index.d.ts +4 -0
  129. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  130. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  131. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  132. package/dist/src/components/chip/chip-core.d.ts +58 -0
  133. package/dist/src/components/chip/chip-types.d.ts +142 -0
  134. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  135. package/dist/src/components/chip/index.d.ts +8 -0
  136. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  137. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  138. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  139. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  140. package/dist/src/components/date/date-core.d.ts +80 -0
  141. package/dist/src/components/date/date-types.d.ts +163 -0
  142. package/dist/src/components/date/index.d.ts +3 -0
  143. package/dist/src/components/date/index.shadow.d.ts +4 -0
  144. package/dist/src/components/date/mono-date.d.ts +22 -0
  145. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  146. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  147. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  148. package/dist/src/components/drawer/index.d.ts +3 -0
  149. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  150. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  151. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  152. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  153. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  154. package/dist/src/components/dropdown/index.d.ts +3 -0
  155. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  156. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  157. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  159. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  160. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  161. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  162. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  164. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  165. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  166. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  167. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  168. package/dist/src/components/file-upload/index.d.ts +4 -0
  169. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  170. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  171. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  172. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  173. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  174. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  175. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  176. package/dist/src/components/filter/filter-types.d.ts +253 -0
  177. package/dist/src/components/filter/index.d.ts +6 -0
  178. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  179. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  180. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  181. package/dist/src/components/form/form-control-core.d.ts +37 -0
  182. package/dist/src/components/form/form-rules.d.ts +25 -0
  183. package/dist/src/components/form/form-types.d.ts +307 -0
  184. package/dist/src/components/form/index.d.ts +6 -0
  185. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  186. package/dist/src/components/input/index.d.ts +6 -0
  187. package/dist/src/components/input/index.shadow.d.ts +8 -0
  188. package/dist/src/components/input/input-core.d.ts +91 -0
  189. package/dist/src/components/input/input-format.d.ts +118 -0
  190. package/dist/src/components/input/input-types.d.ts +179 -0
  191. package/dist/src/components/input/input-utils.d.ts +10 -0
  192. package/dist/src/components/input/mono-input.d.ts +46 -0
  193. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  194. package/dist/src/components/menu/index.d.ts +6 -0
  195. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  196. package/dist/src/components/menu/menu-core.d.ts +65 -0
  197. package/dist/src/components/menu/menu-render.d.ts +55 -0
  198. package/dist/src/components/menu/menu-types.d.ts +195 -0
  199. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  200. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  201. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  202. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  203. package/dist/src/components/modal/index.d.ts +4 -0
  204. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  205. package/dist/src/components/modal/modal-core.d.ts +110 -0
  206. package/dist/src/components/modal/modal-types.d.ts +304 -0
  207. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  208. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  209. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  210. package/dist/src/components/nav/index.d.ts +4 -0
  211. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  212. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  213. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  214. package/dist/src/components/nav/nav-core.d.ts +34 -0
  215. package/dist/src/components/nav/nav-types.d.ts +48 -0
  216. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  217. package/dist/src/components/radio/index.d.ts +4 -0
  218. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  219. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  220. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  221. package/dist/src/components/radio/radio-core.d.ts +45 -0
  222. package/dist/src/components/radio/radio-types.d.ts +58 -0
  223. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  224. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  225. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  227. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  231. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  232. package/dist/src/components/select/index.d.ts +4 -0
  233. package/dist/src/components/select/index.shadow.d.ts +5 -0
  234. package/dist/src/components/select/mono-select.d.ts +69 -0
  235. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  236. package/dist/src/components/select/select-core.d.ts +98 -0
  237. package/dist/src/components/select/select-types.d.ts +284 -0
  238. package/dist/src/components/select/select-utils.d.ts +7 -0
  239. package/dist/src/components/sidebar/index.d.ts +4 -0
  240. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  241. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  242. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  243. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  244. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  245. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  246. package/dist/src/components/switch/index.d.ts +4 -0
  247. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  248. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  249. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  250. package/dist/src/components/switch/switch-core.d.ts +49 -0
  251. package/dist/src/components/switch/switch-types.d.ts +64 -0
  252. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  253. package/dist/src/components/table/array-source.d.ts +44 -0
  254. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  255. package/dist/src/components/table/grouping.d.ts +55 -0
  256. package/dist/src/components/table/index.d.ts +33 -0
  257. package/dist/src/components/table/index.shadow.d.ts +47 -0
  258. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  259. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  260. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  261. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  262. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  263. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  264. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  265. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  266. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  267. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  268. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  269. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  270. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  271. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  272. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  273. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  274. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  275. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  276. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  278. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  279. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  280. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  281. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  282. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  283. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  284. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  285. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  286. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  287. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  288. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  289. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  290. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  291. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  292. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  293. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  294. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  295. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  296. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  297. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  298. package/dist/src/components/table/store-group-source.d.ts +24 -0
  299. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  300. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  301. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  302. package/dist/src/components/table/table-overlay.d.ts +165 -0
  303. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  304. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  305. package/dist/src/components/table/table-types.d.ts +475 -0
  306. package/dist/src/components/tabs/index.d.ts +3 -0
  307. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  308. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  309. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  310. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  311. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  312. package/dist/src/components/tag-input/index.d.ts +4 -0
  313. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  314. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  315. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  316. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  317. package/dist/src/components/tag-input/tag-input-types.d.ts +420 -0
  318. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  319. package/dist/src/components/textarea/index.d.ts +4 -0
  320. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  321. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  322. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  323. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  324. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  325. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  326. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  327. package/dist/src/components/tooltip/index.d.ts +6 -0
  328. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  329. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  330. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  331. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  332. package/dist/src/composables/breakpoints.d.ts +59 -0
  333. package/dist/src/composables/chip-limits.d.ts +48 -0
  334. package/dist/src/composables/chip-strip.d.ts +93 -0
  335. package/dist/src/composables/color.d.ts +103 -0
  336. package/dist/src/composables/css-class.d.ts +27 -0
  337. package/dist/src/composables/css-size.d.ts +40 -0
  338. package/dist/src/composables/data-source-controller.d.ts +113 -0
  339. package/dist/src/composables/element-props.d.ts +46 -0
  340. package/dist/src/composables/field-icons.d.ts +15 -0
  341. package/dist/src/composables/hybird-prop.d.ts +79 -0
  342. package/dist/src/composables/hydration-flush.d.ts +34 -0
  343. package/dist/src/composables/icon.d.ts +17 -0
  344. package/dist/src/composables/layout-var.d.ts +34 -0
  345. package/dist/src/composables/light-slots.d.ts +133 -0
  346. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  347. package/dist/src/composables/mono-element.d.ts +9 -0
  348. package/dist/src/composables/mono-event.d.ts +55 -0
  349. package/dist/src/composables/mono-pending.d.ts +8 -0
  350. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  351. package/dist/src/composables/mono-ui.d.ts +58 -0
  352. package/dist/src/composables/notifier.d.ts +46 -0
  353. package/dist/src/composables/popup-portal.d.ts +226 -0
  354. package/dist/src/composables/popup-stack.d.ts +70 -0
  355. package/dist/src/composables/rate-limit.d.ts +108 -0
  356. package/dist/src/composables/reactive.d.ts +53 -0
  357. package/dist/src/composables/shadow-css.d.ts +42 -0
  358. package/dist/src/composables/visibility.d.ts +36 -0
  359. package/dist/src/data/theme/index.d.ts +30 -0
  360. package/dist/src/data/theme/presets.d.ts +94 -0
  361. package/dist/src/entries/index.d.ts +2 -0
  362. package/dist/src/entries/index.node.d.ts +42 -0
  363. package/dist/src/entries/search.d.ts +3 -0
  364. package/dist/src/export/detail.d.ts +29 -0
  365. package/dist/src/export/download.d.ts +9 -0
  366. package/dist/src/export/excel/index.d.ts +27 -0
  367. package/dist/src/export/excel/nodes.d.ts +123 -0
  368. package/dist/src/export/expression.d.ts +36 -0
  369. package/dist/src/export/helpers.d.ts +6 -0
  370. package/dist/src/export/index.d.ts +13 -0
  371. package/dist/src/export/markdown.d.ts +52 -0
  372. package/dist/src/export/resolve-data.d.ts +31 -0
  373. package/dist/src/export/sentinel.d.ts +97 -0
  374. package/dist/src/export/sheet-name.d.ts +45 -0
  375. package/dist/src/export/styles.d.ts +33 -0
  376. package/dist/src/export/template.d.ts +10 -0
  377. package/dist/src/export/types.d.ts +259 -0
  378. package/dist/src/import/coerce.d.ts +38 -0
  379. package/dist/src/import/index.d.ts +16 -0
  380. package/dist/src/import/match.d.ts +54 -0
  381. package/dist/src/import/parse.d.ts +15 -0
  382. package/dist/src/import/types.d.ts +153 -0
  383. package/dist/src/nuxt/index.d.ts +94 -0
  384. package/dist/src/search/data-search.d.ts +207 -0
  385. package/dist/src/search/field-path.d.ts +107 -0
  386. package/dist/src/search/filter-eval.d.ts +30 -0
  387. package/dist/src/search/index.d.ts +22 -0
  388. package/dist/src/search/odata-search.d.ts +18 -0
  389. package/dist/src/search/search-expr.d.ts +160 -0
  390. package/dist/src/utils/data-source-apply.d.ts +97 -0
  391. package/dist/src/utils/data-source-options.d.ts +116 -0
  392. package/dist/src/utils/data-source-read.d.ts +85 -0
  393. package/dist/src/utils/data-source-summary.d.ts +55 -0
  394. package/dist/src/utils/normalize-error.d.ts +90 -0
  395. package/dist/src/vite/index.d.ts +48 -0
  396. package/dist/src/vite/mono-client-only.d.ts +35 -0
  397. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  398. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  399. package/dist/styles-BIJ31TM4.js +20146 -0
  400. package/dist/tooltip-DQqNpqk2.js +795 -0
  401. package/dist/tooltip.d.ts +1 -0
  402. package/dist/tooltip.js +2 -0
  403. package/dist/ui/accordion.d.ts +1 -0
  404. package/dist/ui/accordion.js +466 -0
  405. package/dist/ui/alert.d.ts +1 -0
  406. package/dist/ui/alert.js +221 -0
  407. package/dist/ui/breadcrumb.d.ts +1 -0
  408. package/dist/ui/breadcrumb.js +902 -0
  409. package/dist/ui/button-dropdown.d.ts +1 -0
  410. package/dist/ui/button-dropdown.js +679 -0
  411. package/dist/ui/button.d.ts +1 -0
  412. package/dist/ui/button.js +63 -0
  413. package/dist/ui/card.d.ts +1 -0
  414. package/dist/ui/card.js +524 -0
  415. package/dist/ui/chart.d.ts +1 -0
  416. package/dist/ui/chart.js +885 -0
  417. package/dist/ui/checkbox.d.ts +1 -0
  418. package/dist/ui/checkbox.js +413 -0
  419. package/dist/ui/chip.d.ts +1 -0
  420. package/dist/ui/chip.js +558 -0
  421. package/dist/ui/date.d.ts +1 -0
  422. package/dist/ui/date.js +686 -0
  423. package/dist/ui/drawer.d.ts +1 -0
  424. package/dist/ui/drawer.js +901 -0
  425. package/dist/ui/dropdown-table.d.ts +1 -0
  426. package/dist/ui/dropdown-table.js +1291 -0
  427. package/dist/ui/dropdown.d.ts +1 -0
  428. package/dist/ui/dropdown.js +586 -0
  429. package/dist/ui/file-upload.d.ts +1 -0
  430. package/dist/ui/file-upload.js +688 -0
  431. package/dist/ui/filter.d.ts +1 -0
  432. package/dist/ui/filter.js +400 -0
  433. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  434. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  435. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  436. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  437. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  443. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  444. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  445. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  446. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  447. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  448. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  449. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  450. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  462. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  463. package/dist/ui/font/geist-mono.css +104 -0
  464. package/dist/ui/font/geist.css +168 -0
  465. package/dist/ui/font/inter.css +232 -0
  466. package/dist/ui/font/poppins.css +104 -0
  467. package/dist/ui/form.d.ts +1 -0
  468. package/dist/ui/form.js +3 -0
  469. package/dist/ui/index.css +21989 -0
  470. package/dist/ui/input.d.ts +1 -0
  471. package/dist/ui/input.js +1176 -0
  472. package/dist/ui/menu.d.ts +1 -0
  473. package/dist/ui/menu.js +1289 -0
  474. package/dist/ui/modal.d.ts +1 -0
  475. package/dist/ui/modal.js +996 -0
  476. package/dist/ui/nav.d.ts +1 -0
  477. package/dist/ui/nav.js +295 -0
  478. package/dist/ui/radio.d.ts +1 -0
  479. package/dist/ui/radio.js +379 -0
  480. package/dist/ui/rich-text-editor.d.ts +1 -0
  481. package/dist/ui/rich-text-editor.js +1338 -0
  482. package/dist/ui/select.d.ts +1 -0
  483. package/dist/ui/select.js +2200 -0
  484. package/dist/ui/shadow/accordion.js +442 -0
  485. package/dist/ui/shadow/alert.js +218 -0
  486. package/dist/ui/shadow/breadcrumb.js +919 -0
  487. package/dist/ui/shadow/button-dropdown.js +696 -0
  488. package/dist/ui/shadow/button.js +63 -0
  489. package/dist/ui/shadow/card.js +538 -0
  490. package/dist/ui/shadow/chart.js +1685 -0
  491. package/dist/ui/shadow/checkbox.js +457 -0
  492. package/dist/ui/shadow/chip.js +559 -0
  493. package/dist/ui/shadow/date.js +712 -0
  494. package/dist/ui/shadow/drawer.js +869 -0
  495. package/dist/ui/shadow/dropdown-table.js +1620 -0
  496. package/dist/ui/shadow/dropdown.js +547 -0
  497. package/dist/ui/shadow/file-upload.js +731 -0
  498. package/dist/ui/shadow/filter.js +402 -0
  499. package/dist/ui/shadow/input.js +1150 -0
  500. package/dist/ui/shadow/menu.js +899 -0
  501. package/dist/ui/shadow/modal.js +1194 -0
  502. package/dist/ui/shadow/nav.js +240 -0
  503. package/dist/ui/shadow/radio.js +408 -0
  504. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  505. package/dist/ui/shadow/select.js +2167 -0
  506. package/dist/ui/shadow/sidebar.js +606 -0
  507. package/dist/ui/shadow/switch.js +428 -0
  508. package/dist/ui/shadow/table.js +4755 -0
  509. package/dist/ui/shadow/tabs.js +372 -0
  510. package/dist/ui/shadow/tag-input.js +2974 -0
  511. package/dist/ui/shadow/textarea.js +816 -0
  512. package/dist/ui/sidebar.d.ts +1 -0
  513. package/dist/ui/sidebar.js +659 -0
  514. package/dist/ui/switch.d.ts +1 -0
  515. package/dist/ui/switch.js +398 -0
  516. package/dist/ui/table.d.ts +1 -0
  517. package/dist/ui/table.js +4654 -0
  518. package/dist/ui/tabs.d.ts +1 -0
  519. package/dist/ui/tabs.js +379 -0
  520. package/dist/ui/tag-input.d.ts +1 -0
  521. package/dist/ui/tag-input.js +2947 -0
  522. package/dist/ui/textarea.d.ts +1 -0
  523. package/dist/ui/textarea.js +819 -0
  524. package/dist/ui/theme/legacy.css +293 -0
  525. package/dist/ui/theme/luma.css +743 -0
  526. package/dist/ui/theme/lyra.css +754 -0
  527. package/dist/ui/theme/maia.css +673 -0
  528. package/dist/ui/theme/mira.css +802 -0
  529. package/dist/ui/theme/nova.css +662 -0
  530. package/dist/ui/theme/one.css +699 -0
  531. package/dist/ui/theme/rhea.css +742 -0
  532. package/dist/ui/theme/sera.css +845 -0
  533. package/dist/ui/theme/tokens.css +261 -0
  534. package/dist/ui/theme/vega.css +467 -0
  535. package/dist/vite-C5iUK7so.js +329 -0
  536. package/dist/vite.d.ts +1 -0
  537. package/dist/vite.js +2 -0
  538. package/dist/vue.d.ts +282 -0
  539. package/package.json +411 -3
@@ -0,0 +1,88 @@
1
+ /**
2
+ * The coalesced notifier every mono controller uses.
3
+ *
4
+ * Notifications are queued on a microtask and de-duplicated, so several state
5
+ * changes in one tick produce a single callback. That coalescing is not a
6
+ * nicety: a synchronous subscriber that re-renders the consumer's Vue tree would
7
+ * reenter an in-flight patch and corrupt the DOM. When `queueMicrotask` is
8
+ * unavailable (older SSR runtimes) it degrades to a synchronous flush.
9
+ *
10
+ * This was copy-pasted into `monoDataGrid`, `monoDataDropdown`, `monoForm` and
11
+ * `monoChart` — identical logic and, in two of them, identical comments. One
12
+ * implementation means one place to fix if the scheduling ever needs to change.
13
+ */
14
+ function createNotifier(options = {}) {
15
+ const subscribers = /* @__PURE__ */ new Set();
16
+ let queued = false;
17
+ let chain = 0;
18
+ let probe;
19
+ let tripped = false;
20
+ let pending = false;
21
+ /** Reported once per notifier: a loop that keeps going re-trips every task, and one line says it. */
22
+ let reported = false;
23
+ function armProbe() {
24
+ if (probe !== void 0 || typeof setTimeout !== "function") return;
25
+ probe = setTimeout(() => {
26
+ probe = void 0;
27
+ chain = 0;
28
+ if (tripped) {
29
+ tripped = false;
30
+ if (pending) {
31
+ pending = false;
32
+ flush();
33
+ }
34
+ }
35
+ }, 0);
36
+ }
37
+ function trip() {
38
+ tripped = true;
39
+ pending = true;
40
+ if (reported) return;
41
+ reported = true;
42
+ const extra = options.detail ? options.detail() : "";
43
+ console.error(`[mono] ${options.name ?? "controller"} notified ${chain} times without yielding to the event loop — a feedback loop (something writing back into it on every change, e.g. a watch() on its state ref that calls setProp / setValue). Notifications are paused until the next task.` + (extra ? ` ${extra}` : ""));
44
+ }
45
+ function flush() {
46
+ if (typeof setTimeout === "function") {
47
+ chain++;
48
+ armProbe();
49
+ }
50
+ if (chain > 200) {
51
+ if (!tripped) trip();
52
+ pending = true;
53
+ return;
54
+ }
55
+ options.onFlush?.();
56
+ subscribers.forEach((cb) => cb());
57
+ }
58
+ return {
59
+ subscribe(cb) {
60
+ subscribers.add(cb);
61
+ return () => subscribers.delete(cb);
62
+ },
63
+ notify() {
64
+ if (typeof queueMicrotask !== "function") {
65
+ flush();
66
+ return;
67
+ }
68
+ if (tripped) {
69
+ pending = true;
70
+ return;
71
+ }
72
+ if (queued) return;
73
+ queued = true;
74
+ queueMicrotask(() => {
75
+ queued = false;
76
+ flush();
77
+ });
78
+ },
79
+ clear() {
80
+ subscribers.clear();
81
+ },
82
+ get size() {
83
+ return subscribers.size;
84
+ }
85
+ };
86
+ }
87
+ //#endregion
88
+ export { createNotifier as t };
package/dist/nuxt.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/dist/nuxt.js ADDED
@@ -0,0 +1,130 @@
1
+ import { t as monoSsr } from "./vite-C5iUK7so.js";
2
+ import { join } from "node:path";
3
+ import { pathToFileURL } from "node:url";
4
+ import { addPluginTemplate, addVitePlugin, defineNuxtModule, extendViteConfig, hasNuxtModule, installModule, tryResolveModule, useLogger } from "@nuxt/kit";
5
+ //#region src/nuxt/index.ts
6
+ /** The optional peer the automatic skeleton (`pending`) renders with. */
7
+ var PHANTOM_UI = "@aejkatappaja/phantom-ui";
8
+ /** One lit instance, shared with the shadow build and @lit-labs/ssr. */
9
+ var LIT_DEDUPE = [
10
+ "lit",
11
+ "lit-html",
12
+ "lit-element",
13
+ "@lit/reactive-element"
14
+ ];
15
+ /** Reached only from federated routes, so Vite won't find it in its entry scan. */
16
+ var DEFAULT_OPTIMIZE_INCLUDE = ["@mono-lit/devextreme"];
17
+ var monoHelperModule = defineNuxtModule({
18
+ meta: {
19
+ name: "@mono-lit/helper",
20
+ configKey: "mono"
21
+ },
22
+ async setup(options, nuxt) {
23
+ const helper = options.helper ?? {};
24
+ const prefix = helper.prefix ?? "mono-";
25
+ const logger = useLogger("@mono-lit/helper");
26
+ const ssrApp = nuxt.options.ssr !== false;
27
+ const clientOnlyWrap = helper.clientOnly ?? ssrApp;
28
+ const appAnchor = pathToFileURL(join(nuxt.options.rootDir, "index.js")).href;
29
+ const phantom = helper.skeleton === false ? null : await tryResolveModule(PHANTOM_UI, appAnchor);
30
+ if (!phantom && helper.skeleton !== false) logger.debug(`skeleton: "${PHANTOM_UI}" is not installed in the app — \`pending\` stays a no-op. Install it to turn the automatic skeleton on.`);
31
+ let litWrapper = false;
32
+ if (helper.ssr !== false && !ssrApp) logger.debug("ssr:false — skipping nuxt-ssr-lit; shadow builds render client-side as plain custom elements.");
33
+ else if (helper.ssr !== false) if (hasNuxtModule("nuxt-ssr-lit")) logger.info("nuxt-ssr-lit is configured by the host — using legacy manual SSR wiring (litElementPrefix). Remove that module entry to enable @mono-lit/helper auto-wrap, or set mono.helper.ssr:false to silence.");
34
+ else try {
35
+ await installModule(await tryResolveModule("nuxt-ssr-lit", import.meta.url) ?? "nuxt-ssr-lit", { litElementPrefix: [] });
36
+ litWrapper = true;
37
+ } catch {
38
+ logger.info("nuxt-ssr-lit could not be loaded — mono shadow components fall back to client-only. It ships as a @mono-lit/helper dependency, so this usually means a broken or deduped install; try reinstalling, or set mono.helper.ssr:false to silence.");
39
+ }
40
+ if (ssrApp || clientOnlyWrap) {
41
+ for (const plugin of monoSsr({
42
+ prefix,
43
+ wrapper: helper.wrapper,
44
+ ssrStubPrefix: helper.ssrStubPrefix,
45
+ exclude: helper.exclude,
46
+ lightWrap: clientOnlyWrap,
47
+ litWrapper,
48
+ shadowOverride: helper.shadow
49
+ })) addVitePlugin(plugin);
50
+ if (!clientOnlyWrap) logger.debug("mono.helper.clientOnly:false — light <mono-*> are not wrapped in <ClientOnly>; the server stub and the shadow <LitWrapper> wrap stay on.");
51
+ } else logger.debug("ssr:false — <mono-*> are not wrapped in <ClientOnly> (nothing renders on the server). Set mono.helper.clientOnly:true to force it.");
52
+ if (helper.css !== false) {
53
+ nuxt.options.css ||= [];
54
+ if (!nuxt.options.css.includes("@mono-lit/helper/ui/index.css")) nuxt.options.css.push("@mono-lit/helper/ui/index.css");
55
+ }
56
+ if (helper.customElement !== false) {
57
+ const vue = nuxt.options.vue ||= {};
58
+ vue.compilerOptions ||= {};
59
+ const prev = vue.compilerOptions.isCustomElement;
60
+ vue.compilerOptions.isCustomElement = (tag) => typeof prev === "function" && prev(tag) || tag.startsWith(prefix);
61
+ }
62
+ const uiConfig = { ...helper.ui && typeof helper.ui === "object" ? helper.ui : {} };
63
+ if (phantom) uiConfig.skeleton = {
64
+ ssr: ssrApp,
65
+ ...typeof helper.skeleton === "object" ? helper.skeleton : {}
66
+ };
67
+ if (Object.keys(uiConfig).length) addPluginTemplate({
68
+ filename: "mono-ui.mjs",
69
+ order: -50,
70
+ getContents: () => [
71
+ "import { createMonoUI } from '@mono-lit/helper'",
72
+ "export default defineNuxtPlugin({",
73
+ " name: '@mono-lit/helper:ui',",
74
+ " enforce: 'pre',",
75
+ " setup() {",
76
+ ` createMonoUI(${JSON.stringify(uiConfig)})`,
77
+ " },",
78
+ "})"
79
+ ].join("\n")
80
+ });
81
+ if (phantom) addPluginTemplate({
82
+ filename: "mono-skeleton.client.mjs",
83
+ mode: "client",
84
+ getContents: () => [
85
+ "export default defineNuxtPlugin({",
86
+ " name: '@mono-lit/helper:skeleton',",
87
+ " async setup() {",
88
+ ` await import('${PHANTOM_UI}')`,
89
+ " },",
90
+ "})"
91
+ ].join("\n")
92
+ });
93
+ const tooltip = helper.tooltip === true ? {} : helper.tooltip;
94
+ if (tooltip && typeof tooltip === "object") addPluginTemplate({
95
+ filename: "mono-tooltip.client.mjs",
96
+ mode: "client",
97
+ getContents: () => [
98
+ "import { createMonoTooltip } from '@mono-lit/helper/tooltip'",
99
+ "export default defineNuxtPlugin({",
100
+ " name: '@mono-lit/helper:tooltip',",
101
+ " setup() {",
102
+ ` createMonoTooltip(${JSON.stringify(tooltip)})`,
103
+ " },",
104
+ "})"
105
+ ].join("\n")
106
+ });
107
+ const dedupe = helper.dedupe === false ? [] : helper.dedupe ?? LIT_DEDUPE;
108
+ const wanted = [...helper.optimizeInclude === false ? [] : helper.optimizeInclude ?? DEFAULT_OPTIMIZE_INCLUDE, ...tooltip ? ["@floating-ui/dom"] : []];
109
+ const exclude = phantom ? [PHANTOM_UI] : [];
110
+ const include = [];
111
+ for (const id of wanted) if (await tryResolveModule(id, appAnchor)) include.push(id);
112
+ else logger.debug(`optimizeDeps: skipping "${id}" — not resolvable from the app.`);
113
+ if (dedupe.length || include.length || exclude.length) extendViteConfig((config) => {
114
+ if (dedupe.length) {
115
+ config.resolve ||= {};
116
+ config.resolve.dedupe = [...new Set([...config.resolve.dedupe ?? [], ...dedupe])];
117
+ }
118
+ if (include.length) {
119
+ config.optimizeDeps ||= {};
120
+ config.optimizeDeps.include = [...new Set([...config.optimizeDeps.include ?? [], ...include])];
121
+ }
122
+ if (exclude.length) {
123
+ config.optimizeDeps ||= {};
124
+ config.optimizeDeps.exclude = [...new Set([...config.optimizeDeps.exclude ?? [], ...exclude])];
125
+ }
126
+ });
127
+ }
128
+ });
129
+ //#endregion
130
+ export { monoHelperModule as default };
@@ -0,0 +1,465 @@
1
+ import { a as unregisterPopupLayer, r as registerPopupLayer } from "./popup-stack-CEEMib__.js";
2
+ import { isServer } from "lit";
3
+ //#region src/composables/popup-portal.ts
4
+ /** Smallest height we will ever constrain a panel to — below this it's unusable. */
5
+ var MIN_CONSTRAINED = 96;
6
+ /** Composed-tree parent — crosses shadow boundaries. */
7
+ function flatTreeParent(node) {
8
+ const slot = node.assignedSlot;
9
+ if (slot) return slot;
10
+ const parent = node.parentNode;
11
+ if (parent instanceof ShadowRoot) return parent.host;
12
+ return parent;
13
+ }
14
+ /** Composed-tree containment — `root.contains(node)` that crosses shadow roots and slots. */
15
+ function flatTreeContains(root, node) {
16
+ for (let n = node; n; n = flatTreeParent(n)) if (n === root) return true;
17
+ return false;
18
+ }
19
+ /**
20
+ * Which element OPENED a body-level portal.
21
+ *
22
+ * Every portal is a direct child of `<body>`, so the DOM says nothing about
23
+ * where its popup came from — and a popup opened from inside another popup's
24
+ * panel (a header filter inside a dropdown-table, a select inside a modal) is
25
+ * then "outside" to that panel's own dismiss test, which closes it under the
26
+ * user's hands. This map is the missing link, kept off the DOM (no attribute,
27
+ * nothing to serialise) and weak so a torn-down portal is not held.
28
+ */
29
+ var portalOwner = /* @__PURE__ */ new WeakMap();
30
+ /** The portal `node` currently lives in (composed tree), or `null` when it is not inside one. */
31
+ function flatTreeClosestPortal(node) {
32
+ for (let n = flatTreeParent(node); n; n = flatTreeParent(n)) if (n instanceof Element && n.hasAttribute("data-mono-popup-portal")) return n;
33
+ return null;
34
+ }
35
+ /**
36
+ * True when an event's composed path passes through any of `roots` — directly,
37
+ * or through a body-level popup portal whose OWNER lives inside one of them (at
38
+ * any depth: a select inside a header filter inside a dropdown-table resolves
39
+ * all the way up).
40
+ *
41
+ * The one "is this click inside me?" test the library uses. Popups ask it
42
+ * through `PopupPortalController.containsInPath`; `mono-modal` / `mono-drawer`
43
+ * — which portal themselves, not through this controller — ask it directly with
44
+ * their host + render root, so a click in a select's option list opened from
45
+ * inside a no-overlay dialog counts as inside the dialog.
46
+ */
47
+ function pathOwnedBy(path, roots) {
48
+ if (path.some((node) => node instanceof Element && roots.includes(node))) return true;
49
+ return nestedPortalInPath(path, roots);
50
+ }
51
+ /**
52
+ * The portal half of `pathOwnedBy`: true when the path passes through a
53
+ * `[data-mono-popup-portal]` whose owner chain lands in one of `roots` — the
54
+ * roots themselves being in the path does NOT count. That distinction is what
55
+ * `ownsNestedInPath` is built on: an Escape with focus on a dropdown's own
56
+ * trigger is the dropdown's to close, not a nested popup's.
57
+ */
58
+ function nestedPortalInPath(path, roots) {
59
+ for (const node of path) {
60
+ if (!(node instanceof Element) || !node.hasAttribute("data-mono-popup-portal")) continue;
61
+ let owner = portalOwner.get(node);
62
+ const seen = /* @__PURE__ */ new Set();
63
+ while (owner && !seen.has(owner)) {
64
+ seen.add(owner);
65
+ if (roots.some((root) => root === owner || flatTreeContains(root, owner))) return true;
66
+ const outer = flatTreeClosestPortal(owner);
67
+ owner = outer ? portalOwner.get(outer) : void 0;
68
+ }
69
+ }
70
+ return false;
71
+ }
72
+ /**
73
+ * Nearest ancestor of the panel that establishes a containing block for
74
+ * `position: fixed` descendants. A body-portaled panel has none (the portal is
75
+ * a direct child of `<body>`), but a shadow-root panel usually sits under app
76
+ * chrome that does.
77
+ */
78
+ function findFixedContainingBlock(panel) {
79
+ let node = flatTreeParent(panel);
80
+ while (node && node !== document.body && node !== document.documentElement) {
81
+ if (node instanceof HTMLElement) {
82
+ const cs = getComputedStyle(node);
83
+ if (cs.transform && cs.transform !== "none") return node;
84
+ if (cs.perspective && cs.perspective !== "none") return node;
85
+ if (cs.filter && cs.filter !== "none") return node;
86
+ const backdrop = cs.backdropFilter || cs.webkitBackdropFilter;
87
+ if (backdrop && backdrop !== "none") return node;
88
+ const willChange = cs.willChange || "";
89
+ if (willChange.includes("transform") || willChange.includes("perspective") || willChange.includes("filter")) return node;
90
+ const contain = cs.contain || "";
91
+ if (contain.includes("paint") || contain.includes("layout") || contain.includes("strict") || contain.includes("content")) return node;
92
+ }
93
+ node = flatTreeParent(node);
94
+ }
95
+ return null;
96
+ }
97
+ /**
98
+ * Resolve where `panel` should sit relative to `anchor`, in viewport
99
+ * coordinates (i.e. what `position: fixed` wants, before any containing-block
100
+ * compensation — that's {@link applyPopupPlacement}'s job).
101
+ *
102
+ * IMPORTANT — the panel is measured at its NATURAL size: any previously
103
+ * published `--mono-popup-avail-*` constraint is cleared first. A constrained
104
+ * panel is exactly as tall as the room we gave it, so measuring it that way
105
+ * would make the flip test (`spaceBelow < panelH`) always report "it fits" and
106
+ * the panel would oscillate between sides on every scroll tick.
107
+ */
108
+ function computePopupPlacement(anchor, panel, o = {}) {
109
+ panel.style.removeProperty("--mono-popup-avail-h");
110
+ panel.style.removeProperty("--mono-popup-avail-w");
111
+ const triggerRect = anchor.getBoundingClientRect();
112
+ const panelRect = panel.getBoundingClientRect();
113
+ const vw = window.innerWidth;
114
+ const vh = window.innerHeight;
115
+ const margin = o.margin ?? 4;
116
+ const cs = getComputedStyle(panel);
117
+ const borderX = (parseFloat(cs.borderLeftWidth) || 0) + (parseFloat(cs.borderRightWidth) || 0);
118
+ const borderY = (parseFloat(cs.borderTopWidth) || 0) + (parseFloat(cs.borderBottomWidth) || 0);
119
+ const boxW = panelRect.width || panel.offsetWidth;
120
+ const boxH = panelRect.height || panel.offsetHeight;
121
+ const panelW = cs.overflowX === "visible" ? Math.max(boxW, panel.scrollWidth + borderX) : boxW;
122
+ const panelH = cs.overflowY === "visible" ? Math.max(boxH, panel.scrollHeight + borderY) : boxH;
123
+ let side = o.side ?? "bottom";
124
+ let align = o.align ?? "start";
125
+ const offset = o.offset ?? 6;
126
+ const flip = o.flip ?? false;
127
+ const shift = o.shift ?? false;
128
+ const constrain = o.constrain ?? false;
129
+ /** Extent the panel will actually occupy along the main axis once clamped. */
130
+ const clamped = (natural, available) => constrain ? Math.min(natural, Math.max(MIN_CONSTRAINED, available)) : natural;
131
+ if (flip) {
132
+ if (side === "bottom") {
133
+ const below = vh - triggerRect.bottom - offset;
134
+ const above = triggerRect.top - offset;
135
+ if (below < panelH && above > below) side = "top";
136
+ } else if (side === "top") {
137
+ const above = triggerRect.top - offset;
138
+ const below = vh - triggerRect.bottom - offset;
139
+ if (above < panelH && below > above) side = "bottom";
140
+ } else if (side === "right") {
141
+ const right = vw - triggerRect.right - offset;
142
+ const left = triggerRect.left - offset;
143
+ if (right < panelW && left > right) side = "left";
144
+ } else if (side === "left") {
145
+ const left = triggerRect.left - offset;
146
+ const right = vw - triggerRect.right - offset;
147
+ if (left < panelW && right > left) side = "right";
148
+ }
149
+ }
150
+ if (flip && align !== "center") {
151
+ const fitsStart = side === "bottom" || side === "top" ? triggerRect.left + panelW + margin <= vw : triggerRect.top + panelH + margin <= vh;
152
+ const fitsEnd = side === "bottom" || side === "top" ? triggerRect.right - panelW - margin >= 0 : triggerRect.bottom - panelH - margin >= 0;
153
+ if (align === "start" && !fitsStart && fitsEnd) align = "end";
154
+ else if (align === "end" && !fitsEnd && fitsStart) align = "start";
155
+ }
156
+ let top = 0;
157
+ let left = 0;
158
+ let availableMain = 0;
159
+ if (side === "bottom" || side === "top") {
160
+ if (align === "start") left = triggerRect.left;
161
+ else if (align === "end") left = triggerRect.right - panelW;
162
+ else left = triggerRect.left + triggerRect.width / 2 - panelW / 2;
163
+ if (shift) {
164
+ const minLeft = margin;
165
+ const maxLeft = vw - panelW - margin;
166
+ if (maxLeft >= minLeft) {
167
+ if (left < minLeft) left = minLeft;
168
+ if (left > maxLeft) left = maxLeft;
169
+ }
170
+ }
171
+ availableMain = side === "bottom" ? vh - triggerRect.bottom - offset - margin : triggerRect.top - offset - margin;
172
+ top = side === "bottom" ? triggerRect.bottom + offset : triggerRect.top - clamped(panelH, availableMain) - offset;
173
+ } else {
174
+ if (align === "start") top = triggerRect.top;
175
+ else if (align === "end") top = triggerRect.bottom - panelH;
176
+ else top = triggerRect.top + triggerRect.height / 2 - panelH / 2;
177
+ if (shift) {
178
+ const minTop = margin;
179
+ const maxTop = vh - panelH - margin;
180
+ if (maxTop >= minTop) {
181
+ if (top < minTop) top = minTop;
182
+ if (top > maxTop) top = maxTop;
183
+ }
184
+ }
185
+ availableMain = side === "right" ? vw - triggerRect.right - offset - margin : triggerRect.left - offset - margin;
186
+ left = side === "right" ? triggerRect.right + offset : triggerRect.left - clamped(panelW, availableMain) - offset;
187
+ }
188
+ return {
189
+ top,
190
+ left,
191
+ side,
192
+ availableMain
193
+ };
194
+ }
195
+ /**
196
+ * Commit a {@link computePopupPlacement} result to the panel. Compensates for a
197
+ * transformed / contained ancestor that has become the fixed panel's containing
198
+ * block (a no-op for a body-portaled panel), and — when `constrain` is set —
199
+ * publishes the available room so the panel's own CSS can clamp itself.
200
+ */
201
+ function applyPopupPlacement(panel, placement, constrain = false) {
202
+ let { top, left } = placement;
203
+ const cb = findFixedContainingBlock(panel);
204
+ if (cb) {
205
+ const cbRect = cb.getBoundingClientRect();
206
+ top -= cbRect.top;
207
+ left -= cbRect.left;
208
+ }
209
+ panel.style.position = "fixed";
210
+ const grid = typeof window !== "undefined" && window.devicePixelRatio > 0 ? window.devicePixelRatio : 1;
211
+ const snap = (v) => Math.round(v * grid) / grid;
212
+ panel.style.top = `${snap(top)}px`;
213
+ panel.style.left = `${snap(left)}px`;
214
+ panel.style.right = "auto";
215
+ panel.style.bottom = "auto";
216
+ panel.style.transform = "none";
217
+ if (constrain) {
218
+ const avail = `${Math.round(Math.max(MIN_CONSTRAINED, placement.availableMain))}px`;
219
+ const vertical = placement.side === "bottom" || placement.side === "top";
220
+ panel.style.setProperty(vertical ? "--mono-popup-avail-h" : "--mono-popup-avail-w", avail);
221
+ }
222
+ }
223
+ var PopupPortalController = class {
224
+ constructor(host, opts) {
225
+ this.host = host;
226
+ this.opts = opts;
227
+ this._portal = null;
228
+ this._panel = null;
229
+ this._adopted = false;
230
+ this._registered = false;
231
+ this._resolvedSide = "bottom";
232
+ this._classObserver = null;
233
+ this._viewportBound = false;
234
+ this._viewportFrame = 0;
235
+ this._onViewport = () => {
236
+ if (!this.opts.isOpen() || this._viewportFrame) return;
237
+ this._viewportFrame = requestAnimationFrame(() => {
238
+ this._viewportFrame = 0;
239
+ if (this.opts.isOpen()) this.reposition();
240
+ });
241
+ };
242
+ host.addController(this);
243
+ }
244
+ hostConnected() {
245
+ if (isServer) return;
246
+ if (this.opts.isOpen()) {
247
+ this._adopt();
248
+ this._enterStack();
249
+ this._syncPortalClass();
250
+ this.reposition();
251
+ }
252
+ }
253
+ hostDisconnected() {
254
+ this._unbindViewport();
255
+ this._leaveStack();
256
+ this._classObserver?.disconnect();
257
+ this._classObserver = null;
258
+ if (this._portal?.parentNode) this._portal.parentNode.removeChild(this._portal);
259
+ this._portal = null;
260
+ this._adopted = false;
261
+ }
262
+ hostUpdated() {
263
+ if (isServer) return;
264
+ if (this.opts.isOpen()) {
265
+ this._adopt();
266
+ this._enterStack();
267
+ this._syncPortalClass();
268
+ this.reposition();
269
+ } else {
270
+ this._leaveStack();
271
+ this._syncPortalClass();
272
+ }
273
+ }
274
+ /**
275
+ * Only relocate to `<body>` when the host renders into light DOM
276
+ * (`renderRoot === host`). Shadow hosts keep the panel in their shadow root.
277
+ */
278
+ get _canPortal() {
279
+ return !isServer && this.host.renderRoot === this.host;
280
+ }
281
+ _ensurePortal() {
282
+ if (this._portal) return this._portal;
283
+ if (typeof document === "undefined") return null;
284
+ const portal = document.createElement("div");
285
+ portal.setAttribute("data-mono-popup-portal", "");
286
+ portal.style.display = "contents";
287
+ document.body.appendChild(portal);
288
+ portalOwner.set(portal, this.host);
289
+ this._portal = portal;
290
+ return portal;
291
+ }
292
+ /** Move the panel into the body portal on first open; keep it there after. */
293
+ _adopt() {
294
+ if (this._adopted) return;
295
+ if (!this._canPortal) {
296
+ this._panel = this.opts.getPanel();
297
+ return;
298
+ }
299
+ const panel = this.opts.getPanel() ?? this._panel;
300
+ if (!panel) return;
301
+ const portal = this._ensurePortal();
302
+ if (!portal) return;
303
+ this._syncPortalClass();
304
+ this._observeStyleScope();
305
+ portal.appendChild(panel);
306
+ this._panel = panel;
307
+ this._adopted = true;
308
+ }
309
+ /** Mirror the style-scope element's classes and `mono-*` attributes onto the portal. */
310
+ _syncPortalClass() {
311
+ if (!this._portal) return;
312
+ const scope = this.opts.getStyleScope();
313
+ const cls = scope?.getAttribute("class") ?? "";
314
+ if (this._portal.getAttribute("class") !== cls) this._portal.setAttribute("class", cls);
315
+ const mirrored = (name) => name.startsWith("mono-") && !name.startsWith("mono-tooltip-");
316
+ const wanted = /* @__PURE__ */ new Map();
317
+ if (scope) {
318
+ for (const a of Array.from(scope.attributes)) if (mirrored(a.name)) wanted.set(a.name, a.value);
319
+ }
320
+ for (const a of Array.from(this._portal.attributes)) if (mirrored(a.name) && !wanted.has(a.name)) this._portal.removeAttribute(a.name);
321
+ for (const [name, value] of wanted) if (this._portal.getAttribute(name) !== value) this._portal.setAttribute(name, value);
322
+ this._syncPortalVars(scope);
323
+ }
324
+ /**
325
+ * Carry the component's public custom properties across the portal (see
326
+ * `styleVars`). Only values that DIFFER from the portal's own resolution are
327
+ * written, so a theme-level token stays inherited and only a real override
328
+ * (an ancestor of the host, or an inline style on it) is copied.
329
+ */
330
+ _syncPortalVars(scope) {
331
+ const names = this.opts.styleVars?.();
332
+ if (!this._portal || !scope || !names?.length) return;
333
+ const from = getComputedStyle(scope);
334
+ const here = getComputedStyle(this._portal);
335
+ for (const name of names) {
336
+ const value = from.getPropertyValue(name);
337
+ if (!value) {
338
+ if (this._portal.style.getPropertyValue(name)) this._portal.style.removeProperty(name);
339
+ continue;
340
+ }
341
+ if ((this._portal.style.getPropertyValue(name) || here.getPropertyValue(name)) !== value) this._portal.style.setProperty(name, value);
342
+ }
343
+ }
344
+ /**
345
+ * Watch the style-scope's `class` attribute so the portal stays in sync even
346
+ * when the host toggles state classes (e.g. `open`) imperatively in
347
+ * `updated()`, which runs after the controller's `hostUpdated`.
348
+ */
349
+ _observeStyleScope() {
350
+ if (this._classObserver || typeof MutationObserver === "undefined") return;
351
+ const scope = this.opts.getStyleScope();
352
+ if (!scope) return;
353
+ this._classObserver = new MutationObserver((records) => {
354
+ if (records.some((r) => r.attributeName === "class" || r.attributeName?.startsWith("mono-"))) this._syncPortalClass();
355
+ });
356
+ this._classObserver.observe(scope, { attributes: true });
357
+ }
358
+ _enterStack() {
359
+ this._bindViewport();
360
+ if (this._registered) return;
361
+ registerPopupLayer(this);
362
+ this._registered = true;
363
+ }
364
+ _leaveStack() {
365
+ this._unbindViewport();
366
+ if (!this._registered) return;
367
+ unregisterPopupLayer(this);
368
+ this._registered = false;
369
+ }
370
+ /** PopupLayer hook — write the chained z onto the portal (root context). */
371
+ setStackZ(z) {
372
+ (this._portal ?? this.host).style.setProperty("--mono-popup-z", String(z));
373
+ }
374
+ /** Where panel-internal elements live now (portal while adopted, else host). */
375
+ get panelRoot() {
376
+ return this._adopted && this._portal ? this._portal : this.host.renderRoot;
377
+ }
378
+ /**
379
+ * True when an event's composed path passes through this popup — its own
380
+ * portaled panel, OR any popup that was opened from inside it.
381
+ *
382
+ * The second half is what keeps a nested popup from dismissing its parent:
383
+ * a header filter opened from a `<mono-table-th>` in a dropdown-table's
384
+ * panel, a select's option list inside a modal — each lives in a portal of
385
+ * its own on `<body>`, so a click in it is nowhere near the parent in the
386
+ * DOM. It IS inside by ownership, and that is what every outside-click test
387
+ * in the library asks this method.
388
+ */
389
+ containsInPath(path) {
390
+ if (this._portal && path.includes(this._portal)) return true;
391
+ return this.ownsNestedInPath(path);
392
+ }
393
+ /**
394
+ * True when the path passes through a popup opened from INSIDE this one
395
+ * (at any depth) — not this popup's own panel.
396
+ *
397
+ * Walks each portal in the path back to its owner and asks whether that
398
+ * owner lives in this host or this panel; an owner that is itself inside
399
+ * another popup climbs to that popup's owner, so a select inside a filter
400
+ * inside a dropdown-table resolves all the way up. Composed-tree
401
+ * containment throughout: the owner may sit behind a slot or a shadow root.
402
+ */
403
+ ownsNestedInPath(path) {
404
+ const roots = this._portal ? [this.host, this._portal] : [this.host];
405
+ return nestedPortalInPath(path.filter((n) => n !== this._portal), roots);
406
+ }
407
+ /**
408
+ * Listen for viewport movement — but ONLY while this popup is open.
409
+ *
410
+ * These used to be bound in `hostConnected`, which meant one capture-phase
411
+ * `scroll` listener on `window` per popup-capable element on the page, open or
412
+ * not: every select, every table header filter, every search box — and one per
413
+ * ROW on a grid that puts a `mono-button-dropdown` in each. `_onViewport` bails
414
+ * when closed, so the handler was free; the *dispatch* was not, and a
415
+ * non-passive capture listener on `window` also disqualifies the whole page's
416
+ * scrolling from running off the compositor thread.
417
+ *
418
+ * `passive` because nothing here calls `preventDefault`.
419
+ */
420
+ _bindViewport() {
421
+ if (isServer || this._viewportBound) return;
422
+ window.addEventListener("scroll", this._onViewport, {
423
+ capture: true,
424
+ passive: true
425
+ });
426
+ window.addEventListener("resize", this._onViewport, { passive: true });
427
+ this._viewportBound = true;
428
+ }
429
+ _unbindViewport() {
430
+ if (isServer) return;
431
+ if (this._viewportFrame) {
432
+ cancelAnimationFrame(this._viewportFrame);
433
+ this._viewportFrame = 0;
434
+ }
435
+ if (!this._viewportBound) return;
436
+ window.removeEventListener("scroll", this._onViewport, true);
437
+ window.removeEventListener("resize", this._onViewport);
438
+ this._viewportBound = false;
439
+ }
440
+ reposition() {
441
+ if (isServer) return;
442
+ if (!this._canPortal) return;
443
+ const panel = this._panel ?? this.opts.getPanel();
444
+ if (!panel) return;
445
+ const anchor = this.opts.getAnchor();
446
+ if (!anchor || !anchor.isConnected) return;
447
+ if (typeof this.opts.matchWidth === "function" ? this.opts.matchWidth() : this.opts.matchWidth) panel.style.width = `${anchor.getBoundingClientRect().width}px`;
448
+ const constrain = this.opts.constrainSize?.() ?? false;
449
+ const placement = computePopupPlacement(anchor, panel, {
450
+ side: this.opts.side?.(),
451
+ align: this.opts.align?.(),
452
+ offset: this.opts.offset?.(),
453
+ flip: this.opts.flip?.(),
454
+ shift: this.opts.shift?.(),
455
+ constrain
456
+ });
457
+ applyPopupPlacement(panel, placement, constrain);
458
+ if (this._resolvedSide !== placement.side) {
459
+ this._resolvedSide = placement.side;
460
+ this.opts.onSideResolved?.(placement.side);
461
+ }
462
+ }
463
+ };
464
+ //#endregion
465
+ export { pathOwnedBy as i, applyPopupPlacement as n, computePopupPlacement as r, PopupPortalController as t };