@mono-lit/helper 0.0.1 → 0.0.3

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 (499) hide show
  1. package/LICENSE.md +55 -55
  2. package/README.md +35 -35
  3. package/dist/{breakpoints-CAbhDUht.js → breakpoints-DllybT82.js} +7 -5
  4. package/dist/checkbox.css_raw-AYtSbUtY.js +5 -0
  5. package/dist/{chip-limits-BMoO31JM.js → chip-limits-CFABydIL.js} +5 -3
  6. package/dist/{chip-strip-Cw3gyz0q.js → chip-strip-bNfLn52Z.js} +5 -3
  7. package/dist/chip.css_raw-ChfRSHLO.js +5 -0
  8. package/dist/{color-DHYrfXsX.js → color-CEYYtRX-.js} +8 -7
  9. package/dist/{css-class-BRKRzHx-.js → css-class-B6Tc_MAx.js} +2 -1
  10. package/dist/{css-size-DhHSVZJK.js → css-size-DWAPgQdT.js} +2 -1
  11. package/dist/{data-source-controller-C50Qyfzh.js → data-source-controller-Cf_sMxEh.js} +72 -7
  12. package/dist/data-source-controller-Dx6IQ2CN.js +243 -0
  13. package/dist/{data-source-options-BTpfrOZ_.js → data-source-options-Bk-UoaZV.js} +15 -10
  14. package/dist/{data-source-options-CQSTZHPE.js → data-source-options-QjuI73g8.js} +17 -12
  15. package/dist/{data-source-read-CUX-lgrQ.js → data-source-read-Cuqw3LcP.js} +7 -4
  16. package/dist/{data-source-read-DL88aH8t.js → data-source-read-FxqzQkk2.js} +8 -5
  17. package/dist/{decorate-DEXtNagw.js → decorate-DbYFpi8R.js} +7 -5
  18. package/dist/{element-props-CLB6yvbm.js → element-props-xvw0EB7H.js} +4 -3
  19. package/dist/{esm-Ptok4SQZ.js → esm-D0We7ndD.js} +48 -44
  20. package/dist/{excel-DopRbEMK.js → excel-BXzr3uI1.js} +192 -16
  21. package/dist/{excel-CY6zGkcx.js → excel-DtRpxmxs.js} +27 -16
  22. package/dist/{export-BvlBx_GZ.js → export-B91P6J1y.js} +104 -18
  23. package/dist/export.js +103 -18
  24. package/dist/{field-icons-BoOG6KrL.js → field-icons-FmyBWa0g.js} +38 -1
  25. package/dist/{field-path-C92eGLg3.js → field-path-BabiMrrA.js} +3 -2
  26. package/dist/{filter-builder-Bke3qOgJ.js → filter-builder-B6Y2mmbM.js} +7 -4
  27. package/dist/{filter-builder-CE4zE0V5.js → filter-builder-C0T3pMx2.js} +7 -4
  28. package/dist/{filter-eval-DIfU2EAn.js → filter-eval-ChDSaAUH.js} +7 -5
  29. package/dist/{filter-odata-C1vSGZaY.js → filter-odata-Bi27XUpQ.js} +9 -6
  30. package/dist/{form-control-core-B8d7k6vk.js → form-control-core-CIdMLXMo.js} +9 -6
  31. package/dist/{form-control-core-eeRr0zLU.js → form-control-core-CRZPZ1ru.js} +9 -6
  32. package/dist/hydration-flush-DHrl4_KK.js +1014 -0
  33. package/dist/{icon-CJkTlmTb.js → icon-BM9N-jOt.js} +5 -2
  34. package/dist/{icon-dVhYJUIH.js → icon-ClxnYhBG.js} +4 -2
  35. package/dist/{import-BgJdkwBI.js → import-Dc4eXC02.js} +22 -16
  36. package/dist/import.js +22 -16
  37. package/dist/index.js +17 -16
  38. package/dist/{index.node-DjvYOL-J.js → index.node-dvrNviMx.js} +26 -19
  39. package/dist/index.node.js +17 -16
  40. package/dist/input.css_raw-CGESifay.js +5 -0
  41. package/dist/{layout-var-CZnzMC0s.js → layout-var-BSBKY49k.js} +3 -2
  42. package/dist/{light-slots-BVJwyg_2.js → light-slots-4ZCjOcBg.js} +6 -4
  43. package/dist/{light-slots-DW1WgfgT.js → light-slots-DdDdZ6zs.js} +6 -4
  44. package/dist/{markdown-DfqrfOJN.js → markdown-uGlE_OfJ.js} +414 -369
  45. package/dist/mono-button-CeDB9khW.js +878 -0
  46. package/dist/mono-button.shadow-D9NdMsmH.js +790 -0
  47. package/dist/{mono-data-chart-ChU4Ii3p.js → mono-data-chart-ChkelNT7.js} +66 -22
  48. package/dist/{mono-data-dropdown-BAUl58kW.js → mono-data-dropdown-DxpUUk2y.js} +5 -3
  49. package/dist/{mono-data-grid-Db80FzdZ.js → mono-data-grid-8jmeIXUU.js} +56 -265
  50. package/dist/{mono-data-grid-CLBK8clE.js → mono-data-grid-BHlo1IgR.js} +56 -265
  51. package/dist/{mono-element-B0kP_96P.js → mono-element-C7vCschg.js} +7 -4
  52. package/dist/{mono-event-Bi1qP9uN.js → mono-event-BPku9HpS.js} +4 -3
  53. package/dist/{mono-form-controller-5PfsU4qa.js → mono-form-controller-IYn0MuUQ.js} +7 -4
  54. package/dist/{mono-modal-controller-BMO3n3rP.js → mono-modal-controller-ClObbHUs.js} +9 -7
  55. package/dist/{mono-ui-CPV7rrdo.js → mono-ui-BwUc0L6B.js} +22 -20
  56. package/dist/{data-search-Bwo5bg8K.js → normalize-error-D93O4q8g.js} +314 -10
  57. package/dist/{notifier-CE4yxMUQ.js → notifier-BIrqUzRh.js} +11 -1
  58. package/dist/nuxt.js +20 -15
  59. package/dist/{popup-portal-BziRX1yG.js → popup-portal-HWhkd7oy.js} +6 -4
  60. package/dist/{popup-stack-CEEMib__.js → popup-stack-De05Y-mJ.js} +13 -10
  61. package/dist/{rate-limit-BBa2PO79.js → rate-limit-e9Jlpl5l.js} +12 -9
  62. package/dist/{reactive-BHsqVjRh.js → reactive-DFCdZbH9.js} +318 -12
  63. package/dist/{reactive-D3EERqgO.js → reactive-Dtd-esHO.js} +2 -1
  64. package/dist/search.js +5 -4
  65. package/dist/src/components/accordion/accordion-core.d.ts +42 -40
  66. package/dist/src/components/accordion/accordion-types.d.ts +50 -48
  67. package/dist/src/components/accordion/index.d.ts +3 -2
  68. package/dist/src/components/accordion/index.shadow.d.ts +4 -4
  69. package/dist/src/components/accordion/mono-accordion.d.ts +44 -40
  70. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +42 -38
  71. package/dist/src/components/alert/alert-core.d.ts +30 -28
  72. package/dist/src/components/alert/alert-types.d.ts +36 -34
  73. package/dist/src/components/alert/index.d.ts +3 -2
  74. package/dist/src/components/alert/index.shadow.d.ts +4 -4
  75. package/dist/src/components/alert/mono-alert.d.ts +30 -26
  76. package/dist/src/components/alert/mono-alert.shadow.d.ts +24 -20
  77. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +42 -40
  78. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +31 -29
  79. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +18 -16
  80. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +89 -87
  81. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +18 -15
  82. package/dist/src/components/breadcrumb/index.d.ts +6 -5
  83. package/dist/src/components/breadcrumb/index.shadow.d.ts +7 -7
  84. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +18 -14
  85. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +33 -29
  86. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +24 -20
  87. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +55 -51
  88. package/dist/src/components/button/button-core.d.ts +73 -71
  89. package/dist/src/components/button/button-dropdown-core.d.ts +55 -53
  90. package/dist/src/components/button/button-dropdown-types.d.ts +98 -96
  91. package/dist/src/components/button/button-types.d.ts +157 -155
  92. package/dist/src/components/button/button-utils.d.ts +7 -5
  93. package/dist/src/components/button/index.button-dropdown.d.ts +5 -3
  94. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +5 -3
  95. package/dist/src/components/button/index.d.ts +4 -7
  96. package/dist/src/components/button/index.shadow.d.ts +5 -4
  97. package/dist/src/components/button/mono-button-dropdown.d.ts +24 -19
  98. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +34 -29
  99. package/dist/src/components/button/mono-button.d.ts +105 -101
  100. package/dist/src/components/button/mono-button.shadow.d.ts +42 -38
  101. package/dist/src/components/card/card-core.d.ts +59 -56
  102. package/dist/src/components/card/card-types.d.ts +91 -89
  103. package/dist/src/components/card/card-utils.d.ts +11 -9
  104. package/dist/src/components/card/index.d.ts +4 -3
  105. package/dist/src/components/card/index.shadow.d.ts +5 -5
  106. package/dist/src/components/card/mono-card.d.ts +36 -32
  107. package/dist/src/components/card/mono-card.shadow.d.ts +32 -28
  108. package/dist/src/components/chart/chart-core.d.ts +30 -28
  109. package/dist/src/components/chart/chart-odata.d.ts +17 -16
  110. package/dist/src/components/chart/chart-types.d.ts +269 -248
  111. package/dist/src/components/chart/index.d.ts +7 -7
  112. package/dist/src/components/chart/index.shadow.d.ts +7 -6
  113. package/dist/src/components/chart/mono-chart-presets.d.ts +33 -29
  114. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +33 -29
  115. package/dist/src/components/chart/mono-chart.d.ts +13 -9
  116. package/dist/src/components/chart/mono-chart.shadow.d.ts +13 -9
  117. package/dist/src/components/chart/mono-data-chart.d.ts +4 -26
  118. package/dist/src/components/checkbox/checkbox-core.d.ts +39 -37
  119. package/dist/src/components/checkbox/checkbox-types.d.ts +59 -57
  120. package/dist/src/components/checkbox/checkbox-utils.d.ts +13 -11
  121. package/dist/src/components/checkbox/index.d.ts +4 -3
  122. package/dist/src/components/checkbox/index.shadow.d.ts +5 -4
  123. package/dist/src/components/checkbox/mono-checkbox.d.ts +21 -17
  124. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +31 -27
  125. package/dist/src/components/chip/chip-core.d.ts +42 -40
  126. package/dist/src/components/chip/chip-types.d.ts +104 -102
  127. package/dist/src/components/chip/chip-utils.d.ts +20 -18
  128. package/dist/src/components/chip/index.d.ts +5 -7
  129. package/dist/src/components/chip/index.shadow.d.ts +6 -5
  130. package/dist/src/components/chip/mono-chip.d.ts +31 -27
  131. package/dist/src/components/chip/mono-chip.shadow.d.ts +19 -15
  132. package/dist/src/components/chip/mono-status-dot.d.ts +19 -17
  133. package/dist/src/components/date/date-core.d.ts +64 -62
  134. package/dist/src/components/date/date-types.d.ts +143 -141
  135. package/dist/src/components/date/index.d.ts +3 -2
  136. package/dist/src/components/date/index.shadow.d.ts +4 -3
  137. package/dist/src/components/date/mono-date.d.ts +12 -8
  138. package/dist/src/components/date/mono-date.shadow.d.ts +21 -17
  139. package/dist/src/components/drawer/drawer-core.d.ts +75 -73
  140. package/dist/src/components/drawer/drawer-types.d.ts +109 -107
  141. package/dist/src/components/drawer/index.d.ts +3 -2
  142. package/dist/src/components/drawer/index.shadow.d.ts +4 -3
  143. package/dist/src/components/drawer/mono-drawer.d.ts +32 -28
  144. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +34 -31
  145. package/dist/src/components/dropdown/dropdown-core.d.ts +31 -29
  146. package/dist/src/components/dropdown/dropdown-types.d.ts +62 -60
  147. package/dist/src/components/dropdown/index.d.ts +3 -2
  148. package/dist/src/components/dropdown/index.shadow.d.ts +4 -3
  149. package/dist/src/components/dropdown/mono-dropdown.d.ts +23 -19
  150. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +19 -15
  151. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +53 -51
  152. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +218 -216
  153. package/dist/src/components/dropdown-table/index.d.ts +5 -4
  154. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -5
  155. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +119 -129
  156. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +20 -16
  157. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +15 -11
  158. package/dist/src/components/file-upload/file-upload-core.d.ts +44 -42
  159. package/dist/src/components/file-upload/file-upload-types.d.ts +123 -121
  160. package/dist/src/components/file-upload/file-upload-utils.d.ts +7 -4
  161. package/dist/src/components/file-upload/index.d.ts +4 -3
  162. package/dist/src/components/file-upload/index.shadow.d.ts +5 -4
  163. package/dist/src/components/file-upload/mono-file-upload.d.ts +20 -16
  164. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +34 -30
  165. package/dist/src/components/filter/filter-builder-core.d.ts +17 -15
  166. package/dist/src/components/filter/filter-builder.d.ts +4 -22
  167. package/dist/src/components/filter/filter-odata.d.ts +3 -1
  168. package/dist/src/components/filter/filter-operators.d.ts +3 -1
  169. package/dist/src/components/filter/filter-types.d.ts +172 -170
  170. package/dist/src/components/filter/index.d.ts +6 -5
  171. package/dist/src/components/filter/index.shadow.d.ts +7 -6
  172. package/dist/src/components/filter/mono-filter-builder.d.ts +13 -10
  173. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +10 -7
  174. package/dist/src/components/form/form-control-core.d.ts +14 -12
  175. package/dist/src/components/form/form-rules.d.ts +7 -5
  176. package/dist/src/components/form/form-types.d.ts +214 -214
  177. package/dist/src/components/form/index.d.ts +5 -5
  178. package/dist/src/components/form/mono-form-controller.d.ts +4 -15
  179. package/dist/src/components/input/index.d.ts +5 -5
  180. package/dist/src/components/input/index.shadow.d.ts +6 -7
  181. package/dist/src/components/input/input-core.d.ts +73 -71
  182. package/dist/src/components/input/input-format.d.ts +22 -20
  183. package/dist/src/components/input/input-types.d.ts +167 -165
  184. package/dist/src/components/input/input-utils.d.ts +7 -5
  185. package/dist/src/components/input/mono-input.d.ts +35 -31
  186. package/dist/src/components/input/mono-input.shadow.d.ts +17 -13
  187. package/dist/src/components/menu/index.d.ts +7 -5
  188. package/dist/src/components/menu/index.shadow.d.ts +7 -6
  189. package/dist/src/components/menu/menu-core.d.ts +47 -45
  190. package/dist/src/components/menu/menu-render.d.ts +42 -40
  191. package/dist/src/components/menu/menu-types.d.ts +132 -130
  192. package/dist/src/components/menu/menu-utils.d.ts +16 -13
  193. package/dist/src/components/menu/mono-menu-list.d.ts +116 -114
  194. package/dist/src/components/menu/mono-menu.d.ts +30 -26
  195. package/dist/src/components/menu/mono-menu.shadow.d.ts +22 -18
  196. package/dist/src/components/modal/index.d.ts +5 -3
  197. package/dist/src/components/modal/index.shadow.d.ts +6 -4
  198. package/dist/src/components/modal/modal-core.d.ts +81 -79
  199. package/dist/src/components/modal/modal-types.d.ts +223 -221
  200. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -3
  201. package/dist/src/components/modal/mono-modal.d.ts +32 -28
  202. package/dist/src/components/modal/mono-modal.shadow.d.ts +38 -35
  203. package/dist/src/components/nav/index.d.ts +4 -3
  204. package/dist/src/components/nav/index.shadow.d.ts +5 -5
  205. package/dist/src/components/nav/mono-nav.d.ts +28 -24
  206. package/dist/src/components/nav/mono-nav.shadow.d.ts +10 -7
  207. package/dist/src/components/nav/nav-core.d.ts +16 -14
  208. package/dist/src/components/nav/nav-types.d.ts +23 -22
  209. package/dist/src/components/nav/nav-utils.d.ts +10 -8
  210. package/dist/src/components/radio/index.d.ts +4 -3
  211. package/dist/src/components/radio/index.shadow.d.ts +5 -4
  212. package/dist/src/components/radio/mono-radio.d.ts +19 -15
  213. package/dist/src/components/radio/mono-radio.shadow.d.ts +22 -18
  214. package/dist/src/components/radio/radio-core.d.ts +31 -29
  215. package/dist/src/components/radio/radio-types.d.ts +48 -46
  216. package/dist/src/components/radio/radio-utils.d.ts +5 -3
  217. package/dist/src/components/rich-text-editor/index.d.ts +5 -4
  218. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -5
  219. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +19 -15
  220. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +22 -19
  221. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +61 -59
  222. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +2 -0
  223. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +5 -3
  224. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +179 -177
  225. package/dist/src/components/select/index.d.ts +4 -3
  226. package/dist/src/components/select/index.shadow.d.ts +5 -4
  227. package/dist/src/components/select/mono-select.d.ts +58 -54
  228. package/dist/src/components/select/mono-select.shadow.d.ts +30 -27
  229. package/dist/src/components/select/select-core.d.ts +82 -80
  230. package/dist/src/components/select/select-types.d.ts +235 -208
  231. package/dist/src/components/select/select-utils.d.ts +7 -5
  232. package/dist/src/components/sidebar/index.d.ts +4 -3
  233. package/dist/src/components/sidebar/index.shadow.d.ts +5 -5
  234. package/dist/src/components/sidebar/mono-sidebar.d.ts +22 -18
  235. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +11 -8
  236. package/dist/src/components/sidebar/sidebar-core.d.ts +33 -31
  237. package/dist/src/components/sidebar/sidebar-types.d.ts +77 -75
  238. package/dist/src/components/sidebar/sidebar-utils.d.ts +28 -26
  239. package/dist/src/components/switch/index.d.ts +4 -3
  240. package/dist/src/components/switch/index.shadow.d.ts +5 -4
  241. package/dist/src/components/switch/mono-switch.d.ts +19 -15
  242. package/dist/src/components/switch/mono-switch.shadow.d.ts +23 -19
  243. package/dist/src/components/switch/switch-core.d.ts +35 -33
  244. package/dist/src/components/switch/switch-types.d.ts +55 -53
  245. package/dist/src/components/switch/switch-utils.d.ts +5 -3
  246. package/dist/src/components/table/array-source.d.ts +31 -29
  247. package/dist/src/components/table/date-filter-tree.d.ts +25 -23
  248. package/dist/src/components/table/grouping.d.ts +22 -20
  249. package/dist/src/components/table/index.d.ts +28 -32
  250. package/dist/src/components/table/index.shadow.d.ts +34 -46
  251. package/dist/src/components/table/mono-data-grid.d.ts +1447 -1456
  252. package/dist/src/components/table/mono-table-checkbox-core.d.ts +34 -32
  253. package/dist/src/components/table/mono-table-checkbox.d.ts +12 -8
  254. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +16 -12
  255. package/dist/src/components/table/mono-table-detail-core.d.ts +29 -27
  256. package/dist/src/components/table/mono-table-detail.d.ts +12 -8
  257. package/dist/src/components/table/mono-table-detail.shadow.d.ts +13 -9
  258. package/dist/src/components/table/mono-table-empty-core.d.ts +24 -22
  259. package/dist/src/components/table/mono-table-empty.d.ts +17 -13
  260. package/dist/src/components/table/mono-table-empty.shadow.d.ts +22 -18
  261. package/dist/src/components/table/mono-table-error-core.d.ts +24 -22
  262. package/dist/src/components/table/mono-table-error.d.ts +12 -8
  263. package/dist/src/components/table/mono-table-error.shadow.d.ts +15 -11
  264. package/dist/src/components/table/mono-table-info-core.d.ts +6 -4
  265. package/dist/src/components/table/mono-table-info.d.ts +12 -8
  266. package/dist/src/components/table/mono-table-info.shadow.d.ts +9 -5
  267. package/dist/src/components/table/mono-table-loading-core.d.ts +7 -5
  268. package/dist/src/components/table/mono-table-loading.d.ts +12 -8
  269. package/dist/src/components/table/mono-table-loading.shadow.d.ts +9 -5
  270. package/dist/src/components/table/mono-table-page-size-core.d.ts +7 -5
  271. package/dist/src/components/table/mono-table-page-size.d.ts +12 -8
  272. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +9 -5
  273. package/dist/src/components/table/mono-table-paging-core.d.ts +16 -14
  274. package/dist/src/components/table/mono-table-paging-group-core.d.ts +10 -8
  275. package/dist/src/components/table/mono-table-paging-group.d.ts +12 -8
  276. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +9 -5
  277. package/dist/src/components/table/mono-table-paging.d.ts +12 -8
  278. package/dist/src/components/table/mono-table-paging.shadow.d.ts +9 -5
  279. package/dist/src/components/table/mono-table-search-core.d.ts +51 -49
  280. package/dist/src/components/table/mono-table-search.d.ts +25 -22
  281. package/dist/src/components/table/mono-table-search.shadow.d.ts +12 -9
  282. package/dist/src/components/table/mono-table-sort-core.d.ts +16 -14
  283. package/dist/src/components/table/mono-table-sort.d.ts +21 -18
  284. package/dist/src/components/table/mono-table-sort.shadow.d.ts +11 -8
  285. package/dist/src/components/table/mono-table-summary-core.d.ts +9 -7
  286. package/dist/src/components/table/mono-table-summary.d.ts +12 -8
  287. package/dist/src/components/table/mono-table-summary.shadow.d.ts +9 -5
  288. package/dist/src/components/table/mono-table-th-core.d.ts +23 -21
  289. package/dist/src/components/table/mono-table-th.d.ts +21 -18
  290. package/dist/src/components/table/mono-table-th.shadow.d.ts +11 -8
  291. package/dist/src/components/table/store-group-source.d.ts +14 -12
  292. package/dist/src/components/table/table-controller-core.d.ts +17 -15
  293. package/dist/src/components/table/table-filter-icons.d.ts +3 -1
  294. package/dist/src/components/table/table-menu-core.d.ts +40 -38
  295. package/dist/src/components/table/table-overlay.d.ts +43 -41
  296. package/dist/src/components/table/table-sort-icons.d.ts +4 -2
  297. package/dist/src/components/table/table-sort-utils.d.ts +3 -1
  298. package/dist/src/components/table/table-types.d.ts +391 -400
  299. package/dist/src/components/tabs/index.d.ts +3 -2
  300. package/dist/src/components/tabs/index.shadow.d.ts +4 -3
  301. package/dist/src/components/tabs/mono-tabs.d.ts +21 -17
  302. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +21 -17
  303. package/dist/src/components/tabs/tabs-core.d.ts +36 -34
  304. package/dist/src/components/tabs/tabs-types.d.ts +48 -46
  305. package/dist/src/components/tag-input/index.d.ts +5 -3
  306. package/dist/src/components/tag-input/index.shadow.d.ts +6 -4
  307. package/dist/src/components/tag-input/mono-tag-input.d.ts +56 -52
  308. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +41 -38
  309. package/dist/src/components/tag-input/tag-input-core.d.ts +95 -93
  310. package/dist/src/components/tag-input/tag-input-types.d.ts +350 -327
  311. package/dist/src/components/tag-input/tag-input-utils.d.ts +7 -5
  312. package/dist/src/components/textarea/index.d.ts +4 -3
  313. package/dist/src/components/textarea/index.shadow.d.ts +5 -4
  314. package/dist/src/components/textarea/mono-textarea.d.ts +19 -15
  315. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +19 -16
  316. package/dist/src/components/textarea/textarea-core.d.ts +48 -46
  317. package/dist/src/components/textarea/textarea-types.d.ts +120 -118
  318. package/dist/src/components/textarea/textarea-utils.d.ts +7 -5
  319. package/dist/src/components/tooltip/control-tooltip.d.ts +3 -1
  320. package/dist/src/components/tooltip/index.d.ts +6 -5
  321. package/dist/src/components/tooltip/tooltip-config.d.ts +17 -15
  322. package/dist/src/components/tooltip/tooltip-declarative.d.ts +3 -1
  323. package/dist/src/components/tooltip/tooltip-loader.d.ts +2 -0
  324. package/dist/src/components/tooltip/tooltip-types.d.ts +74 -72
  325. package/dist/src/composables/breakpoints.d.ts +9 -7
  326. package/dist/src/composables/chip-limits.d.ts +12 -10
  327. package/dist/src/composables/chip-strip.d.ts +91 -89
  328. package/dist/src/composables/color.d.ts +6 -4
  329. package/dist/src/composables/css-class.d.ts +4 -2
  330. package/dist/src/composables/css-size.d.ts +9 -7
  331. package/dist/src/composables/data-source-controller.d.ts +90 -59
  332. package/dist/src/composables/element-props.d.ts +3 -3
  333. package/dist/src/composables/field-icons.d.ts +11 -1
  334. package/dist/src/composables/hybird-prop.d.ts +10 -8
  335. package/dist/src/composables/hydration-flush.d.ts +16 -14
  336. package/dist/src/composables/icon.d.ts +3 -1
  337. package/dist/src/composables/layout-var.d.ts +2 -0
  338. package/dist/src/composables/light-slots.d.ts +34 -32
  339. package/dist/src/composables/mdi-glyphs.d.ts +2 -0
  340. package/dist/src/composables/mono-element.d.ts +3 -1
  341. package/dist/src/composables/mono-event.d.ts +15 -13
  342. package/dist/src/composables/mono-pending.d.ts +4 -2
  343. package/dist/src/composables/mono-skeleton.d.ts +100 -98
  344. package/dist/src/composables/mono-ui.d.ts +17 -18
  345. package/dist/src/composables/notifier.d.ts +20 -18
  346. package/dist/src/composables/popup-portal.d.ts +177 -175
  347. package/dist/src/composables/popup-stack.d.ts +36 -34
  348. package/dist/src/composables/rate-limit.d.ts +33 -31
  349. package/dist/src/composables/reactive.d.ts +3 -1
  350. package/dist/src/composables/shadow-css.d.ts +17 -15
  351. package/dist/src/composables/visibility.d.ts +6 -4
  352. package/dist/src/data/theme/index.d.ts +9 -7
  353. package/dist/src/data/theme/presets.d.ts +64 -62
  354. package/dist/src/entries/index.d.ts +36 -1
  355. package/dist/src/entries/index.node.d.ts +34 -41
  356. package/dist/src/entries/search.d.ts +2 -2
  357. package/dist/src/export/detail.d.ts +14 -12
  358. package/dist/src/export/download.d.ts +2 -0
  359. package/dist/src/export/excel/index.d.ts +13 -11
  360. package/dist/src/export/excel/nodes.d.ts +95 -93
  361. package/dist/src/export/expression.d.ts +3 -1
  362. package/dist/src/export/helpers.d.ts +3 -1
  363. package/dist/src/export/index.d.ts +6 -4
  364. package/dist/src/export/markdown.d.ts +19 -17
  365. package/dist/src/export/resolve-data.d.ts +3 -1
  366. package/dist/src/export/sentinel.d.ts +32 -30
  367. package/dist/src/export/sheet-name.d.ts +7 -5
  368. package/dist/src/export/styles.d.ts +13 -11
  369. package/dist/src/export/template.d.ts +3 -1
  370. package/dist/src/export/types.d.ts +224 -222
  371. package/dist/src/import/coerce.d.ts +5 -3
  372. package/dist/src/import/index.d.ts +12 -10
  373. package/dist/src/import/match.d.ts +20 -18
  374. package/dist/src/import/parse.d.ts +5 -3
  375. package/dist/src/import/types.d.ts +125 -123
  376. package/dist/src/nuxt/index.d.ts +92 -90
  377. package/dist/src/search/data-search.d.ts +92 -90
  378. package/dist/src/search/field-path.d.ts +10 -8
  379. package/dist/src/search/filter-eval.d.ts +2 -0
  380. package/dist/src/search/index.d.ts +6 -22
  381. package/dist/src/search/odata-search.d.ts +9 -7
  382. package/dist/src/search/search-expr.d.ts +16 -14
  383. package/dist/src/utils/data-source-apply.d.ts +11 -9
  384. package/dist/src/utils/data-source-options.d.ts +37 -35
  385. package/dist/src/utils/data-source-read.d.ts +40 -54
  386. package/dist/src/utils/data-source-summary.d.ts +8 -7
  387. package/dist/src/utils/normalize-error.d.ts +41 -9
  388. package/dist/src/vite/index.d.ts +34 -34
  389. package/dist/src/vite/mono-client-only.d.ts +34 -32
  390. package/dist/src/vite/mono-ssr-stub.d.ts +8 -6
  391. package/dist/src/vite/shadow-manifest.d.ts +2 -0
  392. package/dist/{styles-BIJ31TM4.js → styles-D-ergrfR.js} +417 -207
  393. package/dist/{tooltip-CysgRgBi.js → tooltip-FCMRUSLi.js} +94 -52
  394. package/dist/tooltip.js +3 -2
  395. package/dist/ui/accordion.js +16 -12
  396. package/dist/ui/alert.js +21 -14
  397. package/dist/ui/breadcrumb.js +28 -18
  398. package/dist/ui/button-dropdown.js +18 -14
  399. package/dist/ui/button.js +4 -2
  400. package/dist/ui/card.js +31 -13
  401. package/dist/ui/chart.js +107 -25
  402. package/dist/ui/checkbox.js +17 -12
  403. package/dist/ui/chip.js +19 -12
  404. package/dist/ui/date.js +19 -15
  405. package/dist/ui/drawer.js +26 -20
  406. package/dist/ui/dropdown-table.js +39 -30
  407. package/dist/ui/dropdown.js +19 -15
  408. package/dist/ui/file-upload.js +22 -17
  409. package/dist/ui/filter.js +18 -14
  410. package/dist/ui/form.js +4 -3
  411. package/dist/ui/index.css +1233 -2194
  412. package/dist/ui/input.js +24 -17
  413. package/dist/ui/menu.js +32 -20
  414. package/dist/ui/modal.js +34 -26
  415. package/dist/ui/nav.js +21 -15
  416. package/dist/ui/radio.js +17 -12
  417. package/dist/ui/rich-text-editor.js +34 -28
  418. package/dist/ui/select.js +181 -41
  419. package/dist/ui/shadow/accordion.js +13 -9
  420. package/dist/ui/shadow/alert.js +13 -9
  421. package/dist/ui/shadow/breadcrumb.js +23 -14
  422. package/dist/ui/shadow/button-dropdown.js +17 -13
  423. package/dist/ui/shadow/button.js +4 -2
  424. package/dist/ui/shadow/card.js +30 -11
  425. package/dist/ui/shadow/chart.js +163 -40
  426. package/dist/ui/shadow/checkbox.js +13 -9
  427. package/dist/ui/shadow/chip.js +16 -10
  428. package/dist/ui/shadow/date.js +19 -12
  429. package/dist/ui/shadow/drawer.js +22 -16
  430. package/dist/ui/shadow/dropdown-table.js +39 -28
  431. package/dist/ui/shadow/dropdown.js +15 -11
  432. package/dist/ui/shadow/file-upload.js +26 -19
  433. package/dist/ui/shadow/filter.js +17 -13
  434. package/dist/ui/shadow/input.js +20 -14
  435. package/dist/ui/shadow/menu.js +24 -14
  436. package/dist/ui/shadow/modal.js +36 -27
  437. package/dist/ui/shadow/nav.js +18 -12
  438. package/dist/ui/shadow/radio.js +15 -10
  439. package/dist/ui/shadow/rich-text-editor.js +32 -26
  440. package/dist/ui/shadow/select.js +179 -39
  441. package/dist/ui/shadow/sidebar.js +23 -16
  442. package/dist/ui/shadow/switch.js +15 -10
  443. package/dist/ui/shadow/table.js +123 -84
  444. package/dist/ui/shadow/tabs.js +12 -8
  445. package/dist/ui/shadow/tag-input.js +186 -52
  446. package/dist/ui/shadow/textarea.js +17 -12
  447. package/dist/ui/sidebar.js +27 -20
  448. package/dist/ui/switch.js +17 -12
  449. package/dist/ui/table.js +129 -87
  450. package/dist/ui/tabs.js +15 -11
  451. package/dist/ui/tag-input.js +182 -48
  452. package/dist/ui/textarea.js +19 -14
  453. package/dist/{vite-C5iUK7so.js → vite-DcyRlTTf.js} +17 -9
  454. package/dist/vite.js +3 -2
  455. package/package.json +15 -14
  456. package/dist/checkbox-Cqpie9Ap.js +0 -4
  457. package/dist/chip-DBUUa2eB.js +0 -4
  458. package/dist/data/theme/presets.json.d.ts +0 -140
  459. package/dist/export.d.ts +0 -1
  460. package/dist/hydration-flush-RB5Tz5nl.js +0 -1001
  461. package/dist/import.d.ts +0 -1
  462. package/dist/index.d.ts +0 -1
  463. package/dist/index.node.d.ts +0 -1
  464. package/dist/input-zGOULADt.js +0 -4
  465. package/dist/mono-button-CoVnBLav.js +0 -873
  466. package/dist/mono-button.shadow-FfP_hMH4.js +0 -784
  467. package/dist/nuxt.d.ts +0 -1
  468. package/dist/search.d.ts +0 -1
  469. package/dist/tooltip.d.ts +0 -1
  470. package/dist/ui/accordion.d.ts +0 -1
  471. package/dist/ui/alert.d.ts +0 -1
  472. package/dist/ui/breadcrumb.d.ts +0 -1
  473. package/dist/ui/button-dropdown.d.ts +0 -1
  474. package/dist/ui/button.d.ts +0 -1
  475. package/dist/ui/card.d.ts +0 -1
  476. package/dist/ui/chart.d.ts +0 -1
  477. package/dist/ui/checkbox.d.ts +0 -1
  478. package/dist/ui/chip.d.ts +0 -1
  479. package/dist/ui/date.d.ts +0 -1
  480. package/dist/ui/drawer.d.ts +0 -1
  481. package/dist/ui/dropdown-table.d.ts +0 -1
  482. package/dist/ui/dropdown.d.ts +0 -1
  483. package/dist/ui/file-upload.d.ts +0 -1
  484. package/dist/ui/filter.d.ts +0 -1
  485. package/dist/ui/form.d.ts +0 -1
  486. package/dist/ui/input.d.ts +0 -1
  487. package/dist/ui/menu.d.ts +0 -1
  488. package/dist/ui/modal.d.ts +0 -1
  489. package/dist/ui/nav.d.ts +0 -1
  490. package/dist/ui/radio.d.ts +0 -1
  491. package/dist/ui/rich-text-editor.d.ts +0 -1
  492. package/dist/ui/select.d.ts +0 -1
  493. package/dist/ui/sidebar.d.ts +0 -1
  494. package/dist/ui/switch.d.ts +0 -1
  495. package/dist/ui/table.d.ts +0 -1
  496. package/dist/ui/tabs.d.ts +0 -1
  497. package/dist/ui/tag-input.d.ts +0 -1
  498. package/dist/ui/textarea.d.ts +0 -1
  499. package/dist/vite.d.ts +0 -1
package/dist/ui/alert.js CHANGED
@@ -1,10 +1,11 @@
1
- import { t as customElement } from "../mono-element-B0kP_96P.js";
2
- import { a as defineHybridPropAliases, i as defineHybridPropAlias, r as booleanStringConverter, t as __decorate } from "../decorate-DEXtNagw.js";
3
- import { a as parkDetachedNodes, n as bucketHasContent, o as placeLightSlots, r as captureLightSlots } from "../light-slots-DW1WgfgT.js";
4
- import { t as isIconifyClass } from "../icon-dVhYJUIH.js";
5
- import { r as closeIcon } from "../field-icons-BoOG6KrL.js";
1
+ import { t as customElement } from "../mono-element-C7vCschg.js";
2
+ import { a as defineHybridPropAliases, i as defineHybridPropAlias, r as booleanStringConverter, t as __decorate } from "../decorate-DbYFpi8R.js";
3
+ import { a as parkDetachedNodes, n as bucketHasContent, o as placeLightSlots, r as captureLightSlots } from "../light-slots-DdDdZ6zs.js";
4
+ import { t as isIconifyClass } from "../icon-ClxnYhBG.js";
5
+ import { r as closeIcon } from "../field-icons-FmyBWa0g.js";
6
6
  import { LitElement, html, nothing, unsafeCSS } from "lit";
7
7
  import { property, state } from "lit/decorators.js";
8
+
8
9
  //#region src/components/alert/alert-core.ts
9
10
  /**
10
11
  * `MonoAlertCore` — everything both builds share: props (with the `closeable`
@@ -18,7 +19,7 @@ import { property, state } from "lit/decorators.js";
18
19
  *
19
20
  * SSR-safe: no `document`/`window` access.
20
21
  */
21
- var MonoAlertCore = (superClass) => {
22
+ const MonoAlertCore = (superClass) => {
22
23
  class MonoAlertCoreClass extends superClass {
23
24
  constructor(...args) {
24
25
  super(...args);
@@ -130,26 +131,28 @@ var MonoAlertCore = (superClass) => {
130
131
  __decorate([state()], MonoAlertCoreClass.prototype, "_hasBodySlot", void 0);
131
132
  return MonoAlertCoreClass;
132
133
  };
134
+
133
135
  //#endregion
134
- //#region src/components/alert/alert.css?raw
135
- var alert_default = "/* =========================================================================\r\n mono-alert — a port of Basecoat's `.alert` (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-alert color=\"danger\" variant=\"tonal\" icon=\"i-mdi-alert-outline\"\r\n title=\"Payment failed\" subtitle=\"Check the card details.\" clearable>\r\n <div mono-alert mono-color=\"danger\" mono-variant=\"tonal\" mono-clearable role=\"alert\">\r\n <span mono-icon><svg …></svg></span>\r\n <div mono-title>Payment failed</div>\r\n <div mono-subtitle>Check the card details.</div>\r\n <button type=\"button\" mono-clear aria-label=\"Close\"><svg …></svg></button>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-variant])` = outline, `:not([mono-color])` = neutral).\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-alert] ≡ .alert (grid gap-0.5 rounded-lg border px-4 py-3 text-sm bg-card text-card-foreground)\r\n [mono-alert]:has(> [mono-icon]) ≡ .alert has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5\r\n [mono-icon] ≡ .alert > svg (row-span-2 translate-y-0.5 size-4 text-current)\r\n [mono-title] ≡ .alert > :is(h2…h6, strong, [data-title]) (font-medium, col-start-2 beside an icon)\r\n [mono-subtitle] ≡ .alert > section (text-sm text-muted-foreground text-balance)\r\n [mono-body] ≡ EXTENSION (`slot=\"body\"`: the whole content, across both columns)\r\n [mono-clear] ≡ .alert > footer position (top-2.5 end-3), drawn as a ghost ✕\r\n [mono-variant=\"outline\"] (default) ≡ .alert verbatim; with a colour ≡ .alert[data-variant='destructive'] for every hue\r\n [mono-variant=\"tonal|solid|text\"] ≡ EXTENSION — the same four looks as mono-button\r\n [mono-color=\"…\"] ≡ EXTENSION (`danger` is upstream's destructive)\r\n [mono-size=\"…\"] ≡ EXTENSION — ONE scale factor over the md metrics (see below)\r\n\r\n Specificity contract: a part's RESTING rule is `:where([mono-alert]) > [part]`\r\n = (0,1,0), so a utility class handed in through `cssClass` wins by order;\r\n variant / colour / size rules are heavier and win over it.\r\n\r\n The shadow build renders every region and marks the empty ones [mono-empty];\r\n this sheet hides them.\r\n\r\n FLAVORS set `--mono-alert-{radius,padding-x,padding-y,font-size,\r\n subtitle-font-size,subtitle-line-height,icon-size,icon-gap,icon-offset,\r\n title-weight,accent-bar-width}` — the md values only: every size is a multiple\r\n of md, so a flavor never has to restate a ladder (and can never leave one step\r\n behind). Every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"^\\.alert(?!-dialog)\"`).\r\n ========================================================================= */\r\n\r\nmono-alert {\r\n display: block;\r\n}\r\n\r\n/* The ✕ hides the alert with the native `hidden` attribute; the element's own\r\n `display: block` would otherwise out-rank the UA's `[hidden]`. */\r\nmono-alert[hidden],\r\n[mono-alert][hidden] {\r\n display: none;\r\n}\r\n\r\n[mono-alert] {\r\n /* ── presets, RESET on every alert ───────────────────────────────────────\r\n A preset is written by a [mono-size] / [mono-color] rule on the alert that\r\n has the prop — and a custom property INHERITS. An alert nested in another\r\n alert's body (a supported layout) would otherwise pick up the outer one's\r\n size and colour: a plain alert inside a `danger` `lg` one came out large.\r\n Declaring the defaults here gives every alert its own; the qualified rules\r\n are heavier and still win on the element they target. */\r\n --_mono-alert-scale-preset: 1;\r\n --_mono-alert-c-preset: var(--card-foreground);\r\n --_mono-alert-solid-bg-preset: var(--foreground);\r\n --_mono-alert-solid-fg-preset: var(--background);\r\n\r\n /* ── the size factor: md = 1; every metric below is md × this ───────────── */\r\n --_mono-alert-scale: var(--_mono-alert-scale-preset);\r\n\r\n /* ── palette ─────────────────────────────────────────────────────────────── */\r\n --_mono-alert-bg: var(--mono-alert-bg, var(--card));\r\n --_mono-alert-text: var(--mono-alert-text, var(--card-foreground));\r\n --_mono-alert-subtext: var(--mono-alert-subtext, var(--muted-foreground));\r\n --_mono-alert-border-color: var(--mono-alert-border-color, var(--border));\r\n --_mono-alert-border-width: var(--mono-alert-border-width, var(--mono-border-width));\r\n /* the colour in play — the plain card ink unless a [mono-color] rule re-points it */\r\n --_mono-alert-c: var(--_mono-alert-c-preset);\r\n --_mono-alert-solid-bg: var(--_mono-alert-solid-bg-preset);\r\n --_mono-alert-solid-fg: var(--_mono-alert-solid-fg-preset);\r\n\r\n /* ── shape + md metrics ──────────────────────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .alert — grid gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 [&>svg]:row-span-2 [&>svg]:translate-y-0.5 [&>svg]:text-current [&>svg:not([class*='size-'])]:size-4 */\r\n --_mono-alert-radius: var(--mono-alert-radius, var(--mono-radius-lg));\r\n --_mono-alert-padding-x: calc(var(--mono-alert-padding-x, calc(var(--mono-spacing) * 4)) * var(--_mono-alert-scale));\r\n --_mono-alert-padding-y: calc(var(--mono-alert-padding-y, calc(var(--mono-spacing) * 3)) * var(--_mono-alert-scale));\r\n --_mono-alert-gap: calc(var(--mono-alert-gap, calc(var(--mono-spacing) * 0.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-gap: calc(var(--mono-alert-icon-gap, calc(var(--mono-spacing) * 2.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-size: calc(var(--mono-alert-icon-size, calc(var(--mono-spacing) * 4)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-offset: calc(var(--mono-alert-icon-offset, calc(var(--mono-spacing) * 0.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-font-size: calc(var(--mono-alert-font-size, var(--mono-text-sm)) * var(--_mono-alert-scale));\r\n --_mono-alert-line-height: var(--mono-alert-line-height, var(--mono-text-sm--lh));\r\n --_mono-alert-title-weight: var(--mono-alert-title-weight, var(--mono-font-weight-medium));\r\n --_mono-alert-subtitle-font-size: calc(var(--mono-alert-subtitle-font-size, var(--mono-text-sm)) * var(--_mono-alert-scale));\r\n --_mono-alert-subtitle-line-height: var(--mono-alert-subtitle-line-height, var(--mono-text-sm--lh));\r\n /* sera's start-edge bar (`after:w-0.5 after:bg-foreground`); 0 everywhere else */\r\n --_mono-alert-accent-bar-width: var(--mono-alert-accent-bar-width, 0px);\r\n --_mono-alert-clear-size: calc(var(--mono-alert-clear-size, calc(var(--mono-spacing) * 6)) * var(--_mono-alert-scale));\r\n\r\n /* ── the look, resolved per variant below ───────────────────────────────── */\r\n --_mono-alert-surface: var(--_mono-alert-bg);\r\n --_mono-alert-edge: var(--_mono-alert-border-color);\r\n --_mono-alert-ink: var(--_mono-alert-text);\r\n --_mono-alert-sub-ink: var(--_mono-alert-subtext);\r\n --_mono-alert-bar: var(--_mono-alert-c);\r\n\r\n position: relative;\r\n box-sizing: border-box;\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n align-items: start;\r\n row-gap: var(--_mono-alert-gap);\r\n width: 100%;\r\n min-width: 0;\r\n padding: var(--_mono-alert-padding-y) var(--_mono-alert-padding-x);\r\n border: var(--_mono-alert-border-width) solid var(--_mono-alert-edge);\r\n border-radius: var(--_mono-alert-radius);\r\n background-color: var(--_mono-alert-surface);\r\n color: var(--_mono-alert-ink);\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n text-align: start;\r\n}\r\n\r\n/* sera — `relative after:-inset-y-px after:-start-px after:w-0.5 after:absolute\r\n after:bg-foreground` (destructive: after:bg-destructive). Zero-width elsewhere. */\r\n[mono-alert]::after {\r\n content: '';\r\n position: absolute;\r\n inset-block: calc(var(--_mono-alert-border-width) * -1);\r\n inset-inline-start: calc(var(--_mono-alert-border-width) * -1);\r\n width: var(--_mono-alert-accent-bar-width);\r\n background: var(--_mono-alert-bar);\r\n pointer-events: none;\r\n}\r\n\r\n/* basecoat@1.0.2 components/alert.css .alert — relative w-full (the icon column\r\n below is vega's `has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5`) */\r\n[mono-alert]:has(> [mono-icon]:not([mono-empty])) {\r\n grid-template-columns: auto minmax(0, 1fr);\r\n column-gap: var(--_mono-alert-icon-gap);\r\n}\r\n\r\n/* The shadow build renders every region and marks the empty ones. A child\r\n combinator, so a nested component's own regions inside the body are left alone. */\r\n[mono-alert] > :is([mono-icon], [mono-title], [mono-subtitle], [mono-body])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Icon — `[&>svg]:row-span-2 translate-y-0.5 text-current size-4`\r\n ========================================= */\r\n\r\n:where([mono-alert]) > [mono-icon] {\r\n grid-row: span 2;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-alert-icon-size);\r\n height: var(--_mono-alert-icon-size);\r\n translate: 0 var(--_mono-alert-icon-offset);\r\n color: currentColor;\r\n line-height: 1;\r\n}\r\n\r\n/* Whatever paints the glyph fills the box: an inline svg (raw markup, a slotted\r\n svg, the shadow build's bundled glyph) or the light build's iconify span.\r\n Two attributes strong ON PURPOSE — UnoCSS's `i-*` sets width/height at (0,1,0)\r\n and loads later — and scoped to the alert (a bare `[mono-glyph]` rule is global\r\n and would resize every component's glyph).\r\n\r\n DESCENDANT, not `>`: in the shadow build the glyph is the FALLBACK of\r\n `<slot name=\"icon\">`, so the tree is [mono-icon] > slot > [mono-glyph] > svg.\r\n A child combinator never matched it and the icon measured 0 × 0. (The slot is\r\n `display: contents`, so the glyph is still the box's flex item.) */\r\n[mono-alert] > [mono-icon] :is(svg, img, [mono-glyph]) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n}\r\n\r\n/* the light build's placeholder is invisible to layout, so the svg sizes against\r\n the icon box, not against a zero-width span */\r\n[mono-alert] > [mono-icon] > [data-mono-slot='icon'] {\r\n display: contents;\r\n}\r\n\r\n[mono-alert] > [mono-icon] slot::slotted(:is(svg, img, span)) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* =========================================\r\n Title + subtitle\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert > :is(h2, h3, h4, h5, h6, strong, [data-title]), .alert[data-variant='destructive'] > :is(h2, h3, h4, h5, h6, strong, [data-title]) — font-medium\r\n basecoat@1.0.2 components/alert.css .alert > :is(h2, h3, h4, h5, h6, strong, [data-title]) — min-h-4 */\r\n:where([mono-alert]) > [mono-title] {\r\n min-height: var(--_mono-alert-icon-size);\r\n margin: 0;\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n font-weight: var(--_mono-alert-title-weight);\r\n color: inherit;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert > section — text-muted-foreground text-sm text-balance md:text-pretty */\r\n:where([mono-alert]) > [mono-subtitle] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-subtitle-font-size);\r\n line-height: var(--_mono-alert-subtitle-line-height);\r\n color: var(--_mono-alert-sub-ink);\r\n text-wrap: pretty;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert:has(> svg) > :is(h2, h3, h4, h5, h6, strong, [data-title]) — col-start-2 */\r\n[mono-alert]:has(> [mono-icon]:not([mono-empty])) > :is([mono-title], [mono-subtitle]) {\r\n grid-column-start: 2;\r\n}\r\n\r\n/* Raw markup puts the region attribute ON a prose tag, which a host page styles\r\n by tag through a class selector (`.vp-doc h3`, (0,1,1)) — restate the type and\r\n margin at (0,2,1) so the tag reads like the element's <div>. */\r\n[mono-alert] > :is(h1, h2, h3, h4, h5, h6, p, strong)[mono-title] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n font-weight: var(--_mono-alert-title-weight);\r\n}\r\n\r\n[mono-alert] > :is(h1, h2, h3, h4, h5, h6, p, strong)[mono-subtitle] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-subtitle-font-size);\r\n line-height: var(--_mono-alert-subtitle-line-height);\r\n}\r\n\r\n/* =========================================\r\n Body — `slot=\"body\"` / unslotted children: the whole content, both columns\r\n ========================================= */\r\n\r\n:where([mono-alert]) > [mono-body] {\r\n grid-column: 1 / -1;\r\n min-width: 0;\r\n}\r\n\r\n/* basecoat@1.0.2 components/alert.css .alert > section >> :where(p, ul, ol) — m-0\r\n basecoat@1.0.2 components/alert.css .alert > section >> :where(p, ul, ol):not(:last-child) — mb-4 */\r\n:where([mono-alert]) > [mono-body] :where(p, ul, ol) {\r\n margin: 0;\r\n}\r\n\r\n:where([mono-alert]) > [mono-body] :where(p, ul, ol):not(:last-child) {\r\n margin-bottom: calc(var(--mono-spacing) * 4);\r\n}\r\n\r\n/* =========================================\r\n The ✕ — a ghost icon button at the top end, centred on the icon's line\r\n basecoat@1.0.2 styles/vega.css .alert > footer, .alert[data-variant='destructive'] > footer — top-2.5 end-3\r\n basecoat@1.0.2 components/alert.css .alert:has(> footer) — pe-[4.5rem] (here: just the button's room)\r\n ========================================= */\r\n\r\n[mono-alert][mono-clearable] {\r\n padding-inline-end: calc(var(--_mono-alert-padding-x) + var(--_mono-alert-clear-size));\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear] {\r\n position: absolute;\r\n top: calc(\r\n var(--_mono-alert-padding-y) + var(--_mono-alert-icon-offset) +\r\n (var(--_mono-alert-icon-size) - var(--_mono-alert-clear-size)) / 2\r\n );\r\n inset-inline-end: calc(var(--_mono-alert-padding-x) - (var(--_mono-alert-clear-size) - var(--_mono-alert-icon-size)) / 2);\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-alert-clear-size);\r\n height: var(--_mono-alert-clear-size);\r\n padding: 0;\r\n border: 0;\r\n border-radius: var(--mono-radius-md);\r\n background: transparent;\r\n color: inherit;\r\n opacity: 0.7;\r\n cursor: pointer;\r\n transition:\r\n opacity var(--mono-duration-fast, 100ms) var(--mono-ease),\r\n background-color var(--mono-duration-fast, 100ms) var(--mono-ease);\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear] > svg {\r\n width: var(--_mono-alert-icon-size);\r\n height: var(--_mono-alert-icon-size);\r\n}\r\n\r\n@media (hover: hover) {\r\n :where([mono-alert]) > [mono-clear]:hover {\r\n opacity: 1;\r\n background-color: color-mix(in oklab, currentColor 10%, transparent);\r\n }\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear]:focus-visible {\r\n opacity: 1;\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width) color-mix(in oklab, var(--ring) var(--mono-ring-alpha), transparent);\r\n}\r\n\r\n/* =========================================\r\n Sizes — one factor over the md metrics (md = 1, the unqualified root)\r\n ========================================= */\r\n\r\n[mono-alert][mono-size='xs'] { --_mono-alert-scale-preset: 0.8; }\r\n[mono-alert][mono-size='sm'] { --_mono-alert-scale-preset: 0.9; }\r\n[mono-alert][mono-size='lg'] { --_mono-alert-scale-preset: 1.1; }\r\n[mono-alert][mono-size='xl'] { --_mono-alert-scale-preset: 1.25; }\r\n[mono-alert][mono-size='xxl'] { --_mono-alert-scale-preset: 1.4; }\r\n\r\n/* =========================================\r\n Colours — `danger` is upstream's destructive; `secondary` is the grey\r\n SURFACE pair (its ink is the foreground, its solid plate the surface)\r\n ========================================= */\r\n\r\n[mono-alert][mono-color='primary'] { --_mono-alert-c-preset: var(--primary); --_mono-alert-solid-bg-preset: var(--primary); --_mono-alert-solid-fg-preset: var(--primary-foreground); }\r\n[mono-alert][mono-color='secondary'] { --_mono-alert-c-preset: var(--secondary-foreground); --_mono-alert-solid-bg-preset: var(--secondary); --_mono-alert-solid-fg-preset: var(--secondary-foreground); }\r\n[mono-alert][mono-color='success'] { --_mono-alert-c-preset: var(--success); --_mono-alert-solid-bg-preset: var(--success); --_mono-alert-solid-fg-preset: var(--success-foreground); }\r\n[mono-alert][mono-color='danger'] { --_mono-alert-c-preset: var(--destructive); --_mono-alert-solid-bg-preset: var(--destructive); --_mono-alert-solid-fg-preset: var(--destructive-foreground); }\r\n[mono-alert][mono-color='warning'] { --_mono-alert-c-preset: var(--warning); --_mono-alert-solid-bg-preset: var(--warning); --_mono-alert-solid-fg-preset: var(--warning-foreground); }\r\n[mono-alert][mono-color='info'] { --_mono-alert-c-preset: var(--info); --_mono-alert-solid-bg-preset: var(--info); --_mono-alert-solid-fg-preset: var(--info-foreground); }\r\n[mono-alert][mono-color='teal'] { --_mono-alert-c-preset: var(--teal); --_mono-alert-solid-bg-preset: var(--teal); --_mono-alert-solid-fg-preset: var(--teal-foreground); }\r\n[mono-alert][mono-color='purple'] { --_mono-alert-c-preset: var(--purple); --_mono-alert-solid-bg-preset: var(--purple); --_mono-alert-solid-fg-preset: var(--purple-foreground); }\r\n[mono-alert][mono-color='neutral'] { --_mono-alert-c-preset: var(--neutral); --_mono-alert-solid-bg-preset: var(--neutral); --_mono-alert-solid-fg-preset: var(--neutral-foreground); }\r\n[mono-alert][mono-color='dark'] { --_mono-alert-c-preset: var(--dark); --_mono-alert-solid-bg-preset: var(--dark); --_mono-alert-solid-fg-preset: var(--dark-foreground); }\r\n\r\n/* =========================================\r\n Variants — each resolves surface / edge / ink / sub-ink\r\n ========================================= */\r\n\r\n/* outline (default) WITH a colour —\r\n basecoat@1.0.2 styles/vega.css .alert[data-variant='destructive'] — text-destructive bg-card [&>svg]:text-current\r\n basecoat@1.0.2 styles/vega.css .alert[data-variant='destructive'] > section — text-destructive/90\r\n generalised to every hue; the edge picks up the hue too (EXTENSION), mixed into\r\n --border so it follows the mode. Without a colour it is `.alert` verbatim. */\r\n[mono-alert][mono-color]:is(:not([mono-variant]), [mono-variant='outline']) {\r\n --_mono-alert-edge: color-mix(in oklab, var(--_mono-alert-c) 45%, var(--_mono-alert-border-color));\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* tonal — the hue tinted over the card (chip `soft` / card `tonal`); dark mode\r\n deepens the tint through --mono-mode-tint */\r\n[mono-alert][mono-variant='tonal'] {\r\n --_mono-alert-surface: color-mix(in oklab, var(--_mono-alert-c) var(--mono-mode-tint), var(--_mono-alert-bg));\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* solid — the hue as the plate */\r\n[mono-alert][mono-variant='solid'] {\r\n --_mono-alert-surface: var(--_mono-alert-solid-bg);\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-solid-fg);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-solid-fg) 90%, transparent);\r\n --_mono-alert-bar: var(--_mono-alert-solid-fg);\r\n}\r\n\r\n/* text — no plate, no edge: an inline notice in the hue */\r\n[mono-alert][mono-variant='text'] {\r\n --_mono-alert-surface: transparent;\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* =========================================\r\n Stacking — consecutive visible alerts keep a gap; a hidden (✕-ed) one takes\r\n no room, so the rest move up. `[mono-alert-group]` lays them out itself.\r\n ========================================= */\r\n\r\n:where(mono-alert, mono-shadow-alert, [mono-alert]):not([hidden]) ~ :where(mono-alert, mono-shadow-alert, [mono-alert]):not([hidden]) {\r\n margin-block-start: var(--mono-alert-stack-gap, calc(var(--mono-spacing) * 3));\r\n}\r\n\r\n[mono-alert-group] {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--mono-alert-group-gap, calc(var(--mono-spacing) * 3));\r\n}\r\n\r\n[mono-alert-group] > :is(mono-alert, mono-shadow-alert, [mono-alert]) {\r\n margin-block-start: 0;\r\n}\r\n";
136
+ //#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\alert\alert.css?raw.js
137
+ var alert_css_raw_default = "/* =========================================================================\r\n mono-alert — a port of Basecoat's `.alert` (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-alert color=\"danger\" variant=\"tonal\" icon=\"i-mdi-alert-outline\"\r\n title=\"Payment failed\" subtitle=\"Check the card details.\" clearable>\r\n <div mono-alert mono-color=\"danger\" mono-variant=\"tonal\" mono-clearable role=\"alert\">\r\n <span mono-icon><svg …></svg></span>\r\n <div mono-title>Payment failed</div>\r\n <div mono-subtitle>Check the card details.</div>\r\n <button type=\"button\" mono-clear aria-label=\"Close\"><svg …></svg></button>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-variant])` = outline, `:not([mono-color])` = neutral).\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-alert] ≡ .alert (grid gap-0.5 rounded-lg border px-4 py-3 text-sm bg-card text-card-foreground)\r\n [mono-alert]:has(> [mono-icon]) ≡ .alert has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5\r\n [mono-icon] ≡ .alert > svg (row-span-2 translate-y-0.5 size-4 text-current)\r\n [mono-title] ≡ .alert > :is(h2…h6, strong, [data-title]) (font-medium, col-start-2 beside an icon)\r\n [mono-subtitle] ≡ .alert > section (text-sm text-muted-foreground text-balance)\r\n [mono-body] ≡ EXTENSION (`slot=\"body\"`: the whole content, across both columns)\r\n [mono-clear] ≡ .alert > footer position (top-2.5 end-3), drawn as a ghost ✕\r\n [mono-variant=\"outline\"] (default) ≡ .alert verbatim; with a colour ≡ .alert[data-variant='destructive'] for every hue\r\n [mono-variant=\"tonal|solid|text\"] ≡ EXTENSION — the same four looks as mono-button\r\n [mono-color=\"…\"] ≡ EXTENSION (`danger` is upstream's destructive)\r\n [mono-size=\"…\"] ≡ EXTENSION — ONE scale factor over the md metrics (see below)\r\n\r\n Specificity contract: a part's RESTING rule is `:where([mono-alert]) > [part]`\r\n = (0,1,0), so a utility class handed in through `cssClass` wins by order;\r\n variant / colour / size rules are heavier and win over it.\r\n\r\n The shadow build renders every region and marks the empty ones [mono-empty];\r\n this sheet hides them.\r\n\r\n FLAVORS set `--mono-alert-{radius,padding-x,padding-y,font-size,\r\n subtitle-font-size,subtitle-line-height,icon-size,icon-gap,icon-offset,\r\n title-weight,accent-bar-width}` — the md values only: every size is a multiple\r\n of md, so a flavor never has to restate a ladder (and can never leave one step\r\n behind). Every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"^\\.alert(?!-dialog)\"`).\r\n ========================================================================= */\r\n\r\nmono-alert {\r\n display: block;\r\n}\r\n\r\n/* The ✕ hides the alert with the native `hidden` attribute; the element's own\r\n `display: block` would otherwise out-rank the UA's `[hidden]`. */\r\nmono-alert[hidden],\r\n[mono-alert][hidden] {\r\n display: none;\r\n}\r\n\r\n[mono-alert] {\r\n /* ── presets, RESET on every alert ───────────────────────────────────────\r\n A preset is written by a [mono-size] / [mono-color] rule on the alert that\r\n has the prop — and a custom property INHERITS. An alert nested in another\r\n alert's body (a supported layout) would otherwise pick up the outer one's\r\n size and colour: a plain alert inside a `danger` `lg` one came out large.\r\n Declaring the defaults here gives every alert its own; the qualified rules\r\n are heavier and still win on the element they target. */\r\n --_mono-alert-scale-preset: 1;\r\n --_mono-alert-c-preset: var(--card-foreground);\r\n --_mono-alert-solid-bg-preset: var(--foreground);\r\n --_mono-alert-solid-fg-preset: var(--background);\r\n\r\n /* ── the size factor: md = 1; every metric below is md × this ───────────── */\r\n --_mono-alert-scale: var(--_mono-alert-scale-preset);\r\n\r\n /* ── palette ─────────────────────────────────────────────────────────────── */\r\n --_mono-alert-bg: var(--mono-alert-bg, var(--card));\r\n --_mono-alert-text: var(--mono-alert-text, var(--card-foreground));\r\n --_mono-alert-subtext: var(--mono-alert-subtext, var(--muted-foreground));\r\n --_mono-alert-border-color: var(--mono-alert-border-color, var(--border));\r\n --_mono-alert-border-width: var(--mono-alert-border-width, var(--mono-border-width));\r\n /* the colour in play — the plain card ink unless a [mono-color] rule re-points it */\r\n --_mono-alert-c: var(--_mono-alert-c-preset);\r\n --_mono-alert-solid-bg: var(--_mono-alert-solid-bg-preset);\r\n --_mono-alert-solid-fg: var(--_mono-alert-solid-fg-preset);\r\n\r\n /* ── shape + md metrics ──────────────────────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .alert — grid gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 [&>svg]:row-span-2 [&>svg]:translate-y-0.5 [&>svg]:text-current [&>svg:not([class*='size-'])]:size-4 */\r\n --_mono-alert-radius: var(--mono-alert-radius, var(--mono-radius-lg));\r\n --_mono-alert-padding-x: calc(var(--mono-alert-padding-x, calc(var(--mono-spacing) * 4)) * var(--_mono-alert-scale));\r\n --_mono-alert-padding-y: calc(var(--mono-alert-padding-y, calc(var(--mono-spacing) * 3)) * var(--_mono-alert-scale));\r\n --_mono-alert-gap: calc(var(--mono-alert-gap, calc(var(--mono-spacing) * 0.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-gap: calc(var(--mono-alert-icon-gap, calc(var(--mono-spacing) * 2.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-size: calc(var(--mono-alert-icon-size, calc(var(--mono-spacing) * 4)) * var(--_mono-alert-scale));\r\n --_mono-alert-icon-offset: calc(var(--mono-alert-icon-offset, calc(var(--mono-spacing) * 0.5)) * var(--_mono-alert-scale));\r\n --_mono-alert-font-size: calc(var(--mono-alert-font-size, var(--mono-text-sm)) * var(--_mono-alert-scale));\r\n --_mono-alert-line-height: var(--mono-alert-line-height, var(--mono-text-sm--lh));\r\n --_mono-alert-title-weight: var(--mono-alert-title-weight, var(--mono-font-weight-medium));\r\n --_mono-alert-subtitle-font-size: calc(var(--mono-alert-subtitle-font-size, var(--mono-text-sm)) * var(--_mono-alert-scale));\r\n --_mono-alert-subtitle-line-height: var(--mono-alert-subtitle-line-height, var(--mono-text-sm--lh));\r\n /* sera's start-edge bar (`after:w-0.5 after:bg-foreground`); 0 everywhere else */\r\n --_mono-alert-accent-bar-width: var(--mono-alert-accent-bar-width, 0px);\r\n --_mono-alert-clear-size: calc(var(--mono-alert-clear-size, calc(var(--mono-spacing) * 6)) * var(--_mono-alert-scale));\r\n\r\n /* ── the look, resolved per variant below ───────────────────────────────── */\r\n --_mono-alert-surface: var(--_mono-alert-bg);\r\n --_mono-alert-edge: var(--_mono-alert-border-color);\r\n --_mono-alert-ink: var(--_mono-alert-text);\r\n --_mono-alert-sub-ink: var(--_mono-alert-subtext);\r\n --_mono-alert-bar: var(--_mono-alert-c);\r\n\r\n position: relative;\r\n box-sizing: border-box;\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n align-items: start;\r\n row-gap: var(--_mono-alert-gap);\r\n width: 100%;\r\n min-width: 0;\r\n padding: var(--_mono-alert-padding-y) var(--_mono-alert-padding-x);\r\n border: var(--_mono-alert-border-width) solid var(--_mono-alert-edge);\r\n border-radius: var(--_mono-alert-radius);\r\n background-color: var(--_mono-alert-surface);\r\n color: var(--_mono-alert-ink);\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n text-align: start;\r\n}\r\n\r\n/* sera — `relative after:-inset-y-px after:-start-px after:w-0.5 after:absolute\r\n after:bg-foreground` (destructive: after:bg-destructive). Zero-width elsewhere. */\r\n[mono-alert]::after {\r\n content: '';\r\n position: absolute;\r\n inset-block: calc(var(--_mono-alert-border-width) * -1);\r\n inset-inline-start: calc(var(--_mono-alert-border-width) * -1);\r\n width: var(--_mono-alert-accent-bar-width);\r\n background: var(--_mono-alert-bar);\r\n pointer-events: none;\r\n}\r\n\r\n/* basecoat@1.0.2 components/alert.css .alert — relative w-full (the icon column\r\n below is vega's `has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5`) */\r\n[mono-alert]:has(> [mono-icon]:not([mono-empty])) {\r\n grid-template-columns: auto minmax(0, 1fr);\r\n column-gap: var(--_mono-alert-icon-gap);\r\n}\r\n\r\n/* The shadow build renders every region and marks the empty ones. A child\r\n combinator, so a nested component's own regions inside the body are left alone. */\r\n[mono-alert] > :is([mono-icon], [mono-title], [mono-subtitle], [mono-body])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Icon — `[&>svg]:row-span-2 translate-y-0.5 text-current size-4`\r\n ========================================= */\r\n\r\n:where([mono-alert]) > [mono-icon] {\r\n grid-row: span 2;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-alert-icon-size);\r\n height: var(--_mono-alert-icon-size);\r\n translate: 0 var(--_mono-alert-icon-offset);\r\n color: currentColor;\r\n line-height: 1;\r\n}\r\n\r\n/* Whatever paints the glyph fills the box: an inline svg (raw markup, a slotted\r\n svg, the shadow build's bundled glyph) or the light build's iconify span.\r\n Two attributes strong ON PURPOSE — UnoCSS's `i-*` sets width/height at (0,1,0)\r\n and loads later — and scoped to the alert (a bare `[mono-glyph]` rule is global\r\n and would resize every component's glyph).\r\n\r\n DESCENDANT, not `>`: in the shadow build the glyph is the FALLBACK of\r\n `<slot name=\"icon\">`, so the tree is [mono-icon] > slot > [mono-glyph] > svg.\r\n A child combinator never matched it and the icon measured 0 × 0. (The slot is\r\n `display: contents`, so the glyph is still the box's flex item.) */\r\n[mono-alert] > [mono-icon] :is(svg, img, [mono-glyph]) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n}\r\n\r\n/* the light build's placeholder is invisible to layout, so the svg sizes against\r\n the icon box, not against a zero-width span */\r\n[mono-alert] > [mono-icon] > [data-mono-slot='icon'] {\r\n display: contents;\r\n}\r\n\r\n[mono-alert] > [mono-icon] slot::slotted(:is(svg, img, span)) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* =========================================\r\n Title + subtitle\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert > :is(h2, h3, h4, h5, h6, strong, [data-title]), .alert[data-variant='destructive'] > :is(h2, h3, h4, h5, h6, strong, [data-title]) — font-medium\r\n basecoat@1.0.2 components/alert.css .alert > :is(h2, h3, h4, h5, h6, strong, [data-title]) — min-h-4 */\r\n:where([mono-alert]) > [mono-title] {\r\n min-height: var(--_mono-alert-icon-size);\r\n margin: 0;\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n font-weight: var(--_mono-alert-title-weight);\r\n color: inherit;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert > section — text-muted-foreground text-sm text-balance md:text-pretty */\r\n:where([mono-alert]) > [mono-subtitle] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-subtitle-font-size);\r\n line-height: var(--_mono-alert-subtitle-line-height);\r\n color: var(--_mono-alert-sub-ink);\r\n text-wrap: pretty;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .alert:has(> svg) > :is(h2, h3, h4, h5, h6, strong, [data-title]) — col-start-2 */\r\n[mono-alert]:has(> [mono-icon]:not([mono-empty])) > :is([mono-title], [mono-subtitle]) {\r\n grid-column-start: 2;\r\n}\r\n\r\n/* Raw markup puts the region attribute ON a prose tag, which a host page styles\r\n by tag through a class selector (`.vp-doc h3`, (0,1,1)) — restate the type and\r\n margin at (0,2,1) so the tag reads like the element's <div>. */\r\n[mono-alert] > :is(h1, h2, h3, h4, h5, h6, p, strong)[mono-title] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-font-size);\r\n line-height: var(--_mono-alert-line-height);\r\n font-weight: var(--_mono-alert-title-weight);\r\n}\r\n\r\n[mono-alert] > :is(h1, h2, h3, h4, h5, h6, p, strong)[mono-subtitle] {\r\n margin: 0;\r\n font-size: var(--_mono-alert-subtitle-font-size);\r\n line-height: var(--_mono-alert-subtitle-line-height);\r\n}\r\n\r\n/* =========================================\r\n Body — `slot=\"body\"` / unslotted children: the whole content, both columns\r\n ========================================= */\r\n\r\n:where([mono-alert]) > [mono-body] {\r\n grid-column: 1 / -1;\r\n min-width: 0;\r\n}\r\n\r\n/* basecoat@1.0.2 components/alert.css .alert > section >> :where(p, ul, ol) — m-0\r\n basecoat@1.0.2 components/alert.css .alert > section >> :where(p, ul, ol):not(:last-child) — mb-4 */\r\n:where([mono-alert]) > [mono-body] :where(p, ul, ol) {\r\n margin: 0;\r\n}\r\n\r\n:where([mono-alert]) > [mono-body] :where(p, ul, ol):not(:last-child) {\r\n margin-bottom: calc(var(--mono-spacing) * 4);\r\n}\r\n\r\n/* =========================================\r\n The ✕ — a ghost icon button at the top end, centred on the icon's line\r\n basecoat@1.0.2 styles/vega.css .alert > footer, .alert[data-variant='destructive'] > footer — top-2.5 end-3\r\n basecoat@1.0.2 components/alert.css .alert:has(> footer) — pe-[4.5rem] (here: just the button's room)\r\n ========================================= */\r\n\r\n[mono-alert][mono-clearable] {\r\n padding-inline-end: calc(var(--_mono-alert-padding-x) + var(--_mono-alert-clear-size));\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear] {\r\n position: absolute;\r\n top: calc(\r\n var(--_mono-alert-padding-y) + var(--_mono-alert-icon-offset) +\r\n (var(--_mono-alert-icon-size) - var(--_mono-alert-clear-size)) / 2\r\n );\r\n inset-inline-end: calc(var(--_mono-alert-padding-x) - (var(--_mono-alert-clear-size) - var(--_mono-alert-icon-size)) / 2);\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-alert-clear-size);\r\n height: var(--_mono-alert-clear-size);\r\n padding: 0;\r\n border: 0;\r\n border-radius: var(--mono-radius-md);\r\n background: transparent;\r\n color: inherit;\r\n opacity: 0.7;\r\n cursor: pointer;\r\n transition:\r\n opacity var(--mono-duration-fast, 100ms) var(--mono-ease),\r\n background-color var(--mono-duration-fast, 100ms) var(--mono-ease);\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear] > svg {\r\n width: var(--_mono-alert-icon-size);\r\n height: var(--_mono-alert-icon-size);\r\n}\r\n\r\n@media (hover: hover) {\r\n :where([mono-alert]) > [mono-clear]:hover {\r\n opacity: 1;\r\n background-color: color-mix(in oklab, currentColor 10%, transparent);\r\n }\r\n}\r\n\r\n:where([mono-alert]) > [mono-clear]:focus-visible {\r\n opacity: 1;\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width) color-mix(in oklab, var(--ring) var(--mono-ring-alpha), transparent);\r\n}\r\n\r\n/* =========================================\r\n Sizes — one factor over the md metrics (md = 1, the unqualified root)\r\n ========================================= */\r\n\r\n[mono-alert][mono-size='xs'] { --_mono-alert-scale-preset: 0.8; }\r\n[mono-alert][mono-size='sm'] { --_mono-alert-scale-preset: 0.9; }\r\n[mono-alert][mono-size='lg'] { --_mono-alert-scale-preset: 1.1; }\r\n[mono-alert][mono-size='xl'] { --_mono-alert-scale-preset: 1.25; }\r\n[mono-alert][mono-size='xxl'] { --_mono-alert-scale-preset: 1.4; }\r\n\r\n/* =========================================\r\n Colours — `danger` is upstream's destructive; `secondary` is the grey\r\n SURFACE pair (its ink is the foreground, its solid plate the surface)\r\n ========================================= */\r\n\r\n[mono-alert][mono-color='primary'] { --_mono-alert-c-preset: var(--primary); --_mono-alert-solid-bg-preset: var(--primary); --_mono-alert-solid-fg-preset: var(--primary-foreground); }\r\n[mono-alert][mono-color='secondary'] { --_mono-alert-c-preset: var(--secondary-foreground); --_mono-alert-solid-bg-preset: var(--secondary); --_mono-alert-solid-fg-preset: var(--secondary-foreground); }\r\n[mono-alert][mono-color='success'] { --_mono-alert-c-preset: var(--success); --_mono-alert-solid-bg-preset: var(--success); --_mono-alert-solid-fg-preset: var(--success-foreground); }\r\n[mono-alert][mono-color='danger'] { --_mono-alert-c-preset: var(--destructive); --_mono-alert-solid-bg-preset: var(--destructive); --_mono-alert-solid-fg-preset: var(--destructive-foreground); }\r\n[mono-alert][mono-color='warning'] { --_mono-alert-c-preset: var(--warning); --_mono-alert-solid-bg-preset: var(--warning); --_mono-alert-solid-fg-preset: var(--warning-foreground); }\r\n[mono-alert][mono-color='info'] { --_mono-alert-c-preset: var(--info); --_mono-alert-solid-bg-preset: var(--info); --_mono-alert-solid-fg-preset: var(--info-foreground); }\r\n[mono-alert][mono-color='teal'] { --_mono-alert-c-preset: var(--teal); --_mono-alert-solid-bg-preset: var(--teal); --_mono-alert-solid-fg-preset: var(--teal-foreground); }\r\n[mono-alert][mono-color='purple'] { --_mono-alert-c-preset: var(--purple); --_mono-alert-solid-bg-preset: var(--purple); --_mono-alert-solid-fg-preset: var(--purple-foreground); }\r\n[mono-alert][mono-color='neutral'] { --_mono-alert-c-preset: var(--neutral); --_mono-alert-solid-bg-preset: var(--neutral); --_mono-alert-solid-fg-preset: var(--neutral-foreground); }\r\n[mono-alert][mono-color='dark'] { --_mono-alert-c-preset: var(--dark); --_mono-alert-solid-bg-preset: var(--dark); --_mono-alert-solid-fg-preset: var(--dark-foreground); }\r\n\r\n/* =========================================\r\n Variants — each resolves surface / edge / ink / sub-ink\r\n ========================================= */\r\n\r\n/* outline (default) WITH a colour —\r\n basecoat@1.0.2 styles/vega.css .alert[data-variant='destructive'] — text-destructive bg-card [&>svg]:text-current\r\n basecoat@1.0.2 styles/vega.css .alert[data-variant='destructive'] > section — text-destructive/90\r\n generalised to every hue; the edge picks up the hue too (EXTENSION), mixed into\r\n --border so it follows the mode. Without a colour it is `.alert` verbatim. */\r\n[mono-alert][mono-color]:is(:not([mono-variant]), [mono-variant='outline']) {\r\n --_mono-alert-edge: color-mix(in oklab, var(--_mono-alert-c) 45%, var(--_mono-alert-border-color));\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* tonal — the hue tinted over the card (chip `soft` / card `tonal`); dark mode\r\n deepens the tint through --mono-mode-tint */\r\n[mono-alert][mono-variant='tonal'] {\r\n --_mono-alert-surface: color-mix(in oklab, var(--_mono-alert-c) var(--mono-mode-tint), var(--_mono-alert-bg));\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* solid — the hue as the plate */\r\n[mono-alert][mono-variant='solid'] {\r\n --_mono-alert-surface: var(--_mono-alert-solid-bg);\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-solid-fg);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-solid-fg) 90%, transparent);\r\n --_mono-alert-bar: var(--_mono-alert-solid-fg);\r\n}\r\n\r\n/* text — no plate, no edge: an inline notice in the hue */\r\n[mono-alert][mono-variant='text'] {\r\n --_mono-alert-surface: transparent;\r\n --_mono-alert-edge: transparent;\r\n --_mono-alert-ink: var(--_mono-alert-c);\r\n --_mono-alert-sub-ink: color-mix(in oklab, var(--_mono-alert-c) 90%, transparent);\r\n}\r\n\r\n/* =========================================\r\n Stacking — consecutive visible alerts keep a gap; a hidden (✕-ed) one takes\r\n no room, so the rest move up. `[mono-alert-group]` lays them out itself.\r\n ========================================= */\r\n\r\n:where(mono-alert, mono-shadow-alert, [mono-alert]):not([hidden]) ~ :where(mono-alert, mono-shadow-alert, [mono-alert]):not([hidden]) {\r\n margin-block-start: var(--mono-alert-stack-gap, calc(var(--mono-spacing) * 3));\r\n}\r\n\r\n[mono-alert-group] {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--mono-alert-group-gap, calc(var(--mono-spacing) * 3));\r\n}\r\n\r\n[mono-alert-group] > :is(mono-alert, mono-shadow-alert, [mono-alert]) {\r\n margin-block-start: 0;\r\n}\r\n";
138
+
136
139
  //#endregion
137
140
  //#region src/components/alert/mono-alert.ts
138
141
  /** Named regions. Unslotted children fall into `body` (the capture fallback). */
139
- var ALERT_NAMED_SLOTS = [
142
+ const ALERT_NAMED_SLOTS = [
140
143
  "icon",
141
144
  "title",
142
145
  "subtitle",
143
146
  "body"
144
147
  ];
145
- var MonoAlert = class MonoAlert extends MonoAlertCore(LitElement) {
148
+ let MonoAlert = class MonoAlert extends MonoAlertCore(LitElement) {
146
149
  constructor(..._args) {
147
150
  super(..._args);
148
151
  this._slotsCaptured = false;
149
152
  this._buckets = /* @__PURE__ */ new Map();
150
153
  }
151
154
  static {
152
- this.styles = [unsafeCSS(alert_default)];
155
+ this.styles = [unsafeCSS(alert_css_raw_default)];
153
156
  }
154
157
  createRenderRoot() {
155
158
  return this;
@@ -168,9 +171,12 @@ var MonoAlert = class MonoAlert extends MonoAlertCore(LitElement) {
168
171
  data-mono-slot="body"
169
172
  ?mono-empty=${!this._hasBodySlot}
170
173
  ></div>`;
171
- return html`${this._showsIcon ? html`<span class=${this._cls("mono-alert-icon", "icon")} mono-icon aria-hidden="true"
174
+ const icon = this._showsIcon ? html`<span class=${this._cls("mono-alert-icon", "icon")} mono-icon aria-hidden="true"
172
175
  >${this._hasIconSlot ? html`<span data-mono-slot="icon"></span>` : this._renderIconGlyph()}</span
173
- >` : nothing}${this._showsTitle ? this._hasTitleSlot ? html`<div class=${this._cls("mono-alert-title", "title")} mono-title data-mono-slot="title"></div>` : html`<div class=${this._cls("mono-alert-title", "title")} mono-title>${this.title}</div>` : nothing}${this._showsSubtitle ? this._hasSubtitleSlot ? html`<div class=${this._cls("mono-alert-subtitle", "subtitle")} mono-subtitle data-mono-slot="subtitle"></div>` : html`<div class=${this._cls("mono-alert-subtitle", "subtitle")} mono-subtitle>${this.subtitle}</div>` : nothing}${body}`;
176
+ >` : nothing;
177
+ const title = this._showsTitle ? this._hasTitleSlot ? html`<div class=${this._cls("mono-alert-title", "title")} mono-title data-mono-slot="title"></div>` : html`<div class=${this._cls("mono-alert-title", "title")} mono-title>${this.title}</div>` : nothing;
178
+ const subtitle = this._showsSubtitle ? this._hasSubtitleSlot ? html`<div class=${this._cls("mono-alert-subtitle", "subtitle")} mono-subtitle data-mono-slot="subtitle"></div>` : html`<div class=${this._cls("mono-alert-subtitle", "subtitle")} mono-subtitle>${this.subtitle}</div>` : nothing;
179
+ return html`${icon}${title}${subtitle}${body}`;
174
180
  }
175
181
  /** Re-read body presence from the placed region (late `v-if` content). */
176
182
  _watchBody() {
@@ -217,5 +223,6 @@ var MonoAlert = class MonoAlert extends MonoAlertCore(LitElement) {
217
223
  }
218
224
  };
219
225
  MonoAlert = __decorate([customElement("mono-alert")], MonoAlert);
226
+
220
227
  //#endregion
221
- export { MonoAlert };
228
+ export { MonoAlert };
@@ -1,11 +1,12 @@
1
- import { l as monoHostChildNodes } from "../mono-ui-CPV7rrdo.js";
2
- import { t as customElement } from "../mono-element-B0kP_96P.js";
3
- import { a as defineHybridPropAliases, n as arrayHasChanged, r as booleanStringConverter, t as __decorate } from "../decorate-DEXtNagw.js";
4
- import { t as dispatchMonoEvent } from "../mono-event-Bi1qP9uN.js";
5
- import { a as parkDetachedNodes, s as placeSlotNode } from "../light-slots-DW1WgfgT.js";
6
- import { t as isIconifyClass } from "../icon-dVhYJUIH.js";
1
+ import { l as monoHostChildNodes } from "../mono-ui-BwUc0L6B.js";
2
+ import { t as customElement } from "../mono-element-C7vCschg.js";
3
+ import { a as defineHybridPropAliases, n as arrayHasChanged, r as booleanStringConverter, t as __decorate } from "../decorate-DbYFpi8R.js";
4
+ import { t as dispatchMonoEvent } from "../mono-event-BPku9HpS.js";
5
+ import { a as parkDetachedNodes, s as placeSlotNode } from "../light-slots-DdDdZ6zs.js";
6
+ import { t as isIconifyClass } from "../icon-ClxnYhBG.js";
7
7
  import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
8
8
  import { property, state } from "lit/decorators.js";
9
+
9
10
  //#region src/components/breadcrumb/breadcrumb-utils.ts
10
11
  /**
11
12
  * Coerce any `items` input to a `BreadcrumbItem[]`. Accepts an array (pass-through),
@@ -97,6 +98,7 @@ function breadcrumbRootAttrs(props) {
97
98
  variant: props.variant === "default" ? null : props.variant
98
99
  };
99
100
  }
101
+
100
102
  //#endregion
101
103
  //#region src/components/breadcrumb/breadcrumb-render.ts
102
104
  function clsFor(base, key, cssClass) {
@@ -267,6 +269,7 @@ function renderBreadcrumbItemsLeadingSep(items, ctx, startIndex = 0) {
267
269
  });
268
270
  return out;
269
271
  }
272
+
270
273
  //#endregion
271
274
  //#region src/components/breadcrumb/breadcrumb-core.ts
272
275
  /**
@@ -280,7 +283,7 @@ function renderBreadcrumbItemsLeadingSep(items, ctx, startIndex = 0) {
280
283
  *
281
284
  * SSR-safe: no `document`/`window` access except `focus()` (guarded by isServer).
282
285
  */
283
- var MonoBreadcrumbCore = (superClass) => {
286
+ const MonoBreadcrumbCore = (superClass) => {
284
287
  class MonoBreadcrumbCoreClass extends superClass {
285
288
  constructor(...args) {
286
289
  super(...args);
@@ -405,7 +408,8 @@ var MonoBreadcrumbCore = (superClass) => {
405
408
  }
406
409
  _findRegisteredItem(id) {
407
410
  for (const child of this._listChildren) {
408
- const found = findItem(child.getBreadcrumbItems?.() ?? [], id);
411
+ const items = child.getBreadcrumbItems?.() ?? [];
412
+ const found = findItem(items, id);
409
413
  if (found) return found;
410
414
  }
411
415
  return null;
@@ -567,12 +571,14 @@ var MonoBreadcrumbCore = (superClass) => {
567
571
  __decorate([state()], MonoBreadcrumbCoreClass.prototype, "_slotIcons", void 0);
568
572
  return MonoBreadcrumbCoreClass;
569
573
  };
574
+
570
575
  //#endregion
571
- //#region src/components/breadcrumb/breadcrumb.css?raw
572
- var breadcrumb_default = "/* @unocss-include */\r\n\r\n/* =========================================================================\r\n mono-breadcrumb — a port of Basecoat's `.breadcrumb` (basecoat-css@1.0.2,\r\n 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-breadcrumb size=\"lg\" color=\"success\" variant=\"contained\" truncate>\r\n <nav mono-breadcrumb mono-size=\"lg\" mono-color=\"success\"\r\n mono-variant=\"contained\" mono-truncate aria-label=\"Breadcrumb\">\r\n <ol mono-list>\r\n <li mono-item>\r\n <a mono-action href=\"/\">\r\n <span mono-icon>…</span>\r\n <span mono-content><span mono-title>Home</span></span>\r\n <span mono-badge=\"info\">3</span>\r\n </a>\r\n </li>\r\n <li mono-separator aria-hidden=\"true\">›</li>\r\n <li mono-item mono-current aria-current=\"page\">\r\n <span mono-action><span mono-content><span mono-title>Now</span></span></span>\r\n </li>\r\n </ol>\r\n </nav>\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])` = default). The old\r\n classes (`.mono-breadcrumb.md.primary.default`) are still emitted as inert\r\n hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-breadcrumb] ≡ .breadcrumb (the <nav>) — a var scope\r\n [mono-list] ≡ .breadcrumb > ol (m-0 flex list-none flex-wrap\r\n items-center p-0 break-words, text-muted-foreground\r\n gap-1.5 text-sm sm:gap-2.5)\r\n [mono-item] ≡ .breadcrumb li (inline-flex items-center gap-1.5)\r\n [mono-separator] ≡ .breadcrumb li[aria-hidden='true'] (select-none),\r\n its glyph ≡ li[aria-hidden='true'] > svg (size-3.5)\r\n [mono-action] ≡ .breadcrumb a (rounded-sm outline-none\r\n focus-visible:ring-[3px] focus-visible:ring-ring/50,\r\n transition-colors hover:text-foreground)\r\n [mono-current] ≡ .breadcrumb [aria-current='page'] (font-normal\r\n text-foreground, cursor-default)\r\n [mono-icon] ≡ .breadcrumb li > span[aria-hidden='true']\r\n (flex items-center justify-center size-5,\r\n [&>svg]:size-4)\r\n [mono-badge] ≡ .badge — EXTENSION here (upstream's breadcrumb has\r\n none), so it borrows the badge's own shape\r\n [mono-content]/[mono-title] ≡ EXTENSION (upstream puts the label straight\r\n in the <a>; mono wraps it so `truncate` has\r\n something to clamp)\r\n [mono-variant=…] ≡ EXTENSION (upstream ships one breadcrumb)\r\n\r\n THE DEFAULT VARIANT IS NOW BARE TEXT. Upstream's breadcrumb links carry no\r\n padding, no background and no border — `rounded-sm` exists only so the focus\r\n ring has a shape. The pre-port default padded every segment into a 5px-radius\r\n chip. `contained` is where that look lives now; `--mono-breadcrumb-pad-x`/`-y`\r\n are still the knobs, they just start at 0.\r\n\r\n COLOUR IS A DEVIATION. Upstream inks hover and the current segment in\r\n `--foreground`. mono's breadcrumb has a `color` prop, so it inks them in the\r\n ROLE instead — and `color=\"surface\"` resolves the accent back to\r\n `--foreground`, which is upstream exactly.\r\n\r\n NO GRADIENTS. The contained variant's current segment was a two-stop gradient\r\n with a coloured glow; it is now the flat role fill on the role's own\r\n `-foreground`, the way `.btn[data-variant='primary']` is.\r\n\r\n DARK MODE comes free — every colour resolves through a Basecoat token that\r\n already flips. A selector crosses neither the custom-element host nor the\r\n shadow boundary, so no `.dark` rule can live in component CSS.\r\n\r\n FLAVORS set `--mono-breadcrumb-{gap,font,icon-size,sep-*,radius,badge-*}`\r\n (+ the per-size forms); every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \".breadcrumb > ol\"`).\r\n ========================================================================= */\r\n\r\nmono-breadcrumb {\r\n display: block;\r\n}\r\n\r\n/* A composed child list renders its <li>s straight into the parent's <ol>. */\r\nmono-breadcrumb-list {\r\n display: contents;\r\n}\r\n\r\n/* =========================================\r\n Root — the var scope\r\n ========================================= */\r\n\r\n[mono-breadcrumb] {\r\n /* ── the roles, each a public knob over a Basecoat token ────────────────── */\r\n --_mono-breadcrumb-primary: var(--mono-breadcrumb-primary, var(--primary));\r\n --_mono-breadcrumb-secondary: var(--mono-breadcrumb-secondary, var(--secondary-foreground));\r\n --_mono-breadcrumb-success: var(--mono-breadcrumb-success, var(--success));\r\n --_mono-breadcrumb-danger: var(--mono-breadcrumb-danger, var(--destructive));\r\n --_mono-breadcrumb-warning: var(--mono-breadcrumb-warning, var(--warning));\r\n --_mono-breadcrumb-info: var(--mono-breadcrumb-info, var(--info));\r\n --_mono-breadcrumb-teal: var(--mono-breadcrumb-teal, var(--teal));\r\n --_mono-breadcrumb-purple: var(--mono-breadcrumb-purple, var(--purple));\r\n --_mono-breadcrumb-neutral: var(--mono-breadcrumb-neutral, var(--neutral));\r\n --_mono-breadcrumb-dark: var(--mono-breadcrumb-dark, var(--dark));\r\n\r\n /* The colour in play. DEVIATION: upstream inks hover and the current segment\r\n in `--foreground`; `color=\"surface\"` is that exactly. */\r\n --_mono-breadcrumb-accent: var(--mono-breadcrumb-accent, var(--_mono-breadcrumb-accent-preset, var(--_mono-breadcrumb-primary)));\r\n --_mono-breadcrumb-on-accent: var(--mono-breadcrumb-on-accent, var(--_mono-breadcrumb-on-accent-preset, var(--primary-foreground)));\r\n\r\n /* ── ink ────────────────────────────────────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .breadcrumb > ol — text-muted-foreground gap-1.5 text-sm sm:gap-2.5\r\n basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground */\r\n --_mono-breadcrumb-text: var(--mono-breadcrumb-text, var(--muted-foreground));\r\n --_mono-breadcrumb-text-strong: var(--mono-breadcrumb-text-strong, var(--foreground));\r\n --_mono-breadcrumb-sep-color: var(--mono-breadcrumb-sep-color, var(--_mono-breadcrumb-text));\r\n --_mono-breadcrumb-surface: var(--mono-breadcrumb-surface, var(--background));\r\n --_mono-breadcrumb-border: var(--mono-breadcrumb-border, var(--border));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ──────────────────\r\n `gap-1.5` is the mobile step; `sm:gap-2.5` widens it (see the @media below). */\r\n --_mono-breadcrumb-gap: var(--mono-breadcrumb-gap, var(--_mono-breadcrumb-gap-preset, var(--mono-breadcrumb-gap-md, calc(var(--mono-spacing) * 1.5))));\r\n --_mono-breadcrumb-gap-wide: var(--mono-breadcrumb-gap-wide, var(--_mono-breadcrumb-gap-wide-preset, var(--mono-breadcrumb-gap-wide-md, calc(var(--mono-spacing) * 2.5))));\r\n --_mono-breadcrumb-font: var(--mono-breadcrumb-font, var(--_mono-breadcrumb-font-preset, var(--mono-breadcrumb-font-md, var(--mono-text-sm))));\r\n --_mono-breadcrumb-line-height: var(--mono-breadcrumb-line-height, var(--_mono-breadcrumb-line-height-preset, var(--mono-breadcrumb-line-height-md, var(--mono-text-sm--lh))));\r\n --_mono-breadcrumb-font-weight: var(--mono-breadcrumb-font-weight, var(--mono-font-weight-normal));\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground:\r\n upstream does NOT bold the current segment. ONE restores the bold it had. */\r\n --_mono-breadcrumb-current-weight: var(--mono-breadcrumb-current-weight, var(--mono-font-weight-normal));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear\r\n A breadcrumb's current crumb is the page's own label, and each flavor has a\r\n house style for one — sera sets its chrome headings uppercase +\r\n tracking-wider + semibold, and this is what lets it say so. */\r\n --_mono-breadcrumb-current-transform: var(--mono-breadcrumb-current-transform, none);\r\n --_mono-breadcrumb-current-tracking: var(--mono-breadcrumb-current-tracking, normal);\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb li > span[aria-hidden='true'] — size-5 [&>svg]:size-4 */\r\n --_mono-breadcrumb-icon-size: var(--mono-breadcrumb-icon-size, var(--_mono-breadcrumb-icon-size-preset, var(--mono-breadcrumb-icon-size-md, calc(var(--mono-spacing) * 4))));\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb li[aria-hidden='true'] > svg — size-3.5 */\r\n --_mono-breadcrumb-sep-size: var(--mono-breadcrumb-sep-size, var(--_mono-breadcrumb-sep-size-preset, var(--mono-breadcrumb-sep-size-md, calc(var(--mono-spacing) * 3.5))));\r\n --_mono-breadcrumb-sep-font: var(--mono-breadcrumb-sep-font, var(--_mono-breadcrumb-sep-font-preset, var(--mono-breadcrumb-sep-font-md, var(--mono-text-sm))));\r\n\r\n /* ── the action box. Upstream's <a> is BARE — `rounded-sm` is only there to\r\n shape the focus ring — so the padding starts at 0 and `contained` /\r\n `underlined` are what turn it into a chip. ───────────────────────────── */\r\n --_mono-breadcrumb-pad-x: var(--mono-breadcrumb-pad-x, var(--_mono-breadcrumb-pad-x-preset, 0px));\r\n --_mono-breadcrumb-pad-y: var(--mono-breadcrumb-pad-y, var(--_mono-breadcrumb-pad-y-preset, 0px));\r\n --_mono-breadcrumb-radius: var(--mono-breadcrumb-radius, var(--_mono-breadcrumb-radius-preset, var(--mono-breadcrumb-radius-md, var(--mono-radius-sm))));\r\n --_mono-breadcrumb-border-width: var(--mono-breadcrumb-border-width, var(--mono-border-width));\r\n\r\n /* ── the badge — EXTENSION, borrowing `.badge`'s shape ───────────────────\r\n basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n --_mono-breadcrumb-badge-height: var(--mono-breadcrumb-badge-height, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-badge-pad-x: var(--mono-breadcrumb-badge-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-badge-radius: var(--mono-breadcrumb-badge-radius, var(--mono-radius-4xl));\r\n --_mono-breadcrumb-badge-font: var(--mono-breadcrumb-badge-font, var(--mono-text-xs));\r\n --_mono-breadcrumb-badge-weight: var(--mono-breadcrumb-badge-weight, var(--mono-font-weight-medium));\r\n --_mono-breadcrumb-badge-bg: var(--mono-breadcrumb-badge-bg, var(--secondary));\r\n --_mono-breadcrumb-badge-color: var(--mono-breadcrumb-badge-color, var(--secondary-foreground));\r\n\r\n display: block;\r\n width: 100%;\r\n font-family: inherit;\r\n color: var(--_mono-breadcrumb-text);\r\n}\r\n\r\n[mono-breadcrumb],\r\n:where([mono-breadcrumb]) *,\r\n:where([mono-breadcrumb]) *::before,\r\n:where([mono-breadcrumb]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: upstream ships one breadcrumb\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-size=\"xs\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xs, var(--mono-spacing));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xs, calc(var(--mono-spacing) * 1.5));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xs, var(--mono-text-xs));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xs, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xs, calc(var(--mono-spacing) * 2.5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xs, var(--mono-text-xs));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xs, var(--mono-radius-sm));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"sm\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-sm, var(--mono-spacing));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-sm, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-sm, var(--mono-text-xs));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-sm, calc(var(--mono-spacing) * 3.5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-sm, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-sm, var(--mono-text-xs));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-sm, var(--mono-radius-sm));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"lg\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-lg, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-lg, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-lg, var(--mono-text-base));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-base--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-lg, calc(var(--mono-spacing) * 4.5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-lg, calc(var(--mono-spacing) * 4));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-lg, var(--mono-text-base));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-lg, var(--mono-radius-md));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"xl\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xl, calc(var(--mono-spacing) * 3.5));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xl, var(--mono-text-lg));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-lg--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xl, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xl, calc(var(--mono-spacing) * 4.5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xl, var(--mono-text-lg));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xl, var(--mono-radius-md));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"xxl\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xxl, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xxl, calc(var(--mono-spacing) * 4));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xxl, var(--mono-text-xl));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xl--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xxl, calc(var(--mono-spacing) * 6));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xxl, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xxl, var(--mono-text-xl));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xxl, var(--mono-radius-lg));\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION, and the one deviation from upstream's ink\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-color=\"primary\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-primary);\r\n --_mono-breadcrumb-on-accent-preset: var(--primary-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"secondary\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-secondary);\r\n --_mono-breadcrumb-on-accent-preset: var(--secondary);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"success\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-success);\r\n --_mono-breadcrumb-on-accent-preset: var(--success-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"danger\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-danger);\r\n --_mono-breadcrumb-on-accent-preset: var(--destructive-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"warning\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-warning);\r\n --_mono-breadcrumb-on-accent-preset: var(--warning-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"info\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-info);\r\n --_mono-breadcrumb-on-accent-preset: var(--info-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"teal\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-teal);\r\n --_mono-breadcrumb-on-accent-preset: var(--teal-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"purple\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-purple);\r\n --_mono-breadcrumb-on-accent-preset: var(--purple-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"neutral\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-neutral);\r\n --_mono-breadcrumb-on-accent-preset: var(--neutral-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"dark\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-dark);\r\n --_mono-breadcrumb-on-accent-preset: var(--dark-foreground);\r\n}\r\n\r\n/* `surface` is upstream's own ink: hover and the current segment go to\r\n `--foreground` and nothing is branded. */\r\n[mono-breadcrumb][mono-color=\"surface\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-text-strong);\r\n --_mono-breadcrumb-on-accent-preset: var(--background);\r\n}\r\n\r\n/* =========================================\r\n The list\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb > ol — m-0 flex list-none flex-wrap items-center p-0 break-words */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb > ol — text-muted-foreground gap-1.5 text-sm sm:gap-2.5\r\n The selector carries the root on purpose: `.vp-doc ul, .vp-doc ol` is (0,1,1)\r\n and would otherwise inject the left padding that breaks a flush breadcrumb. */\r\n:where([mono-breadcrumb]) [mono-list] {\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n min-width: 0;\r\n overflow-wrap: break-word;\r\n font-size: var(--_mono-breadcrumb-font);\r\n line-height: var(--_mono-breadcrumb-line-height);\r\n}\r\n\r\n/* `sm:gap-2.5` — the row breathes once there is room for it. */\r\n@media (min-width: 640px) {\r\n :where([mono-breadcrumb]) [mono-list] {\r\n gap: var(--_mono-breadcrumb-gap-wide);\r\n }\r\n}\r\n\r\n/* `truncate` CLAMPS, it does not force one line. Forcing `nowrap` meant the\r\n row either overflowed its container or — once the crumbs were allowed to\r\n shrink — squeezed short labels that had room, so `Dashboard` came out as\r\n `Dash…` next to a half-empty row. Wrapping keeps every label at its clamp and\r\n breaks the line instead. */\r\n\r\n/* VitePress puts `margin-top: 8px` on `li + li` and `margin-bottom: .5em` on\r\n every `li`; either one stops the separators centring with the actions. */\r\n:where([mono-breadcrumb]) [mono-list] :is([mono-item], [mono-separator]) {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* A composed child list renders a separator BEFORE each of its items, since it\r\n cannot know whether it is the first sibling. The very first one is dropped. */\r\n[mono-list] > mono-breadcrumb-list:first-child > [mono-separator]:first-child {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Item\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li — gap-1.5 */\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li — inline-flex items-center */\r\n:where([mono-breadcrumb]) [mono-item] {\r\n display: inline-flex;\r\n align-items: center;\r\n align-self: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n min-width: 0;\r\n}\r\n\r\n/* =========================================\r\n Action — the segment itself\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb a — rounded-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb a — transition-colors hover:text-foreground\r\n DEVIATION: upstream's <a> is bare text. The padding and the border are kept as\r\n knobs at 0 so `contained` / `underlined` — and a consumer — can turn the\r\n segment into a chip without a second rule. */\r\n:where([mono-breadcrumb]) [mono-action] {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n padding: var(--_mono-breadcrumb-pad-y) var(--_mono-breadcrumb-pad-x);\r\n border: var(--_mono-breadcrumb-border-width) solid transparent;\r\n border-radius: var(--_mono-breadcrumb-radius);\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n font-weight: var(--_mono-breadcrumb-font-weight);\r\n text-align: left;\r\n text-decoration: none;\r\n white-space: nowrap;\r\n user-select: none;\r\n outline: none;\r\n transition:\r\n color var(--mono-duration) var(--mono-ease),\r\n background-color var(--mono-duration) var(--mono-ease),\r\n border-color var(--mono-duration) var(--mono-ease);\r\n}\r\n\r\n:where([mono-breadcrumb]) :is(a, button)[mono-action] {\r\n cursor: pointer;\r\n}\r\n\r\n:where([mono-breadcrumb]) span[mono-action] {\r\n cursor: default;\r\n}\r\n\r\n/* VitePress's `.vp-doc a` (0,1,1) underlines and re-inks every link, and adds an\r\n external-link glyph on `target=\"_blank\"`. The current segment renders as a\r\n <span>, so it is never reached. */\r\n[mono-breadcrumb] a[mono-action] {\r\n text-decoration: none;\r\n color: inherit;\r\n font-weight: var(--_mono-breadcrumb-font-weight);\r\n}\r\n\r\n[mono-breadcrumb] a[mono-action]::after {\r\n display: none !important;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb] :is(a, button)[mono-action]:hover {\r\n color: var(--_mono-breadcrumb-accent);\r\n }\r\n}\r\n\r\n/* `focus-visible:ring-[3px] focus-visible:ring-ring/50` */\r\n[mono-breadcrumb] [mono-action]:focus-visible {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width-lg, 3px)\r\n color-mix(in oklab, var(--ring) 50%, transparent);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground */\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb [aria-current='page'] — cursor-default */\r\n[mono-breadcrumb] [mono-item][mono-current] > [mono-action] {\r\n color: var(--_mono-breadcrumb-accent);\r\n font-weight: var(--_mono-breadcrumb-current-weight);\r\n text-transform: var(--_mono-breadcrumb-current-transform);\r\n letter-spacing: var(--_mono-breadcrumb-current-tracking);\r\n cursor: default;\r\n}\r\n\r\n[mono-breadcrumb] [mono-item][mono-disabled] > [mono-action],\r\n[mono-breadcrumb] [mono-action]:disabled,\r\n[mono-breadcrumb][mono-disabled] [mono-action] {\r\n opacity: var(--mono-disabled-opacity, 0.5);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n/* =========================================\r\n Variant: contained — EXTENSION, the pre-port chip\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] {\r\n --_mono-breadcrumb-pad-x-preset: var(--mono-breadcrumb-contained-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-pad-y-preset: var(--mono-breadcrumb-contained-pad-y, calc(var(--mono-spacing) * 1));\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-action] {\r\n background: var(--_mono-breadcrumb-surface);\r\n border-color: var(--_mono-breadcrumb-border);\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb][mono-variant=\"contained\"] :is(a, button)[mono-action]:hover {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-tint), transparent);\r\n border-color: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-checked-border), transparent);\r\n }\r\n}\r\n\r\n/* The flat role fill, not the old gradient-and-glow. */\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-item][mono-current] > [mono-action] {\r\n background: var(--_mono-breadcrumb-accent);\r\n border-color: transparent;\r\n color: var(--_mono-breadcrumb-on-accent);\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-item][mono-current] > [mono-action] [mono-badge] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-on-accent) 22%, transparent);\r\n color: var(--_mono-breadcrumb-on-accent);\r\n}\r\n\r\n/* =========================================\r\n Variant: underlined — EXTENSION\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-variant=\"underlined\"] [mono-action] {\r\n border-radius: 0;\r\n border-bottom-color: transparent;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb][mono-variant=\"underlined\"] :is(a, button)[mono-action]:hover {\r\n border-bottom-color: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-checked-border), transparent);\r\n }\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"underlined\"] [mono-item][mono-current] > [mono-action] {\r\n border-bottom-color: var(--_mono-breadcrumb-accent);\r\n}\r\n\r\n/* =========================================\r\n Icon\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li > span[aria-hidden='true'] — flex items-center justify-center */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li > span[aria-hidden='true'] — size-5 [&>svg]:size-4 */\r\n:where([mono-breadcrumb]) [mono-icon] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-breadcrumb-icon-size);\r\n height: var(--_mono-breadcrumb-icon-size);\r\n font-size: var(--_mono-breadcrumb-icon-size);\r\n line-height: 1;\r\n}\r\n\r\n/* Three shapes end up inside the box and all must fill it:\r\n shadow build, user-slotted → <slot> → ::slotted(svg)\r\n light build, user-slotted → <span data-mono-slot=\"icon-<id>\"> → svg\r\n inline `item.icon` markup → a direct child svg\r\n The light placeholder is the subtle one: it parks the captured child, so the\r\n SVG is a GRANDchild and a `> svg` rule misses it entirely. */\r\n[mono-icon] > svg,\r\n[mono-icon] > [data-mono-slot] > svg,\r\n[mono-icon] slot::slotted(svg) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* The placeholder must not become a 0-width flex item between the box and the\r\n SVG — `display: contents` drops it from layout so the SVG sizes against the\r\n box instead of against a zero-width parent. */\r\n[mono-icon] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* Class + attribute = specificity (0,2,0), deliberately. UnoCSS's `i-…`\r\n utilities set `width`/`height: 1.2em` (presetIcons `scale: 1.2`) at (0,1,0)\r\n and their sheet loads AFTER this one, so a single selector loses and the glyph\r\n overflows its box. Two selectors win regardless of sheet order — and it is the\r\n only thing that works for the SHADOW build, where this span is a LIGHT-DOM\r\n child of the host that no shadow-scoped selector can reach.\r\n Scoped to the breadcrumb: its OWN class (every build sets it on the span — the\r\n shadow build's span is a light-DOM child of the host, outside [mono-breadcrumb])\r\n OR anything inside a [mono-breadcrumb] root (raw CSS markup writes a bare\r\n `<span mono-glyph class=\"i-…\">`). Still (0,2,0): `:is()` weighs its heaviest\r\n argument. A bare `[mono-glyph][mono-glyph]` is global and stretched every other\r\n component's `[mono-glyph]` to 100% — the accordion's icon chip filled its header. */\r\n:is(.mono-breadcrumb-iconify, [mono-breadcrumb] *)[mono-glyph] {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n color: inherit;\r\n}\r\n\r\n/* =========================================\r\n Content / title\r\n ========================================= */\r\n\r\n:where([mono-breadcrumb]) [mono-content] {\r\n display: inline-flex;\r\n align-items: center;\r\n min-width: 0;\r\n}\r\n\r\n:where([mono-breadcrumb]) [mono-title] {\r\n font-size: inherit;\r\n font-weight: inherit;\r\n color: inherit;\r\n line-height: inherit;\r\n}\r\n\r\n/* A flex item's `min-width` is `auto` — its content — so without this the\r\n crumbs could not shrink past their clamp and the row simply overflowed its\r\n container (measured: 543px of crumbs in a 512px box). Letting the chain go to\r\n zero turns the clamp into a CEILING: a crumb takes at most `truncate-width`,\r\n and less when the row is tight. */\r\n[mono-breadcrumb][mono-truncate] :is([mono-item], [mono-action], [mono-content]) {\r\n min-width: 0;\r\n}\r\n\r\n[mono-breadcrumb][mono-truncate] [mono-title] {\r\n display: block;\r\n max-width: var(--mono-breadcrumb-truncate-width, 12ch);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n[mono-breadcrumb][mono-truncate] [mono-item][mono-current] [mono-title] {\r\n max-width: var(--mono-breadcrumb-truncate-width-current, 18ch);\r\n}\r\n\r\n/* =========================================\r\n Badge — EXTENSION, borrowing `.badge`'s shape\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n:where([mono-breadcrumb]) [mono-badge] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--mono-spacing);\r\n height: var(--_mono-breadcrumb-badge-height);\r\n padding: 0 var(--_mono-breadcrumb-badge-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-breadcrumb-badge-radius);\r\n font-size: var(--_mono-breadcrumb-badge-font);\r\n font-weight: var(--_mono-breadcrumb-badge-weight);\r\n line-height: 1;\r\n background: var(--_mono-breadcrumb-badge-bg);\r\n color: var(--_mono-breadcrumb-badge-color);\r\n}\r\n\r\n/* The roles ink the pill tonally — the same wash the ported chip and menu use. */\r\n[mono-breadcrumb] [mono-badge=\"primary\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-primary) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-primary);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"success\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-success) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-success);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"danger\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-danger) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-danger);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"warning\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-warning) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-warning);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"info\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-info) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-info);\r\n}\r\n\r\n/* =========================================\r\n Separator\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li[aria-hidden='true'] — select-none */\r\n:where([mono-breadcrumb]) [mono-separator] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n align-self: center;\r\n /* Upstream's separator is an SVG at `size-3.5`, so the slot between two\r\n crumbs is 14px wide whatever is in it. A text glyph like `›` is barely 4px,\r\n which — on a flavor with a tight gap — left the labels all but touching.\r\n Reserving the same box is what keeps the row legible either way. */\r\n min-width: var(--_mono-breadcrumb-sep-size);\r\n font-size: var(--_mono-breadcrumb-sep-font);\r\n line-height: 1;\r\n color: var(--_mono-breadcrumb-sep-color);\r\n user-select: none;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li[aria-hidden='true'] > svg — size-3.5 */\r\n[mono-separator] > svg,\r\n[mono-separator] > [data-mono-slot] > svg,\r\n[mono-separator] slot::slotted(svg) {\r\n display: block;\r\n width: var(--_mono-breadcrumb-sep-size);\r\n height: var(--_mono-breadcrumb-sep-size);\r\n}\r\n\r\n[mono-separator] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb [data-rtl-flip] — rtl:rotate-180 */\r\n[dir=\"rtl\"] [mono-breadcrumb] [mono-separator] > svg {\r\n rotate: 180deg;\r\n}\r\n\r\n/* =========================================\r\n Reduced motion\r\n ========================================= */\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n [mono-breadcrumb] [mono-action] {\r\n transition: none;\r\n }\r\n}\r\n";
576
+ //#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\breadcrumb\breadcrumb.css?raw.js
577
+ var breadcrumb_css_raw_default = "/* @unocss-include */\r\n\r\n/* =========================================================================\r\n mono-breadcrumb — a port of Basecoat's `.breadcrumb` (basecoat-css@1.0.2,\r\n 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-breadcrumb size=\"lg\" color=\"success\" variant=\"contained\" truncate>\r\n <nav mono-breadcrumb mono-size=\"lg\" mono-color=\"success\"\r\n mono-variant=\"contained\" mono-truncate aria-label=\"Breadcrumb\">\r\n <ol mono-list>\r\n <li mono-item>\r\n <a mono-action href=\"/\">\r\n <span mono-icon>…</span>\r\n <span mono-content><span mono-title>Home</span></span>\r\n <span mono-badge=\"info\">3</span>\r\n </a>\r\n </li>\r\n <li mono-separator aria-hidden=\"true\">›</li>\r\n <li mono-item mono-current aria-current=\"page\">\r\n <span mono-action><span mono-content><span mono-title>Now</span></span></span>\r\n </li>\r\n </ol>\r\n </nav>\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])` = default). The old\r\n classes (`.mono-breadcrumb.md.primary.default`) are still emitted as inert\r\n hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-breadcrumb] ≡ .breadcrumb (the <nav>) — a var scope\r\n [mono-list] ≡ .breadcrumb > ol (m-0 flex list-none flex-wrap\r\n items-center p-0 break-words, text-muted-foreground\r\n gap-1.5 text-sm sm:gap-2.5)\r\n [mono-item] ≡ .breadcrumb li (inline-flex items-center gap-1.5)\r\n [mono-separator] ≡ .breadcrumb li[aria-hidden='true'] (select-none),\r\n its glyph ≡ li[aria-hidden='true'] > svg (size-3.5)\r\n [mono-action] ≡ .breadcrumb a (rounded-sm outline-none\r\n focus-visible:ring-[3px] focus-visible:ring-ring/50,\r\n transition-colors hover:text-foreground)\r\n [mono-current] ≡ .breadcrumb [aria-current='page'] (font-normal\r\n text-foreground, cursor-default)\r\n [mono-icon] ≡ .breadcrumb li > span[aria-hidden='true']\r\n (flex items-center justify-center size-5,\r\n [&>svg]:size-4)\r\n [mono-badge] ≡ .badge — EXTENSION here (upstream's breadcrumb has\r\n none), so it borrows the badge's own shape\r\n [mono-content]/[mono-title] ≡ EXTENSION (upstream puts the label straight\r\n in the <a>; mono wraps it so `truncate` has\r\n something to clamp)\r\n [mono-variant=…] ≡ EXTENSION (upstream ships one breadcrumb)\r\n\r\n THE DEFAULT VARIANT IS NOW BARE TEXT. Upstream's breadcrumb links carry no\r\n padding, no background and no border — `rounded-sm` exists only so the focus\r\n ring has a shape. The pre-port default padded every segment into a 5px-radius\r\n chip. `contained` is where that look lives now; `--mono-breadcrumb-pad-x`/`-y`\r\n are still the knobs, they just start at 0.\r\n\r\n COLOUR IS A DEVIATION. Upstream inks hover and the current segment in\r\n `--foreground`. mono's breadcrumb has a `color` prop, so it inks them in the\r\n ROLE instead — and `color=\"surface\"` resolves the accent back to\r\n `--foreground`, which is upstream exactly.\r\n\r\n NO GRADIENTS. The contained variant's current segment was a two-stop gradient\r\n with a coloured glow; it is now the flat role fill on the role's own\r\n `-foreground`, the way `.btn[data-variant='primary']` is.\r\n\r\n DARK MODE comes free — every colour resolves through a Basecoat token that\r\n already flips. A selector crosses neither the custom-element host nor the\r\n shadow boundary, so no `.dark` rule can live in component CSS.\r\n\r\n FLAVORS set `--mono-breadcrumb-{gap,font,icon-size,sep-*,radius,badge-*}`\r\n (+ the per-size forms); every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \".breadcrumb > ol\"`).\r\n ========================================================================= */\r\n\r\nmono-breadcrumb {\r\n display: block;\r\n}\r\n\r\n/* A composed child list renders its <li>s straight into the parent's <ol>. */\r\nmono-breadcrumb-list {\r\n display: contents;\r\n}\r\n\r\n/* =========================================\r\n Root — the var scope\r\n ========================================= */\r\n\r\n[mono-breadcrumb] {\r\n /* ── the roles, each a public knob over a Basecoat token ────────────────── */\r\n --_mono-breadcrumb-primary: var(--mono-breadcrumb-primary, var(--primary));\r\n --_mono-breadcrumb-secondary: var(--mono-breadcrumb-secondary, var(--secondary-foreground));\r\n --_mono-breadcrumb-success: var(--mono-breadcrumb-success, var(--success));\r\n --_mono-breadcrumb-danger: var(--mono-breadcrumb-danger, var(--destructive));\r\n --_mono-breadcrumb-warning: var(--mono-breadcrumb-warning, var(--warning));\r\n --_mono-breadcrumb-info: var(--mono-breadcrumb-info, var(--info));\r\n --_mono-breadcrumb-teal: var(--mono-breadcrumb-teal, var(--teal));\r\n --_mono-breadcrumb-purple: var(--mono-breadcrumb-purple, var(--purple));\r\n --_mono-breadcrumb-neutral: var(--mono-breadcrumb-neutral, var(--neutral));\r\n --_mono-breadcrumb-dark: var(--mono-breadcrumb-dark, var(--dark));\r\n\r\n /* The colour in play. DEVIATION: upstream inks hover and the current segment\r\n in `--foreground`; `color=\"surface\"` is that exactly. */\r\n --_mono-breadcrumb-accent: var(--mono-breadcrumb-accent, var(--_mono-breadcrumb-accent-preset, var(--_mono-breadcrumb-primary)));\r\n --_mono-breadcrumb-on-accent: var(--mono-breadcrumb-on-accent, var(--_mono-breadcrumb-on-accent-preset, var(--primary-foreground)));\r\n\r\n /* ── ink ────────────────────────────────────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .breadcrumb > ol — text-muted-foreground gap-1.5 text-sm sm:gap-2.5\r\n basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground */\r\n --_mono-breadcrumb-text: var(--mono-breadcrumb-text, var(--muted-foreground));\r\n --_mono-breadcrumb-text-strong: var(--mono-breadcrumb-text-strong, var(--foreground));\r\n --_mono-breadcrumb-sep-color: var(--mono-breadcrumb-sep-color, var(--_mono-breadcrumb-text));\r\n --_mono-breadcrumb-surface: var(--mono-breadcrumb-surface, var(--background));\r\n --_mono-breadcrumb-border: var(--mono-breadcrumb-border, var(--border));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ──────────────────\r\n `gap-1.5` is the mobile step; `sm:gap-2.5` widens it (see the @media below). */\r\n --_mono-breadcrumb-gap: var(--mono-breadcrumb-gap, var(--_mono-breadcrumb-gap-preset, var(--mono-breadcrumb-gap-md, calc(var(--mono-spacing) * 1.5))));\r\n --_mono-breadcrumb-gap-wide: var(--mono-breadcrumb-gap-wide, var(--_mono-breadcrumb-gap-wide-preset, var(--mono-breadcrumb-gap-wide-md, calc(var(--mono-spacing) * 2.5))));\r\n --_mono-breadcrumb-font: var(--mono-breadcrumb-font, var(--_mono-breadcrumb-font-preset, var(--mono-breadcrumb-font-md, var(--mono-text-sm))));\r\n --_mono-breadcrumb-line-height: var(--mono-breadcrumb-line-height, var(--_mono-breadcrumb-line-height-preset, var(--mono-breadcrumb-line-height-md, var(--mono-text-sm--lh))));\r\n --_mono-breadcrumb-font-weight: var(--mono-breadcrumb-font-weight, var(--mono-font-weight-normal));\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground:\r\n upstream does NOT bold the current segment. ONE restores the bold it had. */\r\n --_mono-breadcrumb-current-weight: var(--mono-breadcrumb-current-weight, var(--mono-font-weight-normal));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear\r\n A breadcrumb's current crumb is the page's own label, and each flavor has a\r\n house style for one — sera sets its chrome headings uppercase +\r\n tracking-wider + semibold, and this is what lets it say so. */\r\n --_mono-breadcrumb-current-transform: var(--mono-breadcrumb-current-transform, none);\r\n --_mono-breadcrumb-current-tracking: var(--mono-breadcrumb-current-tracking, normal);\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb li > span[aria-hidden='true'] — size-5 [&>svg]:size-4 */\r\n --_mono-breadcrumb-icon-size: var(--mono-breadcrumb-icon-size, var(--_mono-breadcrumb-icon-size-preset, var(--mono-breadcrumb-icon-size-md, calc(var(--mono-spacing) * 4))));\r\n /* basecoat@1.0.2 styles/vega.css .breadcrumb li[aria-hidden='true'] > svg — size-3.5 */\r\n --_mono-breadcrumb-sep-size: var(--mono-breadcrumb-sep-size, var(--_mono-breadcrumb-sep-size-preset, var(--mono-breadcrumb-sep-size-md, calc(var(--mono-spacing) * 3.5))));\r\n --_mono-breadcrumb-sep-font: var(--mono-breadcrumb-sep-font, var(--_mono-breadcrumb-sep-font-preset, var(--mono-breadcrumb-sep-font-md, var(--mono-text-sm))));\r\n\r\n /* ── the action box. Upstream's <a> is BARE — `rounded-sm` is only there to\r\n shape the focus ring — so the padding starts at 0 and `contained` /\r\n `underlined` are what turn it into a chip. ───────────────────────────── */\r\n --_mono-breadcrumb-pad-x: var(--mono-breadcrumb-pad-x, var(--_mono-breadcrumb-pad-x-preset, 0px));\r\n --_mono-breadcrumb-pad-y: var(--mono-breadcrumb-pad-y, var(--_mono-breadcrumb-pad-y-preset, 0px));\r\n --_mono-breadcrumb-radius: var(--mono-breadcrumb-radius, var(--_mono-breadcrumb-radius-preset, var(--mono-breadcrumb-radius-md, var(--mono-radius-sm))));\r\n --_mono-breadcrumb-border-width: var(--mono-breadcrumb-border-width, var(--mono-border-width));\r\n\r\n /* ── the badge — EXTENSION, borrowing `.badge`'s shape ───────────────────\r\n basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n --_mono-breadcrumb-badge-height: var(--mono-breadcrumb-badge-height, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-badge-pad-x: var(--mono-breadcrumb-badge-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-badge-radius: var(--mono-breadcrumb-badge-radius, var(--mono-radius-4xl));\r\n --_mono-breadcrumb-badge-font: var(--mono-breadcrumb-badge-font, var(--mono-text-xs));\r\n --_mono-breadcrumb-badge-weight: var(--mono-breadcrumb-badge-weight, var(--mono-font-weight-medium));\r\n --_mono-breadcrumb-badge-bg: var(--mono-breadcrumb-badge-bg, var(--secondary));\r\n --_mono-breadcrumb-badge-color: var(--mono-breadcrumb-badge-color, var(--secondary-foreground));\r\n\r\n display: block;\r\n width: 100%;\r\n font-family: inherit;\r\n color: var(--_mono-breadcrumb-text);\r\n}\r\n\r\n[mono-breadcrumb],\r\n:where([mono-breadcrumb]) *,\r\n:where([mono-breadcrumb]) *::before,\r\n:where([mono-breadcrumb]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: upstream ships one breadcrumb\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-size=\"xs\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xs, var(--mono-spacing));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xs, calc(var(--mono-spacing) * 1.5));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xs, var(--mono-text-xs));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xs, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xs, calc(var(--mono-spacing) * 2.5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xs, var(--mono-text-xs));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xs, var(--mono-radius-sm));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"sm\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-sm, var(--mono-spacing));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-sm, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-sm, var(--mono-text-xs));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-sm, calc(var(--mono-spacing) * 3.5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-sm, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-sm, var(--mono-text-xs));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-sm, var(--mono-radius-sm));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"lg\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-lg, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-lg, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-lg, var(--mono-text-base));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-base--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-lg, calc(var(--mono-spacing) * 4.5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-lg, calc(var(--mono-spacing) * 4));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-lg, var(--mono-text-base));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-lg, var(--mono-radius-md));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"xl\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xl, calc(var(--mono-spacing) * 3.5));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xl, var(--mono-text-lg));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-lg--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xl, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xl, calc(var(--mono-spacing) * 4.5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xl, var(--mono-text-lg));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xl, var(--mono-radius-md));\r\n}\r\n\r\n[mono-breadcrumb][mono-size=\"xxl\"] {\r\n --_mono-breadcrumb-gap-preset: var(--mono-breadcrumb-gap-xxl, calc(var(--mono-spacing) * 3));\r\n --_mono-breadcrumb-gap-wide-preset: var(--mono-breadcrumb-gap-wide-xxl, calc(var(--mono-spacing) * 4));\r\n --_mono-breadcrumb-font-preset: var(--mono-breadcrumb-font-xxl, var(--mono-text-xl));\r\n --_mono-breadcrumb-line-height-preset: var(--mono-text-xl--lh);\r\n --_mono-breadcrumb-icon-size-preset: var(--mono-breadcrumb-icon-size-xxl, calc(var(--mono-spacing) * 6));\r\n --_mono-breadcrumb-sep-size-preset: var(--mono-breadcrumb-sep-size-xxl, calc(var(--mono-spacing) * 5));\r\n --_mono-breadcrumb-sep-font-preset: var(--mono-breadcrumb-sep-font-xxl, var(--mono-text-xl));\r\n --_mono-breadcrumb-radius-preset: var(--mono-breadcrumb-radius-xxl, var(--mono-radius-lg));\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION, and the one deviation from upstream's ink\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-color=\"primary\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-primary);\r\n --_mono-breadcrumb-on-accent-preset: var(--primary-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"secondary\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-secondary);\r\n --_mono-breadcrumb-on-accent-preset: var(--secondary);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"success\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-success);\r\n --_mono-breadcrumb-on-accent-preset: var(--success-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"danger\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-danger);\r\n --_mono-breadcrumb-on-accent-preset: var(--destructive-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"warning\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-warning);\r\n --_mono-breadcrumb-on-accent-preset: var(--warning-foreground);\r\n}\r\n\r\n[mono-breadcrumb][mono-color=\"info\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-info);\r\n --_mono-breadcrumb-on-accent-preset: var(--info-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"teal\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-teal);\r\n --_mono-breadcrumb-on-accent-preset: var(--teal-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"purple\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-purple);\r\n --_mono-breadcrumb-on-accent-preset: var(--purple-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"neutral\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-neutral);\r\n --_mono-breadcrumb-on-accent-preset: var(--neutral-foreground);\r\n}\r\n[mono-breadcrumb][mono-color=\"dark\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-dark);\r\n --_mono-breadcrumb-on-accent-preset: var(--dark-foreground);\r\n}\r\n\r\n/* `surface` is upstream's own ink: hover and the current segment go to\r\n `--foreground` and nothing is branded. */\r\n[mono-breadcrumb][mono-color=\"surface\"] {\r\n --_mono-breadcrumb-accent-preset: var(--_mono-breadcrumb-text-strong);\r\n --_mono-breadcrumb-on-accent-preset: var(--background);\r\n}\r\n\r\n/* =========================================\r\n The list\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb > ol — m-0 flex list-none flex-wrap items-center p-0 break-words */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb > ol — text-muted-foreground gap-1.5 text-sm sm:gap-2.5\r\n The selector carries the root on purpose: `.vp-doc ul, .vp-doc ol` is (0,1,1)\r\n and would otherwise inject the left padding that breaks a flush breadcrumb. */\r\n:where([mono-breadcrumb]) [mono-list] {\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n min-width: 0;\r\n overflow-wrap: break-word;\r\n font-size: var(--_mono-breadcrumb-font);\r\n line-height: var(--_mono-breadcrumb-line-height);\r\n}\r\n\r\n/* `sm:gap-2.5` — the row breathes once there is room for it. */\r\n@media (min-width: 640px) {\r\n :where([mono-breadcrumb]) [mono-list] {\r\n gap: var(--_mono-breadcrumb-gap-wide);\r\n }\r\n}\r\n\r\n/* `truncate` CLAMPS, it does not force one line. Forcing `nowrap` meant the\r\n row either overflowed its container or — once the crumbs were allowed to\r\n shrink — squeezed short labels that had room, so `Dashboard` came out as\r\n `Dash…` next to a half-empty row. Wrapping keeps every label at its clamp and\r\n breaks the line instead. */\r\n\r\n/* VitePress puts `margin-top: 8px` on `li + li` and `margin-bottom: .5em` on\r\n every `li`; either one stops the separators centring with the actions. */\r\n:where([mono-breadcrumb]) [mono-list] :is([mono-item], [mono-separator]) {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* A composed child list renders a separator BEFORE each of its items, since it\r\n cannot know whether it is the first sibling. The very first one is dropped. */\r\n[mono-list] > mono-breadcrumb-list:first-child > [mono-separator]:first-child {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Item\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li — gap-1.5 */\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li — inline-flex items-center */\r\n:where([mono-breadcrumb]) [mono-item] {\r\n display: inline-flex;\r\n align-items: center;\r\n align-self: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n min-width: 0;\r\n}\r\n\r\n/* =========================================\r\n Action — the segment itself\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb a — rounded-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb a — transition-colors hover:text-foreground\r\n DEVIATION: upstream's <a> is bare text. The padding and the border are kept as\r\n knobs at 0 so `contained` / `underlined` — and a consumer — can turn the\r\n segment into a chip without a second rule. */\r\n:where([mono-breadcrumb]) [mono-action] {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--_mono-breadcrumb-gap);\r\n padding: var(--_mono-breadcrumb-pad-y) var(--_mono-breadcrumb-pad-x);\r\n border: var(--_mono-breadcrumb-border-width) solid transparent;\r\n border-radius: var(--_mono-breadcrumb-radius);\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n font-weight: var(--_mono-breadcrumb-font-weight);\r\n text-align: left;\r\n text-decoration: none;\r\n white-space: nowrap;\r\n user-select: none;\r\n outline: none;\r\n transition:\r\n color var(--mono-duration) var(--mono-ease),\r\n background-color var(--mono-duration) var(--mono-ease),\r\n border-color var(--mono-duration) var(--mono-ease);\r\n}\r\n\r\n:where([mono-breadcrumb]) :is(a, button)[mono-action] {\r\n cursor: pointer;\r\n}\r\n\r\n:where([mono-breadcrumb]) span[mono-action] {\r\n cursor: default;\r\n}\r\n\r\n/* VitePress's `.vp-doc a` (0,1,1) underlines and re-inks every link, and adds an\r\n external-link glyph on `target=\"_blank\"`. The current segment renders as a\r\n <span>, so it is never reached. */\r\n[mono-breadcrumb] a[mono-action] {\r\n text-decoration: none;\r\n color: inherit;\r\n font-weight: var(--_mono-breadcrumb-font-weight);\r\n}\r\n\r\n[mono-breadcrumb] a[mono-action]::after {\r\n display: none !important;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb] :is(a, button)[mono-action]:hover {\r\n color: var(--_mono-breadcrumb-accent);\r\n }\r\n}\r\n\r\n/* `focus-visible:ring-[3px] focus-visible:ring-ring/50` */\r\n[mono-breadcrumb] [mono-action]:focus-visible {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width-lg, 3px)\r\n color-mix(in oklab, var(--ring) 50%, transparent);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb [aria-current='page'] — font-normal text-foreground */\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb [aria-current='page'] — cursor-default */\r\n[mono-breadcrumb] [mono-item][mono-current] > [mono-action] {\r\n color: var(--_mono-breadcrumb-accent);\r\n font-weight: var(--_mono-breadcrumb-current-weight);\r\n text-transform: var(--_mono-breadcrumb-current-transform);\r\n letter-spacing: var(--_mono-breadcrumb-current-tracking);\r\n cursor: default;\r\n}\r\n\r\n[mono-breadcrumb] [mono-item][mono-disabled] > [mono-action],\r\n[mono-breadcrumb] [mono-action]:disabled,\r\n[mono-breadcrumb][mono-disabled] [mono-action] {\r\n opacity: var(--mono-disabled-opacity, 0.5);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n/* =========================================\r\n Variant: contained — EXTENSION, the pre-port chip\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] {\r\n --_mono-breadcrumb-pad-x-preset: var(--mono-breadcrumb-contained-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-breadcrumb-pad-y-preset: var(--mono-breadcrumb-contained-pad-y, calc(var(--mono-spacing) * 1));\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-action] {\r\n background: var(--_mono-breadcrumb-surface);\r\n border-color: var(--_mono-breadcrumb-border);\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb][mono-variant=\"contained\"] :is(a, button)[mono-action]:hover {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-tint), transparent);\r\n border-color: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-checked-border), transparent);\r\n }\r\n}\r\n\r\n/* The flat role fill, not the old gradient-and-glow. */\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-item][mono-current] > [mono-action] {\r\n background: var(--_mono-breadcrumb-accent);\r\n border-color: transparent;\r\n color: var(--_mono-breadcrumb-on-accent);\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"contained\"] [mono-item][mono-current] > [mono-action] [mono-badge] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-on-accent) 22%, transparent);\r\n color: var(--_mono-breadcrumb-on-accent);\r\n}\r\n\r\n/* =========================================\r\n Variant: underlined — EXTENSION\r\n ========================================= */\r\n\r\n[mono-breadcrumb][mono-variant=\"underlined\"] [mono-action] {\r\n border-radius: 0;\r\n border-bottom-color: transparent;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-breadcrumb][mono-variant=\"underlined\"] :is(a, button)[mono-action]:hover {\r\n border-bottom-color: color-mix(in oklab, var(--_mono-breadcrumb-accent) var(--mono-mode-checked-border), transparent);\r\n }\r\n}\r\n\r\n[mono-breadcrumb][mono-variant=\"underlined\"] [mono-item][mono-current] > [mono-action] {\r\n border-bottom-color: var(--_mono-breadcrumb-accent);\r\n}\r\n\r\n/* =========================================\r\n Icon\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li > span[aria-hidden='true'] — flex items-center justify-center */\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li > span[aria-hidden='true'] — size-5 [&>svg]:size-4 */\r\n:where([mono-breadcrumb]) [mono-icon] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-breadcrumb-icon-size);\r\n height: var(--_mono-breadcrumb-icon-size);\r\n font-size: var(--_mono-breadcrumb-icon-size);\r\n line-height: 1;\r\n}\r\n\r\n/* Three shapes end up inside the box and all must fill it:\r\n shadow build, user-slotted → <slot> → ::slotted(svg)\r\n light build, user-slotted → <span data-mono-slot=\"icon-<id>\"> → svg\r\n inline `item.icon` markup → a direct child svg\r\n The light placeholder is the subtle one: it parks the captured child, so the\r\n SVG is a GRANDchild and a `> svg` rule misses it entirely. */\r\n[mono-icon] > svg,\r\n[mono-icon] > [data-mono-slot] > svg,\r\n[mono-icon] slot::slotted(svg) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* The placeholder must not become a 0-width flex item between the box and the\r\n SVG — `display: contents` drops it from layout so the SVG sizes against the\r\n box instead of against a zero-width parent. */\r\n[mono-icon] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* Class + attribute = specificity (0,2,0), deliberately. UnoCSS's `i-…`\r\n utilities set `width`/`height: 1.2em` (presetIcons `scale: 1.2`) at (0,1,0)\r\n and their sheet loads AFTER this one, so a single selector loses and the glyph\r\n overflows its box. Two selectors win regardless of sheet order — and it is the\r\n only thing that works for the SHADOW build, where this span is a LIGHT-DOM\r\n child of the host that no shadow-scoped selector can reach.\r\n Scoped to the breadcrumb: its OWN class (every build sets it on the span — the\r\n shadow build's span is a light-DOM child of the host, outside [mono-breadcrumb])\r\n OR anything inside a [mono-breadcrumb] root (raw CSS markup writes a bare\r\n `<span mono-glyph class=\"i-…\">`). Still (0,2,0): `:is()` weighs its heaviest\r\n argument. A bare `[mono-glyph][mono-glyph]` is global and stretched every other\r\n component's `[mono-glyph]` to 100% — the accordion's icon chip filled its header. */\r\n:is(.mono-breadcrumb-iconify, [mono-breadcrumb] *)[mono-glyph] {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n color: inherit;\r\n}\r\n\r\n/* =========================================\r\n Content / title\r\n ========================================= */\r\n\r\n:where([mono-breadcrumb]) [mono-content] {\r\n display: inline-flex;\r\n align-items: center;\r\n min-width: 0;\r\n}\r\n\r\n:where([mono-breadcrumb]) [mono-title] {\r\n font-size: inherit;\r\n font-weight: inherit;\r\n color: inherit;\r\n line-height: inherit;\r\n}\r\n\r\n/* A flex item's `min-width` is `auto` — its content — so without this the\r\n crumbs could not shrink past their clamp and the row simply overflowed its\r\n container (measured: 543px of crumbs in a 512px box). Letting the chain go to\r\n zero turns the clamp into a CEILING: a crumb takes at most `truncate-width`,\r\n and less when the row is tight. */\r\n[mono-breadcrumb][mono-truncate] :is([mono-item], [mono-action], [mono-content]) {\r\n min-width: 0;\r\n}\r\n\r\n[mono-breadcrumb][mono-truncate] [mono-title] {\r\n display: block;\r\n max-width: var(--mono-breadcrumb-truncate-width, 12ch);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n[mono-breadcrumb][mono-truncate] [mono-item][mono-current] [mono-title] {\r\n max-width: var(--mono-breadcrumb-truncate-width-current, 18ch);\r\n}\r\n\r\n/* =========================================\r\n Badge — EXTENSION, borrowing `.badge`'s shape\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n:where([mono-breadcrumb]) [mono-badge] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--mono-spacing);\r\n height: var(--_mono-breadcrumb-badge-height);\r\n padding: 0 var(--_mono-breadcrumb-badge-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-breadcrumb-badge-radius);\r\n font-size: var(--_mono-breadcrumb-badge-font);\r\n font-weight: var(--_mono-breadcrumb-badge-weight);\r\n line-height: 1;\r\n background: var(--_mono-breadcrumb-badge-bg);\r\n color: var(--_mono-breadcrumb-badge-color);\r\n}\r\n\r\n/* The roles ink the pill tonally — the same wash the ported chip and menu use. */\r\n[mono-breadcrumb] [mono-badge=\"primary\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-primary) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-primary);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"success\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-success) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-success);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"danger\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-danger) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-danger);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"warning\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-warning) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-warning);\r\n}\r\n\r\n[mono-breadcrumb] [mono-badge=\"info\"] {\r\n background: color-mix(in oklab, var(--_mono-breadcrumb-info) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-breadcrumb-info);\r\n}\r\n\r\n/* =========================================\r\n Separator\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb li[aria-hidden='true'] — select-none */\r\n:where([mono-breadcrumb]) [mono-separator] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n align-self: center;\r\n /* Upstream's separator is an SVG at `size-3.5`, so the slot between two\r\n crumbs is 14px wide whatever is in it. A text glyph like `›` is barely 4px,\r\n which — on a flavor with a tight gap — left the labels all but touching.\r\n Reserving the same box is what keeps the row legible either way. */\r\n min-width: var(--_mono-breadcrumb-sep-size);\r\n font-size: var(--_mono-breadcrumb-sep-font);\r\n line-height: 1;\r\n color: var(--_mono-breadcrumb-sep-color);\r\n user-select: none;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .breadcrumb li[aria-hidden='true'] > svg — size-3.5 */\r\n[mono-separator] > svg,\r\n[mono-separator] > [data-mono-slot] > svg,\r\n[mono-separator] slot::slotted(svg) {\r\n display: block;\r\n width: var(--_mono-breadcrumb-sep-size);\r\n height: var(--_mono-breadcrumb-sep-size);\r\n}\r\n\r\n[mono-separator] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* basecoat@1.0.2 components/breadcrumb.css .breadcrumb [data-rtl-flip] — rtl:rotate-180 */\r\n[dir=\"rtl\"] [mono-breadcrumb] [mono-separator] > svg {\r\n rotate: 180deg;\r\n}\r\n\r\n/* =========================================\r\n Reduced motion\r\n ========================================= */\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n [mono-breadcrumb] [mono-action] {\r\n transition: none;\r\n }\r\n}\r\n";
578
+
573
579
  //#endregion
574
580
  //#region src/components/breadcrumb/mono-breadcrumb.ts
575
- var MonoBreadcrumb = class MonoBreadcrumb extends MonoBreadcrumbCore(LitElement) {
581
+ let MonoBreadcrumb = class MonoBreadcrumb extends MonoBreadcrumbCore(LitElement) {
576
582
  constructor(..._args) {
577
583
  super(..._args);
578
584
  this._slotsCaptured = false;
@@ -580,7 +586,7 @@ var MonoBreadcrumb = class MonoBreadcrumb extends MonoBreadcrumbCore(LitElement)
580
586
  this._slotBody = [];
581
587
  }
582
588
  static {
583
- this.styles = [unsafeCSS(breadcrumb_default)];
589
+ this.styles = [unsafeCSS(breadcrumb_css_raw_default)];
584
590
  }
585
591
  createRenderRoot() {
586
592
  return this;
@@ -678,9 +684,10 @@ var MonoBreadcrumb = class MonoBreadcrumb extends MonoBreadcrumbCore(LitElement)
678
684
  __decorate([state()], MonoBreadcrumb.prototype, "_slotsCaptured", void 0);
679
685
  __decorate([state()], MonoBreadcrumb.prototype, "_hasBodySlot", void 0);
680
686
  MonoBreadcrumb = __decorate([customElement("mono-breadcrumb")], MonoBreadcrumb);
687
+
681
688
  //#endregion
682
689
  //#region src/components/breadcrumb/breadcrumb-list-core.ts
683
- var autoBreadcrumbListId = 0;
690
+ let autoBreadcrumbListId = 0;
684
691
  /**
685
692
  * `MonoBreadcrumbListCore` — render-mode-agnostic logic for the STANDALONE
686
693
  * `mono-breadcrumb-list`: reactive props (incl. the SSR `items` string→array
@@ -697,7 +704,7 @@ var autoBreadcrumbListId = 0;
697
704
  *
698
705
  * SSR-safe: no `document`/`window` access.
699
706
  */
700
- var MonoBreadcrumbListCore = (superClass) => {
707
+ const MonoBreadcrumbListCore = (superClass) => {
701
708
  class MonoBreadcrumbListCoreClass extends superClass {
702
709
  constructor(..._args) {
703
710
  super(..._args);
@@ -851,15 +858,16 @@ var MonoBreadcrumbListCore = (superClass) => {
851
858
  __decorate([property({ type: Boolean })], MonoBreadcrumbListCoreClass.prototype, "truncate", void 0);
852
859
  return MonoBreadcrumbListCoreClass;
853
860
  };
861
+
854
862
  //#endregion
855
863
  //#region src/components/breadcrumb/mono-breadcrumb-list.ts
856
- var MonoBreadcrumbList = class MonoBreadcrumbList extends MonoBreadcrumbListCore(LitElement) {
864
+ let MonoBreadcrumbList = class MonoBreadcrumbList extends MonoBreadcrumbListCore(LitElement) {
857
865
  constructor(..._args) {
858
866
  super(..._args);
859
867
  this._parent = null;
860
868
  }
861
869
  static {
862
- this.styles = [unsafeCSS(breadcrumb_default)];
870
+ this.styles = [unsafeCSS(breadcrumb_css_raw_default)];
863
871
  }
864
872
  createRenderRoot() {
865
873
  return this;
@@ -892,11 +900,13 @@ var MonoBreadcrumbList = class MonoBreadcrumbList extends MonoBreadcrumbListCore
892
900
  render() {
893
901
  if (this._parent) {
894
902
  const ctx = this._buildContext();
895
- return html`${renderBreadcrumbItemsLeadingSep(this._getEffectiveItems(), ctx)}`;
903
+ const effectiveItems = this._getEffectiveItems();
904
+ return html`${renderBreadcrumbItemsLeadingSep(effectiveItems, ctx)}`;
896
905
  }
897
906
  return super.render();
898
907
  }
899
908
  };
900
909
  MonoBreadcrumbList = __decorate([customElement("mono-breadcrumb-list")], MonoBreadcrumbList);
910
+
901
911
  //#endregion
902
- export { MonoBreadcrumb, MonoBreadcrumbList, findItemIndex, generateBreadcrumbRootClasses, renderBreadcrumbBadge, renderBreadcrumbIcon, renderBreadcrumbItemRow, renderBreadcrumbItemsLeadingSep, renderBreadcrumbList, renderBreadcrumbSeparator, resolveCurrentId, validateBreadcrumbProps };
912
+ export { MonoBreadcrumb, MonoBreadcrumbList, findItemIndex, generateBreadcrumbRootClasses, renderBreadcrumbBadge, renderBreadcrumbIcon, renderBreadcrumbItemRow, renderBreadcrumbItemsLeadingSep, renderBreadcrumbList, renderBreadcrumbSeparator, resolveCurrentId, validateBreadcrumbProps };