@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,686 @@
1
+ import { t as customElement } from "../mono-element-B0kP_96P.js";
2
+ import { a as defineHybridPropAliases, r as booleanStringConverter, t as __decorate } from "../decorate-DEXtNagw.js";
3
+ import { t as dispatchMonoEvent } from "../mono-event-Bi1qP9uN.js";
4
+ import { t as buildSizeStyle } from "../css-size-DhHSVZJK.js";
5
+ import { t as MonoFormControlCore } from "../form-control-core-eeRr0zLU.js";
6
+ import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
7
+ import { property, query, state } from "lit/decorators.js";
8
+ import { ifDefined } from "lit/directives/if-defined.js";
9
+ import { styleMap } from "lit/directives/style-map.js";
10
+ //#region src/components/date/date-core.ts
11
+ var numberStringConverter = {
12
+ fromAttribute(value) {
13
+ if (value === null || value === "") return void 0;
14
+ const parsed = Number(value);
15
+ return Number.isFinite(parsed) ? parsed : void 0;
16
+ },
17
+ toAttribute(value) {
18
+ return value === void 0 || value === null ? null : String(value);
19
+ }
20
+ };
21
+ var _uid = 0;
22
+ /**
23
+ * `MonoDateCore` — render-mode-agnostic logic for `mono-date` (props, hybrid
24
+ * aliases, flatpickr instance lifecycle, validation/state, and the full
25
+ * `render()`). SSR-safe: all DOM/`window` access (flatpickr init in
26
+ * `firstUpdated`, the accent read in `_onReady`) is `isServer`-guarded, so the
27
+ * server emits only the field markup and flatpickr is created on the client after
28
+ * hydration. Each build supplies `createRenderRoot()` + `static styles`. Mirrors
29
+ * `textarea-core`/`switch-core`.
30
+ *
31
+ * `mono-date` has no named slots — all content comes from props — so there is no
32
+ * slot capture/scan machinery here. The calendar popup is owned by flatpickr
33
+ * (appended to `<body>`, client-only, styled by the global bundle), so this needs
34
+ * no `PopupPortalController`/`popup-stack`.
35
+ */
36
+ var MonoDateCore = (superClass) => {
37
+ class MonoDateCoreClass extends MonoFormControlCore(superClass) {
38
+ constructor(...args) {
39
+ super(...args);
40
+ this.type = "date";
41
+ this.modelValue = "";
42
+ this.size = "md";
43
+ this.color = "primary";
44
+ this.variant = "outlined";
45
+ this.error = false;
46
+ this.success = false;
47
+ this.disabled = false;
48
+ this.readonly = false;
49
+ this.required = false;
50
+ this.clearable = false;
51
+ this.cssClass = {};
52
+ this.cssClassName = "";
53
+ this._hasValue = false;
54
+ this._fp = null;
55
+ this._buildToken = 0;
56
+ this._id = `mono-date-${++_uid}`;
57
+ this._onTyping = (event) => {
58
+ if (!this._fp || !this._typeable || this.disabled || this.readonly) return;
59
+ if (this.mode === "range" || this.mode === "multiple") return;
60
+ const raw = event.target.value;
61
+ if (!raw.trim()) return;
62
+ const fmt = this._fp.config.dateFormat;
63
+ const parsed = this._fp.parseDate(raw, fmt);
64
+ if (!parsed) return;
65
+ this._fp.jumpToDate(parsed);
66
+ if (this._fp.formatDate(parsed, fmt) === raw) this._fp.setDate(parsed, true);
67
+ };
68
+ defineHybridPropAliases(this, [
69
+ "modelValue",
70
+ "helperText",
71
+ "validationState",
72
+ "validationMessage",
73
+ "errorMessage",
74
+ "successMessage",
75
+ "ariaLabelText",
76
+ "cssClass",
77
+ "dateFormat",
78
+ "altInput",
79
+ "altFormat",
80
+ "clickOpens",
81
+ "defaultDate",
82
+ "minDate",
83
+ "maxDate",
84
+ "enableSeconds",
85
+ "hourIncrement",
86
+ "minuteIncrement",
87
+ "defaultHour",
88
+ "defaultMinute",
89
+ "weekNumbers",
90
+ "monthSelectorType",
91
+ "shorthandCurrentMonth",
92
+ "ariaDateFormat",
93
+ "minWidth",
94
+ "maxWidth",
95
+ "minHeight",
96
+ "maxHeight"
97
+ ]);
98
+ Object.defineProperty(this, "css-class", {
99
+ get: () => this.cssClass,
100
+ set: (value) => this._setCssClass(value),
101
+ configurable: true,
102
+ enumerable: false
103
+ });
104
+ Object.defineProperty(this, "cssclass", {
105
+ get: () => this.cssClass,
106
+ set: (value) => this._setCssClass(value),
107
+ configurable: true,
108
+ enumerable: false
109
+ });
110
+ }
111
+ static get observedAttributes() {
112
+ return [
113
+ ...super.observedAttributes ?? [],
114
+ "modelvalue",
115
+ "css-class",
116
+ "cssclass"
117
+ ];
118
+ }
119
+ attributeChangedCallback(name, oldValue, newValue) {
120
+ super.attributeChangedCallback(name, oldValue, newValue);
121
+ if (oldValue === newValue) return;
122
+ if (name === "modelvalue") {
123
+ this.modelValue = newValue ?? "";
124
+ return;
125
+ }
126
+ if (name === "css-class" || name === "cssclass") this._setCssClass(newValue);
127
+ }
128
+ /**
129
+ * Normalized `typeable` flag. Frameworks (e.g. Vue) set a bare boolean
130
+ * attribute as the *property* `''` — which bypasses `booleanStringConverter`
131
+ * and is falsy. Treat presence (`''`/`true`/`'true'`) as enabled so typing
132
+ * actually works.
133
+ */
134
+ get _typeable() {
135
+ const v = this.typeable;
136
+ return v === true || v === "" || v === "true";
137
+ }
138
+ static {
139
+ this._configKeys = [
140
+ "type",
141
+ "options",
142
+ "mode",
143
+ "inline",
144
+ "locale",
145
+ "dateFormat",
146
+ "altInput",
147
+ "altFormat",
148
+ "typeable",
149
+ "clickOpens",
150
+ "defaultDate",
151
+ "minDate",
152
+ "maxDate",
153
+ "disable",
154
+ "enable",
155
+ "enableSeconds",
156
+ "time24hr",
157
+ "hourIncrement",
158
+ "minuteIncrement",
159
+ "defaultHour",
160
+ "defaultMinute",
161
+ "weekNumbers",
162
+ "monthSelectorType",
163
+ "shorthandCurrentMonth",
164
+ "position",
165
+ "ariaDateFormat",
166
+ "disabled",
167
+ "readonly"
168
+ ];
169
+ }
170
+ willUpdate(changed) {
171
+ super.willUpdate?.(changed);
172
+ for (const key of [
173
+ "error",
174
+ "success",
175
+ "disabled",
176
+ "readonly",
177
+ "required",
178
+ "clearable"
179
+ ]) {
180
+ const v = this[key];
181
+ if (typeof v !== "boolean") this[key] = this._toBoolean(v);
182
+ }
183
+ }
184
+ _toBoolean(value) {
185
+ if (typeof value === "boolean") return value;
186
+ if (typeof value === "string") {
187
+ const normalized = value.toLowerCase().trim();
188
+ return normalized === "" || normalized === "true";
189
+ }
190
+ return Boolean(value);
191
+ }
192
+ async firstUpdated() {
193
+ await this._ensurePicker();
194
+ }
195
+ /**
196
+ * Build the picker if there isn't one — idempotent, and safe to call from every
197
+ * update.
198
+ *
199
+ * Creation used to live only in `firstUpdated`, which Lit runs exactly once. After
200
+ * a disconnect (`v-if`, `<KeepAlive>`, a Vue node move) `disconnectedCallback`
201
+ * destroyed the instance and nothing ever rebuilt it, so the field rendered but had
202
+ * no picker at all — every `open`/`close`/`toggle` was a silent `this._fp?.` no-op.
203
+ * `chart-core` self-heals the same way.
204
+ *
205
+ * The `isConnected` re-check after the await matters just as much: without it, an
206
+ * element disconnected *during* the dynamic import would construct a flatpickr on a
207
+ * detached input that nothing would ever destroy — leaking its calendar DOM and the
208
+ * four document/window listeners flatpickr binds.
209
+ */
210
+ async _ensurePicker() {
211
+ if (isServer || this._fp || !this._nativeEl) return;
212
+ const token = ++this._buildToken;
213
+ const { default: flatpickr } = await import("../esm-Ptok4SQZ.js");
214
+ if (token !== this._buildToken || !this.isConnected || !this._nativeEl || this._fp) return;
215
+ this._fp = flatpickr(this._nativeEl, this._buildConfig());
216
+ this._hasValue = Boolean(this.modelValue);
217
+ }
218
+ updated(changed) {
219
+ super.updated?.(changed);
220
+ if (!this._fp) {
221
+ this._ensurePicker();
222
+ return;
223
+ }
224
+ if (MonoDateCoreClass._configKeys.some((k) => changed.has(k))) {
225
+ this._rebuild();
226
+ return;
227
+ }
228
+ if (changed.has("modelValue")) this._applyModelValue();
229
+ }
230
+ connectedCallback() {
231
+ super.connectedCallback();
232
+ if (!isServer) this._ensurePicker();
233
+ }
234
+ disconnectedCallback() {
235
+ this._buildToken++;
236
+ this._fp?.destroy();
237
+ this._fp = null;
238
+ super.disconnectedCallback();
239
+ }
240
+ _buildConfig() {
241
+ const typeDefaults = this.type === "time" ? {
242
+ enableTime: true,
243
+ noCalendar: true
244
+ } : this.type === "datetime" ? { enableTime: true } : {};
245
+ const named = {};
246
+ const str = (k, v) => {
247
+ if (v !== void 0 && v !== "") named[k] = v;
248
+ };
249
+ const any = (k, v) => {
250
+ if (v !== void 0) named[k] = v;
251
+ };
252
+ str("dateFormat", this.dateFormat);
253
+ any("altInput", this.altInput);
254
+ str("altFormat", this.altFormat);
255
+ any("allowInput", this._typeable);
256
+ any("clickOpens", this.clickOpens);
257
+ any("defaultDate", this.defaultDate);
258
+ any("minDate", this.minDate);
259
+ any("maxDate", this.maxDate);
260
+ any("disable", this.disable);
261
+ any("enable", this.enable);
262
+ str("mode", this.mode);
263
+ any("enableSeconds", this.enableSeconds);
264
+ any("time_24hr", this.time24hr);
265
+ any("hourIncrement", this.hourIncrement);
266
+ any("minuteIncrement", this.minuteIncrement);
267
+ any("defaultHour", this.defaultHour);
268
+ any("defaultMinute", this.defaultMinute);
269
+ any("inline", this.inline);
270
+ any("weekNumbers", this.weekNumbers);
271
+ str("monthSelectorType", this.monthSelectorType);
272
+ any("shorthandCurrentMonth", this.shorthandCurrentMonth);
273
+ str("position", this.position);
274
+ str("ariaDateFormat", this.ariaDateFormat);
275
+ any("locale", this.locale);
276
+ const config = {
277
+ ...typeDefaults,
278
+ ...this.options ?? {},
279
+ ...named,
280
+ onReady: [(_d, _s, instance) => this._onReady(instance)],
281
+ onChange: [(dates, dateStr, instance) => this._onChange(dates, dateStr, instance)],
282
+ onOpen: [(dates, _s, instance) => this._emitOpenClose("open", dates, instance)],
283
+ onClose: [(dates, _s, instance) => this._emitOpenClose("close", dates, instance)]
284
+ };
285
+ if (this.modelValue) config.defaultDate = this.modelValue;
286
+ if (this.disabled || this.readonly) config.clickOpens = false;
287
+ return config;
288
+ }
289
+ /**
290
+ * Open / close the calendar. flatpickr owns the popup, so these just forward
291
+ * to the instance — but they give `mono-date` the same `open()`/`close()`/
292
+ * `toggle()` surface as `mono-select` and `mono-dropdown-table`, which lets
293
+ * anything driving an editor generically (e.g. the data grid opening the
294
+ * focused inline editor on `Enter`) treat all of them the same.
295
+ */
296
+ /** Whether the calendar is currently open. */
297
+ get isOpen() {
298
+ return !!this._fp?.isOpen;
299
+ }
300
+ open() {
301
+ if (this.disabled || this.readonly) return;
302
+ this._fp?.open();
303
+ }
304
+ close() {
305
+ this._fp?.close();
306
+ }
307
+ toggle() {
308
+ if (this._fp?.isOpen) this.close();
309
+ else this.open();
310
+ }
311
+ _rebuild() {
312
+ if (!this._nativeEl) return;
313
+ const open = this._fp?.isOpen;
314
+ this._fp?.destroy();
315
+ this._fp = null;
316
+ const token = ++this._buildToken;
317
+ import("../esm-Ptok4SQZ.js").then(({ default: flatpickr }) => {
318
+ if (token !== this._buildToken || !this.isConnected || !this._nativeEl) return;
319
+ this._fp = flatpickr(this._nativeEl, this._buildConfig());
320
+ if (open) this._fp.open();
321
+ });
322
+ }
323
+ _applyModelValue() {
324
+ this._fp?.setDate(this.modelValue || "", false);
325
+ this._hasValue = Boolean(this.modelValue);
326
+ }
327
+ /**
328
+ * Tag the calendar so our CSS only targets our pickers, and copy the host's
329
+ * resolved accent onto it (the calendar lives in <body> and can't inherit the
330
+ * field's `--date-primary`, so it follows the `color` prop via `--cal-accent`).
331
+ *
332
+ * The accent variable is declared on the `.mono-date` element (the inner
333
+ * wrapper), which in the shadow build lives inside the shadow root — reading
334
+ * from the host (`this`) would return empty. Read from that wrapper instead;
335
+ * in the light build `renderRoot === this` and `.mono-date` is the child, so
336
+ * this resolves correctly for both.
337
+ */
338
+ _onReady(instance) {
339
+ if (isServer) return;
340
+ const cal = instance.calendarContainer;
341
+ if (!cal) return;
342
+ cal.classList.add("mono-flatpickr");
343
+ const scope = this.renderRoot.querySelector?.("[mono-date]") ?? this;
344
+ const cs = getComputedStyle(scope);
345
+ const accent = cs.getPropertyValue("--_mono-date-calendar-accent").trim();
346
+ const accentFg = cs.getPropertyValue("--_mono-date-primary-foreground").trim();
347
+ if (accent) cal.style.setProperty("--cal-accent", accent);
348
+ if (accentFg) cal.style.setProperty("--cal-accent-foreground", accentFg);
349
+ }
350
+ _onChange(dates, dateStr, instance) {
351
+ this.modelValue = dateStr;
352
+ this._hasValue = Boolean(dateStr);
353
+ const detail = {
354
+ value: dateStr,
355
+ modelValue: dateStr,
356
+ dates,
357
+ instance
358
+ };
359
+ const native = this._nativeEl;
360
+ let done = false;
361
+ const onNative = (event) => {
362
+ done = true;
363
+ dispatchMonoEvent(this, "change", detail, { sourceEvent: event });
364
+ };
365
+ native?.addEventListener("change", onNative, {
366
+ once: true,
367
+ capture: true
368
+ });
369
+ queueMicrotask(() => {
370
+ if (done) return;
371
+ done = true;
372
+ native?.removeEventListener("change", onNative, { capture: true });
373
+ dispatchMonoEvent(this, "change", detail);
374
+ });
375
+ }
376
+ _emitOpenClose(kind, dates, instance) {
377
+ dispatchMonoEvent(this, kind, {
378
+ dates,
379
+ instance
380
+ });
381
+ }
382
+ _clear() {
383
+ this._fp?.clear();
384
+ this.modelValue = "";
385
+ this._hasValue = false;
386
+ const detail = {
387
+ value: "",
388
+ modelValue: "",
389
+ dates: [],
390
+ instance: this._fp
391
+ };
392
+ dispatchMonoEvent(this, "change", detail);
393
+ }
394
+ _setCssClass(value) {
395
+ if (value == null) {
396
+ this.cssClass = {};
397
+ this.cssClassName = "";
398
+ return;
399
+ }
400
+ if (typeof value === "object") {
401
+ this.cssClass = value;
402
+ return;
403
+ }
404
+ if (typeof value === "string") {
405
+ const trimmed = value.trim();
406
+ if (!trimmed) {
407
+ this.cssClass = {};
408
+ this.cssClassName = "";
409
+ return;
410
+ }
411
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) try {
412
+ this.cssClass = JSON.parse(trimmed);
413
+ return;
414
+ } catch {}
415
+ this.cssClassName = trimmed;
416
+ }
417
+ }
418
+ _cls(base, key) {
419
+ const extra = this.cssClass?.[key];
420
+ return extra ? `${base} ${extra}` : base;
421
+ }
422
+ get _resolvedState() {
423
+ if (this.error) return "error";
424
+ if (this.success) return "success";
425
+ return this.validationState ?? "default";
426
+ }
427
+ get _message() {
428
+ if (this._resolvedState === "error") return this.errorMessage || this.validationMessage || void 0;
429
+ if (this._resolvedState === "success") return this.successMessage || this.validationMessage || void 0;
430
+ return this.helperText || void 0;
431
+ }
432
+ get _wrapperClasses() {
433
+ return [
434
+ "mono-date",
435
+ this.size,
436
+ this.color,
437
+ this.variant,
438
+ this.disabled ? "disabled" : "",
439
+ this.readonly ? "readonly" : "",
440
+ this.required ? "required" : "",
441
+ this._hasValue ? "has-value" : "",
442
+ this._resolvedState !== "default" ? `is-${this._resolvedState}` : "",
443
+ this.cssClassName || "",
444
+ this.cssClass?.root || ""
445
+ ].filter(Boolean).join(" ");
446
+ }
447
+ get _fieldClasses() {
448
+ return [
449
+ this._cls("mono-date-field", "field"),
450
+ this.size,
451
+ this.color,
452
+ this.variant,
453
+ this._resolvedState !== "default" ? `is-${this._resolvedState}` : ""
454
+ ].filter(Boolean).join(" ");
455
+ }
456
+ _icon() {
457
+ return this.renderIcon(this.type === "time" ? "clock" : "calendar");
458
+ }
459
+ /**
460
+ * Icon hook. Light build (default): the global `.mono-icon` / `i-mdi-*` UnoCSS
461
+ * icon. Shadow overrides with inline SVG (UnoCSS mask rules can't reach a
462
+ * shadow root — they'd render as a solid "black cube").
463
+ */
464
+ renderIcon(name) {
465
+ return html`<span class=${`mono-icon ${name === "calendar" ? "i-mdi-calendar-outline" : name === "clock" ? "i-mdi-clock-outline" : "i-mdi-close"}`} mono-icon aria-hidden="true"></span>`;
466
+ }
467
+ /**
468
+ * The wrapper renders unconditionally, like input / select / tag-input. The
469
+ * wrapper is a grid child, so returning `nothing` when there is no message left
470
+ * date's block exactly one row-gap shorter than its siblings' — visible as soon
471
+ * as a labelled date sits beside a labelled input in the same row.
472
+ */
473
+ _renderMessage() {
474
+ const msg = this._message;
475
+ return html`
476
+ <div class=${this._cls("mono-date-message-wrap", "messageWrap")} mono-message-wrap>
477
+ ${msg ? html`<div
478
+ class=${`${this._cls("mono-date-message", "message")} ${this._resolvedState}`}
479
+ mono-message=${this._resolvedState === "default" ? "helper" : this._resolvedState}
480
+ role=${this._resolvedState === "error" ? "alert" : nothing}
481
+ >${msg}</div>` : nothing}
482
+ </div>
483
+ `;
484
+ }
485
+ render() {
486
+ const state = this._resolvedState;
487
+ return html`
488
+ <div
489
+ class=${this._wrapperClasses}
490
+ style=${styleMap(buildSizeStyle(this))}
491
+ mono-date
492
+ mono-size=${this.size === "md" ? nothing : this.size}
493
+ mono-color=${this.color === "primary" ? nothing : this.color}
494
+ mono-variant=${this.variant === "outlined" ? nothing : this.variant}
495
+ mono-validation-state=${state === "default" ? nothing : state}
496
+ ?mono-disabled=${this.disabled}
497
+ ?mono-readonly=${this.readonly}
498
+ ?mono-required=${this.required}
499
+ ?mono-clearable=${this.clearable}
500
+ >
501
+ ${this.label ? html`<label class=${this._cls("mono-date-label", "label")} mono-label for=${this._id}>
502
+ ${this.label}${this.required ? html`<span class=${this._cls("mono-date-required", "required")} mono-required-mark>*</span>` : nothing}
503
+ </label>` : nothing}
504
+
505
+ <div class=${this._fieldClasses} mono-field>
506
+ <span class=${this._cls("mono-date-icon", "icon")} mono-prefix aria-hidden="true">${this._icon()}</span>
507
+ <input
508
+ class=${this._cls("mono-date-native", "native")}
509
+ mono-native
510
+ id=${this._id}
511
+ type="text"
512
+ placeholder=${ifDefined(this.placeholder)}
513
+ ?disabled=${this.disabled}
514
+ ?readonly=${this.readonly && !this._typeable}
515
+ aria-label=${ifDefined(this.ariaLabelText || this.label || void 0)}
516
+ @input=${this._onTyping}
517
+ />
518
+ ${this.clearable && this._hasValue && !this.disabled && !this.readonly ? html`<button
519
+ type="button"
520
+ class=${this._cls("mono-date-clear", "clear")}
521
+ mono-clear
522
+ aria-label="Clear"
523
+ @click=${this._clear}
524
+ >
525
+ ${this.renderIcon("close")}
526
+ </button>` : nothing}
527
+ </div>
528
+
529
+ ${this._renderMessage()}
530
+ </div>
531
+ `;
532
+ }
533
+ }
534
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "type", void 0);
535
+ __decorate([property({
536
+ attribute: "model-value",
537
+ reflect: true
538
+ })], MonoDateCoreClass.prototype, "modelValue", void 0);
539
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "size", void 0);
540
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "color", void 0);
541
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "variant", void 0);
542
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "label", void 0);
543
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "placeholder", void 0);
544
+ __decorate([property({
545
+ type: String,
546
+ attribute: "helper-text"
547
+ })], MonoDateCoreClass.prototype, "helperText", void 0);
548
+ __decorate([property({
549
+ type: String,
550
+ attribute: "validation-state"
551
+ })], MonoDateCoreClass.prototype, "validationState", void 0);
552
+ __decorate([property({
553
+ type: String,
554
+ attribute: "validation-message"
555
+ })], MonoDateCoreClass.prototype, "validationMessage", void 0);
556
+ __decorate([property({ converter: booleanStringConverter })], MonoDateCoreClass.prototype, "error", void 0);
557
+ __decorate([property({
558
+ type: String,
559
+ attribute: "error-message"
560
+ })], MonoDateCoreClass.prototype, "errorMessage", void 0);
561
+ __decorate([property({ converter: booleanStringConverter })], MonoDateCoreClass.prototype, "success", void 0);
562
+ __decorate([property({
563
+ type: String,
564
+ attribute: "success-message"
565
+ })], MonoDateCoreClass.prototype, "successMessage", void 0);
566
+ __decorate([property({
567
+ reflect: true,
568
+ converter: booleanStringConverter
569
+ })], MonoDateCoreClass.prototype, "disabled", void 0);
570
+ __decorate([property({
571
+ reflect: true,
572
+ converter: booleanStringConverter
573
+ })], MonoDateCoreClass.prototype, "readonly", void 0);
574
+ __decorate([property({
575
+ reflect: true,
576
+ converter: booleanStringConverter
577
+ })], MonoDateCoreClass.prototype, "required", void 0);
578
+ __decorate([property({ converter: booleanStringConverter })], MonoDateCoreClass.prototype, "clearable", void 0);
579
+ __decorate([property({
580
+ type: String,
581
+ attribute: "aria-label-text"
582
+ })], MonoDateCoreClass.prototype, "ariaLabelText", void 0);
583
+ __decorate([property({
584
+ type: String,
585
+ attribute: "date-format"
586
+ })], MonoDateCoreClass.prototype, "dateFormat", void 0);
587
+ __decorate([property({
588
+ attribute: "alt-input",
589
+ converter: booleanStringConverter
590
+ })], MonoDateCoreClass.prototype, "altInput", void 0);
591
+ __decorate([property({
592
+ type: String,
593
+ attribute: "alt-format"
594
+ })], MonoDateCoreClass.prototype, "altFormat", void 0);
595
+ __decorate([property({ converter: booleanStringConverter })], MonoDateCoreClass.prototype, "typeable", void 0);
596
+ __decorate([property({
597
+ attribute: "click-opens",
598
+ converter: booleanStringConverter
599
+ })], MonoDateCoreClass.prototype, "clickOpens", void 0);
600
+ __decorate([property({ attribute: "default-date" })], MonoDateCoreClass.prototype, "defaultDate", void 0);
601
+ __decorate([property({ attribute: "min-date" })], MonoDateCoreClass.prototype, "minDate", void 0);
602
+ __decorate([property({ attribute: "max-date" })], MonoDateCoreClass.prototype, "maxDate", void 0);
603
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "disable", void 0);
604
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "enable", void 0);
605
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "mode", void 0);
606
+ __decorate([property({
607
+ attribute: "enable-seconds",
608
+ converter: booleanStringConverter
609
+ })], MonoDateCoreClass.prototype, "enableSeconds", void 0);
610
+ __decorate([property({
611
+ attribute: "time-24hr",
612
+ converter: booleanStringConverter
613
+ })], MonoDateCoreClass.prototype, "time24hr", void 0);
614
+ __decorate([property({
615
+ attribute: "hour-increment",
616
+ converter: numberStringConverter
617
+ })], MonoDateCoreClass.prototype, "hourIncrement", void 0);
618
+ __decorate([property({
619
+ attribute: "minute-increment",
620
+ converter: numberStringConverter
621
+ })], MonoDateCoreClass.prototype, "minuteIncrement", void 0);
622
+ __decorate([property({
623
+ attribute: "default-hour",
624
+ converter: numberStringConverter
625
+ })], MonoDateCoreClass.prototype, "defaultHour", void 0);
626
+ __decorate([property({
627
+ attribute: "default-minute",
628
+ converter: numberStringConverter
629
+ })], MonoDateCoreClass.prototype, "defaultMinute", void 0);
630
+ __decorate([property({ converter: booleanStringConverter })], MonoDateCoreClass.prototype, "inline", void 0);
631
+ __decorate([property({
632
+ attribute: "week-numbers",
633
+ converter: booleanStringConverter
634
+ })], MonoDateCoreClass.prototype, "weekNumbers", void 0);
635
+ __decorate([property({ attribute: "month-selector-type" })], MonoDateCoreClass.prototype, "monthSelectorType", void 0);
636
+ __decorate([property({
637
+ attribute: "shorthand-current-month",
638
+ converter: booleanStringConverter
639
+ })], MonoDateCoreClass.prototype, "shorthandCurrentMonth", void 0);
640
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "position", void 0);
641
+ __decorate([property({
642
+ type: String,
643
+ attribute: "aria-date-format"
644
+ })], MonoDateCoreClass.prototype, "ariaDateFormat", void 0);
645
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "locale", void 0);
646
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "options", void 0);
647
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "width", void 0);
648
+ __decorate([property({ type: String })], MonoDateCoreClass.prototype, "height", void 0);
649
+ __decorate([property({
650
+ type: String,
651
+ attribute: "min-width"
652
+ })], MonoDateCoreClass.prototype, "minWidth", void 0);
653
+ __decorate([property({
654
+ type: String,
655
+ attribute: "max-width"
656
+ })], MonoDateCoreClass.prototype, "maxWidth", void 0);
657
+ __decorate([property({
658
+ type: String,
659
+ attribute: "min-height"
660
+ })], MonoDateCoreClass.prototype, "minHeight", void 0);
661
+ __decorate([property({
662
+ type: String,
663
+ attribute: "max-height"
664
+ })], MonoDateCoreClass.prototype, "maxHeight", void 0);
665
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "cssClass", void 0);
666
+ __decorate([property({ attribute: false })], MonoDateCoreClass.prototype, "cssClassName", void 0);
667
+ __decorate([state()], MonoDateCoreClass.prototype, "_hasValue", void 0);
668
+ __decorate([query(".mono-date-native")], MonoDateCoreClass.prototype, "_nativeEl", void 0);
669
+ return MonoDateCoreClass;
670
+ };
671
+ //#endregion
672
+ //#region src/components/date/date.css?raw
673
+ var date_default = "/* @unocss-include */\r\n\r\n/* flatpickr's base stylesheet. The calendar renders into <body>, so this must\r\n live in the global bundle (dist/ui/index.css) — that's why date.css is\r\n @imported from src/entries/index.css. */\r\n@import 'flatpickr/dist/flatpickr.css';\r\n\r\n/* =========================================================================\r\n mono-date — the mono-input box (a port of Basecoat's `.input-group` with a\r\n leading icon, basecoat-css@1.0.2, vega style) around a flatpickr field, plus\r\n a calendar restyled in Basecoat's popover idiom.\r\n\r\n Styled by ATTRIBUTE, like Basecoat — and the attributes mirror the element's\r\n props one for one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-date size=\"sm\" color=\"danger\" variant=\"filled\" label=\"Start\">\r\n <div mono-date mono-size=\"sm\" mono-color=\"danger\" mono-variant=\"filled\">\r\n <label mono-label>Start</label>\r\n <div mono-field>\r\n <span mono-prefix><span mono-icon class=\"mono-icon i-mdi-calendar-outline\"></span></span>\r\n <input mono-native type=\"text\" placeholder=\"Pick a date\" />\r\n </div>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary, `:not([mono-variant])` = outlined). The element\r\n renders these attributes on its wrapper (both builds); the old classes\r\n (`.mono-date.sm.filled`) are still emitted as inert hooks until 2.0 but no\r\n rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-date] ≡ .field (flex column gap-3)\r\n [mono-date] > [mono-label] ≡ .field > label / .label\r\n [mono-date] > [mono-field] ≡ .input-group (h-9 rounded-md border-input shadow-xs)\r\n [mono-field] > [mono-prefix] > [mono-icon] ≡ .input-group > span[data-align='start'] > svg (ps-2, size-4, muted)\r\n [mono-field] > [mono-native] ≡ .input-group > input (borderless, ps-1.5 after an affix, text-sm)\r\n [mono-field] > [mono-clear] > [mono-icon] ≡ .input-group > button[data-align='end']:has(> svg) (ghost, size-6)\r\n [mono-message-wrap] > [mono-message] ≡ .field > p / .field [role='alert']\r\n [mono-validation-state=\"error\"] ≡ .input-group:has([aria-invalid=true]) + .field[data-invalid]\r\n [mono-validation-state=\"success\"] ≡ EXTENSION (the invalid pattern in --success)\r\n [mono-size=\"xs|sm|lg|xl|xxl\"] ≡ EXTENSION (the --mono-control-height-* ladder)\r\n [mono-variant=\"filled\"] ≡ EXTENSION (luma's .input-group)\r\n [mono-variant=\"underlined\"] ≡ EXTENSION (sera's .input-group: bottom edge only, no ring)\r\n .flatpickr-calendar.mono-flatpickr ≡ [data-popover] frame (bg-popover ring-1 ring-foreground/10 rounded-md shadow-md)\r\n + EXTENSION: shadcn Calendar values (Basecoat 1.0.2 ships no calendar)\r\n\r\n Inner parts are attributes too: [mono-label] (+ [mono-required-mark]),\r\n [mono-field], [mono-prefix] > [mono-icon], [mono-native], [mono-clear] >\r\n [mono-icon], [mono-message-wrap] > [mono-message=\"helper|error|success\"].\r\n\r\n The calendar renders into <body> (both builds), so it is styled through\r\n flatpickr's own classes under our `.mono-flatpickr` marker and reads the page\r\n tokens directly; the element copies the field's accent onto it as\r\n `--cal-accent` / `--cal-accent-foreground` so it follows the `color` prop.\r\n\r\n FLAVORS set the same knobs as mono-input, renamed `--mono-date-*` (see\r\n input.css) plus `--mono-date-calendar-{radius,shadow,ring,day-radius}`. Every\r\n fallback here is vega's value.\r\n ========================================================================= */\r\n\r\nmono-date {\r\n display: block;\r\n}\r\n\r\n[mono-date] {\r\n /* ── palette: each slot is a public knob over a Basecoat token ─────────── */\r\n --_mono-date-text: var(--mono-date-color, var(--mono-date-text, var(--foreground)));\r\n --_mono-date-placeholder: var(--mono-date-placeholder, var(--muted-foreground));\r\n --_mono-date-muted: var(--mono-date-muted, var(--muted-foreground));\r\n --_mono-date-primary: var(--mono-date-primary, var(--_mono-date-primary-preset, var(--ring)));\r\n --_mono-date-primary-foreground: var(--mono-date-primary-foreground, var(--_mono-date-primary-foreground-preset, var(--primary-foreground)));\r\n --_mono-date-danger: var(--mono-date-danger, var(--destructive));\r\n --_mono-date-success: var(--mono-date-success, var(--success));\r\n --_mono-date-warning: var(--mono-date-warning, var(--warning));\r\n --_mono-date-info: var(--mono-date-info, var(--info));\r\n --_mono-date-teal: var(--mono-date-teal, var(--teal));\r\n --_mono-date-purple: var(--mono-date-purple, var(--purple));\r\n --_mono-date-neutral: var(--mono-date-neutral, var(--neutral));\r\n --_mono-date-dark: var(--mono-date-dark, var(--dark));\r\n --_mono-date-secondary: var(--mono-date-secondary, var(--muted-foreground));\r\n\r\n /* ── the painted result — three tiers, base = .input-group (vega) ──────── */\r\n --_mono-date-ring-color: var(--mono-date-ring-color, var(--mono-date-focus-color, var(--_mono-date-primary)));\r\n --_mono-date-ring-width: var(--mono-date-ring-width, var(--_mono-date-ring-width-preset, var(--mono-ring-width)));\r\n --_mono-date-ring-alpha: var(--mono-date-ring-alpha, var(--mono-ring-alpha));\r\n --_mono-date-border-color: var(--mono-date-rest-border, var(--mono-date-border-color, var(--mono-date-border, var(--_mono-date-border-color-preset, var(--input)))));\r\n --_mono-date-bg: var(--mono-date-bg, var(--mono-date-surface, var(--_mono-date-bg-preset, var(--mono-mode-surface))));\r\n --_mono-date-shadow: var(--mono-date-shadow, var(--_mono-date-shadow-preset, 0 0 #0000));\r\n --_mono-date-affix-padding: var(--mono-date-affix-padding, var(--_mono-date-affix-padding-preset, calc(var(--mono-spacing) * 2)));\r\n --_mono-date-affix-icon: var(--mono-date-affix-icon-size, calc(var(--mono-spacing) * 4));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE: hand-written\r\n `<div mono-date>` that names no size renders exactly like size=\"md\".\r\n basecoat@1.0.2 styles/vega.css .input-group — h-9 rounded-md; > input px-2.5 text-sm ── */\r\n --_mono-date-height: var(--mono-date-height-md, var(--mono-control-height-md));\r\n --_mono-date-radius: var(--mono-date-radius-md, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-md, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 2.5))));\r\n --_mono-date-font-size: var(--mono-date-font-md, var(--mono-text-sm));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-md, var(--mono-text-sm--lh)));\r\n --_mono-date-clear: calc(var(--mono-spacing) * 6);\r\n --_mono-date-clear-glyph: calc(var(--mono-spacing) * 3.5);\r\n\r\n /* basecoat@1.0.2 styles/vega.css .field — flex w-full flex-col gap-3 */\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--mono-date-gap, calc(var(--mono-spacing) * 3));\r\n width: 100%;\r\n font-family: inherit;\r\n color: var(--_mono-date-text);\r\n}\r\n\r\n[mono-date],\r\n[mono-date] *,\r\n[mono-date] *::before,\r\n[mono-date] *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n[mono-date] :is([mono-label], [mono-message])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Sizes — the field's painted height IS the token (tests/perf/field-heights)\r\n EXTENSION: the shared --mono-control-height-* ladder; text follows .btn's steps\r\n ========================================= */\r\n\r\n@media (width < 48rem) {\r\n [mono-date]:is(:not([mono-size]), [mono-size=\"md\"]) {\r\n --_mono-date-font-size: var(--mono-date-font-md, var(--mono-text-base));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-md, var(--mono-text-base--lh)));\r\n }\r\n}\r\n\r\n[mono-date][mono-size=\"xs\"] {\r\n --_mono-date-height: var(--mono-date-height-xs, var(--mono-control-height-xs));\r\n --_mono-date-radius: var(--mono-date-radius-xs, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-xs, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 2))));\r\n --_mono-date-font-size: var(--mono-date-font-xs, var(--mono-text-xs));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-xs, var(--mono-text-xs--lh)));\r\n --_mono-date-affix-icon: var(--mono-date-affix-icon-size, calc(var(--mono-spacing) * 3.5));\r\n --_mono-date-clear: calc(var(--mono-spacing) * 4);\r\n --_mono-date-clear-glyph: calc(var(--mono-spacing) * 3);\r\n}\r\n\r\n[mono-date][mono-size=\"sm\"] {\r\n --_mono-date-height: var(--mono-date-height-sm, var(--mono-control-height-sm));\r\n --_mono-date-radius: var(--mono-date-radius-sm, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-sm, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 2.5))));\r\n --_mono-date-font-size: var(--mono-date-font-sm, var(--mono-date-font-md, var(--mono-text-sm)));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-sm, var(--mono-text-sm--lh)));\r\n --_mono-date-clear: calc(var(--mono-spacing) * 5);\r\n --_mono-date-clear-glyph: calc(var(--mono-spacing) * 3.5);\r\n}\r\n\r\n[mono-date][mono-size=\"lg\"] {\r\n --_mono-date-height: var(--mono-date-height-lg, var(--mono-control-height-lg));\r\n --_mono-date-radius: var(--mono-date-radius-lg, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-lg, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 2.5))));\r\n --_mono-date-font-size: var(--mono-date-font-lg, var(--mono-date-font-md, var(--mono-text-sm)));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-lg, var(--mono-text-sm--lh)));\r\n}\r\n\r\n[mono-date][mono-size=\"xl\"] {\r\n --_mono-date-height: var(--mono-date-height-xl, var(--mono-control-height-xl));\r\n --_mono-date-radius: var(--mono-date-radius-xl, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-xl, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 3))));\r\n --_mono-date-font-size: var(--mono-date-font-xl, var(--mono-text-base));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-xl, var(--mono-text-base--lh)));\r\n --_mono-date-affix-icon: var(--mono-date-affix-icon-size, calc(var(--mono-spacing) * 5));\r\n --_mono-date-clear: calc(var(--mono-spacing) * 7);\r\n --_mono-date-clear-glyph: calc(var(--mono-spacing) * 4);\r\n}\r\n\r\n[mono-date][mono-size=\"xxl\"] {\r\n --_mono-date-height: var(--mono-date-height-xxl, var(--mono-control-height-xxl));\r\n --_mono-date-radius: var(--mono-date-radius-xxl, var(--_mono-date-radius-preset, var(--mono-date-radius, var(--mono-radius-md))));\r\n --_mono-date-padding-x: var(--mono-date-padding-x-xxl, var(--mono-date-padding-x, var(--_mono-date-padding-x-preset, calc(var(--mono-spacing) * 4))));\r\n --_mono-date-font-size: var(--mono-date-font-xxl, var(--mono-text-lg));\r\n --_mono-date-line-height: var(--mono-date-line-height, var(--mono-date-line-height-xxl, var(--mono-text-lg--lh)));\r\n --_mono-date-affix-icon: var(--mono-date-affix-icon-size, calc(var(--mono-spacing) * 5));\r\n --_mono-date-clear: calc(var(--mono-spacing) * 8);\r\n --_mono-date-clear-glyph: calc(var(--mono-spacing) * 4);\r\n}\r\n\r\n/* =========================================\r\n Variants — each writes only `*-preset` slots\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group — rounded-md border border-input\r\n shadow-xs bg-transparent (dark:bg-input/30 via --mono-mode-surface) */\r\n[mono-date]:is(:not([mono-variant]), [mono-variant=\"outlined\"]) {\r\n --_mono-date-bg-preset: var(--mono-date-outline-bg);\r\n --_mono-date-border-color-preset: var(--mono-date-outline-border-color);\r\n --_mono-date-side-border-color-preset: var(--mono-date-outline-side-border-color);\r\n --_mono-date-shadow-preset: var(--mono-date-outline-shadow, var(--mono-shadow-xs));\r\n --_mono-date-ring-width-preset: var(--mono-date-outline-ring-width);\r\n --_mono-date-radius-preset: var(--mono-date-outline-radius);\r\n --_mono-date-padding-x-preset: var(--mono-date-outline-padding-x);\r\n --_mono-date-affix-padding-preset: var(--mono-date-outline-affix-padding);\r\n}\r\n\r\n/* EXTENSION — filled ≡ basecoat@1.0.2 styles/luma.css .input-group */\r\n[mono-date][mono-variant=\"filled\"] {\r\n --_mono-date-bg-preset: var(--mono-date-filled-bg, color-mix(in oklab, var(--input) 50%, transparent));\r\n --_mono-date-border-color-preset: transparent;\r\n --_mono-date-shadow-preset: 0 0 #0000;\r\n}\r\n\r\n/* EXTENSION — underlined ≡ basecoat@1.0.2 styles/sera.css .input-group */\r\n[mono-date][mono-variant=\"underlined\"] {\r\n --_mono-date-bg-preset: transparent;\r\n --_mono-date-side-border-color-preset: transparent;\r\n --_mono-date-shadow-preset: 0 0 #0000;\r\n --_mono-date-ring-width-preset: 0px;\r\n --_mono-date-radius-preset: 0;\r\n --_mono-date-padding-x-preset: 0;\r\n --_mono-date-affix-padding-preset: 0;\r\n}\r\n\r\n/* =========================================\r\n Colours — the `color` prop is the accent: the focus ring + the calendar's\r\n selected day. Primary is Basecoat's --ring for the ring and --primary for the\r\n calendar (copied by the element as --cal-accent).\r\n ========================================= */\r\n\r\n[mono-date]:is(:not([mono-color]), [mono-color=\"primary\"]) {\r\n --_mono-date-primary-preset: var(--ring);\r\n --_mono-date-primary-foreground-preset: var(--primary-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--primary));\r\n}\r\n[mono-date][mono-color=\"secondary\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-secondary);\r\n --_mono-date-primary-foreground-preset: var(--background);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-secondary));\r\n}\r\n[mono-date][mono-color=\"success\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-success);\r\n --_mono-date-primary-foreground-preset: var(--success-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-success));\r\n}\r\n[mono-date][mono-color=\"danger\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-danger);\r\n --_mono-date-primary-foreground-preset: var(--destructive-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-danger));\r\n}\r\n[mono-date][mono-color=\"warning\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-warning);\r\n --_mono-date-primary-foreground-preset: var(--warning-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-warning));\r\n}\r\n[mono-date][mono-color=\"info\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-info);\r\n --_mono-date-primary-foreground-preset: var(--info-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-info));\r\n}\r\n[mono-date][mono-color=\"teal\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-teal);\r\n --_mono-date-primary-foreground-preset: var(--teal-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-teal));\r\n}\r\n[mono-date][mono-color=\"purple\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-purple);\r\n --_mono-date-primary-foreground-preset: var(--purple-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-purple));\r\n}\r\n[mono-date][mono-color=\"neutral\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-neutral);\r\n --_mono-date-primary-foreground-preset: var(--neutral-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-neutral));\r\n}\r\n[mono-date][mono-color=\"dark\"] {\r\n --_mono-date-primary-preset: var(--_mono-date-dark);\r\n --_mono-date-primary-foreground-preset: var(--dark-foreground);\r\n --_mono-date-calendar-accent: var(--mono-date-calendar-accent, var(--_mono-date-dark));\r\n}\r\n\r\n/* =========================================\r\n Label\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field > label, .label — flex items-center\r\n gap-2 text-sm leading-none font-medium select-none w-fit */\r\n[mono-date] > [mono-label] {\r\n display: flex;\r\n align-items: center;\r\n width: fit-content;\r\n gap: var(--mono-date-label-gap, calc(var(--mono-spacing) * 2));\r\n font-size: var(--mono-date-label-font-size, var(--mono-text-sm));\r\n line-height: var(--mono-date-label-line-height, 1);\r\n font-weight: var(--mono-date-label-font-weight, var(--mono-label-font-weight, var(--mono-font-weight-medium)));\r\n text-transform: var(--mono-date-label-text-transform, none);\r\n letter-spacing: var(--mono-date-label-letter-spacing, normal);\r\n color: var(--_mono-date-text);\r\n user-select: none;\r\n}\r\n\r\n[mono-date][mono-disabled] > [mono-label],\r\n[mono-date]:has(> [mono-field] > [mono-native]:disabled) > [mono-label] {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field — data-invalid:text-destructive */\r\n[mono-date][mono-validation-state=\"error\"] > [mono-label] {\r\n color: var(--_mono-date-danger);\r\n}\r\n\r\n[mono-date] [mono-required-mark] {\r\n color: var(--_mono-date-danger);\r\n}\r\n\r\n/* =========================================\r\n The field — the bordered box\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/input-group.css .input-group */\r\n/* basecoat@1.0.2 styles/vega.css .input-group — h-9 rounded-md border border-input\r\n shadow-xs focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 */\r\n[mono-date] > [mono-field] {\r\n --_mono-date-bc: var(--_mono-date-border-color);\r\n --_mono-date-side-bc: var(--mono-date-side-border-color, var(--_mono-date-side-border-color-preset, var(--_mono-date-bc)));\r\n --_mono-date-ring: 0 0 #0000;\r\n\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n min-width: 0;\r\n min-height: var(--_mono-date-height);\r\n padding-block: var(--mono-date-padding-y, 0);\r\n outline-style: none;\r\n border: var(--mono-border-width) solid var(--_mono-date-bc);\r\n border-top-color: var(--_mono-date-side-bc);\r\n border-inline-color: var(--_mono-date-side-bc);\r\n border-radius: var(--_mono-date-radius);\r\n background: var(--_mono-date-bg);\r\n color: var(--_mono-date-text);\r\n box-shadow: var(--_mono-date-ring), var(--_mono-date-shadow);\r\n transition-property: color, box-shadow, border-color, background-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n\r\n &:focus-within {\r\n --_mono-date-bc: var(--_mono-date-ring-color);\r\n --_mono-date-ring: 0 0 0 var(--_mono-date-ring-width) color-mix(in oklab, var(--_mono-date-ring-color) var(--_mono-date-ring-alpha), transparent);\r\n }\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group — has-[[aria-invalid=true]]:border-destructive\r\n has-[[aria-invalid=true]]:ring-3 has-[[aria-invalid=true]]:ring-destructive/20 */\r\n[mono-date][mono-validation-state=\"error\"] > [mono-field],\r\n[mono-date] > [mono-field]:has(> [mono-native][aria-invalid=\"true\"]) {\r\n --_mono-date-bc: var(--mono-mode-invalid-border);\r\n --_mono-date-ring: 0 0 0 var(--_mono-date-ring-width) var(--mono-mode-invalid-ring);\r\n}\r\n\r\n/* EXTENSION — success is the invalid pattern in --success */\r\n[mono-date][mono-validation-state=\"success\"] > [mono-field] {\r\n --_mono-date-bc: color-mix(in oklab, var(--_mono-date-success) var(--mono-mode-state-border-alpha), transparent);\r\n --_mono-date-ring: 0 0 0 var(--_mono-date-ring-width) color-mix(in oklab, var(--_mono-date-success) var(--mono-mode-state-ring-alpha), transparent);\r\n}\r\n\r\n/* EXTENSION — readonly: a muted surface */\r\n[mono-date][mono-readonly] > [mono-field] {\r\n background: var(--mono-date-readonly-bg, var(--muted));\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group:has(> :is(input, textarea, select, [data-control]):disabled) — opacity-50 */\r\n[mono-date][mono-disabled] > [mono-field],\r\n[mono-date]:not([mono-readonly]) > [mono-field]:has(> [mono-native]:disabled) {\r\n opacity: 0.5;\r\n cursor: not-allowed;\r\n background: var(--mono-date-disabled-bg, var(--_mono-date-bg));\r\n}\r\n\r\n/* =========================================\r\n The native input (flatpickr's altInput takes the same rule: it replaces the\r\n native in the DOM and inherits its class + attributes)\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/input-group.css .input-group > :is(input, textarea, select, [data-control]) */\r\n/* basecoat@1.0.2 styles/vega.css .input-group > :is(input, select, [data-control]) — px-2.5 py-1 text-sm */\r\n[mono-date] [mono-native],\r\n[mono-date] [mono-field] > input.flatpickr-input.altInput {\r\n display: block;\r\n flex: 1 1 auto;\r\n width: 100%;\r\n min-width: 0;\r\n align-self: stretch;\r\n appearance: none;\r\n margin: 0;\r\n border: 0;\r\n border-radius: 0;\r\n outline: none;\r\n background: transparent;\r\n box-shadow: none;\r\n color: var(--_mono-date-text);\r\n font-family: inherit;\r\n font-size: var(--_mono-date-font-size);\r\n line-height: var(--_mono-date-line-height);\r\n padding-inline: var(--_mono-date-padding-x);\r\n padding-block: 0;\r\n\r\n &::placeholder {\r\n color: var(--_mono-date-placeholder);\r\n }\r\n\r\n &:disabled {\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n }\r\n\r\n &:read-only {\r\n cursor: inherit;\r\n }\r\n\r\n &:focus,\r\n &:focus-visible {\r\n outline: none !important;\r\n }\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group:not([data-orientation='vertical']):has(> :is([data-align='start'], [data-align='inline-start'])) > :is(input, select, [data-control]) — ps-1.5 */\r\n[mono-date] > [mono-field]:has(> [mono-prefix]:not([mono-empty])) > :is([mono-native], input.flatpickr-input.altInput) {\r\n padding-inline-start: var(--mono-date-affix-gap, calc(var(--mono-spacing) * 1.5));\r\n}\r\n[mono-date] > [mono-field]:has(> [mono-clear]) > :is([mono-native], input.flatpickr-input.altInput) {\r\n padding-inline-end: var(--mono-date-affix-gap, calc(var(--mono-spacing) * 1.5));\r\n}\r\n\r\n/* =========================================\r\n The leading icon\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group > :is(span, [role='group'], header, footer), .input-group > :is(svg, kbd, .popover, .dropdown-menu)\r\n — text-muted-foreground select-none, svg size-4; [data-align='start'] ps-2 */\r\n[mono-date] [mono-prefix] {\r\n flex: 0 0 auto;\r\n display: inline-flex;\r\n align-items: center;\r\n padding-inline-start: var(--_mono-date-affix-padding);\r\n color: var(--_mono-date-muted);\r\n user-select: none;\r\n pointer-events: none;\r\n}\r\n\r\n[mono-date] [mono-prefix] > :is(svg, .mono-icon, [mono-icon]) {\r\n display: block;\r\n width: var(--_mono-date-affix-icon);\r\n height: var(--_mono-date-affix-icon);\r\n flex-shrink: 0;\r\n}\r\n\r\n/* =========================================\r\n Clear button — a ghost icon button in the end slot\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .input-group > :is(button, [role='group'] > button, header > button, footer > button):has(> svg):not(:has(> :not(svg)))\r\n — size-6 rounded-[calc(var(--radius)-5px)] p-0 shadow-none, svg size-3.5; me-1 */\r\n[mono-date] [mono-clear] {\r\n flex: 0 0 auto;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-date-clear);\r\n height: var(--_mono-date-clear);\r\n padding: 0;\r\n margin: 0;\r\n margin-inline-end: var(--mono-spacing);\r\n border: 0;\r\n border-radius: var(--mono-date-clear-radius, calc(var(--radius) - 5px));\r\n background: transparent;\r\n box-shadow: none;\r\n color: var(--_mono-date-muted);\r\n font: inherit;\r\n line-height: 1;\r\n cursor: pointer;\r\n outline-style: none;\r\n transition-property: color, background-color, box-shadow;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n\r\n &:focus-visible {\r\n box-shadow: 0 0 0 var(--_mono-date-ring-width) color-mix(in oklab, var(--_mono-date-ring-color) var(--_mono-date-ring-alpha), transparent);\r\n }\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .btn[data-variant='ghost'] — hover:bg-muted hover:text-foreground */\r\n@media (hover: hover) {\r\n [mono-date] [mono-clear]:hover {\r\n background: var(--mono-mode-ghost-hover);\r\n color: var(--_mono-date-text);\r\n }\r\n}\r\n\r\n[mono-date] [mono-clear] > :is(svg, .mono-icon, [mono-icon]) {\r\n display: block;\r\n width: var(--_mono-date-clear-glyph);\r\n height: var(--_mono-date-clear-glyph);\r\n pointer-events: none;\r\n}\r\n\r\n/* =========================================\r\n Message\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .fieldset legend + p, .field > p, .field section > p */\r\n[mono-date] > [mono-message-wrap] {\r\n display: block;\r\n}\r\n\r\n[mono-date] > [mono-message-wrap]:not(:has([mono-message]:not([mono-empty]))) {\r\n display: none;\r\n}\r\n\r\n[mono-date] [mono-message] {\r\n font-size: var(--mono-date-message-font-size, var(--mono-text-sm));\r\n line-height: var(--mono-date-message-line-height, var(--mono-leading-normal));\r\n font-weight: var(--mono-font-weight-normal);\r\n text-align: start;\r\n color: var(--_mono-date-muted);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field [role=\"alert\"] — text-destructive text-sm */\r\n[mono-date] [mono-message=\"error\"] {\r\n color: var(--_mono-date-danger);\r\n}\r\n\r\n[mono-date] [mono-message=\"success\"] {\r\n color: var(--_mono-date-success);\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n [mono-date] > [mono-field],\r\n [mono-date] [mono-clear] {\r\n transition: none;\r\n }\r\n}\r\n\r\n/* =========================================\r\n flatpickr calendar — restyled in Basecoat's idiom\r\n -----------------------------------------\r\n The calendar renders into <body>, so it reads the page tokens and cannot see\r\n the field's resolvers; the element copies the field's accent onto it as\r\n `--cal-accent` / `--cal-accent-foreground` (inline) so it follows the `color`\r\n prop. Every rule is scoped to our `.mono-flatpickr` marker; flatpickr's own\r\n geometry (day cells, container widths) is kept — only colour, radius,\r\n typography and the frame are ours.\r\n\r\n basecoat@1.0.2 styles/vega.css .select:not(select) [data-popover] — the frame:\r\n bg-popover text-popover-foreground ring-1 ring-foreground/10 rounded-md\r\n shadow-md. EXTENSION: the day / caption / nav values are shadcn's Calendar\r\n (Basecoat 1.0.2 ships no calendar): day size-8 rounded-md text-sm,\r\n hover / today / in-range bg-accent text-accent-foreground, selected\r\n bg-primary text-primary-foreground, outside days text-muted-foreground/50,\r\n caption text-sm font-medium, weekdays text-muted-foreground text-[0.8rem].\r\n ========================================= */\r\n.flatpickr-calendar.mono-flatpickr {\r\n --cal-bg: var(--mono-date-calendar-bg, var(--popover));\r\n --cal-text: var(--mono-date-calendar-color, var(--popover-foreground));\r\n --cal-muted: var(--muted-foreground);\r\n --cal-faint: color-mix(in oklab, var(--muted-foreground) 50%, transparent);\r\n --cal-border: var(--border);\r\n --cal-soft: var(--accent);\r\n --cal-soft-foreground: var(--accent-foreground);\r\n --cal-accent: var(--primary);\r\n --cal-accent-foreground: var(--primary-foreground);\r\n --cal-radius: var(--mono-date-calendar-day-radius, var(--mono-radius-md));\r\n\r\n background: var(--cal-bg);\r\n border: 0;\r\n border-radius: var(--mono-date-calendar-radius, var(--mono-radius-md));\r\n box-shadow: var(--mono-date-calendar-ring, 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent)), var(--mono-date-calendar-shadow, var(--mono-shadow-md));\r\n color: var(--cal-text);\r\n font-family: inherit;\r\n font-size: var(--mono-text-sm);\r\n line-height: var(--mono-text-sm--lh);\r\n}\r\n\r\n/* a popover has no pointer arrow */\r\n.flatpickr-calendar.mono-flatpickr::before,\r\n.flatpickr-calendar.mono-flatpickr::after {\r\n display: none;\r\n}\r\n\r\n/* months / header — text-sm font-medium */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-month,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-current-month,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-current-month input.cur-year {\r\n color: var(--cal-text);\r\n fill: var(--cal-text);\r\n font-size: var(--mono-text-sm);\r\n font-weight: var(--mono-font-weight-medium);\r\n}\r\n\r\n/* nav — .btn[data-variant='outline'][data-size='icon-sm']: size-7 rounded-md\r\n border-border bg-background hover:bg-muted, painted flat here */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-prev-month,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-next-month {\r\n color: var(--cal-muted);\r\n fill: var(--cal-muted);\r\n border-radius: var(--cal-radius);\r\n transition-property: color, background-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-prev-month svg,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-next-month svg {\r\n fill: currentColor;\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-prev-month:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-next-month:hover {\r\n background: var(--cal-soft);\r\n color: var(--cal-soft-foreground);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-prev-month:hover svg,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-next-month:hover svg {\r\n fill: var(--cal-soft-foreground);\r\n}\r\n\r\n/* month dropdown — a native <select>. Its popup list is drawn by the browser\r\n from the select's OWN background-color and the option colours (a transparent\r\n select falls back to the OS palette, which is what mismatched the dark popover),\r\n so the select carries the popover surface and never changes it on hover. */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-monthDropdown-months {\r\n background: var(--cal-bg);\r\n color: var(--cal-text);\r\n color-scheme: inherit;\r\n font-weight: var(--mono-font-weight-medium);\r\n border-radius: var(--cal-radius);\r\n transition-property: color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-monthDropdown-months:hover {\r\n background: var(--cal-bg);\r\n color: var(--cal-accent);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {\r\n background: var(--cal-bg);\r\n color: var(--cal-text);\r\n font-weight: var(--mono-font-weight-normal);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month:checked {\r\n background: var(--cal-soft);\r\n color: var(--cal-soft-foreground);\r\n}\r\n\r\n/* year stepper */\r\n\r\n.flatpickr-calendar.mono-flatpickr .numInputWrapper:hover {\r\n background: var(--cal-soft);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .numInputWrapper span {\r\n border-color: var(--cal-border);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .numInputWrapper span:hover {\r\n background: var(--cal-soft);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .numInputWrapper span.arrowUp::after {\r\n border-bottom-color: var(--cal-muted);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .numInputWrapper span.arrowDown::after {\r\n border-top-color: var(--cal-muted);\r\n}\r\n\r\n/* weekdays — text-muted-foreground text-[0.8rem] font-normal */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-weekdays {\r\n background: transparent;\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr span.flatpickr-weekday {\r\n background: transparent;\r\n color: var(--cal-muted);\r\n font-size: 0.8rem;\r\n font-weight: var(--mono-font-weight-normal);\r\n}\r\n\r\n/* days — rounded-md text-sm; hover bg-accent; today bg-accent; selected bg-primary */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day {\r\n color: var(--cal-text);\r\n border: 1px solid transparent;\r\n border-radius: var(--cal-radius);\r\n font-size: var(--mono-text-sm);\r\n font-weight: var(--mono-font-weight-normal);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day:focus {\r\n background: var(--cal-soft);\r\n border-color: transparent;\r\n color: var(--cal-soft-foreground);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.today {\r\n background: var(--cal-soft);\r\n border-color: transparent;\r\n color: var(--cal-soft-foreground);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.selected,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.startRange,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.endRange,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.selected:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.startRange:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.endRange:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.selected:focus,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.startRange:focus,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.endRange:focus,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.selected.today {\r\n background: var(--cal-accent);\r\n border-color: var(--cal-accent);\r\n color: var(--cal-accent-foreground);\r\n}\r\n\r\n/* range middle — bg-accent, squared between the two ends */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.inRange {\r\n background: var(--cal-soft);\r\n border-color: transparent;\r\n color: var(--cal-soft-foreground);\r\n border-radius: 0;\r\n box-shadow: -5px 0 0 var(--cal-soft), 5px 0 0 var(--cal-soft);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.prevMonthDay,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.nextMonthDay {\r\n color: var(--cal-faint);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.flatpickr-disabled,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-day.flatpickr-disabled:hover {\r\n color: var(--cal-faint);\r\n background: transparent;\r\n cursor: not-allowed;\r\n}\r\n\r\n/* week numbers */\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-weekwrapper .flatpickr-weekday,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-weekwrapper span.flatpickr-day {\r\n color: var(--cal-faint);\r\n}\r\n\r\n/* time */\r\n.flatpickr-calendar.mono-flatpickr.hasTime .flatpickr-time {\r\n border-top: 1px solid var(--cal-border);\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time input,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time .flatpickr-time-separator,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time .flatpickr-am-pm {\r\n color: var(--cal-text);\r\n background: transparent;\r\n}\r\n\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time input:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time input:focus,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time .flatpickr-am-pm:hover,\r\n.flatpickr-calendar.mono-flatpickr .flatpickr-time .flatpickr-am-pm:focus {\r\n background: var(--cal-soft);\r\n color: var(--cal-soft-foreground);\r\n}\r\n\r\n/* the inline calendar (`inline`) sits in the page flow, on the field's own surface */\r\n.flatpickr-calendar.mono-flatpickr.inline {\r\n box-shadow: var(--mono-date-calendar-ring, 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent));\r\n}\r\n";
674
+ //#endregion
675
+ //#region src/components/date/mono-date.ts
676
+ var MonoDate = class MonoDate extends MonoDateCore(LitElement) {
677
+ static {
678
+ this.styles = [unsafeCSS(date_default)];
679
+ }
680
+ createRenderRoot() {
681
+ return this;
682
+ }
683
+ };
684
+ MonoDate = __decorate([customElement("mono-date")], MonoDate);
685
+ //#endregion
686
+ export { MonoDate };