@mono-lit/helper 0.0.0-stage → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +35 -3
  3. package/dist/breakpoints-CAbhDUht.js +84 -0
  4. package/dist/checkbox-Cqpie9Ap.js +4 -0
  5. package/dist/chip-DBUUa2eB.js +4 -0
  6. package/dist/chip-limits-BMoO31JM.js +213 -0
  7. package/dist/chip-strip-Cw3gyz0q.js +213 -0
  8. package/dist/color-DHYrfXsX.js +253 -0
  9. package/dist/css-class-BRKRzHx-.js +60 -0
  10. package/dist/css-size-DhHSVZJK.js +37 -0
  11. package/dist/data/theme/presets.json.d.ts +140 -0
  12. package/dist/data-source-controller-B_rgHCjw.js +241 -0
  13. package/dist/data-source-controller-Dbb4fd8I.js +241 -0
  14. package/dist/data-source-options-CP-X62Pa.js +535 -0
  15. package/dist/data-source-options-Jqj7LU3Z.js +537 -0
  16. package/dist/data-source-read-B4DGp6UQ.js +216 -0
  17. package/dist/data-source-read-DL88aH8t.js +217 -0
  18. package/dist/decorate-DEXtNagw.js +141 -0
  19. package/dist/element-props-CLB6yvbm.js +114 -0
  20. package/dist/esm-Ptok4SQZ.js +2026 -0
  21. package/dist/excel-CY6zGkcx.js +608 -0
  22. package/dist/excel-DopRbEMK.js +608 -0
  23. package/dist/export-BiGVyxt6.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-DELrSdqJ.js +86 -0
  27. package/dist/field-path-C92eGLg3.js +251 -0
  28. package/dist/filter-builder-Bke3qOgJ.js +205 -0
  29. package/dist/filter-builder-CE4zE0V5.js +205 -0
  30. package/dist/filter-eval-DIfU2EAn.js +173 -0
  31. package/dist/filter-odata-C1vSGZaY.js +591 -0
  32. package/dist/form-control-core-B8d7k6vk.js +223 -0
  33. package/dist/form-control-core-eeRr0zLU.js +223 -0
  34. package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
  35. package/dist/icon-CJkTlmTb.js +55 -0
  36. package/dist/icon-dVhYJUIH.js +17 -0
  37. package/dist/import-BgJdkwBI.js +606 -0
  38. package/dist/import.d.ts +1 -0
  39. package/dist/import.js +606 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js +16 -0
  42. package/dist/index.node-BIqEGehH.js +396 -0
  43. package/dist/index.node.d.ts +1 -0
  44. package/dist/index.node.js +16 -0
  45. package/dist/input-zGOULADt.js +4 -0
  46. package/dist/layout-var-CZnzMC0s.js +73 -0
  47. package/dist/light-slots-BVJwyg_2.js +244 -0
  48. package/dist/light-slots-DW1WgfgT.js +254 -0
  49. package/dist/markdown-DfqrfOJN.js +20146 -0
  50. package/dist/mono-button-simcTQdW.js +873 -0
  51. package/dist/mono-button.shadow-B_rKOY9N.js +784 -0
  52. package/dist/mono-data-chart-CEv29_NS.js +779 -0
  53. package/dist/mono-data-dropdown-Wnoke6zO.js +357 -0
  54. package/dist/mono-data-grid-CjkEqxgE.js +3913 -0
  55. package/dist/mono-data-grid-YjR3n9Ar.js +3915 -0
  56. package/dist/mono-element-B0kP_96P.js +232 -0
  57. package/dist/mono-event-Bi1qP9uN.js +129 -0
  58. package/dist/mono-form-controller-5PfsU4qa.js +409 -0
  59. package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
  60. package/dist/mono-ui-CPV7rrdo.js +358 -0
  61. package/dist/normalize-error-Gcgmgh5i.js +871 -0
  62. package/dist/notifier-CE4yxMUQ.js +88 -0
  63. package/dist/nuxt.d.ts +1 -0
  64. package/dist/nuxt.js +130 -0
  65. package/dist/popup-portal-BziRX1yG.js +465 -0
  66. package/dist/popup-stack-CEEMib__.js +189 -0
  67. package/dist/rate-limit-BBa2PO79.js +521 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/reactive-Di3mTMnV.js +1087 -0
  70. package/dist/search.d.ts +1 -0
  71. package/dist/search.js +97 -0
  72. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  73. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  74. package/dist/src/components/accordion/index.d.ts +3 -0
  75. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  76. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  77. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  78. package/dist/src/components/alert/alert-core.d.ts +46 -0
  79. package/dist/src/components/alert/alert-types.d.ts +44 -0
  80. package/dist/src/components/alert/index.d.ts +3 -0
  81. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  82. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  83. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  88. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  89. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  90. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  94. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  95. package/dist/src/components/button/button-core.d.ts +90 -0
  96. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  97. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  98. package/dist/src/components/button/button-types.d.ts +219 -0
  99. package/dist/src/components/button/button-utils.d.ts +18 -0
  100. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  101. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  102. package/dist/src/components/button/index.d.ts +8 -0
  103. package/dist/src/components/button/index.shadow.d.ts +5 -0
  104. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  105. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  106. package/dist/src/components/button/mono-button.d.ts +123 -0
  107. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  108. package/dist/src/components/card/card-core.d.ts +75 -0
  109. package/dist/src/components/card/card-types.d.ts +137 -0
  110. package/dist/src/components/card/card-utils.d.ts +23 -0
  111. package/dist/src/components/card/index.d.ts +4 -0
  112. package/dist/src/components/card/index.shadow.d.ts +6 -0
  113. package/dist/src/components/card/mono-card.d.ts +56 -0
  114. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  115. package/dist/src/components/chart/chart-core.d.ts +43 -0
  116. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  117. package/dist/src/components/chart/chart-types.d.ts +356 -0
  118. package/dist/src/components/chart/index.d.ts +8 -0
  119. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  120. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  122. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  123. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  124. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  125. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  126. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  127. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  128. package/dist/src/components/checkbox/index.d.ts +4 -0
  129. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  130. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  131. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  132. package/dist/src/components/chip/chip-core.d.ts +58 -0
  133. package/dist/src/components/chip/chip-types.d.ts +142 -0
  134. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  135. package/dist/src/components/chip/index.d.ts +8 -0
  136. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  137. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  138. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  139. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  140. package/dist/src/components/date/date-core.d.ts +80 -0
  141. package/dist/src/components/date/date-types.d.ts +163 -0
  142. package/dist/src/components/date/index.d.ts +3 -0
  143. package/dist/src/components/date/index.shadow.d.ts +4 -0
  144. package/dist/src/components/date/mono-date.d.ts +22 -0
  145. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  146. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  147. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  148. package/dist/src/components/drawer/index.d.ts +3 -0
  149. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  150. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  151. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  152. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  153. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  154. package/dist/src/components/dropdown/index.d.ts +3 -0
  155. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  156. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  157. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  159. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  160. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  161. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  162. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  164. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  165. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  166. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  167. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  168. package/dist/src/components/file-upload/index.d.ts +4 -0
  169. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  170. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  171. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  172. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  173. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  174. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  175. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  176. package/dist/src/components/filter/filter-types.d.ts +253 -0
  177. package/dist/src/components/filter/index.d.ts +6 -0
  178. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  179. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  180. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  181. package/dist/src/components/form/form-control-core.d.ts +37 -0
  182. package/dist/src/components/form/form-rules.d.ts +25 -0
  183. package/dist/src/components/form/form-types.d.ts +307 -0
  184. package/dist/src/components/form/index.d.ts +6 -0
  185. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  186. package/dist/src/components/input/index.d.ts +6 -0
  187. package/dist/src/components/input/index.shadow.d.ts +8 -0
  188. package/dist/src/components/input/input-core.d.ts +91 -0
  189. package/dist/src/components/input/input-format.d.ts +118 -0
  190. package/dist/src/components/input/input-types.d.ts +179 -0
  191. package/dist/src/components/input/input-utils.d.ts +10 -0
  192. package/dist/src/components/input/mono-input.d.ts +46 -0
  193. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  194. package/dist/src/components/menu/index.d.ts +6 -0
  195. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  196. package/dist/src/components/menu/menu-core.d.ts +65 -0
  197. package/dist/src/components/menu/menu-render.d.ts +55 -0
  198. package/dist/src/components/menu/menu-types.d.ts +195 -0
  199. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  200. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  201. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  202. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  203. package/dist/src/components/modal/index.d.ts +4 -0
  204. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  205. package/dist/src/components/modal/modal-core.d.ts +110 -0
  206. package/dist/src/components/modal/modal-types.d.ts +304 -0
  207. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  208. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  209. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  210. package/dist/src/components/nav/index.d.ts +4 -0
  211. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  212. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  213. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  214. package/dist/src/components/nav/nav-core.d.ts +34 -0
  215. package/dist/src/components/nav/nav-types.d.ts +48 -0
  216. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  217. package/dist/src/components/radio/index.d.ts +4 -0
  218. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  219. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  220. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  221. package/dist/src/components/radio/radio-core.d.ts +45 -0
  222. package/dist/src/components/radio/radio-types.d.ts +58 -0
  223. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  224. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  225. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  227. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  231. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  232. package/dist/src/components/select/index.d.ts +4 -0
  233. package/dist/src/components/select/index.shadow.d.ts +5 -0
  234. package/dist/src/components/select/mono-select.d.ts +69 -0
  235. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  236. package/dist/src/components/select/select-core.d.ts +98 -0
  237. package/dist/src/components/select/select-types.d.ts +284 -0
  238. package/dist/src/components/select/select-utils.d.ts +7 -0
  239. package/dist/src/components/sidebar/index.d.ts +4 -0
  240. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  241. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  242. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  243. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  244. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  245. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  246. package/dist/src/components/switch/index.d.ts +4 -0
  247. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  248. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  249. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  250. package/dist/src/components/switch/switch-core.d.ts +49 -0
  251. package/dist/src/components/switch/switch-types.d.ts +64 -0
  252. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  253. package/dist/src/components/table/array-source.d.ts +44 -0
  254. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  255. package/dist/src/components/table/grouping.d.ts +55 -0
  256. package/dist/src/components/table/index.d.ts +33 -0
  257. package/dist/src/components/table/index.shadow.d.ts +47 -0
  258. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  259. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  260. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  261. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  262. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  263. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  264. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  265. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  266. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  267. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  268. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  269. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  270. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  271. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  272. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  273. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  274. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  275. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  276. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  278. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  279. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  280. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  281. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  282. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  283. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  284. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  285. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  286. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  287. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  288. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  289. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  290. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  291. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  292. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  293. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  294. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  295. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  296. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  297. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  298. package/dist/src/components/table/store-group-source.d.ts +24 -0
  299. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  300. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  301. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  302. package/dist/src/components/table/table-overlay.d.ts +165 -0
  303. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  304. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  305. package/dist/src/components/table/table-types.d.ts +475 -0
  306. package/dist/src/components/tabs/index.d.ts +3 -0
  307. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  308. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  309. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  310. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  311. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  312. package/dist/src/components/tag-input/index.d.ts +4 -0
  313. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  314. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  315. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  316. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  317. package/dist/src/components/tag-input/tag-input-types.d.ts +420 -0
  318. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  319. package/dist/src/components/textarea/index.d.ts +4 -0
  320. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  321. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  322. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  323. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  324. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  325. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  326. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  327. package/dist/src/components/tooltip/index.d.ts +6 -0
  328. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  329. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  330. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  331. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  332. package/dist/src/composables/breakpoints.d.ts +59 -0
  333. package/dist/src/composables/chip-limits.d.ts +48 -0
  334. package/dist/src/composables/chip-strip.d.ts +93 -0
  335. package/dist/src/composables/color.d.ts +103 -0
  336. package/dist/src/composables/css-class.d.ts +27 -0
  337. package/dist/src/composables/css-size.d.ts +40 -0
  338. package/dist/src/composables/data-source-controller.d.ts +113 -0
  339. package/dist/src/composables/element-props.d.ts +46 -0
  340. package/dist/src/composables/field-icons.d.ts +15 -0
  341. package/dist/src/composables/hybird-prop.d.ts +79 -0
  342. package/dist/src/composables/hydration-flush.d.ts +34 -0
  343. package/dist/src/composables/icon.d.ts +17 -0
  344. package/dist/src/composables/layout-var.d.ts +34 -0
  345. package/dist/src/composables/light-slots.d.ts +133 -0
  346. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  347. package/dist/src/composables/mono-element.d.ts +9 -0
  348. package/dist/src/composables/mono-event.d.ts +55 -0
  349. package/dist/src/composables/mono-pending.d.ts +8 -0
  350. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  351. package/dist/src/composables/mono-ui.d.ts +58 -0
  352. package/dist/src/composables/notifier.d.ts +46 -0
  353. package/dist/src/composables/popup-portal.d.ts +226 -0
  354. package/dist/src/composables/popup-stack.d.ts +70 -0
  355. package/dist/src/composables/rate-limit.d.ts +108 -0
  356. package/dist/src/composables/reactive.d.ts +53 -0
  357. package/dist/src/composables/shadow-css.d.ts +42 -0
  358. package/dist/src/composables/visibility.d.ts +36 -0
  359. package/dist/src/data/theme/index.d.ts +30 -0
  360. package/dist/src/data/theme/presets.d.ts +94 -0
  361. package/dist/src/entries/index.d.ts +2 -0
  362. package/dist/src/entries/index.node.d.ts +42 -0
  363. package/dist/src/entries/search.d.ts +3 -0
  364. package/dist/src/export/detail.d.ts +29 -0
  365. package/dist/src/export/download.d.ts +9 -0
  366. package/dist/src/export/excel/index.d.ts +27 -0
  367. package/dist/src/export/excel/nodes.d.ts +123 -0
  368. package/dist/src/export/expression.d.ts +36 -0
  369. package/dist/src/export/helpers.d.ts +6 -0
  370. package/dist/src/export/index.d.ts +13 -0
  371. package/dist/src/export/markdown.d.ts +52 -0
  372. package/dist/src/export/resolve-data.d.ts +31 -0
  373. package/dist/src/export/sentinel.d.ts +97 -0
  374. package/dist/src/export/sheet-name.d.ts +45 -0
  375. package/dist/src/export/styles.d.ts +33 -0
  376. package/dist/src/export/template.d.ts +10 -0
  377. package/dist/src/export/types.d.ts +259 -0
  378. package/dist/src/import/coerce.d.ts +38 -0
  379. package/dist/src/import/index.d.ts +16 -0
  380. package/dist/src/import/match.d.ts +54 -0
  381. package/dist/src/import/parse.d.ts +15 -0
  382. package/dist/src/import/types.d.ts +153 -0
  383. package/dist/src/nuxt/index.d.ts +94 -0
  384. package/dist/src/search/data-search.d.ts +207 -0
  385. package/dist/src/search/field-path.d.ts +107 -0
  386. package/dist/src/search/filter-eval.d.ts +30 -0
  387. package/dist/src/search/index.d.ts +22 -0
  388. package/dist/src/search/odata-search.d.ts +18 -0
  389. package/dist/src/search/search-expr.d.ts +160 -0
  390. package/dist/src/utils/data-source-apply.d.ts +97 -0
  391. package/dist/src/utils/data-source-options.d.ts +116 -0
  392. package/dist/src/utils/data-source-read.d.ts +85 -0
  393. package/dist/src/utils/data-source-summary.d.ts +55 -0
  394. package/dist/src/utils/normalize-error.d.ts +90 -0
  395. package/dist/src/vite/index.d.ts +48 -0
  396. package/dist/src/vite/mono-client-only.d.ts +35 -0
  397. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  398. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  399. package/dist/styles-BIJ31TM4.js +20146 -0
  400. package/dist/tooltip-DQqNpqk2.js +795 -0
  401. package/dist/tooltip.d.ts +1 -0
  402. package/dist/tooltip.js +2 -0
  403. package/dist/ui/accordion.d.ts +1 -0
  404. package/dist/ui/accordion.js +466 -0
  405. package/dist/ui/alert.d.ts +1 -0
  406. package/dist/ui/alert.js +221 -0
  407. package/dist/ui/breadcrumb.d.ts +1 -0
  408. package/dist/ui/breadcrumb.js +902 -0
  409. package/dist/ui/button-dropdown.d.ts +1 -0
  410. package/dist/ui/button-dropdown.js +679 -0
  411. package/dist/ui/button.d.ts +1 -0
  412. package/dist/ui/button.js +63 -0
  413. package/dist/ui/card.d.ts +1 -0
  414. package/dist/ui/card.js +524 -0
  415. package/dist/ui/chart.d.ts +1 -0
  416. package/dist/ui/chart.js +885 -0
  417. package/dist/ui/checkbox.d.ts +1 -0
  418. package/dist/ui/checkbox.js +413 -0
  419. package/dist/ui/chip.d.ts +1 -0
  420. package/dist/ui/chip.js +558 -0
  421. package/dist/ui/date.d.ts +1 -0
  422. package/dist/ui/date.js +686 -0
  423. package/dist/ui/drawer.d.ts +1 -0
  424. package/dist/ui/drawer.js +901 -0
  425. package/dist/ui/dropdown-table.d.ts +1 -0
  426. package/dist/ui/dropdown-table.js +1291 -0
  427. package/dist/ui/dropdown.d.ts +1 -0
  428. package/dist/ui/dropdown.js +586 -0
  429. package/dist/ui/file-upload.d.ts +1 -0
  430. package/dist/ui/file-upload.js +688 -0
  431. package/dist/ui/filter.d.ts +1 -0
  432. package/dist/ui/filter.js +400 -0
  433. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  434. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  435. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  436. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  437. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  443. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  444. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  445. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  446. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  447. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  448. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  449. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  450. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  462. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  463. package/dist/ui/font/geist-mono.css +104 -0
  464. package/dist/ui/font/geist.css +168 -0
  465. package/dist/ui/font/inter.css +232 -0
  466. package/dist/ui/font/poppins.css +104 -0
  467. package/dist/ui/form.d.ts +1 -0
  468. package/dist/ui/form.js +3 -0
  469. package/dist/ui/index.css +21989 -0
  470. package/dist/ui/input.d.ts +1 -0
  471. package/dist/ui/input.js +1176 -0
  472. package/dist/ui/menu.d.ts +1 -0
  473. package/dist/ui/menu.js +1289 -0
  474. package/dist/ui/modal.d.ts +1 -0
  475. package/dist/ui/modal.js +996 -0
  476. package/dist/ui/nav.d.ts +1 -0
  477. package/dist/ui/nav.js +295 -0
  478. package/dist/ui/radio.d.ts +1 -0
  479. package/dist/ui/radio.js +379 -0
  480. package/dist/ui/rich-text-editor.d.ts +1 -0
  481. package/dist/ui/rich-text-editor.js +1338 -0
  482. package/dist/ui/select.d.ts +1 -0
  483. package/dist/ui/select.js +2200 -0
  484. package/dist/ui/shadow/accordion.js +442 -0
  485. package/dist/ui/shadow/alert.js +218 -0
  486. package/dist/ui/shadow/breadcrumb.js +919 -0
  487. package/dist/ui/shadow/button-dropdown.js +696 -0
  488. package/dist/ui/shadow/button.js +63 -0
  489. package/dist/ui/shadow/card.js +538 -0
  490. package/dist/ui/shadow/chart.js +1685 -0
  491. package/dist/ui/shadow/checkbox.js +457 -0
  492. package/dist/ui/shadow/chip.js +559 -0
  493. package/dist/ui/shadow/date.js +712 -0
  494. package/dist/ui/shadow/drawer.js +869 -0
  495. package/dist/ui/shadow/dropdown-table.js +1620 -0
  496. package/dist/ui/shadow/dropdown.js +547 -0
  497. package/dist/ui/shadow/file-upload.js +731 -0
  498. package/dist/ui/shadow/filter.js +402 -0
  499. package/dist/ui/shadow/input.js +1150 -0
  500. package/dist/ui/shadow/menu.js +899 -0
  501. package/dist/ui/shadow/modal.js +1194 -0
  502. package/dist/ui/shadow/nav.js +240 -0
  503. package/dist/ui/shadow/radio.js +408 -0
  504. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  505. package/dist/ui/shadow/select.js +2167 -0
  506. package/dist/ui/shadow/sidebar.js +606 -0
  507. package/dist/ui/shadow/switch.js +428 -0
  508. package/dist/ui/shadow/table.js +4755 -0
  509. package/dist/ui/shadow/tabs.js +372 -0
  510. package/dist/ui/shadow/tag-input.js +2974 -0
  511. package/dist/ui/shadow/textarea.js +816 -0
  512. package/dist/ui/sidebar.d.ts +1 -0
  513. package/dist/ui/sidebar.js +659 -0
  514. package/dist/ui/switch.d.ts +1 -0
  515. package/dist/ui/switch.js +398 -0
  516. package/dist/ui/table.d.ts +1 -0
  517. package/dist/ui/table.js +4654 -0
  518. package/dist/ui/tabs.d.ts +1 -0
  519. package/dist/ui/tabs.js +379 -0
  520. package/dist/ui/tag-input.d.ts +1 -0
  521. package/dist/ui/tag-input.js +2947 -0
  522. package/dist/ui/textarea.d.ts +1 -0
  523. package/dist/ui/textarea.js +819 -0
  524. package/dist/ui/theme/legacy.css +293 -0
  525. package/dist/ui/theme/luma.css +743 -0
  526. package/dist/ui/theme/lyra.css +754 -0
  527. package/dist/ui/theme/maia.css +673 -0
  528. package/dist/ui/theme/mira.css +802 -0
  529. package/dist/ui/theme/nova.css +662 -0
  530. package/dist/ui/theme/one.css +699 -0
  531. package/dist/ui/theme/rhea.css +742 -0
  532. package/dist/ui/theme/sera.css +845 -0
  533. package/dist/ui/theme/tokens.css +261 -0
  534. package/dist/ui/theme/vega.css +467 -0
  535. package/dist/vite-C5iUK7so.js +329 -0
  536. package/dist/vite.d.ts +1 -0
  537. package/dist/vite.js +2 -0
  538. package/dist/vue.d.ts +282 -0
  539. package/package.json +411 -3
@@ -0,0 +1,408 @@
1
+ import { a as __decorate, c as defineHybridPropAlias, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-RB5Tz5nl.js";
2
+ import { t as dispatchMonoEvent } from "../../mono-event-Bi1qP9uN.js";
3
+ import { t as MonoFormControlCore } from "../../form-control-core-B8d7k6vk.js";
4
+ import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
5
+ import { property, state } from "lit/decorators.js";
6
+ import { ifDefined } from "lit/directives/if-defined.js";
7
+ //#region src/components/radio/radio-core.ts
8
+ /**
9
+ * `MonoRadioCore` — all render-mode-agnostic logic for `mono-radio`: reactive
10
+ * props (incl. SSR `disabled` coercion), hybrid aliases (incl. the
11
+ * `ariaLabel`/`aria-label`/`arialabel` → `ariaLabelText` getters), camelCase
12
+ * attribute fallbacks, class computation, the `mno-change` interactivity, and the
13
+ * shared `<label><input><circle><dot></circle><labelBlock></label>` `render()`
14
+ * (the radio dot is pure CSS — no icons). Only the label/description region is a
15
+ * hook (`_renderLabelBlock`) — the light build uses `data-mono-slot`, the shadow
16
+ * build native `<slot>` (mirrors `mono-checkbox`).
17
+ *
18
+ * SSR-safe: no `document`/`window` access; `focus`/`blur` query `this.renderRoot`.
19
+ */
20
+ var MonoRadioCore = (superClass) => {
21
+ class MonoRadioCoreClass extends MonoFormControlCore(superClass) {
22
+ constructor(...args) {
23
+ super(...args);
24
+ this.size = "md";
25
+ this.color = "primary";
26
+ this.value = "";
27
+ this.modelValue = "";
28
+ this.disabled = false;
29
+ this.label = "";
30
+ this.sublabel = "";
31
+ this.cssClass = {};
32
+ this.cssClassName = "";
33
+ this._hasLabelSlotState = false;
34
+ this._hasDescriptionSlotState = false;
35
+ defineHybridPropAliases(this, [
36
+ "modelValue",
37
+ "ariaLabelText",
38
+ "cssClass"
39
+ ]);
40
+ defineHybridPropAlias(this, "description", "sublabel");
41
+ Object.defineProperty(this, "css-class", {
42
+ get: () => this.cssClass,
43
+ set: (value) => this._setCssClass(value),
44
+ configurable: true,
45
+ enumerable: false
46
+ });
47
+ Object.defineProperty(this, "cssclass", {
48
+ get: () => this.cssClass,
49
+ set: (value) => this._setCssClass(value),
50
+ configurable: true,
51
+ enumerable: false
52
+ });
53
+ for (const name of [
54
+ "ariaLabel",
55
+ "aria-label",
56
+ "arialabel"
57
+ ]) Object.defineProperty(this, name, {
58
+ get: () => this.ariaLabelText,
59
+ set: (value) => {
60
+ this.ariaLabelText = value == null ? void 0 : String(value);
61
+ },
62
+ configurable: true,
63
+ enumerable: false
64
+ });
65
+ }
66
+ static get observedAttributes() {
67
+ return [
68
+ ...super.observedAttributes ?? [],
69
+ "modelvalue",
70
+ "arialabeltext",
71
+ "description",
72
+ "arialabel",
73
+ "css-class",
74
+ "cssclass"
75
+ ];
76
+ }
77
+ attributeChangedCallback(name, oldValue, newValue) {
78
+ super.attributeChangedCallback(name, oldValue, newValue);
79
+ if (oldValue === newValue) return;
80
+ if (name === "modelvalue") {
81
+ this.modelValue = this._toRadioValue(newValue);
82
+ return;
83
+ }
84
+ if (name === "arialabeltext" || name === "arialabel") {
85
+ this.ariaLabelText = newValue ?? void 0;
86
+ return;
87
+ }
88
+ if (name === "description") {
89
+ this.sublabel = newValue ?? "";
90
+ return;
91
+ }
92
+ if (name === "css-class" || name === "cssclass") this._setCssClass(newValue);
93
+ }
94
+ willUpdate(changed) {
95
+ if (typeof this.disabled === "string") {
96
+ const normalized = this.disabled.toLowerCase().trim();
97
+ this.disabled = normalized === "" || normalized === "true";
98
+ }
99
+ super.willUpdate?.(changed);
100
+ }
101
+ _setCssClass(value) {
102
+ if (value == null) {
103
+ this.cssClass = {};
104
+ this.cssClassName = "";
105
+ return;
106
+ }
107
+ if (typeof value === "object") {
108
+ this.cssClass = value;
109
+ return;
110
+ }
111
+ if (typeof value === "string") {
112
+ const trimmed = value.trim();
113
+ if (!trimmed) {
114
+ this.cssClass = {};
115
+ this.cssClassName = "";
116
+ return;
117
+ }
118
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) try {
119
+ this.cssClass = JSON.parse(trimmed);
120
+ return;
121
+ } catch {}
122
+ this.cssClassName = trimmed;
123
+ }
124
+ }
125
+ _toRadioValue(value) {
126
+ if (value === void 0 || value === null) return "";
127
+ if (typeof value === "boolean") return value;
128
+ if (typeof value === "number") return value;
129
+ return String(value);
130
+ }
131
+ _cls(base, key) {
132
+ const extra = this.cssClass?.[key];
133
+ return extra ? `${base} ${extra}` : base;
134
+ }
135
+ get _checked() {
136
+ return this.modelValue === this.value;
137
+ }
138
+ get _wrapperClasses() {
139
+ return [
140
+ "mono-radio",
141
+ this.size,
142
+ this.color,
143
+ this.disabled ? "disabled" : "",
144
+ this._checked ? "mono-radio-checked" : "",
145
+ this.cssClassName,
146
+ this.cssClass?.root
147
+ ].filter(Boolean).join(" ");
148
+ }
149
+ get _inputClasses() {
150
+ return this._cls("mono-radio-input", "input");
151
+ }
152
+ get _circleClasses() {
153
+ return [this._cls("mono-radio-circle", "circle"), this.size].filter(Boolean).join(" ");
154
+ }
155
+ get _dotClasses() {
156
+ return [this._cls("mono-radio-dot", "dot"), this.size].filter(Boolean).join(" ");
157
+ }
158
+ _hasLabelContent() {
159
+ return Boolean(this.label) || this._hasLabelSlotState;
160
+ }
161
+ _hasDescriptionContent() {
162
+ return Boolean(this.sublabel) || this._hasDescriptionSlotState;
163
+ }
164
+ _createModelDetail(args) {
165
+ return {
166
+ modelValue: args.modelValue,
167
+ currentValue: args.modelValue,
168
+ oldValue: args.oldValue,
169
+ value: this.value,
170
+ checked: args.modelValue === this.value,
171
+ sourceEvent: args.sourceEvent
172
+ };
173
+ }
174
+ _emitChange(detail) {
175
+ dispatchMonoEvent(this, "change", detail);
176
+ }
177
+ _handleChange(event) {
178
+ if (this.disabled) return;
179
+ if (!event.currentTarget.checked) return;
180
+ const oldValue = this.modelValue;
181
+ const nextValue = this.value;
182
+ this.modelValue = nextValue;
183
+ const detail = this._createModelDetail({
184
+ modelValue: nextValue,
185
+ oldValue,
186
+ sourceEvent: event
187
+ });
188
+ this._emitChange(detail);
189
+ }
190
+ /** Light-DOM label block (data-mono-slot). Shadow build overrides with `<slot>`. */
191
+ _renderLabelBlock() {
192
+ if (!this._hasLabelContent() && !this._hasDescriptionContent()) return nothing;
193
+ return html`
194
+ <span class=${this._cls("mono-radio-label", "label")} mono-label>
195
+ ${this._hasLabelContent() ? html`
196
+ <span class=${this._cls("mono-radio-label-text", "labelText")} mono-label-text>
197
+ ${this._hasLabelSlotState ? html`<span data-mono-slot="label"></span>` : this.label}
198
+ </span>
199
+ ` : nothing}
200
+
201
+ ${this._hasDescriptionContent() ? html`
202
+ <span class=${this._cls("mono-radio-label-description", "description")} mono-description>
203
+ ${this._hasDescriptionSlotState ? html`<span data-mono-slot="description"></span>` : this.sublabel}
204
+ </span>
205
+ ` : nothing}
206
+ </span>
207
+ `;
208
+ }
209
+ render() {
210
+ const ariaLabel = this.ariaLabelText || this.label || (this._hasLabelSlotState ? "Radio option" : void 0);
211
+ return html`
212
+ <label
213
+ class=${this._wrapperClasses}
214
+ mono-radio
215
+ mono-size=${this.size === "md" ? nothing : this.size}
216
+ mono-color=${this.color === "primary" ? nothing : this.color}
217
+ ?mono-checked=${this._checked}
218
+ ?mono-disabled=${this.disabled}
219
+ >
220
+ <input
221
+ class=${this._inputClasses}
222
+ mono-input
223
+ type="radio"
224
+ .checked=${this._checked}
225
+ .value=${String(this.value ?? "")}
226
+ ?disabled=${this.disabled}
227
+ aria-checked=${String(this._checked)}
228
+ aria-label=${ifDefined(ariaLabel)}
229
+ @change=${this._handleChange}
230
+ />
231
+
232
+ <span class=${this._circleClasses} mono-circle aria-hidden="true">
233
+ <span class=${this._dotClasses} mono-dot></span>
234
+ </span>
235
+
236
+ ${this._renderLabelBlock()}
237
+ </label>
238
+ `;
239
+ }
240
+ focus(options) {
241
+ this.renderRoot.querySelector(".mono-radio-input")?.focus(options);
242
+ }
243
+ blur() {
244
+ this.renderRoot.querySelector(".mono-radio-input")?.blur();
245
+ }
246
+ }
247
+ __decorate([property({ type: String })], MonoRadioCoreClass.prototype, "size", void 0);
248
+ __decorate([property({ type: String })], MonoRadioCoreClass.prototype, "color", void 0);
249
+ __decorate([property({ type: String })], MonoRadioCoreClass.prototype, "value", void 0);
250
+ __decorate([property({
251
+ type: String,
252
+ attribute: "model-value",
253
+ reflect: true
254
+ })], MonoRadioCoreClass.prototype, "modelValue", void 0);
255
+ __decorate([property({
256
+ reflect: true,
257
+ converter: booleanStringConverter
258
+ })], MonoRadioCoreClass.prototype, "disabled", void 0);
259
+ __decorate([property({ type: String })], MonoRadioCoreClass.prototype, "label", void 0);
260
+ __decorate([property({ type: String })], MonoRadioCoreClass.prototype, "sublabel", void 0);
261
+ __decorate([property({
262
+ type: String,
263
+ attribute: "aria-label"
264
+ })], MonoRadioCoreClass.prototype, "ariaLabelText", void 0);
265
+ __decorate([property({ attribute: false })], MonoRadioCoreClass.prototype, "cssClass", void 0);
266
+ __decorate([property({
267
+ type: String,
268
+ attribute: false
269
+ })], MonoRadioCoreClass.prototype, "cssClassName", void 0);
270
+ __decorate([state()], MonoRadioCoreClass.prototype, "_hasLabelSlotState", void 0);
271
+ __decorate([state()], MonoRadioCoreClass.prototype, "_hasDescriptionSlotState", void 0);
272
+ return MonoRadioCoreClass;
273
+ };
274
+ //#endregion
275
+ //#region src/components/radio/radio.css?raw
276
+ var radio_default = "/* =========================================================================\r\n mono-radio — a port of Basecoat's `.input[type='radio']` and the `.label`\r\n beside it (basecoat-css@1.0.2, vega style).\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-radio size=\"sm\" color=\"danger\" label=\"Email\" value=\"email\" model-value=\"email\">\r\n <label mono-radio mono-size=\"sm\" mono-color=\"danger\">\r\n <input mono-input type=\"radio\" name=\"contact\" value=\"email\" checked />\r\n <span mono-circle aria-hidden=\"true\"></span>\r\n <span mono-label><span mono-label-text>Email</span></span>\r\n </label>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary). The element renders these attributes on its\r\n root <label> (both builds) plus the STATE `mono-checked`; hand-written markup\r\n may rely on the native input's `:checked` instead — every state rule reads\r\n both. The old classes (`.mono-radio.sm.mono-radio-checked`) are still emitted\r\n as inert hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-radio] ≡ .label (flex gap-2 text-sm font-medium leading-snug select-none)\r\n [mono-radio] > [mono-circle] ≡ .input[type='radio'] (size-4 rounded-full border-input; the real input is visually hidden)\r\n [mono-checked] / [mono-input]:checked ≡ :checked (bg-primary border-primary) + :checked:before (size-2 bg-primary-foreground)\r\n [mono-circle] > [mono-dot] / ::before ≡ :checked:before — the element renders the dot, raw markup may omit it\r\n [mono-input]:focus-visible + [mono-circle] ≡ focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\r\n [mono-invalid] / [mono-input][aria-invalid] ≡ aria-invalid:border-destructive aria-invalid:ring-destructive/20\r\n [mono-disabled] / [mono-input]:disabled ≡ disabled:cursor-not-allowed disabled:opacity-50\r\n [mono-label-text] ≡ .label text\r\n [mono-description] ≡ .field > p (text-sm text-muted-foreground)\r\n [mono-size=\"xs|sm|lg|xl|xxl\"] ≡ EXTENSION — the circle is 4/9 of the --mono-control-height-* step\r\n (16px at vega md), label / description / gap step with it\r\n [mono-color=\"…\"] ≡ EXTENSION (the checked fill in the role's colour)\r\n\r\n Every metric here is checkbox.css's: the two controls sit side by side in a\r\n form, so circle ≡ box, gap ≡ gap, label ≡ label at every step, and the\r\n pairing spec asserts it.\r\n\r\n Specificity contract (same as the pre-port class sheet): a part's RESTING rule\r\n is exactly one attribute strong — `:where([mono-radio]) [mono-circle]` =\r\n (0,1,0) — so a utility class handed in through `cssClass` wins by source\r\n order, while state rules (checked / focus / invalid / disabled, keyed on the\r\n root or the native input) stay heavier and win over it, as they always did.\r\n\r\n Inner parts: [mono-input], [mono-circle] > [mono-dot], [mono-label] >\r\n [mono-label-text] / [mono-description]. The shadow build marks an unassigned\r\n slot wrapper [mono-empty].\r\n\r\n The circle sits on the label's CAP BAND (see `--_mono-radio-line-offset`):\r\n mono's own alignment rule, kept — Basecoat centres a lone radio on its line\r\n box with `items-center`, which is the same thing for a one-line label and\r\n drifts for a described one.\r\n\r\n FLAVORS set `--mono-radio-{radius,shadow,ring-width,ring-alpha,bg,border-color,\r\n checked-bg,dot-color,size-md}` (the per-style `.input[type='radio']` deltas); every\r\n fallback here is vega's value (`node scripts/basecoat-styles.mjs --varying\r\n \"input\\[type='radio'\\]\"`).\r\n ========================================================================= */\r\n\r\nmono-radio {\r\n display: inline-block;\r\n}\r\n\r\n[mono-radio] {\r\n /* ── palette: each slot is a public knob over a Basecoat token ─────────── */\r\n --_mono-radio-text: var(--mono-radio-text, var(--foreground));\r\n --_mono-radio-description: var(--mono-radio-description, var(--muted-foreground));\r\n --_mono-radio-primary: var(--mono-radio-primary, var(--primary));\r\n --_mono-radio-primary-foreground: var(--mono-radio-primary-foreground, var(--primary-foreground));\r\n --_mono-radio-accent: var(--mono-radio-accent, var(--_mono-radio-accent-preset, var(--_mono-radio-primary)));\r\n --_mono-radio-dot-color: var(--mono-radio-dot-color, var(--_mono-radio-dot-preset, var(--_mono-radio-primary-foreground)));\r\n --_mono-radio-border-color: var(--mono-radio-border, var(--mono-radio-border-color, var(--input)));\r\n --_mono-radio-bg: var(--mono-radio-bg, var(--mono-mode-surface));\r\n /* the radio is the one control Basecoat leaves shadowless (the checkbox has\r\n shadow-xs) — the slot stays so a flavor or a consumer can put one back */\r\n --_mono-radio-shadow: var(--mono-radio-shadow, 0 0 #0000);\r\n --_mono-radio-radius: var(--mono-radio-radius, var(--mono-radius-full));\r\n --_mono-radio-border-width: var(--mono-radio-border-width, var(--mono-border-width));\r\n --_mono-radio-ring-color: var(--mono-radio-ring-color, var(--ring));\r\n --_mono-radio-ring-width: var(--mono-radio-ring-width, var(--mono-ring-width));\r\n --_mono-radio-ring-alpha: var(--mono-radio-ring-alpha, var(--mono-ring-alpha));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css .input[type='radio'] — size-4 (= 4/9 of the\r\n h-9 control); .field > label, .label — gap-2 text-sm leading-snug */\r\n --_mono-radio-control: var(--mono-radio-size-md, calc(var(--mono-control-height-md) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-md, calc(var(--mono-spacing) * 2)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-md, var(--mono-text-sm));\r\n --_mono-radio-description-font: var(--mono-radio-description-font-md, 0.8125rem);\r\n /* :checked:before — size-2 on a size-4 circle */\r\n --_mono-radio-dot: var(--mono-radio-dot, 50%);\r\n\r\n /* ── whole pixels ────────────────────────────────────────────────────────\r\n The circle is a ratio of the control step, so it lands on a fraction (18.39px,\r\n 17.77px…). A fractional round shape is antialiased on every edge — the\r\n switch thumb, which parks flush against the track's cap, picked up a dark\r\n rim that changed with the flavor and the screen's pixel ratio. Snap the\r\n derived size to 1px; `round()` has the same browser floor as `color-mix()`\r\n and `:has()`, which this sheet already requires. Snapping happens HERE, at\r\n one place per value, so the per-size blocks stay plain arithmetic. */\r\n --_mono-radio-control-px: round(nearest, var(--_mono-radio-control), 1px);\r\n\r\n /* ── alignment with the label ────────────────────────────────────────────\r\n The circle is centred on the label's CAP BAND — the ink the eye reads, not\r\n the line box. Every number is checkbox.css's; the two controls sit side by\r\n side in a form and any divergence shows. */\r\n --_mono-radio-label-line-height: var(--mono-radio-label-line-height, var(--mono-leading-snug));\r\n --_mono-radio-optical-shift: 0.045;\r\n --_mono-radio-optical-nudge: 0px;\r\n --_mono-radio-line-offset: calc(\r\n (var(--_mono-radio-label-font) * var(--_mono-radio-label-line-height) - var(--_mono-radio-control-px)) / 2 +\r\n var(--_mono-radio-label-font) * var(--_mono-radio-optical-shift) + var(--_mono-radio-optical-nudge)\r\n );\r\n\r\n /* The element build nests this root inside its host, so it is never itself a\r\n grid or flex item and shrink-wraps its content. Hand-written markup usually\r\n IS the item (a radio in a `display: grid` list), and an item blockifies —\r\n `inline-flex` becomes `flex` and the row stretches to the widest sibling,\r\n wrapping its label at a different point than the element's. `fit-content`\r\n keeps both shapes shrink-wrapped; a consumer who wants a full-width row\r\n still sets a width. */\r\n width: fit-content;\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--_mono-radio-gap);\r\n position: relative;\r\n vertical-align: top;\r\n cursor: pointer;\r\n user-select: none;\r\n font-family: inherit;\r\n color: var(--_mono-radio-text);\r\n}\r\n\r\n[mono-radio],\r\n:where([mono-radio]) *,\r\n:where([mono-radio]) *::before,\r\n:where([mono-radio]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n:where([mono-radio]) :is([mono-label], [mono-label-text], [mono-description])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* the circle seats on the first line of a label that is actually there; a bare\r\n circle stays flush at the top */\r\n[mono-radio]:has([mono-label-text]:not([mono-empty])) > [mono-circle] {\r\n margin-top: var(--_mono-radio-line-offset, 0px);\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: the circle is 4/9 of the control step (vega md: 36 × 4/9 =\r\n 16px), label, description and gap step with it (md = Basecoat's text-sm / gap-2)\r\n ========================================= */\r\n\r\n[mono-radio][mono-size=\"xs\"] {\r\n --_mono-radio-control: var(--mono-radio-size-xs, calc(var(--mono-control-height-xs) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-xs, calc(var(--mono-spacing) * 1.25)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-xs, var(--mono-text-xs));\r\n --_mono-radio-description-font: var(--mono-radio-description-font-xs, 0.6875rem);\r\n}\r\n\r\n[mono-radio][mono-size=\"sm\"] {\r\n --_mono-radio-control: var(--mono-radio-size-sm, calc(var(--mono-control-height-sm) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-sm, calc(var(--mono-spacing) * 1.5)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-sm, 0.8125rem);\r\n --_mono-radio-description-font: var(--mono-radio-description-font-sm, var(--mono-text-xs));\r\n}\r\n\r\n[mono-radio][mono-size=\"lg\"] {\r\n --_mono-radio-control: var(--mono-radio-size-lg, calc(var(--mono-control-height-lg) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-lg, calc(var(--mono-spacing) * 2.5)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-lg, var(--mono-text-base));\r\n --_mono-radio-description-font: var(--mono-radio-description-font-lg, var(--mono-text-sm));\r\n /* 16px text rounds its ascent such that the circle lands ~0.35px low */\r\n --_mono-radio-optical-nudge: -0.35px;\r\n}\r\n\r\n[mono-radio][mono-size=\"xl\"] {\r\n --_mono-radio-control: var(--mono-radio-size-xl, calc(var(--mono-control-height-xl) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-xl, calc(var(--mono-spacing) * 3)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-xl, var(--mono-text-lg));\r\n --_mono-radio-description-font: var(--mono-radio-description-font-xl, var(--mono-text-base));\r\n}\r\n\r\n[mono-radio][mono-size=\"xxl\"] {\r\n --_mono-radio-control: var(--mono-radio-size-xxl, calc(var(--mono-control-height-xxl) * 4 / 9));\r\n --_mono-radio-gap: var(--mono-radio-gap, var(--mono-radio-gap-xxl, calc(var(--mono-spacing) * 3.5)));\r\n --_mono-radio-label-font: var(--mono-radio-label-font-xxl, var(--mono-text-xl));\r\n --_mono-radio-description-font: var(--mono-radio-description-font-xxl, var(--mono-text-lg));\r\n /* 20px text rounds the other way, leaving the circle ~1.1px high */\r\n --_mono-radio-optical-nudge: 1.1px;\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION: the checked fill in the role's colour\r\n ========================================= */\r\n\r\n[mono-radio]:is(:not([mono-color]), [mono-color=\"primary\"]) {\r\n --_mono-radio-accent-preset: var(--_mono-radio-primary);\r\n --_mono-radio-dot-preset: var(--_mono-radio-primary-foreground);\r\n}\r\n[mono-radio][mono-color=\"secondary\"] {\r\n --_mono-radio-accent-preset: var(--secondary-foreground);\r\n --_mono-radio-dot-preset: var(--secondary);\r\n}\r\n[mono-radio][mono-color=\"success\"] {\r\n --_mono-radio-accent-preset: var(--success);\r\n --_mono-radio-dot-preset: var(--success-foreground);\r\n}\r\n[mono-radio][mono-color=\"danger\"] {\r\n --_mono-radio-accent-preset: var(--destructive);\r\n --_mono-radio-dot-preset: var(--destructive-foreground);\r\n}\r\n[mono-radio][mono-color=\"warning\"] {\r\n --_mono-radio-accent-preset: var(--warning);\r\n --_mono-radio-dot-preset: var(--warning-foreground);\r\n}\r\n[mono-radio][mono-color=\"info\"] {\r\n --_mono-radio-accent-preset: var(--info);\r\n --_mono-radio-dot-preset: var(--info-foreground);\r\n}\r\n[mono-radio][mono-color=\"teal\"] {\r\n --_mono-radio-accent-preset: var(--teal);\r\n --_mono-radio-dot-preset: var(--teal-foreground);\r\n}\r\n[mono-radio][mono-color=\"purple\"] {\r\n --_mono-radio-accent-preset: var(--purple);\r\n --_mono-radio-dot-preset: var(--purple-foreground);\r\n}\r\n[mono-radio][mono-color=\"neutral\"] {\r\n --_mono-radio-accent-preset: var(--neutral);\r\n --_mono-radio-dot-preset: var(--neutral-foreground);\r\n}\r\n[mono-radio][mono-color=\"dark\"] {\r\n --_mono-radio-accent-preset: var(--dark);\r\n --_mono-radio-dot-preset: var(--dark-foreground);\r\n}\r\n\r\n/* =========================================\r\n States on the root\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/radio.css .field > input[type='radio'], .input[type='radio']\r\n — disabled:cursor-not-allowed disabled:opacity-50 */\r\n[mono-radio][mono-disabled],\r\n[mono-radio]:has(> [mono-input]:disabled) {\r\n cursor: not-allowed;\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n/* the native input is the accessible control; the circle is its painted twin */\r\n:where([mono-radio]) [mono-input] {\r\n position: absolute;\r\n opacity: 0;\r\n pointer-events: none;\r\n width: 1px;\r\n height: 1px;\r\n margin: 0;\r\n /* the UA gives an <input> its own font; inside a shadow root nothing resets it,\r\n so the hidden control ended up with a different computed font in the two\r\n builds. It paints nothing either way — this just keeps them identical. */\r\n font: inherit;\r\n color: inherit;\r\n}\r\n\r\n/* =========================================\r\n The circle\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/radio.css .field > input[type='radio'], .input[type='radio']\r\n — relative shrink-0 appearance-none border outline-none */\r\n/* basecoat@1.0.2 styles/vega.css .field > input[type='radio'], .input[type='radio']\r\n — flex size-4 rounded-full border-input (dark:bg-input/30 via --mono-mode-surface);\r\n checked:bg-primary checked:border-primary checked:text-primary-foreground;\r\n mono: `--tw-ring-*` flattened to the ring + shadow slots */\r\n:where([mono-radio]) > [mono-circle] {\r\n --_mono-radio-ring: 0 0 #0000;\r\n position: relative;\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-radio-control-px);\r\n height: var(--_mono-radio-control-px);\r\n border: var(--_mono-radio-border-width) solid var(--_mono-radio-border-color);\r\n border-radius: var(--_mono-radio-radius);\r\n background-color: var(--_mono-radio-bg);\r\n box-shadow: var(--_mono-radio-ring), var(--_mono-radio-shadow);\r\n /* the circle's own ink is the ACCENT — a flavor that leaves the checked circle\r\n hollow (sera) then sets `--mono-radio-dot-color: currentColor` to paint the\r\n dot in the role colour, using public knobs alone */\r\n color: var(--_mono-radio-accent);\r\n transition-property: box-shadow, background-color, border-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n/* focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 */\r\n:where([mono-radio]) > [mono-input]:focus-visible + [mono-circle] {\r\n border-color: var(--_mono-radio-ring-color);\r\n --_mono-radio-ring: 0 0 0 var(--_mono-radio-ring-width) color-mix(in oklab, var(--_mono-radio-ring-color) var(--_mono-radio-ring-alpha), transparent);\r\n}\r\n\r\n/* aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\r\n (dark: /50, /40 via the mode tokens) */\r\n[mono-radio][mono-invalid] > [mono-circle],\r\n:where([mono-radio]) > [mono-input][aria-invalid=\"true\"] + [mono-circle] {\r\n border-color: var(--mono-mode-invalid-border);\r\n --_mono-radio-ring: 0 0 0 var(--_mono-radio-ring-width) var(--mono-mode-invalid-ring);\r\n}\r\n\r\n/* checked:bg-primary checked:border-primary — generalised per hue.\r\n `--mono-radio-checked-bg` is the flavor slot: sera keeps the circle hollow. */\r\n[mono-radio][mono-checked] > [mono-circle],\r\n:where([mono-radio]) > [mono-input]:checked + [mono-circle] {\r\n border-color: var(--_mono-radio-accent);\r\n background-color: var(--mono-radio-checked-bg, var(--_mono-radio-accent));\r\n}\r\n\r\n/* aria-invalid:checked:border-primary — a chosen option is not the error */\r\n[mono-radio][mono-invalid][mono-checked] > [mono-circle],\r\n:where([mono-radio]) > [mono-input][aria-invalid=\"true\"]:checked + [mono-circle] {\r\n border-color: var(--_mono-radio-accent);\r\n}\r\n\r\n/* =========================================\r\n The dot — `:checked:before` upstream. The element renders [mono-dot] (it is a\r\n `cssClass` slot); hand-written markup may leave the circle empty and take the\r\n pseudo-element instead. Both are out of flow (`inset: 0; margin: auto`) so the\r\n circle keeps a stable synthesised baseline.\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/radio.css .field > input[type='radio'], .input[type='radio'] >> &:checked:before\r\n — absolute top-1/2 left-1/2 content-[''] -translate-x/y-1/2 rounded-full */\r\n/* basecoat@1.0.2 styles/vega.css :is(.field > input[type='radio'], .input[type='radio']):checked:before\r\n — size-2 bg-primary-foreground (mono: that share of the box, so it tracks every step) */\r\n:where([mono-radio]) > [mono-circle] > [mono-dot],\r\n:where([mono-radio]) > [mono-circle]:not(:has([mono-dot]))::before {\r\n content: \"\";\r\n position: absolute;\r\n inset: 0;\r\n margin: auto;\r\n width: var(--_mono-radio-dot);\r\n height: var(--_mono-radio-dot);\r\n border-radius: var(--mono-radio-dot-radius, var(--mono-radius-full));\r\n background-color: var(--_mono-radio-dot-color);\r\n transform: scale(0);\r\n opacity: 0;\r\n transition-property: transform, opacity, background-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n[mono-radio][mono-checked] > [mono-circle] > [mono-dot],\r\n[mono-radio][mono-checked] > [mono-circle]:not(:has([mono-dot]))::before,\r\n:where([mono-radio]) > [mono-input]:checked + [mono-circle] > [mono-dot],\r\n:where([mono-radio]) > [mono-input]:checked + [mono-circle]:not(:has([mono-dot]))::before {\r\n transform: scale(1);\r\n opacity: 1;\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :where([mono-radio]) > [mono-circle],\r\n :where([mono-radio]) > [mono-circle] > [mono-dot],\r\n :where([mono-radio]) > [mono-circle]::before {\r\n transition: none;\r\n }\r\n}\r\n\r\n/* =========================================\r\n Label\r\n ========================================= */\r\n\r\n:where([mono-radio]) > [mono-label] {\r\n min-width: 0;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field > label, .label — text-sm leading-snug font-medium;\r\n `block` so the first line box is exactly font × line-height */\r\n:where([mono-radio]) [mono-label-text] {\r\n display: block;\r\n font-size: var(--_mono-radio-label-font);\r\n line-height: var(--_mono-radio-label-line-height);\r\n font-weight: var(--mono-radio-label-font-weight, var(--mono-label-font-weight, var(--mono-font-weight-medium)));\r\n color: var(--_mono-radio-text);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .fieldset legend + p, .field > p, .field section > p\r\n — text-sm text-muted-foreground leading-normal font-normal; EXTENSION: one step\r\n under the label per size */\r\n:where([mono-radio]) [mono-description] {\r\n display: block;\r\n margin-top: calc(var(--mono-spacing) * 0.5);\r\n font-size: var(--_mono-radio-description-font);\r\n line-height: var(--mono-leading-normal);\r\n font-weight: var(--mono-font-weight-normal);\r\n color: var(--_mono-radio-description);\r\n}\r\n";
277
+ //#endregion
278
+ //#region src/components/radio/mono-radio.shadow.ts
279
+ var SHADOW_EXTRA_CSS = "";
280
+ var MonoRadioShadow = class MonoRadioShadow extends withShadowUtilityStyles(MonoRadioCore(LitElement)) {
281
+ static {
282
+ this.disableWarning?.("change-in-update");
283
+ }
284
+ static {
285
+ this.styles = [unsafeCSS(toShadowCss(radio_default, {
286
+ host: "mono-radio",
287
+ append: SHADOW_EXTRA_CSS
288
+ }))];
289
+ }
290
+ connectedCallback() {
291
+ super.connectedCallback();
292
+ if (isServer) return;
293
+ flushSsrHydration(this);
294
+ }
295
+ firstUpdated(changed) {
296
+ super.firstUpdated?.(changed);
297
+ if (isServer) return;
298
+ this._scanSlots();
299
+ }
300
+ updated(changed) {
301
+ super.updated?.(changed);
302
+ if (!isServer) this._scanSlots();
303
+ }
304
+ _slotFor(name) {
305
+ return this.renderRoot.querySelector(`slot[name="${name}"]`);
306
+ }
307
+ _slotHasContent(slot) {
308
+ return !!slot && slot.assignedNodes().some((n) => n.nodeType === Node.ELEMENT_NODE || !!(n.textContent ?? "").trim());
309
+ }
310
+ _onSlotChange(name, event) {
311
+ this._setSlotState(name, name === "description" ? this._sublabelHasContent() : this._slotHasContent(event.target));
312
+ }
313
+ /**
314
+ * The sublabel region answers to `slot="sublabel"` and to the older
315
+ * `slot="description"` (nested inside it), so its presence is the union.
316
+ */
317
+ _sublabelHasContent() {
318
+ const byName = (n) => this.renderRoot.querySelector(`slot[name="${n}"]`);
319
+ return this._slotHasContent(byName("sublabel")) || this._slotHasContent(byName("description"));
320
+ }
321
+ _setSlotState(name, has) {
322
+ if (name === "label") this._hasLabelSlotState = has;
323
+ else this._hasDescriptionSlotState = has;
324
+ }
325
+ _scanSlots() {
326
+ for (const name of ["label", "description"]) {
327
+ const has = name === "description" ? this._sublabelHasContent() : this._slotHasContent(this._slotFor(name));
328
+ if (has !== (name === "label" ? this._hasLabelSlotState : this._hasDescriptionSlotState)) this._setSlotState(name, has);
329
+ }
330
+ }
331
+ _renderLabelBlock() {
332
+ return html`
333
+ <span
334
+ class=${this._cls("mono-radio-label", "label")}
335
+ mono-label
336
+ ?mono-empty=${!this._hasLabelContent() && !this._hasDescriptionContent()}
337
+ >
338
+ <span
339
+ class=${this._cls("mono-radio-label-text", "labelText")}
340
+ mono-label-text
341
+ ?mono-empty=${!this._hasLabelContent()}
342
+ >
343
+ <slot name="label" @slotchange=${(e) => this._onSlotChange("label", e)}
344
+ >${this.label || nothing}</slot
345
+ >
346
+ </span>
347
+
348
+ <span
349
+ class=${this._cls("mono-radio-label-description", "description")}
350
+ mono-description
351
+ ?mono-empty=${!this._hasDescriptionContent()}
352
+ >
353
+ <slot name="sublabel" @slotchange=${(e) => this._onSlotChange("description", e)}
354
+ ><slot
355
+ name="description"
356
+ @slotchange=${(e) => this._onSlotChange("description", e)}
357
+ >${this.sublabel || nothing}</slot
358
+ ></slot
359
+ >
360
+ </span>
361
+ </span>
362
+ `;
363
+ }
364
+ };
365
+ MonoRadioShadow = __decorate([customElement("mono-shadow-radio")], MonoRadioShadow);
366
+ //#endregion
367
+ //#region src/components/radio/radio-utils.ts
368
+ /**
369
+ * Validate radio props
370
+ */
371
+ function validateRadioProps(props) {
372
+ const validSizes = [
373
+ "xs",
374
+ "sm",
375
+ "md",
376
+ "lg",
377
+ "xl",
378
+ "xxl"
379
+ ];
380
+ const validColors = [
381
+ "primary",
382
+ "secondary",
383
+ "success",
384
+ "danger",
385
+ "warning",
386
+ "info",
387
+ "teal",
388
+ "purple",
389
+ "neutral",
390
+ "dark"
391
+ ];
392
+ if (props.size && !validSizes.includes(props.size)) return false;
393
+ if (props.color && !validColors.includes(props.color)) return false;
394
+ return true;
395
+ }
396
+ /**
397
+ * Generate ARIA attributes for accessibility
398
+ */
399
+ function generateRadioAttributes(disabled, checked, label) {
400
+ return {
401
+ "aria-disabled": disabled ? "true" : void 0,
402
+ "aria-checked": String(checked),
403
+ "role": "radio",
404
+ "aria-label": label || void 0
405
+ };
406
+ }
407
+ //#endregion
408
+ export { MonoRadioCore, MonoRadioShadow, generateRadioAttributes, validateRadioProps };