@mono-lit/helper 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +34 -2
  3. package/dist/breakpoints-CAbhDUht.js +84 -0
  4. package/dist/checkbox-Cqpie9Ap.js +4 -0
  5. package/dist/chip-DBUUa2eB.js +4 -0
  6. package/dist/chip-limits-BMoO31JM.js +213 -0
  7. package/dist/chip-strip-Cw3gyz0q.js +213 -0
  8. package/dist/color-DHYrfXsX.js +253 -0
  9. package/dist/css-class-BRKRzHx-.js +60 -0
  10. package/dist/css-size-DhHSVZJK.js +37 -0
  11. package/dist/data/theme/presets.json.d.ts +140 -0
  12. package/dist/data-search-Bwo5bg8K.js +573 -0
  13. package/dist/data-source-controller-C50Qyfzh.js +178 -0
  14. package/dist/data-source-options-BTpfrOZ_.js +535 -0
  15. package/dist/data-source-options-CQSTZHPE.js +537 -0
  16. package/dist/data-source-read-CUX-lgrQ.js +216 -0
  17. package/dist/data-source-read-DL88aH8t.js +217 -0
  18. package/dist/decorate-DEXtNagw.js +141 -0
  19. package/dist/element-props-CLB6yvbm.js +114 -0
  20. package/dist/esm-Ptok4SQZ.js +2026 -0
  21. package/dist/excel-CY6zGkcx.js +608 -0
  22. package/dist/excel-DopRbEMK.js +608 -0
  23. package/dist/export-BvlBx_GZ.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-BoOG6KrL.js +51 -0
  27. package/dist/field-path-C92eGLg3.js +251 -0
  28. package/dist/filter-builder-Bke3qOgJ.js +205 -0
  29. package/dist/filter-builder-CE4zE0V5.js +205 -0
  30. package/dist/filter-eval-DIfU2EAn.js +173 -0
  31. package/dist/filter-odata-C1vSGZaY.js +591 -0
  32. package/dist/form-control-core-B8d7k6vk.js +223 -0
  33. package/dist/form-control-core-eeRr0zLU.js +223 -0
  34. package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
  35. package/dist/icon-CJkTlmTb.js +55 -0
  36. package/dist/icon-dVhYJUIH.js +17 -0
  37. package/dist/import-BgJdkwBI.js +606 -0
  38. package/dist/import.d.ts +1 -0
  39. package/dist/import.js +606 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js +16 -0
  42. package/dist/index.node-DjvYOL-J.js +395 -0
  43. package/dist/index.node.d.ts +1 -0
  44. package/dist/index.node.js +16 -0
  45. package/dist/input-zGOULADt.js +4 -0
  46. package/dist/layout-var-CZnzMC0s.js +73 -0
  47. package/dist/light-slots-BVJwyg_2.js +244 -0
  48. package/dist/light-slots-DW1WgfgT.js +254 -0
  49. package/dist/markdown-DfqrfOJN.js +20146 -0
  50. package/dist/mono-button-CoVnBLav.js +873 -0
  51. package/dist/mono-button.shadow-FfP_hMH4.js +784 -0
  52. package/dist/mono-data-chart-ChU4Ii3p.js +738 -0
  53. package/dist/mono-data-dropdown-BAUl58kW.js +357 -0
  54. package/dist/mono-data-grid-CLBK8clE.js +4140 -0
  55. package/dist/mono-data-grid-Db80FzdZ.js +4142 -0
  56. package/dist/mono-element-B0kP_96P.js +232 -0
  57. package/dist/mono-event-Bi1qP9uN.js +129 -0
  58. package/dist/mono-form-controller-5PfsU4qa.js +409 -0
  59. package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
  60. package/dist/mono-ui-CPV7rrdo.js +358 -0
  61. package/dist/notifier-CE4yxMUQ.js +88 -0
  62. package/dist/nuxt.d.ts +1 -0
  63. package/dist/nuxt.js +130 -0
  64. package/dist/popup-portal-BziRX1yG.js +465 -0
  65. package/dist/popup-stack-CEEMib__.js +189 -0
  66. package/dist/rate-limit-BBa2PO79.js +521 -0
  67. package/dist/reactive-BHsqVjRh.js +789 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/search.d.ts +1 -0
  70. package/dist/search.js +97 -0
  71. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  72. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  73. package/dist/src/components/accordion/index.d.ts +3 -0
  74. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  75. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  76. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  77. package/dist/src/components/alert/alert-core.d.ts +46 -0
  78. package/dist/src/components/alert/alert-types.d.ts +44 -0
  79. package/dist/src/components/alert/index.d.ts +3 -0
  80. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  81. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  82. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  83. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  88. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  89. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  90. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  94. package/dist/src/components/button/button-core.d.ts +90 -0
  95. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  96. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  97. package/dist/src/components/button/button-types.d.ts +219 -0
  98. package/dist/src/components/button/button-utils.d.ts +18 -0
  99. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  100. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  101. package/dist/src/components/button/index.d.ts +8 -0
  102. package/dist/src/components/button/index.shadow.d.ts +5 -0
  103. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  104. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  105. package/dist/src/components/button/mono-button.d.ts +123 -0
  106. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  107. package/dist/src/components/card/card-core.d.ts +74 -0
  108. package/dist/src/components/card/card-types.d.ts +137 -0
  109. package/dist/src/components/card/card-utils.d.ts +23 -0
  110. package/dist/src/components/card/index.d.ts +4 -0
  111. package/dist/src/components/card/index.shadow.d.ts +6 -0
  112. package/dist/src/components/card/mono-card.d.ts +56 -0
  113. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  114. package/dist/src/components/chart/chart-core.d.ts +43 -0
  115. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  116. package/dist/src/components/chart/chart-types.d.ts +337 -0
  117. package/dist/src/components/chart/index.d.ts +8 -0
  118. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  119. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  120. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  122. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  123. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  124. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  125. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  126. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  127. package/dist/src/components/checkbox/index.d.ts +4 -0
  128. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  129. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  130. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  131. package/dist/src/components/chip/chip-core.d.ts +58 -0
  132. package/dist/src/components/chip/chip-types.d.ts +142 -0
  133. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  134. package/dist/src/components/chip/index.d.ts +8 -0
  135. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  136. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  137. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  138. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  139. package/dist/src/components/date/date-core.d.ts +80 -0
  140. package/dist/src/components/date/date-types.d.ts +163 -0
  141. package/dist/src/components/date/index.d.ts +3 -0
  142. package/dist/src/components/date/index.shadow.d.ts +4 -0
  143. package/dist/src/components/date/mono-date.d.ts +22 -0
  144. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  145. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  146. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  147. package/dist/src/components/drawer/index.d.ts +3 -0
  148. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  149. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  150. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  151. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  152. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  153. package/dist/src/components/dropdown/index.d.ts +3 -0
  154. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  155. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  156. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  157. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  159. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  160. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  161. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  162. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  164. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  165. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  166. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  167. package/dist/src/components/file-upload/index.d.ts +4 -0
  168. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  169. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  170. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  171. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  172. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  173. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  174. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  175. package/dist/src/components/filter/filter-types.d.ts +253 -0
  176. package/dist/src/components/filter/index.d.ts +6 -0
  177. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  178. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  179. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  180. package/dist/src/components/form/form-control-core.d.ts +37 -0
  181. package/dist/src/components/form/form-rules.d.ts +25 -0
  182. package/dist/src/components/form/form-types.d.ts +307 -0
  183. package/dist/src/components/form/index.d.ts +6 -0
  184. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  185. package/dist/src/components/input/index.d.ts +6 -0
  186. package/dist/src/components/input/index.shadow.d.ts +8 -0
  187. package/dist/src/components/input/input-core.d.ts +91 -0
  188. package/dist/src/components/input/input-format.d.ts +118 -0
  189. package/dist/src/components/input/input-types.d.ts +179 -0
  190. package/dist/src/components/input/input-utils.d.ts +10 -0
  191. package/dist/src/components/input/mono-input.d.ts +46 -0
  192. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  193. package/dist/src/components/menu/index.d.ts +6 -0
  194. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  195. package/dist/src/components/menu/menu-core.d.ts +65 -0
  196. package/dist/src/components/menu/menu-render.d.ts +55 -0
  197. package/dist/src/components/menu/menu-types.d.ts +195 -0
  198. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  199. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  200. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  201. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  202. package/dist/src/components/modal/index.d.ts +4 -0
  203. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  204. package/dist/src/components/modal/modal-core.d.ts +110 -0
  205. package/dist/src/components/modal/modal-types.d.ts +304 -0
  206. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  207. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  208. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  209. package/dist/src/components/nav/index.d.ts +4 -0
  210. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  211. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  212. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  213. package/dist/src/components/nav/nav-core.d.ts +34 -0
  214. package/dist/src/components/nav/nav-types.d.ts +48 -0
  215. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  216. package/dist/src/components/radio/index.d.ts +4 -0
  217. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  218. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  219. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  220. package/dist/src/components/radio/radio-core.d.ts +45 -0
  221. package/dist/src/components/radio/radio-types.d.ts +58 -0
  222. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  223. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  224. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  225. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  227. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  231. package/dist/src/components/select/index.d.ts +4 -0
  232. package/dist/src/components/select/index.shadow.d.ts +5 -0
  233. package/dist/src/components/select/mono-select.d.ts +69 -0
  234. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  235. package/dist/src/components/select/select-core.d.ts +98 -0
  236. package/dist/src/components/select/select-types.d.ts +258 -0
  237. package/dist/src/components/select/select-utils.d.ts +7 -0
  238. package/dist/src/components/sidebar/index.d.ts +4 -0
  239. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  240. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  241. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  242. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  243. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  244. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  245. package/dist/src/components/switch/index.d.ts +4 -0
  246. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  247. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  248. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  249. package/dist/src/components/switch/switch-core.d.ts +49 -0
  250. package/dist/src/components/switch/switch-types.d.ts +64 -0
  251. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  252. package/dist/src/components/table/array-source.d.ts +44 -0
  253. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  254. package/dist/src/components/table/grouping.d.ts +55 -0
  255. package/dist/src/components/table/index.d.ts +33 -0
  256. package/dist/src/components/table/index.shadow.d.ts +47 -0
  257. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  258. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  259. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  260. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  261. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  262. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  263. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  264. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  265. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  266. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  267. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  268. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  269. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  270. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  271. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  272. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  273. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  274. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  275. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  276. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  278. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  279. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  280. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  281. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  282. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  283. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  284. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  285. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  286. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  287. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  288. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  289. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  290. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  291. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  292. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  293. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  294. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  295. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  296. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  297. package/dist/src/components/table/store-group-source.d.ts +24 -0
  298. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  299. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  300. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  301. package/dist/src/components/table/table-overlay.d.ts +165 -0
  302. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  303. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  304. package/dist/src/components/table/table-types.d.ts +475 -0
  305. package/dist/src/components/tabs/index.d.ts +3 -0
  306. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  307. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  308. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  309. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  310. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  311. package/dist/src/components/tag-input/index.d.ts +4 -0
  312. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  313. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  314. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  315. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  316. package/dist/src/components/tag-input/tag-input-types.d.ts +394 -0
  317. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  318. package/dist/src/components/textarea/index.d.ts +4 -0
  319. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  320. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  321. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  322. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  323. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  324. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  325. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  326. package/dist/src/components/tooltip/index.d.ts +6 -0
  327. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  328. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  329. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  330. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  331. package/dist/src/composables/breakpoints.d.ts +59 -0
  332. package/dist/src/composables/chip-limits.d.ts +48 -0
  333. package/dist/src/composables/chip-strip.d.ts +93 -0
  334. package/dist/src/composables/color.d.ts +103 -0
  335. package/dist/src/composables/css-class.d.ts +27 -0
  336. package/dist/src/composables/css-size.d.ts +40 -0
  337. package/dist/src/composables/data-source-controller.d.ts +84 -0
  338. package/dist/src/composables/element-props.d.ts +46 -0
  339. package/dist/src/composables/field-icons.d.ts +7 -0
  340. package/dist/src/composables/hybird-prop.d.ts +79 -0
  341. package/dist/src/composables/hydration-flush.d.ts +34 -0
  342. package/dist/src/composables/icon.d.ts +17 -0
  343. package/dist/src/composables/layout-var.d.ts +34 -0
  344. package/dist/src/composables/light-slots.d.ts +133 -0
  345. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  346. package/dist/src/composables/mono-element.d.ts +9 -0
  347. package/dist/src/composables/mono-event.d.ts +55 -0
  348. package/dist/src/composables/mono-pending.d.ts +8 -0
  349. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  350. package/dist/src/composables/mono-ui.d.ts +58 -0
  351. package/dist/src/composables/notifier.d.ts +46 -0
  352. package/dist/src/composables/popup-portal.d.ts +226 -0
  353. package/dist/src/composables/popup-stack.d.ts +70 -0
  354. package/dist/src/composables/rate-limit.d.ts +108 -0
  355. package/dist/src/composables/reactive.d.ts +53 -0
  356. package/dist/src/composables/shadow-css.d.ts +42 -0
  357. package/dist/src/composables/visibility.d.ts +36 -0
  358. package/dist/src/data/theme/index.d.ts +30 -0
  359. package/dist/src/data/theme/presets.d.ts +94 -0
  360. package/dist/src/entries/index.d.ts +2 -0
  361. package/dist/src/entries/index.node.d.ts +42 -0
  362. package/dist/src/entries/search.d.ts +3 -0
  363. package/dist/src/export/detail.d.ts +29 -0
  364. package/dist/src/export/download.d.ts +9 -0
  365. package/dist/src/export/excel/index.d.ts +27 -0
  366. package/dist/src/export/excel/nodes.d.ts +123 -0
  367. package/dist/src/export/expression.d.ts +36 -0
  368. package/dist/src/export/helpers.d.ts +6 -0
  369. package/dist/src/export/index.d.ts +13 -0
  370. package/dist/src/export/markdown.d.ts +52 -0
  371. package/dist/src/export/resolve-data.d.ts +31 -0
  372. package/dist/src/export/sentinel.d.ts +97 -0
  373. package/dist/src/export/sheet-name.d.ts +45 -0
  374. package/dist/src/export/styles.d.ts +33 -0
  375. package/dist/src/export/template.d.ts +10 -0
  376. package/dist/src/export/types.d.ts +259 -0
  377. package/dist/src/import/coerce.d.ts +38 -0
  378. package/dist/src/import/index.d.ts +16 -0
  379. package/dist/src/import/match.d.ts +54 -0
  380. package/dist/src/import/parse.d.ts +15 -0
  381. package/dist/src/import/types.d.ts +153 -0
  382. package/dist/src/nuxt/index.d.ts +94 -0
  383. package/dist/src/search/data-search.d.ts +207 -0
  384. package/dist/src/search/field-path.d.ts +107 -0
  385. package/dist/src/search/filter-eval.d.ts +30 -0
  386. package/dist/src/search/index.d.ts +22 -0
  387. package/dist/src/search/odata-search.d.ts +18 -0
  388. package/dist/src/search/search-expr.d.ts +160 -0
  389. package/dist/src/utils/data-source-apply.d.ts +97 -0
  390. package/dist/src/utils/data-source-options.d.ts +116 -0
  391. package/dist/src/utils/data-source-read.d.ts +85 -0
  392. package/dist/src/utils/data-source-summary.d.ts +55 -0
  393. package/dist/src/utils/normalize-error.d.ts +60 -0
  394. package/dist/src/vite/index.d.ts +48 -0
  395. package/dist/src/vite/mono-client-only.d.ts +35 -0
  396. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  397. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  398. package/dist/styles-BIJ31TM4.js +20146 -0
  399. package/dist/tooltip-CysgRgBi.js +760 -0
  400. package/dist/tooltip.d.ts +1 -0
  401. package/dist/tooltip.js +2 -0
  402. package/dist/ui/accordion.d.ts +1 -0
  403. package/dist/ui/accordion.js +466 -0
  404. package/dist/ui/alert.d.ts +1 -0
  405. package/dist/ui/alert.js +221 -0
  406. package/dist/ui/breadcrumb.d.ts +1 -0
  407. package/dist/ui/breadcrumb.js +902 -0
  408. package/dist/ui/button-dropdown.d.ts +1 -0
  409. package/dist/ui/button-dropdown.js +679 -0
  410. package/dist/ui/button.d.ts +1 -0
  411. package/dist/ui/button.js +63 -0
  412. package/dist/ui/card.d.ts +1 -0
  413. package/dist/ui/card.js +511 -0
  414. package/dist/ui/chart.d.ts +1 -0
  415. package/dist/ui/chart.js +808 -0
  416. package/dist/ui/checkbox.d.ts +1 -0
  417. package/dist/ui/checkbox.js +413 -0
  418. package/dist/ui/chip.d.ts +1 -0
  419. package/dist/ui/chip.js +558 -0
  420. package/dist/ui/date.d.ts +1 -0
  421. package/dist/ui/date.js +686 -0
  422. package/dist/ui/drawer.d.ts +1 -0
  423. package/dist/ui/drawer.js +901 -0
  424. package/dist/ui/dropdown-table.d.ts +1 -0
  425. package/dist/ui/dropdown-table.js +1291 -0
  426. package/dist/ui/dropdown.d.ts +1 -0
  427. package/dist/ui/dropdown.js +586 -0
  428. package/dist/ui/file-upload.d.ts +1 -0
  429. package/dist/ui/file-upload.js +688 -0
  430. package/dist/ui/filter.d.ts +1 -0
  431. package/dist/ui/filter.js +400 -0
  432. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  433. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  434. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  435. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  436. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  437. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  443. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  444. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  445. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  446. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  447. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  448. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  449. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  450. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  462. package/dist/ui/font/geist-mono.css +104 -0
  463. package/dist/ui/font/geist.css +168 -0
  464. package/dist/ui/font/inter.css +232 -0
  465. package/dist/ui/font/poppins.css +104 -0
  466. package/dist/ui/form.d.ts +1 -0
  467. package/dist/ui/form.js +3 -0
  468. package/dist/ui/index.css +21826 -0
  469. package/dist/ui/input.d.ts +1 -0
  470. package/dist/ui/input.js +1176 -0
  471. package/dist/ui/menu.d.ts +1 -0
  472. package/dist/ui/menu.js +1289 -0
  473. package/dist/ui/modal.d.ts +1 -0
  474. package/dist/ui/modal.js +995 -0
  475. package/dist/ui/nav.d.ts +1 -0
  476. package/dist/ui/nav.js +295 -0
  477. package/dist/ui/radio.d.ts +1 -0
  478. package/dist/ui/radio.js +379 -0
  479. package/dist/ui/rich-text-editor.d.ts +1 -0
  480. package/dist/ui/rich-text-editor.js +1338 -0
  481. package/dist/ui/select.d.ts +1 -0
  482. package/dist/ui/select.js +2066 -0
  483. package/dist/ui/shadow/accordion.js +442 -0
  484. package/dist/ui/shadow/alert.js +218 -0
  485. package/dist/ui/shadow/breadcrumb.js +919 -0
  486. package/dist/ui/shadow/button-dropdown.js +696 -0
  487. package/dist/ui/shadow/button.js +63 -0
  488. package/dist/ui/shadow/card.js +524 -0
  489. package/dist/ui/shadow/chart.js +1569 -0
  490. package/dist/ui/shadow/checkbox.js +457 -0
  491. package/dist/ui/shadow/chip.js +559 -0
  492. package/dist/ui/shadow/date.js +712 -0
  493. package/dist/ui/shadow/drawer.js +869 -0
  494. package/dist/ui/shadow/dropdown-table.js +1620 -0
  495. package/dist/ui/shadow/dropdown.js +547 -0
  496. package/dist/ui/shadow/file-upload.js +731 -0
  497. package/dist/ui/shadow/filter.js +402 -0
  498. package/dist/ui/shadow/input.js +1150 -0
  499. package/dist/ui/shadow/menu.js +899 -0
  500. package/dist/ui/shadow/modal.js +1193 -0
  501. package/dist/ui/shadow/nav.js +240 -0
  502. package/dist/ui/shadow/radio.js +408 -0
  503. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  504. package/dist/ui/shadow/select.js +2033 -0
  505. package/dist/ui/shadow/sidebar.js +606 -0
  506. package/dist/ui/shadow/switch.js +428 -0
  507. package/dist/ui/shadow/table.js +4755 -0
  508. package/dist/ui/shadow/tabs.js +372 -0
  509. package/dist/ui/shadow/tag-input.js +2846 -0
  510. package/dist/ui/shadow/textarea.js +816 -0
  511. package/dist/ui/sidebar.d.ts +1 -0
  512. package/dist/ui/sidebar.js +659 -0
  513. package/dist/ui/switch.d.ts +1 -0
  514. package/dist/ui/switch.js +398 -0
  515. package/dist/ui/table.d.ts +1 -0
  516. package/dist/ui/table.js +4654 -0
  517. package/dist/ui/tabs.d.ts +1 -0
  518. package/dist/ui/tabs.js +379 -0
  519. package/dist/ui/tag-input.d.ts +1 -0
  520. package/dist/ui/tag-input.js +2819 -0
  521. package/dist/ui/textarea.d.ts +1 -0
  522. package/dist/ui/textarea.js +819 -0
  523. package/dist/ui/theme/legacy.css +293 -0
  524. package/dist/ui/theme/luma.css +743 -0
  525. package/dist/ui/theme/lyra.css +754 -0
  526. package/dist/ui/theme/maia.css +673 -0
  527. package/dist/ui/theme/mira.css +802 -0
  528. package/dist/ui/theme/nova.css +662 -0
  529. package/dist/ui/theme/one.css +699 -0
  530. package/dist/ui/theme/rhea.css +742 -0
  531. package/dist/ui/theme/sera.css +845 -0
  532. package/dist/ui/theme/tokens.css +261 -0
  533. package/dist/ui/theme/vega.css +467 -0
  534. package/dist/vite-C5iUK7so.js +329 -0
  535. package/dist/vite.d.ts +1 -0
  536. package/dist/vite.js +2 -0
  537. package/dist/vue.d.ts +282 -0
  538. package/package.json +411 -3
@@ -0,0 +1,6 @@
1
+ import { MonoExportFormatOptions, MonoExportHelper } from './types';
2
+ /**
3
+ * Build the built-in helper map for one render. Bound to `formatting` so
4
+ * locale/currency choices apply consistently across every helper.
5
+ */
6
+ export declare function createHelpers(formatting?: MonoExportFormatOptions): Record<string, MonoExportHelper>;
@@ -0,0 +1,13 @@
1
+ /// <reference path="../../vue.d.ts" />
2
+ import { MonoExportOptions, MonoExportResult } from './types';
3
+ export type { MonoExportColumn, MonoExportFormat, MonoExportFormatOptions, MonoExportHelper, MonoExportOptions, MonoExportResult, MonoExportStyle, MonoExportStyles, } from './types';
4
+ export { DEFAULT_STYLES } from './styles';
5
+ export type { MonoExportDirective } from './sentinel';
6
+ /**
7
+ * Render a Markdown report template.
8
+ *
9
+ * When `fileName` is given its extension selects the renderer and the file
10
+ * downloads automatically (pass `download: false` to suppress that). Without
11
+ * one, nothing is written — you just get the result object.
12
+ */
13
+ export declare function exportTable(options: MonoExportOptions): Promise<MonoExportResult>;
@@ -0,0 +1,52 @@
1
+ import { Root, RootContent, PhrasingContent } from 'mdast';
2
+ import { MonoExportDirective } from './sentinel';
3
+ export type { Root, RootContent };
4
+ /**
5
+ * Parse rendered Markdown into an mdast tree, with GFM tables enabled.
6
+ *
7
+ * ── Why the table body does not go through remark ────────────────────────────
8
+ *
9
+ * remark-gfm's table parsing degrades super-linearly on the tables a REPORT
10
+ * produces. Measured on a 13-column export: 500 rows took 3.8s, 1 000 took 13.5s
11
+ * and 2 000 took 86s — doubling the rows more than quadrupled the time, and a
12
+ * 7 000-row export never finished at all. It is the whole of the export's cost;
13
+ * ExcelJS serialises the same workbook in ~200ms.
14
+ *
15
+ * The markdown a template produces is not arbitrary CommonMark, though: it is
16
+ * machine-generated and line-regular, one row per line, and the report helpers
17
+ * already escape any `|` inside a value (see `escapeCellText`). So table blocks
18
+ * are read line-by-line here — linear, and no micromark involved — while every
19
+ * other construct (headings, paragraphs, lists) is still handed to remark, which
20
+ * is both correct and cheap because those parts are tiny.
21
+ *
22
+ * Inline fidelity is kept per cell: a cell containing markdown syntax
23
+ * (`**bold**`, `[text](url)`, an image) is still parsed by remark, so links and
24
+ * emphasis behave exactly as before. Only plain cells take the fast path.
25
+ */
26
+ export declare function parseMarkdown(md: string): Root;
27
+ /** Inline formatting collected while flattening a run of phrasing content. */
28
+ export interface InlineText {
29
+ text: string;
30
+ bold: boolean;
31
+ italic: boolean;
32
+ code: boolean;
33
+ strike: boolean;
34
+ /** Directives found anywhere in the run. */
35
+ directives: MonoExportDirective[];
36
+ /** Images found in the run (from `![alt](src)` — `{{image}}` is a directive). */
37
+ images: Array<{
38
+ url: string;
39
+ alt?: string;
40
+ }>;
41
+ /** The first link URL in the run, if any. */
42
+ link?: string;
43
+ }
44
+ /**
45
+ * Flatten phrasing content (the inline children of a cell, heading, paragraph
46
+ * or list item) into one string plus the formatting that applies to it.
47
+ *
48
+ * Excel styles a cell as a whole rather than per character run, so mixed
49
+ * emphasis collapses to "was there any bold/italic in here" — matching what a
50
+ * report author actually expects from `| **Total** | 123 |`.
51
+ */
52
+ export declare function flattenInline(nodes: readonly PhrasingContent[] | undefined): InlineText;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Turning live data sources in `options.data` into plain arrays.
3
+ *
4
+ * A template can only loop over an array, but the thing a consumer *has* is
5
+ * usually a devextreme DataSource. Rather than making everyone drain it by hand
6
+ * before every export, any DataSource-shaped value in `data` is drained here
7
+ * first — in chunks, honouring whatever filter / search / sort the source
8
+ * already carries — so the template just sees rows:
9
+ *
10
+ * ```ts
11
+ * data: { program: dataSourceProgramTransfer.value }
12
+ * ```
13
+ * ```hbs
14
+ * {{#each program}}| {{NoDokumen}} | {{currency TotalBudget}} |
15
+ * {{/each}}
16
+ * ```
17
+ */
18
+ /**
19
+ * Replace every DataSource / store in `data`'s **top level** with its rows.
20
+ *
21
+ * Top-level only, deliberately: it's predictable, and a deep walk would mean
22
+ * inspecting every record of every array already in `data` — a real cost for a
23
+ * 10k-row export, to support a nesting nobody has asked for. A source nested
24
+ * deeper stays the caller's job (`await table.getData()` and pass the array).
25
+ *
26
+ * Sources are drained concurrently — several are independent queries, and a
27
+ * report with three of them shouldn't take three times as long.
28
+ */
29
+ export declare function resolveExportData(data: Record<string, unknown> | undefined, options?: {
30
+ chunkSize?: number;
31
+ }): Promise<Record<string, unknown>>;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Sentinel directives — how presentation survives the trip through Markdown.
3
+ *
4
+ * Markdown has nowhere to hang "make this cell bold", "merge it across 4
5
+ * columns", or "this text reads `Rp 1.000.000` but Excel must store the number
6
+ * `1000000`". So the report helpers don't emit styling: they emit an invisible
7
+ * token next to their display text.
8
+ *
9
+ * The token is wrapped in two Unicode **private-use area** codepoints, which
10
+ * means:
11
+ * - remark parses it as ordinary text, so GFM table structure is untouched;
12
+ * - it can never collide with real content (no keyboard produces U+E000);
13
+ * - the Markdown renderer strips it, leaving the human-readable text;
14
+ * - the Excel renderer extracts it and applies the real formatting.
15
+ *
16
+ * The payload is JSON, **base64-encoded**. That is not paranoia: raw JSON does
17
+ * not survive the trip. Markdown unescapes backslash-escaped ASCII punctuation,
18
+ * so a number format like `"$"#,##0.00` — which JSON writes as `\"$\"#,##0.00`
19
+ * — comes back out of remark with the backslashes stripped, and `JSON.parse`
20
+ * then fails. Base64's alphabet (`A-Z a-z 0-9 + / =`) holds nothing Markdown
21
+ * rewrites, so the payload arrives byte-identical.
22
+ */
23
+ /** Apply a named style to the cell (or block) the token sits in. */
24
+ export interface StyleDirective {
25
+ k: 'style';
26
+ /** Named style, resolved against the merged style map. */
27
+ v: string;
28
+ }
29
+ /** Apply a named style to the entire row the token sits in. */
30
+ export interface RowStyleDirective {
31
+ k: 'rowStyle';
32
+ v: string;
33
+ }
34
+ /** Merge the token's cell across `cols` columns / `rows` rows. */
35
+ export interface MergeDirective {
36
+ k: 'merge';
37
+ cols?: number;
38
+ rows?: number;
39
+ }
40
+ /**
41
+ * Write an Excel formula into the token's cell. Placeholders are resolved at
42
+ * write time (the template can't know its own row number) — see
43
+ * `resolveFormula` in `excel/nodes.ts`.
44
+ */
45
+ export interface FormulaDirective {
46
+ k: 'formula';
47
+ v: string;
48
+ }
49
+ /** Anchor an image at the token's cell. `v` is a data URL / base64 / http URL. */
50
+ export interface ImageDirective {
51
+ k: 'image';
52
+ v: string;
53
+ width?: number;
54
+ height?: number;
55
+ }
56
+ /**
57
+ * Carry the *raw* value behind formatted display text, so Excel gets a real
58
+ * number/date (summable, sortable, pivotable) while Markdown keeps the pretty
59
+ * string. `f` is an Excel number format.
60
+ */
61
+ export interface ValueDirective {
62
+ k: 'val';
63
+ /** Raw numeric value. */
64
+ n?: number;
65
+ /** Raw date as an ISO string (JSON has no Date). */
66
+ d?: string;
67
+ /** Excel number format, e.g. `#,##0.00` or `yyyy-mm-dd`. */
68
+ f?: string;
69
+ /**
70
+ * The display text this value was emitted with. The renderer swaps in the raw
71
+ * value only when it matches the cell's *entire* text — otherwise a sentence
72
+ * like "Rate {{percent 0.155}} this quarter" would collapse to the bare
73
+ * number `0.155`, losing the prose around it.
74
+ */
75
+ t?: string;
76
+ }
77
+ export type MonoExportDirective = StyleDirective | RowStyleDirective | MergeDirective | FormulaDirective | ImageDirective | ValueDirective;
78
+ /** Wrap a directive in its sentinel token, ready to be emitted by a helper. */
79
+ export declare function encodeDirective(directive: MonoExportDirective): string;
80
+ /** Whether a string contains at least one directive token. */
81
+ export declare function hasDirectives(text: string): boolean;
82
+ /**
83
+ * Split `text` into its visible text and the directives embedded in it.
84
+ * Malformed payloads are dropped rather than thrown — a broken token should
85
+ * never take down a whole report.
86
+ */
87
+ export declare function extractDirectives(text: string): {
88
+ text: string;
89
+ directives: MonoExportDirective[];
90
+ };
91
+ /** Remove every directive token, leaving only the display text (Markdown output). */
92
+ export declare function stripDirectives(text: string): string;
93
+ /**
94
+ * Escape a value for safe interpolation into a GFM **table cell**. Directive
95
+ * tokens are skipped — they are base64 and must arrive byte-identical.
96
+ */
97
+ export declare function escapeCellText(text: string): string;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Worksheet names, which Excel is fussier about than anything else in a
3
+ * workbook — and every rule below is one it enforces by refusing to open the
4
+ * file, not by degrading.
5
+ *
6
+ * · at most 31 characters
7
+ * · none of `* ? : \ / [ ]`
8
+ * · cannot be empty
9
+ * · cannot start or end with an apostrophe
10
+ * · unique within the workbook, case-insensitively
11
+ *
12
+ * A name derived from user data — a document number like `TU/2026/001` — breaks
13
+ * three of those at once, so nothing may reach `addWorksheet` unsanitised.
14
+ */
15
+ /**
16
+ * One name, made legal. Does NOT make it unique — that is
17
+ * {@link SheetNames.take}'s job, because uniqueness needs the whole workbook.
18
+ */
19
+ export declare function sanitizeSheetName(raw: unknown, fallback?: string): string;
20
+ /**
21
+ * Escape a name for use inside a reference like `#'Sheet'!A1`.
22
+ *
23
+ * The name is single-quoted there, so a literal apostrophe has to be doubled.
24
+ * {@link sanitizeSheetName} only strips apostrophes at the ends — one in the
25
+ * middle (`Bob's Data`) is legal and has to survive.
26
+ */
27
+ export declare function escapeSheetRef(name: string): string;
28
+ /** A reference to `A1` of `name`, ready to use as a hyperlink target. */
29
+ export declare function sheetRef(name: string, cell?: string): string;
30
+ /**
31
+ * The workbook's name registry.
32
+ *
33
+ * Deliberately the ONLY place a name is claimed. The implementation this feature
34
+ * is modelled on reserves a name up front and then dedupes a second time inside
35
+ * its writer against the same set — so the second call always collides with the
36
+ * reservation it just made, and every sheet in that workbook ends up suffixed
37
+ * ` (2)`. One registry, one `take()`, no second opinion.
38
+ */
39
+ export declare class SheetNames {
40
+ /** Lower-cased claimed names: Excel's uniqueness is case-insensitive. */
41
+ private readonly used;
42
+ constructor(existing?: Iterable<string>);
43
+ /** Claim a legal, unique name derived from `raw`. */
44
+ take(raw: unknown, fallback?: string): string;
45
+ }
@@ -0,0 +1,33 @@
1
+ import { MonoExportStyle, MonoExportStyles } from './types';
2
+ /**
3
+ * Built-in styles. Consumers override individual keys via `options.styles`
4
+ * without having to redefine a whole style.
5
+ */
6
+ export declare const DEFAULT_STYLES: MonoExportStyles;
7
+ /** Merge user styles over the defaults, per style name (shallow, key by key). */
8
+ export declare function mergeStyles(overrides?: MonoExportStyles): MonoExportStyles;
9
+ /** Later styles win, key by key — used to layer row style → cell style. */
10
+ export declare function combineStyles(...styles: Array<MonoExportStyle | undefined>): MonoExportStyle;
11
+ /**
12
+ * ExcelJS wants `ARGB` without the `#`. Accepts `#rgb`, `#rrggbb` and
13
+ * `#aarrggbb`; anything already 8 hex digits is passed through.
14
+ */
15
+ export declare function toArgb(color: string | undefined): string | undefined;
16
+ /** One ExcelJS border edge. */
17
+ interface ExcelBorderEdge {
18
+ style: 'thin';
19
+ color: {
20
+ argb: string;
21
+ };
22
+ }
23
+ /** The subset of ExcelJS cell style options this engine produces. */
24
+ export interface ExcelCellStyle {
25
+ font?: Record<string, unknown>;
26
+ fill?: Record<string, unknown>;
27
+ alignment?: Record<string, unknown>;
28
+ border?: Record<string, ExcelBorderEdge>;
29
+ numFmt?: string;
30
+ }
31
+ /** Translate a semantic style into ExcelJS cell options. */
32
+ export declare function toExcelStyle(style: MonoExportStyle): ExcelCellStyle;
33
+ export {};
@@ -0,0 +1,10 @@
1
+ import { MonoExportOptions } from './types';
2
+ /**
3
+ * Render a report template to Markdown (still carrying directive tokens).
4
+ *
5
+ * `noEscape` is deliberate: Handlebars' default escaping is *HTML* escaping,
6
+ * which would turn `&` into `&amp;` and `"` into `&quot;` inside a spreadsheet
7
+ * cell. Table cells are protected instead by the `esc` helper, which the
8
+ * preprocessor injects only where it matters (see `expression.ts`).
9
+ */
10
+ export declare function renderTemplate(options: Pick<MonoExportOptions, 'md' | 'data' | 'helpers' | 'partials' | 'formatting'>): Promise<string>;
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Public types for the Markdown report engine.
3
+ *
4
+ * The engine deliberately exposes a *semantic* style vocabulary rather than raw
5
+ * ExcelJS objects: templates stay renderer-independent, so the same report can
6
+ * later be rendered to PDF/HTML/CSV by writing a new renderer instead of
7
+ * rewriting every template.
8
+ */
9
+ /** Output formats the engine can render a template into. */
10
+ export type MonoExportFormat = 'md' | 'xlsx';
11
+ /**
12
+ * A named, renderer-independent style. Referenced from a template as
13
+ * `{{style "header"}}` and resolved against the merged style map.
14
+ */
15
+ export interface MonoExportStyle {
16
+ bold?: boolean;
17
+ italic?: boolean;
18
+ underline?: boolean;
19
+ /** Font size in points. */
20
+ size?: number;
21
+ /** Font family (defaults to the workbook font). */
22
+ font?: string;
23
+ /** Text colour — `#rrggbb` or `#aarrggbb`. */
24
+ color?: string;
25
+ /** Solid background fill — `#rrggbb` or `#aarrggbb`. */
26
+ bg?: string;
27
+ align?: 'left' | 'center' | 'right';
28
+ valign?: 'top' | 'middle' | 'bottom';
29
+ /** Cell borders. `'bottom'` is handy for a header underline. */
30
+ border?: 'all' | 'bottom' | 'top' | 'outline' | 'none';
31
+ /** Border colour (defaults to a mid grey). */
32
+ borderColor?: string;
33
+ /** Excel number format, e.g. `#,##0.00`, `0.00%`, `yyyy-mm-dd`. */
34
+ numFmt?: string;
35
+ /** Wrap long text inside the cell. */
36
+ wrap?: boolean;
37
+ /** Indent level (each step ≈ 3 characters in Excel). */
38
+ indent?: number;
39
+ /** Row height in points, applied when the style lands on a whole row. */
40
+ height?: number;
41
+ }
42
+ /** The named-style map: `{ header: { bold: true }, … }`. */
43
+ export type MonoExportStyles = Record<string, MonoExportStyle>;
44
+ /** Per-column overrides for the generated worksheet. */
45
+ export interface MonoExportColumn {
46
+ /** Column width in characters. Omit to auto-fit from content. */
47
+ width?: number;
48
+ /** Default number format for every cell in the column. */
49
+ numFmt?: string;
50
+ }
51
+ /** How `{{currency}}` / `{{number}}` / `{{date}}` format their display text. */
52
+ export interface MonoExportFormatOptions {
53
+ /** BCP-47 locale for the display text (default: the runtime's locale). */
54
+ locale?: string;
55
+ /** ISO 4217 code used by `{{currency}}` (default `'USD'`). */
56
+ currency?: string;
57
+ /** Excel number format for `{{currency}}` (default: derived from `currency`). */
58
+ currencyFormat?: string;
59
+ /** Excel number format for `{{number}}` (default `'#,##0'`). */
60
+ numberFormat?: string;
61
+ /** Excel number format for `{{date}}` (default `'yyyy-mm-dd'`). */
62
+ dateFormat?: string;
63
+ /** Excel number format for `{{percent}}` (default `'0.00%'`). */
64
+ percentFormat?: string;
65
+ }
66
+ /** A Handlebars helper, as accepted by `options.helpers`. */
67
+ export type MonoExportHelper = (...args: any[]) => unknown;
68
+ /** Per-document detail sheets. See {@link MonoExportOptions.detail}. */
69
+ /** One chunk of master rows, handed to {@link MonoExportDetail.load}. */
70
+ export interface MonoExportDetailBatch {
71
+ /** The master rows in this chunk. */
72
+ data: Record<string, unknown>[];
73
+ /** Their key values, in `data` order, with duplicates removed. */
74
+ keys: unknown[];
75
+ /** The name of the master key field — what a filter needs to name. */
76
+ key: string;
77
+ }
78
+ export interface MonoExportDetail {
79
+ /**
80
+ * Field on the master row identifying the document. Its value is the link
81
+ * target the master template writes (`sheet:{{no}}`) and the basis of the
82
+ * sheet name. Dotted paths are accepted.
83
+ */
84
+ key: string;
85
+ /** Template for one detail sheet. Its context is `{ row, rows }`. */
86
+ md: string;
87
+ /**
88
+ * Key of `data` holding the master rows (default `'rows'`).
89
+ *
90
+ * `data` is whatever the caller passes, so the exporter cannot guess which of
91
+ * its keys the master template iterates.
92
+ */
93
+ from?: string;
94
+ /** Field holding the already-nested detail rows. Use this OR `load`. */
95
+ field?: string;
96
+ /**
97
+ * Fetch detail rows for a BATCH of master rows. Use this OR `field`.
98
+ *
99
+ * It is handed a chunk of master rows and their keys, and returns the detail
100
+ * rows for all of them in one array — the exporter groups them back per
101
+ * document using {@link groupBy}. One request serves a whole chunk, so a
102
+ * 1000-row master costs 10 requests at the default {@link loadChunk}, not
103
+ * 1000.
104
+ *
105
+ * ```ts
106
+ * load: ({ keys, key }) =>
107
+ * api.lines({ filter: keys.map((id) => [key, '=', id]) })
108
+ * ```
109
+ *
110
+ * For an endpoint that genuinely only serves one document at a time, set
111
+ * `loadChunk: 1` and read `data[0]`.
112
+ */
113
+ load?: (batch: MonoExportDetailBatch) => unknown[] | Promise<unknown[]>;
114
+ /**
115
+ * How many master keys to send per `load` call (default 100).
116
+ *
117
+ * Lower it when the backend caps how many values a filter may carry, or when
118
+ * the generated URL would outgrow the server's limit.
119
+ */
120
+ loadChunk?: number;
121
+ /**
122
+ * How many `load` CHUNKS to have in flight at once (default 4). With the
123
+ * default `loadChunk` that is up to 400 documents being fetched in parallel.
124
+ * Ignored with `field`.
125
+ */
126
+ concurrency?: number;
127
+ /**
128
+ * Which field on a RETURNED row says which master row it belongs to.
129
+ * Defaults to {@link key}, which is right whenever both sides name the
130
+ * foreign key the same way. Dotted paths are accepted, or pass a function.
131
+ *
132
+ * Returned rows that match no master key are ignored.
133
+ */
134
+ groupBy?: string | ((row: Record<string, unknown>) => unknown);
135
+ /**
136
+ * Sheet name for a document. Defaults to the key. The result is sanitised and
137
+ * de-duplicated regardless, so this need not worry about Excel's rules.
138
+ */
139
+ sheetName?: (row: Record<string, unknown>) => string;
140
+ /** Put a `← Back` link in `A1` of each detail sheet (default `true`). */
141
+ back?: boolean;
142
+ }
143
+ export interface MonoExportOptions {
144
+ /** The Markdown template source (e.g. `import md from './payroll.md?raw'`). */
145
+ md: string;
146
+ /**
147
+ * Everything here is addressable at the top level of the template — an array
148
+ * loops (`{{#each company}}`), an object drills in (`{{header.Name.Full}}`).
149
+ *
150
+ * A **devextreme DataSource** (or store) may be passed in place of an array:
151
+ * it is drained to its rows before rendering, honouring the filter, search and
152
+ * sort it already carries. Only top-level values are resolved this way.
153
+ */
154
+ data?: Record<string, unknown>;
155
+ /**
156
+ * Rows per request when draining a DataSource passed in {@link data}
157
+ * (default `100`). A remote source can't report its size up front, so the
158
+ * read walks in fixed chunks until one comes back short.
159
+ */
160
+ chunkSize?: number;
161
+ /**
162
+ * Output file name. Its extension picks the renderer (`.xlsx` → Excel,
163
+ * `.md` → Markdown) and, unless `download` is `false`, triggers a browser
164
+ * download. Omit to just get the result object back.
165
+ */
166
+ fileName?: string;
167
+ /** Force the renderer instead of inferring it from `fileName`. */
168
+ format?: MonoExportFormat;
169
+ /** Auto-download when `fileName` is set (default `true`). */
170
+ download?: boolean;
171
+ /** Named styles, shallow-merged per name over the built-in defaults. */
172
+ styles?: MonoExportStyles;
173
+ /** Per-column width / number-format overrides, left to right. */
174
+ columns?: MonoExportColumn[];
175
+ /** Worksheet name (default `'Sheet1'`). */
176
+ sheetName?: string;
177
+ /**
178
+ * Give each row of the master sheet its own worksheet, reached from a link.
179
+ *
180
+ * The master template links by KEY, not by sheet name, because the final name
181
+ * is only known at write time (it is sanitised for Excel and de-duplicated
182
+ * against the workbook):
183
+ *
184
+ * ```md
185
+ * | [{{no}}](sheet:{{no}}) | {{total}} |
186
+ * ```
187
+ *
188
+ * In `.md` output that stays an ordinary Markdown link, so the same template
189
+ * serves both formats.
190
+ */
191
+ detail?: MonoExportDetail;
192
+ /** Number/date formatting used by the built-in format helpers. */
193
+ formatting?: MonoExportFormatOptions;
194
+ /**
195
+ * Last-mile access to the populated ExcelJS workbook, **before** anything is
196
+ * written — so it works even when `fileName` triggers an auto-download.
197
+ *
198
+ * Use it for what a Markdown template can't express: a second worksheet,
199
+ * `autoFilter`, conditional formatting, cell notes, sheet protection, print
200
+ * setup. Runs exactly once no matter how many times the workbook is
201
+ * requested, and only for `xlsx` output.
202
+ *
203
+ * @example
204
+ * onWorkbook: (wb) => {
205
+ * const ws = wb.getWorksheet('Report')
206
+ * ws.autoFilter = 'A2:D2'
207
+ * ws.getCell('A1').note = 'Draft'
208
+ * }
209
+ */
210
+ onWorkbook?: (workbook: any) => void | Promise<void>;
211
+ /** Extra Handlebars helpers, merged over the built-ins. */
212
+ helpers?: Record<string, MonoExportHelper>;
213
+ /** Handlebars partials available as `{{> name}}`. */
214
+ partials?: Record<string, string>;
215
+ /**
216
+ * Freeze the worksheet's first N rows (default `0`). Set it to the number of
217
+ * rows above your table header for a sticky header in Excel.
218
+ */
219
+ freezeRows?: number;
220
+ }
221
+ /** What `exportTable()` / `table.export()` hand back. */
222
+ export interface MonoExportResult {
223
+ /**
224
+ * The rendered Markdown, with every directive token stripped — safe to show
225
+ * in a preview pane, diff, or write to a `.md` file.
226
+ */
227
+ markdown: string;
228
+ /** The resolved output format (`null` when neither `fileName` nor `format` was given). */
229
+ format: MonoExportFormat | null;
230
+ /** The resolved file name, if any. */
231
+ fileName: string | null;
232
+ /**
233
+ * Every worksheet in the workbook, master first, in creation order — the
234
+ * names as Excel received them, after sanitising and de-duplication.
235
+ * Empty until an `xlsx` render has happened.
236
+ */
237
+ sheets: string[];
238
+ /**
239
+ * Documents that got no sheet. Without this a caller cannot tell "12 of 400
240
+ * had no lines" from "it all worked", which is exactly the blind spot in the
241
+ * implementation this feature replaces.
242
+ */
243
+ skipped: Array<{
244
+ key: string;
245
+ reason: 'empty' | 'failed';
246
+ error?: unknown;
247
+ }>;
248
+ /** Render to a `Blob` (defaults to the resolved format, else `'md'`). */
249
+ toBlob(format?: MonoExportFormat): Promise<Blob>;
250
+ /** Render to an `ArrayBuffer` — for uploading instead of downloading. */
251
+ toBuffer(format?: MonoExportFormat): Promise<ArrayBuffer>;
252
+ /**
253
+ * The populated ExcelJS workbook, for last-mile tweaks the template can't
254
+ * express. Requires the optional `exceljs` peer.
255
+ */
256
+ workbook(): Promise<any>;
257
+ /** Trigger a browser download (browser only). */
258
+ download(fileName?: string): Promise<void>;
259
+ }
@@ -0,0 +1,38 @@
1
+ import { MonoImportNumberFormat, MonoImportValueType } from './types';
2
+ /**
3
+ * Normalise a header for lookup: NBSP → space, drop dots/underscores (`No. Dok`
4
+ * and `No_Dok` should both find `No Dok`), collapse whitespace, lowercase.
5
+ */
6
+ export declare function normalizeHeader(value: unknown): string;
7
+ /** Default normalisation for key comparison — forgiving about spacing and case. */
8
+ export declare function normalizeKeyValue(value: unknown): string;
9
+ /** Read a display string out of whatever ExcelJS put in a cell. */
10
+ export declare function cellText(value: unknown): string;
11
+ /**
12
+ * Parse a number written in an unknown locale.
13
+ *
14
+ * `'auto'` infers the separators: with both `.` and `,` present the **rightmost**
15
+ * is the decimal point; with only one, its position decides — exactly three
16
+ * trailing digits (or several occurrences) means thousands grouping, otherwise
17
+ * it's a decimal point. So `1.234` is one thousand two hundred, while `1.23` is
18
+ * one and a bit. Returns `null` when the text isn't a number at all.
19
+ */
20
+ export declare function parseNumber(raw: unknown, mode?: MonoImportNumberFormat, allowNegative?: boolean): number | null;
21
+ /** Parse a date from a Date, an ISO-ish string, or a spreadsheet serial number. */
22
+ export declare function parseDate(raw: unknown): Date | null;
23
+ /** Parse a boolean from the many things a human types into a yes/no column. */
24
+ export declare function parseBoolean(raw: unknown): boolean | null;
25
+ /**
26
+ * Coerce one cell for a declared column type. `undefined` means "unparseable —
27
+ * skip this cell" so a stray `-` in a number column can't stage `NaN`.
28
+ */
29
+ export declare function coerceValue(raw: unknown, type: MonoImportValueType | undefined, opts?: {
30
+ numberFormat?: MonoImportNumberFormat;
31
+ allowNegative?: boolean;
32
+ }): unknown;
33
+ /**
34
+ * Whether a staged value would actually change the row. Numbers are compared
35
+ * numerically so a stored `5000` isn't "changed" by a sheet's `"5.000"`, and
36
+ * dates by timestamp so two equal instants don't churn.
37
+ */
38
+ export declare function isSameValue(current: unknown, next: unknown, type?: MonoImportValueType): boolean;
@@ -0,0 +1,16 @@
1
+ /// <reference path="../../vue.d.ts" />
2
+ import { MonoImportChange, MonoImportOptions, MonoImportResult } from './types';
3
+ export type { MonoImportAmbiguity, MonoImportChange, MonoImportColumn, MonoImportMatch, MonoImportNumberFormat, MonoImportOptions, MonoImportRejection, MonoImportResult, MonoImportType, MonoImportValueType, } from './types';
4
+ /** What the controller supplies so this module never reaches into it. */
5
+ export interface TableImportBridge<T = any> {
6
+ /** Every row the grid can produce — the default match target. */
7
+ getData: () => Promise<T[]>;
8
+ /** The controller's stable string key for a row. */
9
+ rowKeyOf: (row: T, index: number) => string;
10
+ /** The row's `keyExpr` value, for a later store update. */
11
+ serverKeyOf: (row: T) => unknown;
12
+ /** Write the patches into the staged buffer, marking them as imported. */
13
+ stageImported: (changes: Array<MonoImportChange<T>>) => void;
14
+ }
15
+ /** Run an import against a grid. The implementation behind `table.import()`. */
16
+ export declare function importTable<T = any>(options: MonoImportOptions<T>, bridge: TableImportBridge<T>): Promise<MonoImportResult<T>>;
@@ -0,0 +1,54 @@
1
+ import { MonoImportMatch } from './types';
2
+ /** One key subset: the match legs it uses. */
3
+ export type MatchScheme<T = any> = Array<MonoImportMatch<T>>;
4
+ /** A candidate table row plus its position in the target array. */
5
+ export interface TargetEntry<T = any> {
6
+ row: T;
7
+ index: number;
8
+ }
9
+ /** key string → the rows that share it (>1 means ambiguous). */
10
+ export type SchemeIndex<T = any> = Map<string, Array<TargetEntry<T>>>;
11
+ /**
12
+ * Every non-empty subset of `match` with at least `minFields` legs, ordered
13
+ * strongest (most legs) first.
14
+ *
15
+ * Bit-counting rather than recursion: with `n` legs there are `2^n - 1`
16
+ * subsets, and `n` is a handful of key columns in practice.
17
+ */
18
+ export declare function buildAllSubsets<T>(match: MatchScheme<T>, minFields?: number): Array<MatchScheme<T>>;
19
+ /** Index the target rows by one scheme's key. Collisions are kept, not dropped. */
20
+ export declare function buildSchemeIndex<T>(scheme: MatchScheme<T>, target: readonly T[], opts?: {
21
+ targetFilter?: (row: T) => boolean;
22
+ normalize?: (v: unknown) => string;
23
+ }): SchemeIndex<T>;
24
+ /** A prepared matcher: schemes plus their indexes, reused across every sheet row. */
25
+ export interface Matcher<T = any> {
26
+ schemes: Array<MatchScheme<T>>;
27
+ indexes: Array<SchemeIndex<T>>;
28
+ normalize: (v: unknown) => string;
29
+ }
30
+ export declare function createMatcher<T>(match: MatchScheme<T>, target: readonly T[], opts?: {
31
+ minKeyFields?: number;
32
+ targetFilter?: (row: T) => boolean;
33
+ normalize?: (v: unknown) => string;
34
+ }): Matcher<T>;
35
+ /** What a lookup produced. */
36
+ export type MatchOutcome<T = any> = {
37
+ kind: 'hit';
38
+ entry: TargetEntry<T>;
39
+ scheme: MatchScheme<T>;
40
+ } | {
41
+ kind: 'ambiguous';
42
+ candidates: number;
43
+ scheme: MatchScheme<T>;
44
+ } | {
45
+ kind: 'miss';
46
+ };
47
+ /**
48
+ * Find the table row for one sheet row, strongest scheme first.
49
+ *
50
+ * An ambiguous hit is remembered but doesn't stop the search — a weaker scheme
51
+ * can't disambiguate, but a *different* subset of the same size might, and only
52
+ * if nothing unique is ever found is the ambiguity reported.
53
+ */
54
+ export declare function findMatch<T>(matcher: Matcher<T>, readExcel: (leg: MonoImportMatch<T>) => unknown): MatchOutcome<T>;