@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,213 @@
1
+ //#region src/composables/chip-limits.ts
2
+ var KEBAB = {
3
+ max: "max",
4
+ min: "min",
5
+ maxVisible: "max-visible",
6
+ minVisible: "min-visible"
7
+ };
8
+ /** A non-negative integer, or undefined for anything that is not one (`''`, null, NaN, -1). */
9
+ function limitNumber(value) {
10
+ if (value == null || value === "") return void 0;
11
+ const n = Math.floor(Number(value));
12
+ return Number.isFinite(n) && n >= 0 ? n : void 0;
13
+ }
14
+ /**
15
+ * Resolve one limit: the `chip` object's key (camel, then kebab) pins, the
16
+ * element's own prop is the fallback. Sanitised through {@link limitNumber}.
17
+ */
18
+ function resolveChipLimit(chip, key, elementValue) {
19
+ return limitNumber(chip ? chip[key] ?? chip[KEBAB[key]] : void 0) ?? limitNumber(elementValue);
20
+ }
21
+ /**
22
+ * How many chips to draw before the rest collapse into "+N more" — `Infinity`
23
+ * when there is no cap, when the cap is `0` (uncapped, like before), or while
24
+ * the total sits at or under the collapse floor.
25
+ */
26
+ function visibleChipCap(total, maxVisible, minVisible) {
27
+ if (maxVisible === void 0 || maxVisible <= 0) return Infinity;
28
+ if (minVisible !== void 0 && total <= minVisible) return Infinity;
29
+ return maxVisible;
30
+ }
31
+ //#endregion
32
+ //#region src/composables/chip-strip.ts
33
+ /** Slack (px) absorbing sub-pixel layout noise in the overflow comparisons. */
34
+ var EPSILON = 1;
35
+ var ChipStripController = class {
36
+ constructor(host, opts) {
37
+ this._canScrollStart = false;
38
+ this._canScrollEnd = false;
39
+ this._observer = null;
40
+ this._observed = null;
41
+ this.host = host;
42
+ this.opts = opts;
43
+ host.addController(this);
44
+ }
45
+ /** True once the strip is scrolled away from its start — render `‹`. */
46
+ get canScrollStart() {
47
+ return this._canScrollStart;
48
+ }
49
+ /** True while content remains past the right edge — render `›`. */
50
+ get canScrollEnd() {
51
+ return this._canScrollEnd;
52
+ }
53
+ /** True when either button should show — i.e. the chips overflow the strip. */
54
+ get overflowing() {
55
+ return this._canScrollStart || this._canScrollEnd;
56
+ }
57
+ hostConnected() {
58
+ if (this.opts.enabled()) this._attach();
59
+ }
60
+ hostDisconnected() {
61
+ this._teardown();
62
+ }
63
+ /**
64
+ * Only re-target the observer — deliberately does NOT measure. Measuring here
65
+ * would force a layout on every render of every host, and its `requestUpdate`
66
+ * would schedule an update from inside `updated()`. `invalidate()` and the
67
+ * ResizeObserver cover the cases that can actually change the answer.
68
+ */
69
+ hostUpdated() {
70
+ if (!this.opts.enabled()) {
71
+ if (this._observed) {
72
+ this._teardown();
73
+ this._publish(false, false);
74
+ }
75
+ return;
76
+ }
77
+ this._attach();
78
+ }
79
+ /**
80
+ * Re-measure because the CONTENT changed — a chip added, removed or relabelled.
81
+ * The host calls this from `updated()` when such state actually changed, which
82
+ * is far rarer than "every update".
83
+ */
84
+ invalidate() {
85
+ this.sync();
86
+ }
87
+ /**
88
+ * Recompute both flags from the live geometry and re-render only when one
89
+ * actually flipped.
90
+ */
91
+ sync() {
92
+ if (!this.opts.enabled()) return;
93
+ const strip = this.opts.strip();
94
+ let start = false;
95
+ let end = false;
96
+ if (strip) {
97
+ const max = strip.scrollWidth - strip.clientWidth;
98
+ if (max > EPSILON) {
99
+ start = strip.scrollLeft > EPSILON;
100
+ end = strip.scrollLeft < max - EPSILON;
101
+ }
102
+ }
103
+ this._publish(start, end);
104
+ }
105
+ /**
106
+ * Scroll one "page" toward `dir`, aligned to a chip boundary so a chip is
107
+ * never left half-cut at the leading edge.
108
+ *
109
+ * Forward: the first chip whose right edge passes the visible right edge
110
+ * becomes the new leftmost chip. Backward: the chip that would end at the
111
+ * current left edge becomes the new leftmost chip. If no chip qualifies
112
+ * (one chip wider than the strip), fall back to a plain viewport-width step
113
+ * so the button is never a no-op.
114
+ */
115
+ page(dir) {
116
+ const strip = this.opts.strip();
117
+ if (!strip) return;
118
+ const max = strip.scrollWidth - strip.clientWidth;
119
+ if (max <= EPSILON) return;
120
+ const viewLeft = strip.scrollLeft;
121
+ const viewRight = viewLeft + strip.clientWidth;
122
+ const stripLeft = strip.getBoundingClientRect().left;
123
+ const chips = Array.from(strip.children).map((chip) => {
124
+ const rect = chip.getBoundingClientRect();
125
+ const left = rect.left - stripLeft + viewLeft;
126
+ return {
127
+ left,
128
+ right: left + rect.width
129
+ };
130
+ });
131
+ let target = null;
132
+ if (dir === 1) {
133
+ for (const chip of chips) if (chip.right > viewRight + EPSILON) {
134
+ target = chip.left;
135
+ break;
136
+ }
137
+ } else for (let i = chips.length - 1; i >= 0; i--) if (chips[i].left < viewLeft - EPSILON) {
138
+ target = chips[i].right - strip.clientWidth;
139
+ break;
140
+ }
141
+ if (target === null) target = viewLeft + dir * strip.clientWidth;
142
+ this._scrollTo(strip, target, max);
143
+ }
144
+ /** Pin the strip to its end — used after a chip is added, to reveal it. */
145
+ scrollToEnd() {
146
+ const strip = this.opts.strip();
147
+ if (!strip) return;
148
+ const max = strip.scrollWidth - strip.clientWidth;
149
+ this._scrollTo(strip, max, max);
150
+ }
151
+ /**
152
+ * Move the strip and republish from the CLAMPED TARGET rather than by reading
153
+ * `scrollLeft` back.
154
+ *
155
+ * Scrolling is instant (no `scroll-behavior: smooth`), so the read would agree
156
+ * — but not reading avoids a second forced layout, and more importantly the
157
+ * strip's scroll events are expensive well beyond this controller: the shared
158
+ * popup controller listens for `scroll` on `window` in the CAPTURE phase, so
159
+ * every scroll event the strip emits repositions any open dropdown, forcing a
160
+ * layout and a `getComputedStyle` ancestor walk. One event per click is the
161
+ * budget; a smooth animation's ~30 was what made the page crawl.
162
+ */
163
+ _scrollTo(strip, target, max) {
164
+ const clamped = Math.max(0, Math.min(max, target));
165
+ strip.scrollLeft = clamped;
166
+ if (max <= EPSILON) {
167
+ this._publish(false, false);
168
+ return;
169
+ }
170
+ this._publish(clamped > EPSILON, clamped < max - EPSILON);
171
+ }
172
+ /**
173
+ * Store the flags and re-render only on a real change.
174
+ *
175
+ * The request is deferred a microtask: `invalidate()` / `scrollToEnd()` are
176
+ * called from the host's `updated()` (a chip landed, a preset value arrived),
177
+ * and a synchronous `requestUpdate()` there is Lit's change-in-update warning
178
+ * on every such edge. The flags are already stored, so the deferred render
179
+ * reads the same answer — it just doesn't get scheduled from inside the
180
+ * render that asked for it.
181
+ */
182
+ _publish(start, end) {
183
+ if (start === this._canScrollStart && end === this._canScrollEnd) return;
184
+ this._canScrollStart = start;
185
+ this._canScrollEnd = end;
186
+ if (typeof queueMicrotask === "function") queueMicrotask(() => this.host.requestUpdate());
187
+ else this.host.requestUpdate();
188
+ }
189
+ /**
190
+ * Observe the strip so the buttons re-evaluate when the FIELD is resized —
191
+ * a window resize changes `clientWidth` without any render or scroll event.
192
+ *
193
+ * Only the strip is observed, not the chips: a chip add/remove always comes
194
+ * with a host render, and the host calls `invalidate()` for those.
195
+ */
196
+ _attach() {
197
+ const strip = this.opts.strip();
198
+ if (strip === this._observed) return;
199
+ this._observer?.disconnect();
200
+ this._observed = strip;
201
+ if (!strip) return;
202
+ if (typeof ResizeObserver === "undefined") return;
203
+ this._observer ??= new ResizeObserver(() => this.sync());
204
+ this._observer.observe(strip);
205
+ }
206
+ _teardown() {
207
+ this._observer?.disconnect();
208
+ this._observer = null;
209
+ this._observed = null;
210
+ }
211
+ };
212
+ //#endregion
213
+ export { resolveChipLimit as n, visibleChipCap as r, ChipStripController as t };
@@ -0,0 +1,253 @@
1
+ //#region src/composables/color.ts
2
+ /** The two inks the theme uses on a filled surface (`index.css` `--theme-*-contrast`). */
3
+ var INK_LIGHT = "#ffffff";
4
+ var INK_DARK = "rgba(0, 0, 0, 0.87)";
5
+ var HEX = /^#([0-9a-f]{3,8})$/i;
6
+ var FN = /^(rgba?|hsla?)\(\s*([^)]+?)\s*\)$/i;
7
+ /** Split `rgb(1 2 3 / 0.5)` and `rgb(1, 2, 3, 0.5)` alike. */
8
+ function args(body) {
9
+ return body.replace(/\//g, " ").split(/[\s,]+/).filter(Boolean);
10
+ }
11
+ /** `50%` → 0.5, `0.5` → 0.5. Alpha is given either way. */
12
+ function alpha(token) {
13
+ if (token === void 0) return 1;
14
+ const n = token.endsWith("%") ? Number.parseFloat(token) / 100 : Number.parseFloat(token);
15
+ return Number.isFinite(n) ? Math.min(1, Math.max(0, n)) : 1;
16
+ }
17
+ /** A channel is `0-255` or a percentage of it. */
18
+ function channel(token) {
19
+ const n = token.endsWith("%") ? Number.parseFloat(token) / 100 * 255 : Number.parseFloat(token);
20
+ return Number.isFinite(n) ? Math.min(255, Math.max(0, n)) : NaN;
21
+ }
22
+ function hslToRgb(h, s, l) {
23
+ const c = (1 - Math.abs(2 * l - 1)) * s;
24
+ const hp = (h % 360 + 360) % 360 / 60;
25
+ const x = c * (1 - Math.abs(hp % 2 - 1));
26
+ const [r, g, b] = hp < 1 ? [
27
+ c,
28
+ x,
29
+ 0
30
+ ] : hp < 2 ? [
31
+ x,
32
+ c,
33
+ 0
34
+ ] : hp < 3 ? [
35
+ 0,
36
+ c,
37
+ x
38
+ ] : hp < 4 ? [
39
+ 0,
40
+ x,
41
+ c
42
+ ] : hp < 5 ? [
43
+ x,
44
+ 0,
45
+ c
46
+ ] : [
47
+ c,
48
+ 0,
49
+ x
50
+ ];
51
+ const m = l - c / 2;
52
+ return [
53
+ (r + m) * 255,
54
+ (g + m) * 255,
55
+ (b + m) * 255
56
+ ];
57
+ }
58
+ /**
59
+ * Parse a literal CSS colour to sRGB, or null when it isn't one we can read.
60
+ *
61
+ * Handles `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`, `rgb()/rgba()` and `hsl()/hsla()` in
62
+ * both the legacy comma syntax and the modern space syntax. Returns null for anything
63
+ * else — `var(…)`, `color-mix(…)`, a named keyword — which callers treat as "paint it,
64
+ * but fall back for the derived values", since the browser can still render it.
65
+ */
66
+ function parseCssColor(value) {
67
+ if (!value) return null;
68
+ const input = value.trim();
69
+ const hex = HEX.exec(input);
70
+ if (hex) {
71
+ const h = hex[1];
72
+ const expand = (s) => Number.parseInt(s.length === 1 ? s + s : s, 16);
73
+ if (h.length === 3 || h.length === 4) return {
74
+ r: expand(h[0]),
75
+ g: expand(h[1]),
76
+ b: expand(h[2]),
77
+ a: h.length === 4 ? expand(h[3]) / 255 : 1
78
+ };
79
+ if (h.length === 6 || h.length === 8) return {
80
+ r: Number.parseInt(h.slice(0, 2), 16),
81
+ g: Number.parseInt(h.slice(2, 4), 16),
82
+ b: Number.parseInt(h.slice(4, 6), 16),
83
+ a: h.length === 8 ? Number.parseInt(h.slice(6, 8), 16) / 255 : 1
84
+ };
85
+ return null;
86
+ }
87
+ const fn = FN.exec(input);
88
+ if (!fn) return null;
89
+ const parts = args(fn[2]);
90
+ if (parts.length < 3) return null;
91
+ if (fn[1].toLowerCase().startsWith("hsl")) {
92
+ const h = Number.parseFloat(parts[0]);
93
+ const s = Number.parseFloat(parts[1]) / 100;
94
+ const l = Number.parseFloat(parts[2]) / 100;
95
+ if (![
96
+ h,
97
+ s,
98
+ l
99
+ ].every(Number.isFinite)) return null;
100
+ const [r, g, b] = hslToRgb(h, Math.min(1, Math.max(0, s)), Math.min(1, Math.max(0, l)));
101
+ return {
102
+ r,
103
+ g,
104
+ b,
105
+ a: alpha(parts[3])
106
+ };
107
+ }
108
+ const [r, g, b] = [
109
+ channel(parts[0]),
110
+ channel(parts[1]),
111
+ channel(parts[2])
112
+ ];
113
+ if (![
114
+ r,
115
+ g,
116
+ b
117
+ ].every(Number.isFinite)) return null;
118
+ return {
119
+ r,
120
+ g,
121
+ b,
122
+ a: alpha(parts[3])
123
+ };
124
+ }
125
+ /** WCAG relative luminance. */
126
+ function relativeLuminance({ r, g, b }) {
127
+ const f = (v) => {
128
+ const c = v / 255;
129
+ return c <= .03928 ? c / 12.92 : ((c + .055) / 1.055) ** 2.4;
130
+ };
131
+ return .2126 * f(r) + .7152 * f(g) + .0722 * f(b);
132
+ }
133
+ /** WCAG contrast ratio, 1–21. Order of the arguments does not matter. */
134
+ function contrastRatio(a, b) {
135
+ const [hi, lo] = [relativeLuminance(a), relativeLuminance(b)].sort((x, y) => y - x);
136
+ return (hi + .05) / (lo + .05);
137
+ }
138
+ /**
139
+ * The better of the theme's two inks for text sitting ON `value`, or null when the
140
+ * colour can't be parsed (the caller then leaves the ink alone and the CSS default —
141
+ * white, matching every `--theme-*-contrast` but warning's — applies).
142
+ *
143
+ * Compares actual contrast rather than thresholding luminance, so it stays correct for
144
+ * mid-tone colours where a fixed cutoff picks the worse of the two.
145
+ */
146
+ function readableInk(value) {
147
+ const bg = parseCssColor(value);
148
+ if (!bg) return null;
149
+ return contrastRatio(bg, {
150
+ r: 255,
151
+ g: 255,
152
+ b: 255,
153
+ a: 1
154
+ }) >= contrastRatio(bg, {
155
+ r: bg.r * .13,
156
+ g: bg.g * .13,
157
+ b: bg.b * .13,
158
+ a: 1
159
+ }) ? INK_LIGHT : INK_DARK;
160
+ }
161
+ /**
162
+ * `"r, g, b"` for the `--*-rgb` half of the colour API, which the stylesheets wrap in
163
+ * `rgba(var(--…-rgb), α)`. Null when unparseable.
164
+ */
165
+ function toRgbTriple(value) {
166
+ const c = parseCssColor(value);
167
+ if (!c) return null;
168
+ return `${Math.round(c.r)}, ${Math.round(c.g)}, ${Math.round(c.b)}`;
169
+ }
170
+ /**
171
+ * Does this look like a literal colour rather than a token name?
172
+ *
173
+ * Only used AFTER the component's own token list has been checked, so `teal` and
174
+ * `purple` — which are both theme slots and CSS keywords — always mean the theme slot.
175
+ * Bare CSS keywords are deliberately not recognised here: a typo like `primry` should
176
+ * fall through to the validator's warning instead of being silently painted as nothing.
177
+ */
178
+ function isRawColorValue(value) {
179
+ if (!value) return false;
180
+ const v = value.trim();
181
+ return v.startsWith("#") || /^(rgba?|hsla?|color|color-mix|var|light-dark)\(/i.test(v);
182
+ }
183
+ /**
184
+ * The brand slots `src/data/theme/index.css` defines, in the order they appear there.
185
+ * Every one has a `--theme-<name>`, a `--theme-<name>-rgb` and a `--theme-<name>-contrast`,
186
+ * so a component only has to name the slot for the whole treatment to follow the active
187
+ * colour preset. `surface` is not here — it is each component's "not painted" state, not
188
+ * a palette entry.
189
+ */
190
+ var THEME_COLOR_TOKENS = [
191
+ "primary",
192
+ "secondary",
193
+ "success",
194
+ "danger",
195
+ "warning",
196
+ "info",
197
+ "teal",
198
+ "purple",
199
+ "neutral",
200
+ "dark"
201
+ ];
202
+ /** The class token emitted for a `color` that is a literal rather than a slot name. */
203
+ var CUSTOM_COLOR_CLASS = "custom";
204
+ function isThemeColorToken(value) {
205
+ return !!value && THEME_COLOR_TOKENS.includes(value);
206
+ }
207
+ /**
208
+ * The class token for a `color` value.
209
+ *
210
+ * A literal MUST NOT reach the class list: the class string is built with `join(' ')`,
211
+ * so `rgb(255, 0, 0)` would split into three garbage tokens (`rgb(255,`, `0,`, `0)`),
212
+ * and `var(--brand)` likewise. Named slots — including `surface` — pass through; every
213
+ * literal collapses to one marker class that the stylesheet keys the painted treatment
214
+ * off, with the actual colour arriving inline (see `customColorStyle`).
215
+ */
216
+ function colorClassToken(value) {
217
+ if (!value) return "";
218
+ if (isThemeColorToken(value) || value === "surface") return value;
219
+ return CUSTOM_COLOR_CLASS;
220
+ }
221
+ /**
222
+ * The inline declarations that carry a literal colour, e.g.
223
+ * `customColorStyle('#7c3aed', 'sidebar')`.
224
+ *
225
+ * Written on the component's ROOT element (the one whose stylesheet block declares the
226
+ * resolvers) — an inline declaration beats the class-based `.mono-<c>.<token>` presets,
227
+ * whereas the same property set on the host would only *inherit* and would lose to them.
228
+ *
229
+ * The rgb triple and the ink are emitted only when the value parses. An unparseable but
230
+ * renderable value (`var(--brand)`, `color-mix(…)`) still paints: it just keeps the CSS
231
+ * default ink, and `--mono-<c>-on-accent` stays available to set it by hand.
232
+ */
233
+ function customColorStyle(value, component) {
234
+ if (!value) return "";
235
+ const out = [`--_mono-${component}-accent-preset:${value};`];
236
+ const triple = toRgbTriple(value);
237
+ if (triple) out.push(`--_mono-${component}-accent-rgb-preset:${triple};`);
238
+ const ink = readableInk(value);
239
+ if (ink) out.push(`--_mono-${component}-on-accent-preset:${ink};`);
240
+ return out.join("");
241
+ }
242
+ /**
243
+ * Shared validator arm for a `color` prop: a named slot, `surface`, or something that
244
+ * reads as a CSS colour. Returns an error string, or null when the value is fine.
245
+ */
246
+ function validateColorProp(value) {
247
+ if (value === void 0 || value === null || value === "") return null;
248
+ if (typeof value !== "string") return `Invalid color: ${String(value)}`;
249
+ if (isThemeColorToken(value) || value === "surface" || isRawColorValue(value)) return null;
250
+ return `Invalid color: ${value} — expected one of ${THEME_COLOR_TOKENS.join(", ")}, surface, or a CSS color`;
251
+ }
252
+ //#endregion
253
+ export { validateColorProp as a, isThemeColorToken as i, colorClassToken as n, customColorStyle as r, CUSTOM_COLOR_CLASS as t };
@@ -0,0 +1,60 @@
1
+ //#region src/composables/css-class.ts
2
+ /**
3
+ * Append a per-part class override (if present) to a base class string.
4
+ *
5
+ * cssPart({ inner: 'px-4' }, 'mono-nav-inner', 'inner') // 'mono-nav-inner px-4'
6
+ * cssPart(undefined, 'mono-nav-inner', 'inner') // 'mono-nav-inner'
7
+ */
8
+ function cssPart(cssClass, base, key) {
9
+ const extra = cssClass?.[key];
10
+ return extra ? `${base} ${extra}` : base;
11
+ }
12
+ /**
13
+ * Apply a `css-class` value to an element's `cssClass`/`cssClassName`.
14
+ *
15
+ * - `null`/`undefined`/empty string → reset both
16
+ * - object → `cssClass`
17
+ * - `'{ … }'` JSON string → parsed into `cssClass`
18
+ * - plain string → `cssClassName` (root class fallback)
19
+ *
20
+ * Mutates the element's reactive properties directly (so Lit picks up the
21
+ * change). Used by each component's `_setCssClass`.
22
+ */
23
+ function applyCssClass(target, value) {
24
+ if (value == null) {
25
+ target.cssClass = {};
26
+ target.cssClassName = "";
27
+ return;
28
+ }
29
+ if (typeof value === "object") {
30
+ target.cssClass = value;
31
+ return;
32
+ }
33
+ if (typeof value === "string") {
34
+ const trimmed = value.trim();
35
+ if (!trimmed) {
36
+ target.cssClass = {};
37
+ target.cssClassName = "";
38
+ return;
39
+ }
40
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) try {
41
+ target.cssClass = JSON.parse(trimmed);
42
+ return;
43
+ } catch {}
44
+ target.cssClassName = trimmed;
45
+ }
46
+ }
47
+ /**
48
+ * Define `css-class` and `cssclass` instance aliases (Vue interop) that route to
49
+ * `set`. Lets consumers write `<el :css-class="…">` / `:cssclass` / `:cssClass`.
50
+ */
51
+ function defineCssClassAliases(target, set) {
52
+ for (const alias of ["css-class", "cssclass"]) Object.defineProperty(target, alias, {
53
+ get: () => target.cssClass,
54
+ set,
55
+ configurable: true,
56
+ enumerable: false
57
+ });
58
+ }
59
+ //#endregion
60
+ export { cssPart as n, defineCssClassAliases as r, applyCssClass as t };
@@ -0,0 +1,37 @@
1
+ //#region src/composables/css-size.ts
2
+ /**
3
+ * Normalize a sizing prop to a CSS length string.
4
+ * - `number` (or numeric string) → `${n}px`
5
+ * - any other non-empty string → passed through verbatim (`"12rem"`, `"80%"`, …)
6
+ * - `null` / `undefined` / `''` → `undefined` (treated as "not set")
7
+ */
8
+ function toCssSize(value) {
9
+ if (value === null || value === void 0) return void 0;
10
+ if (typeof value === "number") return Number.isFinite(value) ? `${value}px` : void 0;
11
+ const trimmed = String(value).trim();
12
+ if (trimmed === "") return void 0;
13
+ if (/^-?\d+(\.\d+)?$/.test(trimmed)) return `${trimmed}px`;
14
+ return trimmed;
15
+ }
16
+ /**
17
+ * Build a Lit `styleMap` object from the six sizing props, normalizing each via
18
+ * `toCssSize` and omitting the ones that aren't set.
19
+ */
20
+ function buildSizeStyle(src) {
21
+ const style = {};
22
+ const width = toCssSize(src.width);
23
+ const height = toCssSize(src.height);
24
+ const minWidth = toCssSize(src.minWidth);
25
+ const maxWidth = toCssSize(src.maxWidth);
26
+ const minHeight = toCssSize(src.minHeight);
27
+ const maxHeight = toCssSize(src.maxHeight);
28
+ if (width) style.width = width;
29
+ if (height) style.height = height;
30
+ if (minWidth) style["min-width"] = minWidth;
31
+ if (maxWidth) style["max-width"] = maxWidth;
32
+ if (minHeight) style["min-height"] = minHeight;
33
+ if (maxHeight) style["max-height"] = maxHeight;
34
+ return style;
35
+ }
36
+ //#endregion
37
+ export { toCssSize as n, buildSizeStyle as t };