@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,537 @@
1
+ import { n as isPath, r as mergePatch, t as getFieldValue } from "./field-path-C92eGLg3.js";
2
+ import { i as searchFilterOf, s as flattenLeaves, t as isDataSourceLike } from "./data-source-read-DL88aH8t.js";
3
+ import { n as andPredicates, r as compileFilterPredicate, t as andFilters } from "./filter-eval-DIfU2EAn.js";
4
+ import { h as mergeSearchFields } from "./normalize-error-Gcgmgh5i.js";
5
+ import { t as resolveMaybeReactive } from "./reactive-D3EERqgO.js";
6
+ import { s as odataStringToArray, t as arrayToODataString } from "./filter-odata-C1vSGZaY.js";
7
+ //#region src/components/table/array-source.ts
8
+ /** Normalise a possibly-grouped input array to flat leaf rows when grouping. */
9
+ function normalizeInput(data, group) {
10
+ return (Array.isArray(group) ? group.length > 0 : !!group) ? flattenLeaves(data) : [...data];
11
+ }
12
+ /**
13
+ * Wrap a plain array in the structural {@link MonoGridSource} shape so
14
+ * {@link monoDataGrid} can drive it with no devextreme DataSource — paging,
15
+ * search and filtering all run client-side, in memory.
16
+ *
17
+ * @example
18
+ * const source = monoArraySource(rows, { pageSize: 10, searchValue: ['name'] })
19
+ * const table = monoDataGrid(source)
20
+ * await table.load()
21
+ * // later: source.setData(nextRows) // swap the underlying array
22
+ */
23
+ function monoArraySource(data = [], opts = {}) {
24
+ const handlers = {
25
+ changed: [],
26
+ loadingChanged: [],
27
+ loadError: []
28
+ };
29
+ let all = normalizeInput(data, opts.group);
30
+ let pageIndex = 0;
31
+ let pageSize = opts.pageSize ?? 10;
32
+ let paginate = true;
33
+ let search = null;
34
+ let searchExpr = mergeSearchFields(opts)?.filter((e) => typeof e === "string") ?? null;
35
+ let searchOperation = "contains";
36
+ let filter = null;
37
+ let sortList = [];
38
+ let page = [];
39
+ const emit = (event, arg) => (handlers[event] ?? []).slice().forEach((h) => h(arg));
40
+ /** Normalise a single devextreme sort entry into `{ selector, desc }`. */
41
+ function normalizeSortEntry(value) {
42
+ if (!value) return null;
43
+ if (typeof value === "string") return {
44
+ selector: value,
45
+ desc: false
46
+ };
47
+ const o = value;
48
+ return o.selector ? {
49
+ selector: o.selector,
50
+ desc: !!o.desc
51
+ } : null;
52
+ }
53
+ /** Normalise the devextreme sort forms into an ordered multi-key list. */
54
+ function normalizeSortList(value) {
55
+ return (Array.isArray(value) ? value : value == null ? [] : [value]).map(normalizeSortEntry).filter((e) => !!e);
56
+ }
57
+ /** Read a sort/compare value; a wildcard path sorts best-effort by its first match. */
58
+ function sortValue(row, selector) {
59
+ if (!isPath(selector)) return row[selector];
60
+ const v = getFieldValue(row, selector);
61
+ return Array.isArray(v) ? v[0] : v;
62
+ }
63
+ /** Compare two rows by one selector (numeric when both sides parse). */
64
+ function compareBy(a, b, selector, desc) {
65
+ const av = sortValue(a, selector);
66
+ const bv = sortValue(b, selector);
67
+ const dir = desc ? -1 : 1;
68
+ if (av == null && bv == null) return 0;
69
+ if (av == null) return -dir;
70
+ if (bv == null) return dir;
71
+ const an = Number(av);
72
+ const bn = Number(bv);
73
+ const cmp = !Number.isNaN(an) && !Number.isNaN(bn) ? an - bn : String(av).localeCompare(String(bv));
74
+ return cmp === 0 ? 0 : (cmp < 0 ? -1 : 1) * dir;
75
+ }
76
+ /** Apply filter + search + sort, returning the matching rows. */
77
+ function applied() {
78
+ let rows = all;
79
+ if (typeof filter === "function") rows = rows.filter(filter);
80
+ const cols = searchExpr == null ? [] : Array.isArray(searchExpr) ? searchExpr : [searchExpr];
81
+ if (search && cols.length) {
82
+ const needle = String(search).toLowerCase();
83
+ const matches = (row, c) => {
84
+ const raw = isPath(c) ? getFieldValue(row, c) : row[c];
85
+ return (Array.isArray(raw) ? raw : [raw]).some((v) => String(v ?? "").toLowerCase().includes(needle));
86
+ };
87
+ rows = rows.filter((row) => cols.some((c) => matches(row, c)));
88
+ }
89
+ if (sortList.length) rows = [...rows].sort((a, b) => {
90
+ for (const { selector, desc } of sortList) {
91
+ const cmp = compareBy(a, b, selector, desc);
92
+ if (cmp !== 0) return cmp;
93
+ }
94
+ return 0;
95
+ });
96
+ return rows;
97
+ }
98
+ const source = {
99
+ on: (event, handler) => void (handlers[event] ??= []).push(handler),
100
+ off: (event, handler) => {
101
+ handlers[event] = (handlers[event] ?? []).filter((h) => h !== handler);
102
+ },
103
+ items: () => page,
104
+ /** Full backing array (unfiltered) — lets the grid derive header-filter values. */
105
+ data: () => [...all],
106
+ isLoading: () => false,
107
+ totalCount: () => applied().length,
108
+ isLastPage: () => (pageIndex + 1) * pageSize >= applied().length,
109
+ paginate: (value) => value === void 0 ? paginate : paginate = value,
110
+ pageSize: (value) => value === void 0 ? pageSize : pageSize = value,
111
+ pageIndex: (value) => value === void 0 ? pageIndex : pageIndex = value,
112
+ searchValue: (value) => value === void 0 ? search : search = value || null,
113
+ searchExpr: (value) => value === void 0 ? searchExpr : searchExpr = value ?? null,
114
+ searchOperation: (op) => op === void 0 ? searchOperation : searchOperation = op,
115
+ filter: (value) => value === void 0 ? filter : filter = typeof value === "function" ? value : null,
116
+ sort: (value) => value === void 0 ? sortList : sortList = normalizeSortList(value),
117
+ load: () => {
118
+ emit("loadingChanged", true);
119
+ const rows = applied();
120
+ const start = pageIndex * pageSize;
121
+ page = paginate ? rows.slice(start, start + pageSize) : rows.slice();
122
+ emit("changed");
123
+ emit("loadingChanged", false);
124
+ return Promise.resolve(page);
125
+ },
126
+ reload: () => source.load(),
127
+ /** Replace the backing array and reload from page 0. */
128
+ setData: (next) => {
129
+ all = normalizeInput(next, opts.group);
130
+ pageIndex = 0;
131
+ return Promise.resolve(source.load());
132
+ },
133
+ /**
134
+ * Merge `values` into the row whose `keyExpr` field equals `key`, then reload
135
+ * — the per-row write path used by `monoDataGrid.saveChanges()` for an
136
+ * array-backed table (correct across pages, unlike a whole-array `setData`).
137
+ */
138
+ update: (key, values) => {
139
+ const keyExpr = opts.keyExpr ?? "Id";
140
+ const idx = all.findIndex((row) => String(row?.[keyExpr]) === String(key));
141
+ if (idx >= 0) all[idx] = mergePatch(all[idx], values);
142
+ return Promise.resolve(source.load());
143
+ }
144
+ };
145
+ return source;
146
+ }
147
+ //#endregion
148
+ //#region src/utils/data-source-apply.ts
149
+ /** The store's OData version, or `null` for anything that is not an OData store. */
150
+ function odataStoreVersion(store) {
151
+ const s = store;
152
+ if (!s || typeof s.version !== "function") return null;
153
+ const v = Number(s.version());
154
+ return Number.isFinite(v) ? v : null;
155
+ }
156
+ /** The store's base url, or `null` when it cannot be read. */
157
+ function odataStoreUrl(store) {
158
+ const s = store;
159
+ const url = s?._requestDispatcher?.url ?? s?._url;
160
+ return typeof url === "string" && url ? url : null;
161
+ }
162
+ /** `<url>?$apply=<encoded clause>` — `&` when the url already has a query string. */
163
+ function applyRequestUrl(url, apply) {
164
+ return `${url}${url.includes("?") ? "&" : "?"}$apply=${encodeURIComponent(apply)}`;
165
+ }
166
+ /**
167
+ * The `store.load()` options that carry `apply`, or `null` when this store
168
+ * cannot carry one (no request should be made).
169
+ *
170
+ * `requireTotalCount: false` keeps `$count` off — a rolled-up result has no
171
+ * meaningful total, and `$count` beside `$apply` is rejected by some servers.
172
+ */
173
+ function applyLoadOptions(store, apply, options = {}) {
174
+ if (odataStoreVersion(store) == null) return null;
175
+ const url = odataStoreUrl(store);
176
+ if (!url) return null;
177
+ const hasTop = typeof options.top === "number" && options.top >= 0;
178
+ return {
179
+ urlOverride: applyRequestUrl(url, apply),
180
+ requireTotalCount: false,
181
+ ...hasTop ? { take: options.top } : {}
182
+ };
183
+ }
184
+ /** Normalise a devextreme store `load` result into a plain rows array. */
185
+ function storeRows(res) {
186
+ return Array.isArray(res) ? res : res?.data ?? [];
187
+ }
188
+ /**
189
+ * Send `apply` through `store` and return the rolled-up rows, or `null` when
190
+ * the store cannot carry an `$apply` (nothing was requested). A request that
191
+ * FAILS throws — the caller decides whether that disables the path for good
192
+ * (see {@link createApplyGate}).
193
+ */
194
+ async function loadApply(store, apply, options = {}) {
195
+ const loadOptions = applyLoadOptions(store, apply, options);
196
+ if (!loadOptions) return null;
197
+ return storeRows(await store.load(loadOptions));
198
+ }
199
+ /**
200
+ * Whether `rows` are what an honoured `$apply` returns — each row carrying
201
+ * ONLY the grouping key(s) and the aggregate aliases in `keys` (plus OData
202
+ * `@odata.*` annotations) — as opposed to plain entities from a server that
203
+ * ignored the clause. The distinction matters because an alias is usually the
204
+ * field's own name: an entity `{ Id, Dept, Total }` has the alias `Total` too,
205
+ * and would be mistaken for a bucket by a presence check. The extra `Id` is
206
+ * what gives it away. `keys` are matched on their ROOT segment (`Job/Title`
207
+ * comes back as `{ Job: { Title } }`).
208
+ */
209
+ function isRolledUp(rows, keys) {
210
+ const allowed = new Set(keys.map((k) => k.split(/[./]/, 1)[0]));
211
+ return rows.every((row) => !!row && typeof row === "object" && Object.keys(row).every((k) => k.startsWith("@") || allowed.has(k)));
212
+ }
213
+ /**
214
+ * Whether a failed `$apply` request means the BACKEND does not do `$apply` —
215
+ * a 4xx (`400 Bad Request`, `404`) or `501 Not Implemented` — as opposed to a
216
+ * transient fault (network down: `httpStatus` 0 / absent, a 5xx). devextreme
217
+ * puts the status on the error as `httpStatus`.
218
+ */
219
+ function isApplyRejected(err) {
220
+ const status = Number(err?.httpStatus);
221
+ if (!Number.isFinite(status)) return false;
222
+ return status >= 400 && status < 500 || status === 501;
223
+ }
224
+ /**
225
+ * Per-controller "is the `$apply` path still worth trying?" switch.
226
+ *
227
+ * A backend without `$apply` answers every attempt with the same 4xx, and a
228
+ * grid that retried on every panel open / recompute would pay one failed
229
+ * request each time before falling back. So the FIRST definite rejection is
230
+ * remembered for the controller's lifetime; a transient failure is not, and
231
+ * the next attempt goes out normally.
232
+ */
233
+ function createApplyGate(enabled) {
234
+ let rejected = false;
235
+ return {
236
+ get skip() {
237
+ return !enabled || rejected;
238
+ },
239
+ reject(err) {
240
+ if (isApplyRejected(err)) rejected = true;
241
+ }
242
+ };
243
+ }
244
+ //#endregion
245
+ //#region src/utils/data-source-summary.ts
246
+ /**
247
+ * Server-side column aggregates: the pieces a consumer needs to answer
248
+ * "what are the totals?" without the grid draining every row to add them up.
249
+ *
250
+ * ── Resolver → store → drain ──
251
+ *
252
+ * A registered summary covers the FULL filtered set, not the current page, so
253
+ * something has to see every matching row. Left to itself the grid drains the
254
+ * bound source in `take: 100` chunks — free over an array, and pathological over
255
+ * a server-paged table, where it re-fetches through the pager exactly the rows
256
+ * the pager exists to avoid.
257
+ *
258
+ * The fix is to ask the server for the totals, and there are two ways in. The
259
+ * grid's own: ONE `$apply=filter(…)/aggregate(…)` through the bound source's
260
+ * STORE (`utils/data-source-apply`), which rides its url, `beforeSend` and auth.
261
+ * That needs a devextreme `ODataStore` — a CustomStore has nothing to carry the
262
+ * clause on, and **devextreme itself has no aggregate support**: `totalSummary`,
263
+ * `groupSummary` and `$apply` appear nowhere in it, an unknown load option is
264
+ * dropped in silence rather than refused (a `store.load({ totalSummary })` comes
265
+ * back as ordinary rows), and `customQueryParams` are service-operation
266
+ * parameters — quoted as literals, and on OData v4 a FUNCTION-INVOCATION url,
267
+ * `Entity($apply='…')` — so the clause has to go into the url (`urlOverride`),
268
+ * which is what `loadApply` does.
269
+ *
270
+ * The consumer's: a resolver. It is asked FIRST and covers what the store path
271
+ * cannot — a fetcher of the consumer's own, a custom dialect, a cached answer.
272
+ * The library builds the clause and hands it over; the consumer performs the
273
+ * request with whatever it already uses. Declining (`null`) falls through to the
274
+ * store path, and that declining falls through to the drain.
275
+ */
276
+ /**
277
+ * mono's aggregate kinds → the OData v4 aggregation keyword.
278
+ *
279
+ * `countDistinct` maps to `countdistinct`, which OData does define — unlike the
280
+ * devextreme summary descriptor, which has no equivalent at all. Building the
281
+ * clause is free; whether a given backend implements it is the consumer's
282
+ * problem, and declining is always safe.
283
+ */
284
+ var ODATA_AGG = {
285
+ sum: "sum",
286
+ avg: "average",
287
+ min: "min",
288
+ max: "max",
289
+ count: "$count",
290
+ countDistinct: "countdistinct"
291
+ };
292
+ /** A dotted path (`Job.Budget`) addresses a nav property as `Job/Budget` in OData. */
293
+ var toODataPath = (field) => field.replaceAll(".", "/");
294
+ /**
295
+ * A field a server can aggregate.
296
+ *
297
+ * A WILDCARD or INDEX path (`Lines.[*].Total`) is rejected: `getFieldValue`
298
+ * resolves those by walking a collection on a loaded row, and no `$apply`
299
+ * expression means the same thing — the nearest OData construct aggregates the
300
+ * collection per parent rather than across all of them.
301
+ */
302
+ var isAggregatableField = (field) => !!field && !field.includes("[") && !field.includes("*");
303
+ /**
304
+ * The response key each spec's value comes back under.
305
+ *
306
+ * Plain `field` while that field carries ONE aggregate, which is the ordinary
307
+ * case and keeps the response readable; `field_type` once the same field has
308
+ * two (a `sum` and an `avg` of `Price`), because an `$apply` cannot alias two
309
+ * values to the same name. An explicit `name` always wins, and a bare `count`
310
+ * has no field to name it after.
311
+ */
312
+ function summaryAliases(specs) {
313
+ const seen = /* @__PURE__ */ new Map();
314
+ for (const s of specs) {
315
+ if (!s.field) continue;
316
+ seen.set(s.field, (seen.get(s.field) ?? 0) + 1);
317
+ }
318
+ return specs.map((s, i) => {
319
+ if (s.name) return s.name;
320
+ if (!s.field) return `count_${i}`;
321
+ return (seen.get(s.field) ?? 0) > 1 ? `${s.field}_${s.type ?? "sum"}` : s.field;
322
+ });
323
+ }
324
+ /**
325
+ * Build `aggregate(<field> with <agg> as <alias>, …)` for a set of specs.
326
+ *
327
+ * Returns `null` when no spec can be expressed — a caller with nothing to ask
328
+ * for should not make a request.
329
+ */
330
+ function buildSummaryApply(specs) {
331
+ const aliases = summaryAliases(specs);
332
+ const parts = specs.map((spec, i) => {
333
+ const agg = ODATA_AGG[spec.type ?? "sum"];
334
+ if (!agg) return null;
335
+ if (agg === "$count") return `$count as ${aliases[i]}`;
336
+ if (!spec.field || !isAggregatableField(spec.field)) return null;
337
+ return `${toODataPath(spec.field)} with ${agg} as ${aliases[i]}`;
338
+ }).filter((p) => !!p);
339
+ return parts.length ? `aggregate(${parts.join(",")})` : null;
340
+ }
341
+ /**
342
+ * Compose a filter with an aggregate: `filter(<expr>)/aggregate(…)`.
343
+ *
344
+ * The filter goes INSIDE `$apply` rather than travelling as a sibling `$filter`
345
+ * — that is what makes the two compose, since the filter runs first and the
346
+ * aggregation sees only matching rows.
347
+ */
348
+ function composeSummaryApply(apply, filter) {
349
+ const expr = arrayToODataString(filter);
350
+ return expr ? `filter(${expr})/${apply}` : apply;
351
+ }
352
+ /**
353
+ * The predicate a summary must aggregate over — IDENTICAL to what the drain uses.
354
+ *
355
+ * `readAllRows` reads a DataSource as its own `filter()` AND its reconstructed
356
+ * `searchValue`, which is a DataSource-level option the store knows nothing
357
+ * about. Anything less here and a total would quietly count rows the user had
358
+ * searched away, which is worse than being slow.
359
+ */
360
+ function summaryFilterOf(source) {
361
+ if (!isDataSourceLike(source)) return null;
362
+ const ds = source;
363
+ return andFilters(ds.filter?.() ?? null, searchFilterOf(ds) ?? null);
364
+ }
365
+ //#endregion
366
+ //#region src/utils/data-source-options.ts
367
+ /** The knobs with a meaning of their own; anything else is passed through as a load option. */
368
+ var DATA_SOURCE_KNOBS = new Set([
369
+ "filter",
370
+ "select",
371
+ "expand",
372
+ "sort",
373
+ "customQueryParams",
374
+ "paginate",
375
+ "pageSize",
376
+ "requireTotalCount",
377
+ "searchExpr",
378
+ "searchOperation"
379
+ ]);
380
+ /** A comma string or an array → a trimmed string list; `null`/`undefined` → `undefined`. */
381
+ function toList(v) {
382
+ if (v == null) return void 0;
383
+ if (Array.isArray(v)) return v.map(String);
384
+ return String(v).split(",").map((x) => x.trim()).filter(Boolean);
385
+ }
386
+ /** devextreme's sort forms (string / object / array / mixed) → an ordered entry list. */
387
+ function normalizeSortList(value) {
388
+ const arr = Array.isArray(value) ? value : value == null ? [] : [value];
389
+ const out = [];
390
+ for (const v of arr) {
391
+ if (!v) continue;
392
+ if (typeof v === "string") out.push({
393
+ selector: v,
394
+ desc: false
395
+ });
396
+ else if (typeof v === "object" && v.selector) out.push({
397
+ selector: v.selector,
398
+ desc: !!v.desc
399
+ });
400
+ }
401
+ return out;
402
+ }
403
+ /** `"A desc, B"` → `[{A, desc}, {B}]`. */
404
+ function parseOrderby(text) {
405
+ return text.split(",").map((part) => part.trim()).filter(Boolean).map((part) => {
406
+ const [selector, dir] = part.split(/\s+/);
407
+ return {
408
+ selector,
409
+ desc: (dir ?? "").toLowerCase() === "desc"
410
+ };
411
+ });
412
+ }
413
+ /**
414
+ * The parser emits OData keyword operators (`eq`, `ge`) — the filter builder's
415
+ * tree reads either — but devextreme's ODataStore compiles ONLY the symbol forms
416
+ * and throws `E4003` on a keyword. Rewritten recursively.
417
+ */
418
+ function toSymbolOps(expr) {
419
+ if (!Array.isArray(expr)) return expr;
420
+ const SYM = {
421
+ eq: "=",
422
+ ne: "<>",
423
+ gt: ">",
424
+ ge: ">=",
425
+ lt: "<",
426
+ le: "<="
427
+ };
428
+ if (expr.length === 3 && typeof expr[0] === "string" && typeof expr[1] === "string" && !Array.isArray(expr[2])) {
429
+ const op = SYM[expr[1].toLowerCase()];
430
+ return op ? [
431
+ expr[0],
432
+ op,
433
+ expr[2]
434
+ ] : expr;
435
+ }
436
+ return expr.map((part) => Array.isArray(part) ? toSymbolOps(part) : part);
437
+ }
438
+ /**
439
+ * A raw `$filter` → devextreme's array form, so the store compiles it TOGETHER
440
+ * with whatever the component adds. The parser throws on syntax it does not know
441
+ * (lambdas, ISO date literals); those go through as a one-element raw clause,
442
+ * which devextreme emits as `(expr) eq true` — valid OData, with the caveat that
443
+ * it rewrites `.` to `/` inside the text.
444
+ */
445
+ function parseOdataFilter(raw) {
446
+ const text = raw.trim();
447
+ if (!text) return null;
448
+ try {
449
+ return toSymbolOps(odataStringToArray(text) ?? null);
450
+ } catch {
451
+ return [`(${text})`];
452
+ }
453
+ }
454
+ /** `{ $select, $expand, $orderby, $filter, …custom }` → the DataSource shape. */
455
+ function normalizeOdataOptions(o) {
456
+ const out = {};
457
+ const custom = {};
458
+ for (const [k, v] of Object.entries(o)) {
459
+ if (v === void 0) continue;
460
+ if (k === "$select") out.select = toList(v);
461
+ else if (k === "$expand") out.expand = Array.isArray(v) ? v.map(String) : String(v);
462
+ else if (k === "$orderby") out.sort = parseOrderby(String(v));
463
+ else if (k === "$filter") {
464
+ const f = parseOdataFilter(String(v));
465
+ if (f != null) out.filter = f;
466
+ } else custom[k] = v;
467
+ }
468
+ if (Object.keys(custom).length) out.customQueryParams = custom;
469
+ return out;
470
+ }
471
+ /**
472
+ * `a` ∧ `b`: filters AND-ed (predicates and arrays each on their own terms),
473
+ * `select`/`expand` unioned, sort de-duplicated by selector with `a` leading,
474
+ * `customQueryParams` merged with `b` winning, scalars `b` if defined else `a`.
475
+ */
476
+ function mergeDataSourceOptions(a, b) {
477
+ const out = {
478
+ ...a,
479
+ ...b
480
+ };
481
+ if (a.filter != null && b.filter != null) out.filter = typeof a.filter === "function" || typeof b.filter === "function" ? andPredicates(typeof a.filter === "function" ? a.filter : compileFilterPredicate(a.filter), typeof b.filter === "function" ? b.filter : compileFilterPredicate(b.filter)) : andFilters(a.filter, b.filter);
482
+ else out.filter = a.filter ?? b.filter;
483
+ const union = (x, y) => {
484
+ const xs = toList(x), ys = toList(y);
485
+ if (!xs && !ys) return void 0;
486
+ return [...new Set([...xs ?? [], ...ys ?? []])];
487
+ };
488
+ if (a.select !== void 0 || b.select !== void 0) out.select = union(a.select, b.select);
489
+ if (a.expand !== void 0 || b.expand !== void 0) {
490
+ const nested = (v) => typeof v === "string" && v.includes("(");
491
+ out.expand = nested(a.expand) || nested(b.expand) ? b.expand ?? a.expand : union(a.expand, b.expand);
492
+ }
493
+ if (a.sort !== void 0 || b.sort !== void 0) {
494
+ const as = normalizeSortList(a.sort);
495
+ const bs = normalizeSortList(b.sort).filter((e) => !as.some((x) => x.selector === e.selector));
496
+ out.sort = [...as, ...bs];
497
+ }
498
+ if (a.customQueryParams || b.customQueryParams) out.customQueryParams = {
499
+ ...a.customQueryParams ?? {},
500
+ ...b.customQueryParams ?? {}
501
+ };
502
+ return out;
503
+ }
504
+ /**
505
+ * Read both option bags fresh and merge them — the one call a controller makes
506
+ * at the top of every query. Returns a NEW object every time (a getter hands
507
+ * back fresh state), so callers that need change detection compare by content:
508
+ * see {@link dataSourceOptionsKey}.
509
+ */
510
+ function resolveDataSourceOptions(dataSourceOptions, odataOptions) {
511
+ const ds = resolveMaybeReactive(dataSourceOptions) ?? {};
512
+ const od = resolveMaybeReactive(odataOptions);
513
+ return od ? mergeDataSourceOptions(ds, normalizeOdataOptions(od)) : { ...ds };
514
+ }
515
+ /**
516
+ * A content key for change detection. Functions (an array-source predicate) do
517
+ * not stringify, so they are marked and must be compared by reference by the
518
+ * caller; a circular object yields a fresh random key and so always counts as
519
+ * changed.
520
+ */
521
+ function dataSourceOptionsKey(o) {
522
+ try {
523
+ return JSON.stringify(o, (_k, v) => typeof v === "function" ? "[fn]" : v);
524
+ } catch {
525
+ return String(Math.random());
526
+ }
527
+ }
528
+ /** `expand` / `customQueryParams` / unknown keys — what goes onto a `store.load()` beside the knobs. */
529
+ function extraLoadOptions(o) {
530
+ const out = {};
531
+ for (const [k, v] of Object.entries(o)) if (!DATA_SOURCE_KNOBS.has(k) && v !== void 0) out[k] = v;
532
+ if (o.expand !== void 0) out.expand = o.expand;
533
+ if (o.customQueryParams !== void 0) out.customQueryParams = o.customQueryParams;
534
+ return out;
535
+ }
536
+ //#endregion
537
+ export { resolveDataSourceOptions as a, composeSummaryApply as c, createApplyGate as d, isRolledUp as f, monoArraySource as h, normalizeSortList as i, summaryAliases as l, storeRows as m, extraLoadOptions as n, toList as o, loadApply as p, mergeDataSourceOptions as r, buildSummaryApply as s, dataSourceOptionsKey as t, summaryFilterOf as u };