@mono-lit/helper 0.0.0-stage → 0.0.1

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 (538) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +34 -2
  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-search-Bwo5bg8K.js +573 -0
  13. package/dist/data-source-controller-C50Qyfzh.js +178 -0
  14. package/dist/data-source-options-BTpfrOZ_.js +535 -0
  15. package/dist/data-source-options-CQSTZHPE.js +537 -0
  16. package/dist/data-source-read-CUX-lgrQ.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-BvlBx_GZ.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-BoOG6KrL.js +51 -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-DjvYOL-J.js +395 -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-CoVnBLav.js +873 -0
  51. package/dist/mono-button.shadow-FfP_hMH4.js +784 -0
  52. package/dist/mono-data-chart-ChU4Ii3p.js +738 -0
  53. package/dist/mono-data-dropdown-BAUl58kW.js +357 -0
  54. package/dist/mono-data-grid-CLBK8clE.js +4140 -0
  55. package/dist/mono-data-grid-Db80FzdZ.js +4142 -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/notifier-CE4yxMUQ.js +88 -0
  62. package/dist/nuxt.d.ts +1 -0
  63. package/dist/nuxt.js +130 -0
  64. package/dist/popup-portal-BziRX1yG.js +465 -0
  65. package/dist/popup-stack-CEEMib__.js +189 -0
  66. package/dist/rate-limit-BBa2PO79.js +521 -0
  67. package/dist/reactive-BHsqVjRh.js +789 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/search.d.ts +1 -0
  70. package/dist/search.js +97 -0
  71. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  72. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  73. package/dist/src/components/accordion/index.d.ts +3 -0
  74. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  75. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  76. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  77. package/dist/src/components/alert/alert-core.d.ts +46 -0
  78. package/dist/src/components/alert/alert-types.d.ts +44 -0
  79. package/dist/src/components/alert/index.d.ts +3 -0
  80. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  81. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  82. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  83. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  88. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  89. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  90. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  94. package/dist/src/components/button/button-core.d.ts +90 -0
  95. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  96. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  97. package/dist/src/components/button/button-types.d.ts +219 -0
  98. package/dist/src/components/button/button-utils.d.ts +18 -0
  99. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  100. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  101. package/dist/src/components/button/index.d.ts +8 -0
  102. package/dist/src/components/button/index.shadow.d.ts +5 -0
  103. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  104. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  105. package/dist/src/components/button/mono-button.d.ts +123 -0
  106. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  107. package/dist/src/components/card/card-core.d.ts +74 -0
  108. package/dist/src/components/card/card-types.d.ts +137 -0
  109. package/dist/src/components/card/card-utils.d.ts +23 -0
  110. package/dist/src/components/card/index.d.ts +4 -0
  111. package/dist/src/components/card/index.shadow.d.ts +6 -0
  112. package/dist/src/components/card/mono-card.d.ts +56 -0
  113. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  114. package/dist/src/components/chart/chart-core.d.ts +43 -0
  115. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  116. package/dist/src/components/chart/chart-types.d.ts +337 -0
  117. package/dist/src/components/chart/index.d.ts +8 -0
  118. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  119. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  120. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  122. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  123. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  124. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  125. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  126. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  127. package/dist/src/components/checkbox/index.d.ts +4 -0
  128. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  129. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  130. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  131. package/dist/src/components/chip/chip-core.d.ts +58 -0
  132. package/dist/src/components/chip/chip-types.d.ts +142 -0
  133. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  134. package/dist/src/components/chip/index.d.ts +8 -0
  135. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  136. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  137. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  138. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  139. package/dist/src/components/date/date-core.d.ts +80 -0
  140. package/dist/src/components/date/date-types.d.ts +163 -0
  141. package/dist/src/components/date/index.d.ts +3 -0
  142. package/dist/src/components/date/index.shadow.d.ts +4 -0
  143. package/dist/src/components/date/mono-date.d.ts +22 -0
  144. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  145. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  146. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  147. package/dist/src/components/drawer/index.d.ts +3 -0
  148. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  149. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  150. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  151. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  152. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  153. package/dist/src/components/dropdown/index.d.ts +3 -0
  154. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  155. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  156. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  157. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  159. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  160. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  161. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  162. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  164. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  165. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  166. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  167. package/dist/src/components/file-upload/index.d.ts +4 -0
  168. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  169. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  170. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  171. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  172. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  173. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  174. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  175. package/dist/src/components/filter/filter-types.d.ts +253 -0
  176. package/dist/src/components/filter/index.d.ts +6 -0
  177. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  178. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  179. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  180. package/dist/src/components/form/form-control-core.d.ts +37 -0
  181. package/dist/src/components/form/form-rules.d.ts +25 -0
  182. package/dist/src/components/form/form-types.d.ts +307 -0
  183. package/dist/src/components/form/index.d.ts +6 -0
  184. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  185. package/dist/src/components/input/index.d.ts +6 -0
  186. package/dist/src/components/input/index.shadow.d.ts +8 -0
  187. package/dist/src/components/input/input-core.d.ts +91 -0
  188. package/dist/src/components/input/input-format.d.ts +118 -0
  189. package/dist/src/components/input/input-types.d.ts +179 -0
  190. package/dist/src/components/input/input-utils.d.ts +10 -0
  191. package/dist/src/components/input/mono-input.d.ts +46 -0
  192. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  193. package/dist/src/components/menu/index.d.ts +6 -0
  194. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  195. package/dist/src/components/menu/menu-core.d.ts +65 -0
  196. package/dist/src/components/menu/menu-render.d.ts +55 -0
  197. package/dist/src/components/menu/menu-types.d.ts +195 -0
  198. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  199. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  200. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  201. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  202. package/dist/src/components/modal/index.d.ts +4 -0
  203. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  204. package/dist/src/components/modal/modal-core.d.ts +110 -0
  205. package/dist/src/components/modal/modal-types.d.ts +304 -0
  206. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  207. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  208. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  209. package/dist/src/components/nav/index.d.ts +4 -0
  210. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  211. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  212. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  213. package/dist/src/components/nav/nav-core.d.ts +34 -0
  214. package/dist/src/components/nav/nav-types.d.ts +48 -0
  215. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  216. package/dist/src/components/radio/index.d.ts +4 -0
  217. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  218. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  219. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  220. package/dist/src/components/radio/radio-core.d.ts +45 -0
  221. package/dist/src/components/radio/radio-types.d.ts +58 -0
  222. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  223. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  224. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  225. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  227. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  231. package/dist/src/components/select/index.d.ts +4 -0
  232. package/dist/src/components/select/index.shadow.d.ts +5 -0
  233. package/dist/src/components/select/mono-select.d.ts +69 -0
  234. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  235. package/dist/src/components/select/select-core.d.ts +98 -0
  236. package/dist/src/components/select/select-types.d.ts +258 -0
  237. package/dist/src/components/select/select-utils.d.ts +7 -0
  238. package/dist/src/components/sidebar/index.d.ts +4 -0
  239. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  240. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  241. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  242. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  243. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  244. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  245. package/dist/src/components/switch/index.d.ts +4 -0
  246. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  247. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  248. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  249. package/dist/src/components/switch/switch-core.d.ts +49 -0
  250. package/dist/src/components/switch/switch-types.d.ts +64 -0
  251. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  252. package/dist/src/components/table/array-source.d.ts +44 -0
  253. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  254. package/dist/src/components/table/grouping.d.ts +55 -0
  255. package/dist/src/components/table/index.d.ts +33 -0
  256. package/dist/src/components/table/index.shadow.d.ts +47 -0
  257. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  258. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  259. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  260. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  261. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  262. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  263. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  264. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  265. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  266. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  267. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  268. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  269. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  270. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  271. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  272. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  273. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  274. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  275. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  276. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  278. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  279. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  280. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  281. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  282. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  283. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  284. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  285. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  286. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  287. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  288. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  289. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  290. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  291. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  292. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  293. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  294. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  295. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  296. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  297. package/dist/src/components/table/store-group-source.d.ts +24 -0
  298. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  299. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  300. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  301. package/dist/src/components/table/table-overlay.d.ts +165 -0
  302. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  303. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  304. package/dist/src/components/table/table-types.d.ts +475 -0
  305. package/dist/src/components/tabs/index.d.ts +3 -0
  306. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  307. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  308. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  309. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  310. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  311. package/dist/src/components/tag-input/index.d.ts +4 -0
  312. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  313. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  314. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  315. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  316. package/dist/src/components/tag-input/tag-input-types.d.ts +394 -0
  317. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  318. package/dist/src/components/textarea/index.d.ts +4 -0
  319. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  320. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  321. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  322. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  323. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  324. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  325. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  326. package/dist/src/components/tooltip/index.d.ts +6 -0
  327. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  328. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  329. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  330. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  331. package/dist/src/composables/breakpoints.d.ts +59 -0
  332. package/dist/src/composables/chip-limits.d.ts +48 -0
  333. package/dist/src/composables/chip-strip.d.ts +93 -0
  334. package/dist/src/composables/color.d.ts +103 -0
  335. package/dist/src/composables/css-class.d.ts +27 -0
  336. package/dist/src/composables/css-size.d.ts +40 -0
  337. package/dist/src/composables/data-source-controller.d.ts +84 -0
  338. package/dist/src/composables/element-props.d.ts +46 -0
  339. package/dist/src/composables/field-icons.d.ts +7 -0
  340. package/dist/src/composables/hybird-prop.d.ts +79 -0
  341. package/dist/src/composables/hydration-flush.d.ts +34 -0
  342. package/dist/src/composables/icon.d.ts +17 -0
  343. package/dist/src/composables/layout-var.d.ts +34 -0
  344. package/dist/src/composables/light-slots.d.ts +133 -0
  345. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  346. package/dist/src/composables/mono-element.d.ts +9 -0
  347. package/dist/src/composables/mono-event.d.ts +55 -0
  348. package/dist/src/composables/mono-pending.d.ts +8 -0
  349. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  350. package/dist/src/composables/mono-ui.d.ts +58 -0
  351. package/dist/src/composables/notifier.d.ts +46 -0
  352. package/dist/src/composables/popup-portal.d.ts +226 -0
  353. package/dist/src/composables/popup-stack.d.ts +70 -0
  354. package/dist/src/composables/rate-limit.d.ts +108 -0
  355. package/dist/src/composables/reactive.d.ts +53 -0
  356. package/dist/src/composables/shadow-css.d.ts +42 -0
  357. package/dist/src/composables/visibility.d.ts +36 -0
  358. package/dist/src/data/theme/index.d.ts +30 -0
  359. package/dist/src/data/theme/presets.d.ts +94 -0
  360. package/dist/src/entries/index.d.ts +2 -0
  361. package/dist/src/entries/index.node.d.ts +42 -0
  362. package/dist/src/entries/search.d.ts +3 -0
  363. package/dist/src/export/detail.d.ts +29 -0
  364. package/dist/src/export/download.d.ts +9 -0
  365. package/dist/src/export/excel/index.d.ts +27 -0
  366. package/dist/src/export/excel/nodes.d.ts +123 -0
  367. package/dist/src/export/expression.d.ts +36 -0
  368. package/dist/src/export/helpers.d.ts +6 -0
  369. package/dist/src/export/index.d.ts +13 -0
  370. package/dist/src/export/markdown.d.ts +52 -0
  371. package/dist/src/export/resolve-data.d.ts +31 -0
  372. package/dist/src/export/sentinel.d.ts +97 -0
  373. package/dist/src/export/sheet-name.d.ts +45 -0
  374. package/dist/src/export/styles.d.ts +33 -0
  375. package/dist/src/export/template.d.ts +10 -0
  376. package/dist/src/export/types.d.ts +259 -0
  377. package/dist/src/import/coerce.d.ts +38 -0
  378. package/dist/src/import/index.d.ts +16 -0
  379. package/dist/src/import/match.d.ts +54 -0
  380. package/dist/src/import/parse.d.ts +15 -0
  381. package/dist/src/import/types.d.ts +153 -0
  382. package/dist/src/nuxt/index.d.ts +94 -0
  383. package/dist/src/search/data-search.d.ts +207 -0
  384. package/dist/src/search/field-path.d.ts +107 -0
  385. package/dist/src/search/filter-eval.d.ts +30 -0
  386. package/dist/src/search/index.d.ts +22 -0
  387. package/dist/src/search/odata-search.d.ts +18 -0
  388. package/dist/src/search/search-expr.d.ts +160 -0
  389. package/dist/src/utils/data-source-apply.d.ts +97 -0
  390. package/dist/src/utils/data-source-options.d.ts +116 -0
  391. package/dist/src/utils/data-source-read.d.ts +85 -0
  392. package/dist/src/utils/data-source-summary.d.ts +55 -0
  393. package/dist/src/utils/normalize-error.d.ts +60 -0
  394. package/dist/src/vite/index.d.ts +48 -0
  395. package/dist/src/vite/mono-client-only.d.ts +35 -0
  396. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  397. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  398. package/dist/styles-BIJ31TM4.js +20146 -0
  399. package/dist/tooltip-CysgRgBi.js +760 -0
  400. package/dist/tooltip.d.ts +1 -0
  401. package/dist/tooltip.js +2 -0
  402. package/dist/ui/accordion.d.ts +1 -0
  403. package/dist/ui/accordion.js +466 -0
  404. package/dist/ui/alert.d.ts +1 -0
  405. package/dist/ui/alert.js +221 -0
  406. package/dist/ui/breadcrumb.d.ts +1 -0
  407. package/dist/ui/breadcrumb.js +902 -0
  408. package/dist/ui/button-dropdown.d.ts +1 -0
  409. package/dist/ui/button-dropdown.js +679 -0
  410. package/dist/ui/button.d.ts +1 -0
  411. package/dist/ui/button.js +63 -0
  412. package/dist/ui/card.d.ts +1 -0
  413. package/dist/ui/card.js +511 -0
  414. package/dist/ui/chart.d.ts +1 -0
  415. package/dist/ui/chart.js +808 -0
  416. package/dist/ui/checkbox.d.ts +1 -0
  417. package/dist/ui/checkbox.js +413 -0
  418. package/dist/ui/chip.d.ts +1 -0
  419. package/dist/ui/chip.js +558 -0
  420. package/dist/ui/date.d.ts +1 -0
  421. package/dist/ui/date.js +686 -0
  422. package/dist/ui/drawer.d.ts +1 -0
  423. package/dist/ui/drawer.js +901 -0
  424. package/dist/ui/dropdown-table.d.ts +1 -0
  425. package/dist/ui/dropdown-table.js +1291 -0
  426. package/dist/ui/dropdown.d.ts +1 -0
  427. package/dist/ui/dropdown.js +586 -0
  428. package/dist/ui/file-upload.d.ts +1 -0
  429. package/dist/ui/file-upload.js +688 -0
  430. package/dist/ui/filter.d.ts +1 -0
  431. package/dist/ui/filter.js +400 -0
  432. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  433. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  434. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  435. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  436. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  437. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  443. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  444. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  445. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  446. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  447. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  448. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  449. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  450. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  462. package/dist/ui/font/geist-mono.css +104 -0
  463. package/dist/ui/font/geist.css +168 -0
  464. package/dist/ui/font/inter.css +232 -0
  465. package/dist/ui/font/poppins.css +104 -0
  466. package/dist/ui/form.d.ts +1 -0
  467. package/dist/ui/form.js +3 -0
  468. package/dist/ui/index.css +21826 -0
  469. package/dist/ui/input.d.ts +1 -0
  470. package/dist/ui/input.js +1176 -0
  471. package/dist/ui/menu.d.ts +1 -0
  472. package/dist/ui/menu.js +1289 -0
  473. package/dist/ui/modal.d.ts +1 -0
  474. package/dist/ui/modal.js +995 -0
  475. package/dist/ui/nav.d.ts +1 -0
  476. package/dist/ui/nav.js +295 -0
  477. package/dist/ui/radio.d.ts +1 -0
  478. package/dist/ui/radio.js +379 -0
  479. package/dist/ui/rich-text-editor.d.ts +1 -0
  480. package/dist/ui/rich-text-editor.js +1338 -0
  481. package/dist/ui/select.d.ts +1 -0
  482. package/dist/ui/select.js +2066 -0
  483. package/dist/ui/shadow/accordion.js +442 -0
  484. package/dist/ui/shadow/alert.js +218 -0
  485. package/dist/ui/shadow/breadcrumb.js +919 -0
  486. package/dist/ui/shadow/button-dropdown.js +696 -0
  487. package/dist/ui/shadow/button.js +63 -0
  488. package/dist/ui/shadow/card.js +524 -0
  489. package/dist/ui/shadow/chart.js +1569 -0
  490. package/dist/ui/shadow/checkbox.js +457 -0
  491. package/dist/ui/shadow/chip.js +559 -0
  492. package/dist/ui/shadow/date.js +712 -0
  493. package/dist/ui/shadow/drawer.js +869 -0
  494. package/dist/ui/shadow/dropdown-table.js +1620 -0
  495. package/dist/ui/shadow/dropdown.js +547 -0
  496. package/dist/ui/shadow/file-upload.js +731 -0
  497. package/dist/ui/shadow/filter.js +402 -0
  498. package/dist/ui/shadow/input.js +1150 -0
  499. package/dist/ui/shadow/menu.js +899 -0
  500. package/dist/ui/shadow/modal.js +1193 -0
  501. package/dist/ui/shadow/nav.js +240 -0
  502. package/dist/ui/shadow/radio.js +408 -0
  503. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  504. package/dist/ui/shadow/select.js +2033 -0
  505. package/dist/ui/shadow/sidebar.js +606 -0
  506. package/dist/ui/shadow/switch.js +428 -0
  507. package/dist/ui/shadow/table.js +4755 -0
  508. package/dist/ui/shadow/tabs.js +372 -0
  509. package/dist/ui/shadow/tag-input.js +2846 -0
  510. package/dist/ui/shadow/textarea.js +816 -0
  511. package/dist/ui/sidebar.d.ts +1 -0
  512. package/dist/ui/sidebar.js +659 -0
  513. package/dist/ui/switch.d.ts +1 -0
  514. package/dist/ui/switch.js +398 -0
  515. package/dist/ui/table.d.ts +1 -0
  516. package/dist/ui/table.js +4654 -0
  517. package/dist/ui/tabs.d.ts +1 -0
  518. package/dist/ui/tabs.js +379 -0
  519. package/dist/ui/tag-input.d.ts +1 -0
  520. package/dist/ui/tag-input.js +2819 -0
  521. package/dist/ui/textarea.d.ts +1 -0
  522. package/dist/ui/textarea.js +819 -0
  523. package/dist/ui/theme/legacy.css +293 -0
  524. package/dist/ui/theme/luma.css +743 -0
  525. package/dist/ui/theme/lyra.css +754 -0
  526. package/dist/ui/theme/maia.css +673 -0
  527. package/dist/ui/theme/mira.css +802 -0
  528. package/dist/ui/theme/nova.css +662 -0
  529. package/dist/ui/theme/one.css +699 -0
  530. package/dist/ui/theme/rhea.css +742 -0
  531. package/dist/ui/theme/sera.css +845 -0
  532. package/dist/ui/theme/tokens.css +261 -0
  533. package/dist/ui/theme/vega.css +467 -0
  534. package/dist/vite-C5iUK7so.js +329 -0
  535. package/dist/vite.d.ts +1 -0
  536. package/dist/vite.js +2 -0
  537. package/dist/vue.d.ts +282 -0
  538. package/package.json +411 -3
@@ -0,0 +1,409 @@
1
+ import { t as createNotifier } from "./notifier-CE4yxMUQ.js";
2
+ //#region src/components/form/form-rules.ts
3
+ /** Empty for validation purposes: null/undefined, blank string, empty array. */
4
+ function isBlank(value) {
5
+ if (value == null) return true;
6
+ if (typeof value === "string") return value.trim() === "";
7
+ if (Array.isArray(value)) return value.length === 0;
8
+ return false;
9
+ }
10
+ var EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
11
+ /**
12
+ * Length for `min`/`max`: a number compares by magnitude, everything else by
13
+ * length — so `min: 3` reads naturally for both "at least 3 characters" and
14
+ * "at least 3 selected tags".
15
+ */
16
+ function sizeOf(value) {
17
+ if (typeof value === "number") return value;
18
+ if (Array.isArray(value)) return value.length;
19
+ if (value == null) return 0;
20
+ return String(value).length;
21
+ }
22
+ /**
23
+ * Run one schema-shaped rule. Duck-typed so yup works without @mono-lit/helper
24
+ * depending on it: prefer `validateSync`, fall back to `validate` (which may be
25
+ * a promise). The schema's OWN message wins over the rule's `message`.
26
+ */
27
+ async function runSchema(schema, value) {
28
+ try {
29
+ if (typeof schema.validateSync === "function") {
30
+ schema.validateSync(value);
31
+ return true;
32
+ }
33
+ if (typeof schema.validate === "function") {
34
+ await schema.validate(value);
35
+ return true;
36
+ }
37
+ return true;
38
+ } catch (err) {
39
+ const e = err;
40
+ return e?.errors?.[0] ?? e?.message ?? "Invalid";
41
+ }
42
+ }
43
+ /**
44
+ * Run a single rule. Returns `true` when it passes, or the failure message.
45
+ *
46
+ * A `schema` on the rule takes precedence over its `type`/`validate` — that's
47
+ * the documented override, so a rule can be declared as a built-in and later
48
+ * swapped to a schema without moving it.
49
+ */
50
+ async function runRule(rule, ctx) {
51
+ if (rule.schema) return runSchema(rule.schema, ctx.value);
52
+ const { value } = ctx;
53
+ const fail = (fallback) => rule.message ?? fallback;
54
+ switch (rule.type) {
55
+ case "required": return isBlank(value) ? fail("This field is required") : true;
56
+ case "min":
57
+ if (isBlank(value)) return true;
58
+ return sizeOf(value) < rule.value ? fail(`Minimum ${rule.value}`) : true;
59
+ case "max":
60
+ if (isBlank(value)) return true;
61
+ return sizeOf(value) > rule.value ? fail(`Maximum ${rule.value}`) : true;
62
+ case "pattern":
63
+ if (isBlank(value)) return true;
64
+ return (typeof rule.value === "string" ? new RegExp(rule.value) : rule.value).test(String(value)) ? true : fail("Invalid format");
65
+ case "email":
66
+ if (isBlank(value)) return true;
67
+ return EMAIL.test(String(value)) ? true : fail("Invalid email");
68
+ case "custom": {
69
+ const out = rule.validate(ctx);
70
+ if (out === true) return true;
71
+ return typeof out === "string" ? out : fail("Invalid");
72
+ }
73
+ default: return true;
74
+ }
75
+ }
76
+ /**
77
+ * Run a field's rules and return the FIRST failure (so one message shows at a
78
+ * time, matching how the components render a single `validation-message`).
79
+ *
80
+ * `timing` filters which rules apply: `undefined` runs them all (that's
81
+ * `form.validate()`), otherwise only rules whose effective timing matches.
82
+ */
83
+ async function runRules(rules, ctx, opts) {
84
+ if (!rules?.length) return {
85
+ success: true,
86
+ message: ""
87
+ };
88
+ for (const rule of rules) {
89
+ if (opts.timing) {
90
+ const effective = rule.timing ?? opts.defaultTiming;
91
+ if (!(effective === opts.timing || effective === "live" && opts.timing === "change")) continue;
92
+ }
93
+ const out = await runRule(rule, ctx);
94
+ if (out !== true) return {
95
+ success: false,
96
+ message: out
97
+ };
98
+ }
99
+ return {
100
+ success: true,
101
+ message: ""
102
+ };
103
+ }
104
+ //#endregion
105
+ //#region src/components/form/mono-form-controller.ts
106
+ /** Unwrap a ref-like (`{ value }`) or pass a plain value straight through. */
107
+ function unref(v) {
108
+ return v && typeof v === "object" && "value" in v ? v.value : v;
109
+ }
110
+ /**
111
+ * Depth cap for the watcher fan-out. A watcher may legitimately `setValue`
112
+ * another field (which fans out again); this stops a pair of watchers that write
113
+ * to each other from spinning forever, and surfaces it instead of hanging.
114
+ */
115
+ var MAX_DEPTH = 10;
116
+ function monoForm(options) {
117
+ const defaultTiming = options.validation?.type ?? "change";
118
+ const inputs = options.inputs ?? {};
119
+ const keys = Object.keys(inputs);
120
+ const refs = /* @__PURE__ */ new Set();
121
+ function flush() {
122
+ for (const k of keys) propsFor(k);
123
+ if (refs.size) {
124
+ if (!lastSnap || snapshotMoved(lastSnap)) {
125
+ const snap = {};
126
+ for (const k of keys) snap[k] = {
127
+ ...state[k],
128
+ validate: { ...state[k].validate },
129
+ props: { ...state[k].props }
130
+ };
131
+ lastSnap = snap;
132
+ }
133
+ const snap = lastSnap;
134
+ refs.forEach((r) => {
135
+ r.value = snap;
136
+ });
137
+ }
138
+ }
139
+ /** The snapshot last handed to the bound refs — see `flush`. */
140
+ let lastSnap;
141
+ /** Does the live state differ from `prev` in anything a snapshot reader can see? */
142
+ function snapshotMoved(prev) {
143
+ for (const k of keys) {
144
+ const a = prev[k];
145
+ const b = state[k];
146
+ if (!a || !b) return true;
147
+ if (!Object.is(a.currentValue, b.currentValue) || !Object.is(a.oldValue, b.oldValue) || a.touched !== b.touched || a.list !== b.list || a.validate.success !== b.validate.success || a.validate.message !== b.validate.message) return true;
148
+ const ap = a.props;
149
+ const bp = b.props;
150
+ const aKeys = Object.keys(ap);
151
+ if (aKeys.length !== Object.keys(bp).length) return true;
152
+ for (const p of aKeys) if (!(p in bp) || !Object.is(ap[p], bp[p])) return true;
153
+ }
154
+ return false;
155
+ }
156
+ const notifier = createNotifier({
157
+ onFlush: flush,
158
+ name: "controlMonoForm",
159
+ detail: () => `Fields: ${keys.join(", ")}.`
160
+ });
161
+ const notify = notifier.notify;
162
+ const state = {};
163
+ /** Props pushed at runtime by the `setProp()` METHOD (watchers / outside code). */
164
+ const dynamicProps = {};
165
+ const elements = {};
166
+ for (const key of keys) {
167
+ const initial = inputs[key].value;
168
+ state[key] = {
169
+ key,
170
+ currentValue: initial,
171
+ oldValue: initial,
172
+ validate: {
173
+ success: true,
174
+ message: ""
175
+ },
176
+ touched: false,
177
+ props: {},
178
+ list: []
179
+ };
180
+ dynamicProps[key] = {};
181
+ elements[key] = /* @__PURE__ */ new Set();
182
+ }
183
+ function values() {
184
+ const out = {};
185
+ for (const k of keys) out[k] = state[k].currentValue;
186
+ return out;
187
+ }
188
+ function externals() {
189
+ const out = {};
190
+ for (const [k, v] of Object.entries(options.external ?? {})) out[k] = unref(v);
191
+ return out;
192
+ }
193
+ /**
194
+ * The STATIC `inputs[key].props` is the declared override and always wins, so
195
+ * it is merged LAST over whatever the `setProp()` method has accumulated.
196
+ */
197
+ function propsFor(key) {
198
+ const merged = {
199
+ ...dynamicProps[key] ?? {},
200
+ ...inputs[key]?.props ?? {}
201
+ };
202
+ state[key] && (state[key].props = merged);
203
+ return merged;
204
+ }
205
+ /**
206
+ * Bumped by `setValidation`. A rule run captures it first and refuses to
207
+ * write if it changed meanwhile — otherwise the async rule pass lands AFTER
208
+ * the synchronous watcher fan-out and silently overwrites a watcher's verdict.
209
+ */
210
+ const manualSeq = {};
211
+ async function validateKey(key, timing) {
212
+ const input = inputs[key];
213
+ if (!input) return true;
214
+ if (!input.validates?.length) return state[key].validate.success;
215
+ const seq = manualSeq[key] ?? 0;
216
+ const result = await runRules(input.validates, {
217
+ value: state[key].currentValue,
218
+ values: values(),
219
+ key
220
+ }, {
221
+ timing,
222
+ defaultTiming
223
+ });
224
+ if ((manualSeq[key] ?? 0) !== seq) return result.success;
225
+ const prev = state[key].validate;
226
+ if (prev.success !== result.success || prev.message !== result.message) {
227
+ state[key].validate = result;
228
+ notify();
229
+ }
230
+ return result.success;
231
+ }
232
+ let depth = 0;
233
+ /**
234
+ * The `mno-input` / `mno-change` CustomEvent that last touched each field, so
235
+ * a watcher can reach the real DOM event (`event.target`, `detail`, keys…).
236
+ * Cleared on a programmatic write — `setValue` has no originating event, and
237
+ * handing back a stale one would be worse than `undefined`.
238
+ */
239
+ const lastEvent = {};
240
+ function watcherCtx(selfKey, peerKey) {
241
+ return {
242
+ selfKey,
243
+ peerKey,
244
+ currentValue: state[selfKey].currentValue,
245
+ oldValue: state[selfKey].oldValue,
246
+ peerCurrentValue: state[peerKey]?.currentValue,
247
+ peerOldValue: state[peerKey]?.oldValue,
248
+ event: lastEvent[selfKey],
249
+ peerEvent: lastEvent[peerKey],
250
+ values: values(),
251
+ external: externals(),
252
+ setProp,
253
+ setValidation,
254
+ setValue
255
+ };
256
+ }
257
+ /**
258
+ * Run EVERY field's watcher for one change: the changed field's own watcher
259
+ * (`peerKey === selfKey`) plus every other field's watcher with `peerKey` set
260
+ * to the changed key. That fan-out is what lets `Name`'s watcher say
261
+ * `if (peerKey === 'Age')` without any separate peer registry.
262
+ */
263
+ function fanOut(changedKey) {
264
+ if (depth >= MAX_DEPTH) {
265
+ console.warn(`[monoForm] watcher depth limit (${MAX_DEPTH}) reached while processing "${changedKey}" — a watcher is probably writing to a field whose watcher writes back.`);
266
+ return;
267
+ }
268
+ depth++;
269
+ try {
270
+ for (const selfKey of keys) inputs[selfKey]?.watcher?.(watcherCtx(selfKey, changedKey));
271
+ } finally {
272
+ depth--;
273
+ }
274
+ }
275
+ function setValue(key, value) {
276
+ const item = state[key];
277
+ if (!item) return;
278
+ if (Object.is(item.currentValue, value)) return;
279
+ item.oldValue = item.currentValue;
280
+ item.currentValue = value;
281
+ lastEvent[key] = void 0;
282
+ notify();
283
+ fanOut(key);
284
+ validateKey(key);
285
+ }
286
+ function setValues(next) {
287
+ for (const [k, v] of Object.entries(next)) {
288
+ const item = state[k];
289
+ if (!item || Object.is(item.currentValue, v)) continue;
290
+ item.oldValue = item.currentValue;
291
+ item.currentValue = v;
292
+ lastEvent[k] = void 0;
293
+ }
294
+ notify();
295
+ for (const k of Object.keys(next)) if (state[k]) fanOut(k);
296
+ }
297
+ function setProp(arg) {
298
+ if (!arg?.key || !dynamicProps[arg.key]) return;
299
+ const bag = dynamicProps[arg.key];
300
+ let changed = false;
301
+ for (const [p, v] of Object.entries(arg.props ?? {})) {
302
+ if (p in bag && Object.is(bag[p], v)) continue;
303
+ bag[p] = v;
304
+ changed = true;
305
+ }
306
+ if (changed) notify();
307
+ }
308
+ function setValidation(arg) {
309
+ const item = state[arg?.key];
310
+ if (!item) return;
311
+ manualSeq[arg.key] = (manualSeq[arg.key] ?? 0) + 1;
312
+ item.validate = {
313
+ success: arg.validation?.success ?? item.validate.success,
314
+ message: arg.validation?.message ?? ""
315
+ };
316
+ notify();
317
+ }
318
+ async function validateAll() {
319
+ const outcomes = await Promise.all(keys.map((k) => validateKey(k)));
320
+ for (const k of keys) state[k].touched = true;
321
+ notify();
322
+ return outcomes.every(Boolean);
323
+ }
324
+ function isValid() {
325
+ return keys.every((k) => state[k].validate.success);
326
+ }
327
+ function reset() {
328
+ for (const key of keys) {
329
+ const initial = inputs[key].value;
330
+ state[key].currentValue = initial;
331
+ state[key].oldValue = initial;
332
+ state[key].validate = {
333
+ success: true,
334
+ message: ""
335
+ };
336
+ state[key].touched = false;
337
+ dynamicProps[key] = {};
338
+ }
339
+ notify();
340
+ }
341
+ function refresh() {
342
+ for (const key of keys) fanOut(key);
343
+ notify();
344
+ }
345
+ function bindRef(ref) {
346
+ refs.add(ref);
347
+ notify();
348
+ return () => refs.delete(ref);
349
+ }
350
+ if (options.state) bindRef(options.state);
351
+ function _register(key, el) {
352
+ if (!elements[key]) elements[key] = /* @__PURE__ */ new Set();
353
+ elements[key].add(el);
354
+ return () => elements[key]?.delete(el);
355
+ }
356
+ /**
357
+ * A list control publishing its resolved options.
358
+ *
359
+ * Called from the control's own render path, so it lands on EVERY render — hence the identity
360
+ * guard. Without it a notify here would re-render the control, which would report again: a loop
361
+ * that never settles. The control hands over a fresh array only when the rows actually moved.
362
+ */
363
+ function _reportList(key, entries) {
364
+ const item = state[key];
365
+ if (!item || item.list === entries) return;
366
+ item.list = entries;
367
+ notify();
368
+ }
369
+ function _report(key, value, timing, event) {
370
+ const item = state[key];
371
+ if (!item) return;
372
+ lastEvent[key] = event;
373
+ if (timing === "change") item.touched = true;
374
+ if (Object.is(item.currentValue, value)) {
375
+ if (timing === "change") validateKey(key, timing);
376
+ return;
377
+ }
378
+ item.oldValue = item.currentValue;
379
+ item.currentValue = value;
380
+ notify();
381
+ fanOut(key);
382
+ validateKey(key, timing);
383
+ }
384
+ return {
385
+ items: () => state,
386
+ values,
387
+ setValue,
388
+ setValues,
389
+ validate: validateAll,
390
+ isValid,
391
+ reset,
392
+ setProp,
393
+ setValidation,
394
+ refresh,
395
+ bindRef,
396
+ subscribe: notifier.subscribe,
397
+ dispose() {
398
+ notifier.clear();
399
+ refs.clear();
400
+ for (const k of keys) elements[k]?.clear();
401
+ },
402
+ _register,
403
+ _report,
404
+ _reportList,
405
+ _propsFor: propsFor
406
+ };
407
+ }
408
+ //#endregion
409
+ export { runRules as i, isBlank as n, runRule as r, monoForm as t };
@@ -0,0 +1,223 @@
1
+ import { t as createNotifier } from "./notifier-CE4yxMUQ.js";
2
+ import { t as applyProps } from "./element-props-CLB6yvbm.js";
3
+ //#region src/components/modal/mono-modal-controller.ts
4
+ /**
5
+ * The dialog's `<mono-modal>` defaults. `dialog.props` is merged over these; the
6
+ * dismissal locks are re-applied after that merge in `buildDialogElement` and
7
+ * cannot be turned off — a dialog is a question, and the only way past it is one
8
+ * of its own buttons.
9
+ */
10
+ var DIALOG_MODAL_DEFAULTS = {
11
+ size: "xs",
12
+ color: "primary",
13
+ width: "fit-content",
14
+ minWidth: "16rem",
15
+ maxWidth: "min(92vw, 480px)",
16
+ stackable: true,
17
+ draggable: true,
18
+ cssClassName: "mono-modal-dialog"
19
+ };
20
+ /** Everything a dialog must refuse. Applied last, so `dialog.props` cannot undo it. */
21
+ var DIALOG_LOCKS = {
22
+ persistent: true,
23
+ dismissible: false,
24
+ closeOnEscape: false,
25
+ closeOnOverlay: false
26
+ };
27
+ /** How long a closed dialog's element lingers for the close transition (`--mono-modal-duration` is 0.22s). */
28
+ var DIALOG_REMOVE_DELAY = 320;
29
+ /** Light tag first; the shadow build registers its own name. */
30
+ var resolveTag = (light, shadow) => {
31
+ if (typeof customElements === "undefined") return null;
32
+ if (customElements.get(light)) return light;
33
+ if (customElements.get(shadow)) return shadow;
34
+ return null;
35
+ };
36
+ function monoModal(options = {}) {
37
+ const notifier = createNotifier();
38
+ const notify = notifier.notify;
39
+ const elementProps = { ...options.props ?? {} };
40
+ const elements = /* @__PURE__ */ new Set();
41
+ let wantOpen = false;
42
+ let isOpen = false;
43
+ const setOpen = (next) => {
44
+ wantOpen = next;
45
+ for (const el of elements) if (next) el.show("manual");
46
+ else el.hide("manual");
47
+ if (!elements.size && isOpen !== next) {
48
+ isOpen = next;
49
+ notify();
50
+ }
51
+ };
52
+ let dialogDefaults = { ...options.dialog ?? {} };
53
+ let dialogEl = null;
54
+ let dialogResolve = null;
55
+ let dialogOpen = false;
56
+ /** Resolve the pending `show()` and start the teardown. */
57
+ const closeDialog = (value) => {
58
+ const el = dialogEl;
59
+ const resolve = dialogResolve;
60
+ dialogEl = null;
61
+ dialogResolve = null;
62
+ dialogOpen = false;
63
+ if (el) {
64
+ el.hide("manual");
65
+ setTimeout(() => el.remove(), DIALOG_REMOVE_DELAY);
66
+ }
67
+ resolve?.(value ?? false);
68
+ notify();
69
+ };
70
+ const buildButton = (tag, item, owner) => {
71
+ const el = document.createElement(tag);
72
+ el.setAttribute("data-mono-dialog-button", "");
73
+ if (item.className) el.className = item.className;
74
+ if (item.icon) {
75
+ const icon = document.createElement("span");
76
+ icon.setAttribute("slot", "icon");
77
+ icon.className = `mono-icon ${item.icon}`;
78
+ el.appendChild(icon);
79
+ }
80
+ if (item.label) el.appendChild(document.createTextNode(item.label));
81
+ const { label: _l, icon: _i, className: _n, onClick, value, ...rest } = item;
82
+ applyProps(el, {
83
+ size: "xs",
84
+ ...rest
85
+ });
86
+ el.handler = async (event) => {
87
+ if (onClick) await onClick(event, {
88
+ dialog,
89
+ button: el
90
+ });
91
+ if (value !== void 0 && dialogEl && dialogEl === owner()) closeDialog(value);
92
+ };
93
+ el.addEventListener("mno-click", (e) => e.stopPropagation());
94
+ el.addEventListener("mnoClick", (e) => e.stopPropagation());
95
+ return el;
96
+ };
97
+ const buildDialogElement = (opts, modalTag, buttonTag) => {
98
+ const el = document.createElement(modalTag);
99
+ el.setAttribute("data-mono-dialog", "");
100
+ const body = document.createElement("div");
101
+ body.className = "mono-modal-dialog-body";
102
+ if (opts.body instanceof Node) body.appendChild(opts.body);
103
+ else if (opts.body != null) body.innerHTML = String(opts.body);
104
+ el.appendChild(body);
105
+ const buttons = opts.buttons ?? [];
106
+ if (buttons.length) {
107
+ const foot = document.createElement("span");
108
+ foot.setAttribute("slot", "footer");
109
+ foot.className = "mono-modal-dialog-actions";
110
+ for (const item of buttons) foot.appendChild(buildButton(buttonTag, item, () => el));
111
+ el.appendChild(foot);
112
+ }
113
+ applyProps(el, {
114
+ ...DIALOG_MODAL_DEFAULTS,
115
+ ...opts.props ?? {},
116
+ ...opts.title != null ? { title: opts.title } : {},
117
+ ...opts.subtitle != null ? { subtitle: opts.subtitle } : {},
118
+ ...DIALOG_LOCKS
119
+ });
120
+ return el;
121
+ };
122
+ const focusButton = async (el, index) => {
123
+ if (index === "none") return;
124
+ const i = typeof index === "number" ? index : 0;
125
+ await el.updateComplete;
126
+ const root = el.renderRoot;
127
+ const target = el.querySelectorAll("[data-mono-dialog-button]")[i] ?? root?.querySelectorAll("[data-mono-dialog-button]")[i];
128
+ if (!target) return;
129
+ await target.updateComplete;
130
+ await new Promise((r) => requestAnimationFrame(() => r(null)));
131
+ if (dialogEl === el) target.focus?.();
132
+ };
133
+ const dialog = {
134
+ show(override) {
135
+ if (typeof document === "undefined") return Promise.reject(/* @__PURE__ */ new Error("[mono-modal] dialog.show() needs a document — call it on the client"));
136
+ const modalTag = resolveTag("mono-modal", "mono-shadow-modal");
137
+ const buttonTag = resolveTag("mono-button", "mono-shadow-button");
138
+ if (!modalTag || !buttonTag) return Promise.reject(/* @__PURE__ */ new Error("[mono-modal] dialog.show(): <mono-modal> and <mono-button> are not registered — import '@mono-lit/helper/ui/modal' (it registers both) before showing a dialog."));
139
+ if (dialogOpen) closeDialog(false);
140
+ const opts = {
141
+ ...dialogDefaults,
142
+ ...override ?? {},
143
+ props: {
144
+ ...dialogDefaults.props ?? {},
145
+ ...override?.props ?? {}
146
+ }
147
+ };
148
+ const el = buildDialogElement(opts, modalTag, buttonTag);
149
+ dialogEl = el;
150
+ dialogOpen = true;
151
+ const promise = new Promise((resolve) => {
152
+ dialogResolve = resolve;
153
+ });
154
+ document.body.appendChild(el);
155
+ el.show("manual");
156
+ focusButton(el, opts.focus);
157
+ notify();
158
+ return promise;
159
+ },
160
+ close(value) {
161
+ if (!dialogOpen) return;
162
+ closeDialog(value);
163
+ },
164
+ get isOpen() {
165
+ return dialogOpen;
166
+ },
167
+ get element() {
168
+ return dialogEl;
169
+ },
170
+ setProps(patch) {
171
+ dialogDefaults = {
172
+ ...dialogDefaults,
173
+ ...patch,
174
+ props: {
175
+ ...dialogDefaults.props ?? {},
176
+ ...patch.props ?? {}
177
+ }
178
+ };
179
+ }
180
+ };
181
+ return {
182
+ props: () => elementProps,
183
+ setProps(patch) {
184
+ Object.assign(elementProps, patch);
185
+ notify();
186
+ },
187
+ open: () => setOpen(true),
188
+ close: () => setOpen(false),
189
+ toggle: () => setOpen(!isOpen),
190
+ get isOpen() {
191
+ return isOpen;
192
+ },
193
+ get element() {
194
+ return elements.values().next().value ?? null;
195
+ },
196
+ dialog,
197
+ subscribe: notifier.subscribe,
198
+ dispose() {
199
+ if (dialogOpen) closeDialog(false);
200
+ notifier.clear();
201
+ elements.clear();
202
+ },
203
+ _register(el) {
204
+ elements.add(el);
205
+ if (wantOpen && !el.modelValue) el.show("manual");
206
+ else if (isOpen !== el.modelValue) {
207
+ isOpen = el.modelValue;
208
+ notify();
209
+ }
210
+ },
211
+ _unregister(el) {
212
+ elements.delete(el);
213
+ },
214
+ _report(open, _source) {
215
+ wantOpen = open;
216
+ if (isOpen === open) return;
217
+ isOpen = open;
218
+ notify();
219
+ }
220
+ };
221
+ }
222
+ //#endregion
223
+ export { monoModal as t };