@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,86 @@
1
+ import { html } from "lit";
2
+ //#region src/composables/field-icons.ts
3
+ /** Downward caret — the "this opens a panel" affordance. */
4
+ function caretIcon() {
5
+ return html`<svg
6
+ mono-icon
7
+ viewBox="0 0 20 20"
8
+ width="16"
9
+ height="16"
10
+ fill="currentColor"
11
+ aria-hidden="true"
12
+ >
13
+ <path
14
+ fill-rule="evenodd"
15
+ d="M5.23 7.21a.75.75 0 0 1 1.06.02L10 10.94l3.71-3.71a.75.75 0 1 1 1.06 1.06l-4.24 4.24a.75.75 0 0 1-1.06 0L5.25 8.29a.75.75 0 0 1-.02-1.08z"
16
+ clip-rule="evenodd"
17
+ />
18
+ </svg>`;
19
+ }
20
+ /** The ✕ a clear button and a chip's remove button draw, at the caret's weight. */
21
+ function closeIcon() {
22
+ return html`<svg
23
+ mono-icon
24
+ viewBox="0 0 20 20"
25
+ width="16"
26
+ height="16"
27
+ fill="currentColor"
28
+ aria-hidden="true"
29
+ >
30
+ <path
31
+ fill-rule="evenodd"
32
+ d="M4.293 4.293a1 1 0 0 1 1.414 0L10 8.586l4.293-4.293a1 1 0 1 1 1.414 1.414L11.414 10l4.293 4.293a1 1 0 0 1-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L8.586 10 4.293 5.707a1 1 0 0 1 0-1.414z"
33
+ clip-rule="evenodd"
34
+ />
35
+ </svg>`;
36
+ }
37
+ /** Left (`-1`) or right (`1`) chevron, matching {@link caretIcon}'s weight. */
38
+ function chevronIcon(dir) {
39
+ return html`<svg
40
+ mono-icon
41
+ viewBox="0 0 20 20"
42
+ width="16"
43
+ height="16"
44
+ fill="currentColor"
45
+ aria-hidden="true"
46
+ >
47
+ <path fill-rule="evenodd" d=${dir === -1 ? "M12.79 5.23a.75.75 0 0 1-.02 1.06L9.06 10l3.71 3.71a.75.75 0 1 1-1.06 1.06l-4.24-4.24a.75.75 0 0 1 0-1.06l4.24-4.24a.75.75 0 0 1 1.08 0z" : "M7.21 14.77a.75.75 0 0 1 .02-1.06L10.94 10 7.23 6.29a.75.75 0 1 1 1.06-1.06l4.24 4.24a.75.75 0 0 1 0 1.06l-4.24 4.24a.75.75 0 0 1-1.08 0z"} clip-rule="evenodd" />
48
+ </svg>`;
49
+ }
50
+ /**
51
+ * Busy arc for a field whose data source is still answering. Spun by the
52
+ * component's own CSS (`[mono-ds-spinner] > svg`) so a reduced-motion rule can
53
+ * stop it.
54
+ */
55
+ function spinnerIcon() {
56
+ return html`<svg
57
+ mono-icon
58
+ viewBox="0 0 24 24"
59
+ width="16"
60
+ height="16"
61
+ fill="none"
62
+ stroke="currentColor"
63
+ stroke-width="2.5"
64
+ stroke-linecap="round"
65
+ aria-hidden="true"
66
+ >
67
+ <path d="M12 3a9 9 0 1 0 9 9" />
68
+ </svg>`;
69
+ }
70
+ /** ↻ — the retry affordance a field shows after its data source failed. */
71
+ function refreshIcon() {
72
+ return html`<svg
73
+ mono-icon
74
+ viewBox="0 0 24 24"
75
+ width="16"
76
+ height="16"
77
+ fill="currentColor"
78
+ aria-hidden="true"
79
+ >
80
+ <path
81
+ d="M17.65 6.35A8 8 0 1 0 19.73 14h-2.08A6 6 0 1 1 12 6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
82
+ />
83
+ </svg>`;
84
+ }
85
+ //#endregion
86
+ export { spinnerIcon as a, refreshIcon as i, chevronIcon as n, closeIcon as r, caretIcon as t };
@@ -0,0 +1,251 @@
1
+ //#region src/search/field-path.ts
2
+ /** Whether `field` is a path expression (contains `.` or `[`) vs a plain key. */
3
+ function isPath(field) {
4
+ return typeof field === "string" && /[.[]/.test(field);
5
+ }
6
+ var parseCache = /* @__PURE__ */ new Map();
7
+ /** Parse a path field into ordered segments (cached). Plain keys → one `key` segment. */
8
+ function parseFieldPath(field) {
9
+ const cached = parseCache.get(field);
10
+ if (cached) return cached;
11
+ const segments = [];
12
+ let hasWildcard = false;
13
+ for (const token of field.split(".")) {
14
+ if (token === "") continue;
15
+ if (token === "[*]") {
16
+ segments.push({ kind: "wildcard" });
17
+ hasWildcard = true;
18
+ } else {
19
+ const m = /^\[(\d+)\]$/.exec(token);
20
+ if (m) segments.push({
21
+ kind: "index",
22
+ index: Number(m[1])
23
+ });
24
+ else segments.push({
25
+ kind: "key",
26
+ name: token
27
+ });
28
+ }
29
+ }
30
+ const parsed = {
31
+ segments,
32
+ hasWildcard,
33
+ raw: field
34
+ };
35
+ parseCache.set(field, parsed);
36
+ return parsed;
37
+ }
38
+ /**
39
+ * Resolve a path field against a row. Returns a **scalar** when the path has no
40
+ * wildcard, or a flattened **array** of matches when it does (`User.[*].Name` →
41
+ * `string[]`). Missing links yield `undefined` (scalar) / are skipped (wildcard).
42
+ */
43
+ function getFieldValue(row, field) {
44
+ const { segments, hasWildcard } = parseFieldPath(field);
45
+ let current = [row];
46
+ for (const seg of segments) {
47
+ const next = [];
48
+ for (const v of current) {
49
+ if (v == null) continue;
50
+ if (seg.kind === "key") next.push(v[seg.name]);
51
+ else if (seg.kind === "index") {
52
+ if (Array.isArray(v)) next.push(v[seg.index]);
53
+ } else if (Array.isArray(v)) for (const el of v) next.push(el);
54
+ }
55
+ current = next;
56
+ }
57
+ if (hasWildcard) return current.filter((v) => v !== void 0);
58
+ return current[0];
59
+ }
60
+ /**
61
+ * Write `value` into `obj` at a dot/index path, creating intermediate `{}`/`[]`
62
+ * as needed. Wildcard paths are ambiguous to write — a `console.warn` + no-op.
63
+ */
64
+ function setFieldValue(obj, field, value) {
65
+ const { segments, hasWildcard } = parseFieldPath(field);
66
+ if (hasWildcard) {
67
+ console.warn(`[@mono-lit/helper] setFieldValue: cannot write a wildcard path "${field}" — skipped.`);
68
+ return;
69
+ }
70
+ if (!segments.length) return;
71
+ let cursor = obj;
72
+ for (let i = 0; i < segments.length - 1; i++) {
73
+ const seg = segments[i];
74
+ const wantArray = segments[i + 1].kind === "index";
75
+ const at = seg.kind === "index" ? seg.index : seg.name;
76
+ let child = cursor[at];
77
+ if (child == null || typeof child !== "object") {
78
+ child = wantArray ? [] : {};
79
+ cursor[at] = child;
80
+ }
81
+ cursor = child;
82
+ }
83
+ const last = segments[segments.length - 1];
84
+ const at = last.kind === "index" ? last.index : last.name;
85
+ cursor[at] = value;
86
+ }
87
+ /**
88
+ * Project a row down to the given key paths, **rebuilding the nested shape**.
89
+ *
90
+ * This is what `<mono-table-checkbox>`'s `key-value` produces, so a selection can
91
+ * be handed to an API in the shape the API expects rather than as flat values:
92
+ *
93
+ * ```ts
94
+ * projectFields(row, ['Id']) // { Id: 8 }
95
+ * projectFields(row, ['Company.Name']) // { Company: { Name: 'Hey' } }
96
+ * projectFields(row, ['Transaction.[*].Id']) // { Transaction: [{ Id: 4 }] }
97
+ * projectFields(row, ['Company.Name', 'Transaction.[*].Id'])
98
+ * // → { Company: { Name: 'Hey' }, Transaction: [{ Id: 4 }] }
99
+ * ```
100
+ *
101
+ * Separate from {@link setFieldValue}, which deliberately refuses wildcard paths
102
+ * (there is no single place to write to). Here a wildcard is not ambiguous at all:
103
+ * it MAPS over the source array, emitting one projected element per entry — so the
104
+ * result mirrors the source's own cardinality. Several paths merge into one object,
105
+ * and an empty key list means "the row itself".
106
+ */
107
+ function projectFields(row, keys) {
108
+ if (!keys.length) return row;
109
+ const out = {};
110
+ for (const key of keys) {
111
+ const { segments } = parseFieldPath(key);
112
+ if (segments.length) assign(out, row, segments);
113
+ }
114
+ return out;
115
+ }
116
+ /**
117
+ * Copy the value `source` holds at `segments` into `target`, creating only the
118
+ * containers the path needs. Recursive rather than iterative because a wildcard
119
+ * forks into N independent sub-writes.
120
+ */
121
+ function assign(target, source, segments) {
122
+ const [seg, ...rest] = segments;
123
+ if (source == null || seg.kind !== "key") return;
124
+ const name = seg.name;
125
+ const value = source[name];
126
+ if (!rest.length) {
127
+ target[name] = value;
128
+ return;
129
+ }
130
+ if (rest[0].kind === "wildcard" || rest[0].kind === "index") {
131
+ if (!Array.isArray(value)) return;
132
+ const tail = rest.slice(1);
133
+ const list = Array.isArray(target[name]) ? target[name] : [];
134
+ target[name] = list;
135
+ const indices = rest[0].kind === "index" ? [rest[0].index] : value.map((_, i) => i);
136
+ for (const i of indices) {
137
+ if (i < 0 || i >= value.length) continue;
138
+ list[i] ??= {};
139
+ if (tail.length) assign(list[i], value[i], tail);
140
+ }
141
+ return;
142
+ }
143
+ const child = target[name] ?? {};
144
+ target[name] = child;
145
+ assign(child, value, rest);
146
+ }
147
+ /**
148
+ * Merge a staged `patch` (keys may be path fields) into a **clone** of `row`.
149
+ * Path keys nest via {@link setFieldValue}; plain keys are set directly. The
150
+ * original row is never mutated. Used by the client (array/optimistic) save path.
151
+ */
152
+ function mergePatch(row, patch) {
153
+ const clone = typeof structuredClone === "function" ? structuredClone(row) : JSON.parse(JSON.stringify(row));
154
+ for (const [field, value] of Object.entries(patch)) if (isPath(field)) setFieldValue(clone, field, value);
155
+ else clone[field] = value;
156
+ return clone;
157
+ }
158
+ /**
159
+ * OData selector for `$orderby` / `$select` / nav column filters — dotted path
160
+ * with `.` → `/` (`Job.Name` → `Job/Name`). Returns `null` when the path has any
161
+ * index/wildcard segment (not expressible as a plain selector); the caller warns
162
+ * and skips.
163
+ */
164
+ function toODataSelector(field) {
165
+ const { segments } = parseFieldPath(field);
166
+ const parts = [];
167
+ for (const seg of segments) {
168
+ if (seg.kind !== "key") return null;
169
+ parts.push(seg.name);
170
+ }
171
+ return parts.join("/");
172
+ }
173
+ /**
174
+ * Quote/serialize a value as an OData literal (numbers/bools bare, strings quoted
175
+ * with `''` escaping). Exported so `mono-filter-builder` shares one set of quoting
176
+ * rules instead of restating them.
177
+ */
178
+ function odataLiteral(value) {
179
+ if (typeof value === "number" || typeof value === "boolean") return String(value);
180
+ return `'${String(value ?? "").replace(/'/g, "''")}'`;
181
+ }
182
+ /** Map a devextreme operator token to its OData comparison keyword. */
183
+ function odataComparison(op) {
184
+ switch (op) {
185
+ case "=":
186
+ case "eq": return "eq";
187
+ case "<>":
188
+ case "!=":
189
+ case "ne": return "ne";
190
+ case ">":
191
+ case "gt": return "gt";
192
+ case ">=":
193
+ case "ge": return "ge";
194
+ case "<":
195
+ case "lt": return "lt";
196
+ case "<=":
197
+ case "le": return "le";
198
+ default: return null;
199
+ }
200
+ }
201
+ /**
202
+ * Build a devextreme filter clause for a (possibly path) field.
203
+ *
204
+ * - plain / dotted-nav → a `[selector, op, value]` triple (`['Job/Name','contains','x']`),
205
+ * which devextreme serializes to a nav filter.
206
+ * - wildcard → a single wrapped raw lambda clause
207
+ * (`["User/any(d: contains(d/Name,'x'))"]`) — the raw-string passthrough devextreme
208
+ * filter arrays honor. Slots into OR/AND groups as one group member.
209
+ *
210
+ * Returns `null` when the field can't be expressed (a second wildcard, or an
211
+ * index segment mixed into a remote path); the caller warns + skips.
212
+ */
213
+ function toODataClause(field, op, value) {
214
+ if (!isPath(field)) return [
215
+ field,
216
+ op,
217
+ value
218
+ ];
219
+ const { segments, hasWildcard } = parseFieldPath(field);
220
+ if (!hasWildcard) {
221
+ const selector = toODataSelector(field);
222
+ return selector ? [
223
+ selector,
224
+ op,
225
+ value
226
+ ] : null;
227
+ }
228
+ const wildAt = segments.findIndex((s) => s.kind === "wildcard");
229
+ const before = segments.slice(0, wildAt);
230
+ const after = segments.slice(wildAt + 1);
231
+ if (before.some((s) => s.kind !== "key") || after.some((s) => s.kind !== "key")) {
232
+ console.warn(`[@mono-lit/helper] toODataClause: unsupported path "${field}" (index or 2nd wildcard).`);
233
+ return null;
234
+ }
235
+ const coll = before.map((s) => s.name).join("/");
236
+ const inner = "d/" + after.map((s) => s.name).join("/");
237
+ const lit = odataLiteral(value);
238
+ let body;
239
+ if (op === "contains" || op === "startswith" || op === "endswith") body = `${op}(${inner},${lit})`;
240
+ else {
241
+ const cmp = odataComparison(op);
242
+ if (!cmp) {
243
+ console.warn(`[@mono-lit/helper] toODataClause: unsupported operator "${op}" for wildcard "${field}".`);
244
+ return null;
245
+ }
246
+ body = `${inner} ${cmp} ${lit}`;
247
+ }
248
+ return [`${coll}/any(d: ${body})`];
249
+ }
250
+ //#endregion
251
+ export { parseFieldPath as a, toODataClause as c, odataLiteral as i, toODataSelector as l, isPath as n, projectFields as o, mergePatch as r, setFieldValue as s, getFieldValue as t };
@@ -0,0 +1,205 @@
1
+ import { a as flattenTree, f as coerceValue, h as resolveTexts, i as emptyGroup, l as treeToArray, n as arrayToTree, o as nextId, p as defaultOperator, r as asRootGroup, s as odataStringToArray, t as arrayToODataString } from "./filter-odata-C1vSGZaY.js";
2
+ import { t as createNotifier } from "./notifier-CE4yxMUQ.js";
3
+ //#region src/components/filter/filter-builder.ts
4
+ function monoFilterBuilder(opts = {}) {
5
+ const texts = resolveTexts(opts.texts);
6
+ const actions = opts.actions !== false;
7
+ const serialize = opts.toODataString ?? ((f) => arrayToODataString(f));
8
+ /** Which shape the caller supplied, so `type`-less reads return the same. */
9
+ const inputType = typeof opts.filter === "string" ? "string" : "array";
10
+ let warnedUnparseable = false;
11
+ /**
12
+ * Normalise either shape into a devextreme expression. A string outside the
13
+ * parser's subset warns ONCE and yields `null` — an empty builder is safer than
14
+ * a filter that silently means something else.
15
+ */
16
+ function toExpression(filter) {
17
+ if (filter === null || filter === void 0 || filter === "") return null;
18
+ if (typeof filter !== "string") return Array.isArray(filter) ? filter : null;
19
+ try {
20
+ return odataStringToArray(filter);
21
+ } catch (err) {
22
+ if (!warnedUnparseable) {
23
+ warnedUnparseable = true;
24
+ console.warn(`[monoFilterBuilder] could not parse the OData filter string — starting empty. Only the subset this builder emits is supported (comparisons, contains/startswith/endswith, in, and/or/not, parentheses). Reason: ${err.message}`);
25
+ }
26
+ return null;
27
+ }
28
+ }
29
+ const originalExpression = toExpression(opts.filter);
30
+ function buildTree(expr) {
31
+ const node = arrayToTree(expr);
32
+ return asRootGroup(node ? flattenTree(node) : null);
33
+ }
34
+ let tree = buildTree(originalExpression);
35
+ const notifier = createNotifier();
36
+ const notify = notifier.notify;
37
+ const elementProps = { ...opts.props ?? {} };
38
+ /**
39
+ * Explicit `fields` win; a `dataGrid` only contributes columns not already
40
+ * listed, so a table dialog can pass both and override just what it needs.
41
+ */
42
+ function fields() {
43
+ const explicit = opts.fields ?? [];
44
+ const grid = opts.dataGrid;
45
+ if (!grid) return explicit;
46
+ const seen = new Set(explicit.map((f) => f.field));
47
+ const derived = [];
48
+ for (const col of grid.props?.().th ?? []) {
49
+ if (!col?.field || seen.has(col.field)) continue;
50
+ derived.push({
51
+ field: col.field,
52
+ caption: col.caption ?? col.field
53
+ });
54
+ }
55
+ return [...explicit, ...derived];
56
+ }
57
+ function fieldDef(field) {
58
+ return fields().find((f) => f.field === field);
59
+ }
60
+ function findNode(id, node = tree) {
61
+ if (node.id === id) return node;
62
+ if (node.kind !== "group") return null;
63
+ for (const c of node.children) {
64
+ const hit = findNode(id, c);
65
+ if (hit) return hit;
66
+ }
67
+ return null;
68
+ }
69
+ function findParent(id, node = tree) {
70
+ for (const c of node.children) {
71
+ if (c.id === id) return node;
72
+ if (c.kind === "group") {
73
+ const hit = findParent(id, c);
74
+ if (hit) return hit;
75
+ }
76
+ }
77
+ return null;
78
+ }
79
+ function groupById(id) {
80
+ if (!id) return tree;
81
+ const node = findNode(id);
82
+ return node && node.kind === "group" ? node : tree;
83
+ }
84
+ function newRule() {
85
+ const first = fields()[0];
86
+ const dataType = first?.dataType ?? "string";
87
+ return {
88
+ kind: "rule",
89
+ id: nextId("r"),
90
+ field: first?.field ?? "",
91
+ operator: defaultOperator(dataType),
92
+ value: ""
93
+ };
94
+ }
95
+ function read(expr, options) {
96
+ return (options?.type ?? inputType) === "string" ? serialize(expr) : expr;
97
+ }
98
+ const controller = {
99
+ get tree() {
100
+ return tree;
101
+ },
102
+ get fields() {
103
+ return fields();
104
+ },
105
+ get texts() {
106
+ return texts;
107
+ },
108
+ get actions() {
109
+ return actions;
110
+ },
111
+ props: () => elementProps,
112
+ /**
113
+ * Merge, not replace — a partial patch leaves everything else alone, matching
114
+ * `updateRule`. `undefined` values are passed straight through: `applyProps`
115
+ * skips them on the write side, so "not declared" can never clobber a value
116
+ * the template set.
117
+ */
118
+ setProps: (patch) => {
119
+ if (!patch) return;
120
+ Object.assign(elementProps, patch);
121
+ notify();
122
+ },
123
+ original: (options) => read(originalExpression, options),
124
+ changed: (options) => read(treeToArray(tree), options),
125
+ setFilter: (filter) => {
126
+ tree = buildTree(toExpression(filter));
127
+ notify();
128
+ },
129
+ reset: () => {
130
+ tree = buildTree(originalExpression);
131
+ notify();
132
+ },
133
+ clear: () => {
134
+ tree = emptyGroup(tree.operator);
135
+ notify();
136
+ },
137
+ addRule: (groupId) => {
138
+ groupById(groupId).children.push(newRule());
139
+ notify();
140
+ },
141
+ addGroup: (groupId) => {
142
+ const g = emptyGroup("and");
143
+ g.children.push(newRule());
144
+ groupById(groupId).children.push(g);
145
+ notify();
146
+ },
147
+ /**
148
+ * Nest a rule: replace it in place with a group holding it plus a fresh
149
+ * sibling, which is what the row's nested-rule button means. Nesting a group
150
+ * just adds a child group to it.
151
+ */
152
+ nest: (nodeId) => {
153
+ const node = findNode(nodeId);
154
+ if (!node) return;
155
+ if (node.kind === "group") {
156
+ const g = emptyGroup("and");
157
+ g.children.push(newRule());
158
+ node.children.push(g);
159
+ notify();
160
+ return;
161
+ }
162
+ const parent = findParent(nodeId);
163
+ if (!parent) return;
164
+ const at = parent.children.indexOf(node);
165
+ const g = emptyGroup(parent.operator === "or" ? "and" : "or");
166
+ g.children.push(node, newRule());
167
+ parent.children.splice(at, 1, g);
168
+ notify();
169
+ },
170
+ remove: (nodeId) => {
171
+ const parent = findParent(nodeId);
172
+ if (!parent) return;
173
+ parent.children = parent.children.filter((c) => c.id !== nodeId);
174
+ if (!parent.children.length && parent !== tree) controller.remove(parent.id);
175
+ else notify();
176
+ },
177
+ updateRule: (ruleId, patch) => {
178
+ const node = findNode(ruleId);
179
+ if (!node || node.kind !== "rule") return;
180
+ if (patch.field !== void 0 && patch.field !== node.field) {
181
+ node.field = patch.field;
182
+ node.operator = defaultOperator(fieldDef(node.field)?.dataType ?? "string");
183
+ node.value = "";
184
+ }
185
+ if (patch.operator !== void 0) node.operator = patch.operator;
186
+ if (patch.value !== void 0) {
187
+ const dt = fieldDef(node.field)?.dataType ?? "string";
188
+ node.value = Array.isArray(patch.value) ? patch.value.map((v) => coerceValue(v, dt)) : coerceValue(patch.value, dt);
189
+ }
190
+ notify();
191
+ },
192
+ setGroupOperator: (groupId, operator) => {
193
+ const node = findNode(groupId);
194
+ if (node?.kind === "group") {
195
+ node.operator = operator;
196
+ notify();
197
+ }
198
+ },
199
+ subscribe: (cb) => notifier.subscribe(cb),
200
+ dispose: () => notifier.clear()
201
+ };
202
+ return controller;
203
+ }
204
+ //#endregion
205
+ export { monoFilterBuilder as t };