@mono-lit/helper 0.0.2 → 0.0.4

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 (506) hide show
  1. package/dist/{breakpoints-CAbhDUht.js → breakpoints-DllybT82.js} +7 -5
  2. package/dist/checkbox.css_raw-AYtSbUtY.js +5 -0
  3. package/dist/{chip-limits-BMoO31JM.js → chip-limits-CFABydIL.js} +5 -3
  4. package/dist/{chip-strip-Cw3gyz0q.js → chip-strip-bNfLn52Z.js} +5 -3
  5. package/dist/chip.css_raw-ChfRSHLO.js +5 -0
  6. package/dist/{color-DHYrfXsX.js → color-CEYYtRX-.js} +8 -7
  7. package/dist/{css-class-BRKRzHx-.js → css-class-B6Tc_MAx.js} +2 -1
  8. package/dist/{css-size-DhHSVZJK.js → css-size-DWAPgQdT.js} +2 -1
  9. package/dist/{data-source-controller-Dbb4fd8I.js → data-source-controller-Cf_sMxEh.js} +4 -2
  10. package/dist/{data-source-controller-B_rgHCjw.js → data-source-controller-Dx6IQ2CN.js} +4 -2
  11. package/dist/{data-source-options-CP-X62Pa.js → data-source-options-Bk-UoaZV.js} +15 -10
  12. package/dist/{data-source-options-Jqj7LU3Z.js → data-source-options-QjuI73g8.js} +17 -12
  13. package/dist/{data-source-read-B4DGp6UQ.js → data-source-read-Cuqw3LcP.js} +7 -4
  14. package/dist/{data-source-read-DL88aH8t.js → data-source-read-FxqzQkk2.js} +8 -5
  15. package/dist/{decorate-DEXtNagw.js → decorate-DbYFpi8R.js} +7 -5
  16. package/dist/{element-props-CLB6yvbm.js → element-props-xvw0EB7H.js} +4 -3
  17. package/dist/{esm-Ptok4SQZ.js → esm-D0We7ndD.js} +48 -44
  18. package/dist/{excel-DopRbEMK.js → excel-BXzr3uI1.js} +192 -16
  19. package/dist/{excel-CY6zGkcx.js → excel-DtRpxmxs.js} +27 -16
  20. package/dist/{export-BiGVyxt6.js → export-B91P6J1y.js} +104 -18
  21. package/dist/export.js +103 -18
  22. package/dist/{field-icons-DELrSdqJ.js → field-icons-FmyBWa0g.js} +3 -1
  23. package/dist/{field-path-C92eGLg3.js → field-path-BabiMrrA.js} +3 -2
  24. package/dist/{filter-builder-CE4zE0V5.js → filter-builder-B6Y2mmbM.js} +7 -4
  25. package/dist/{filter-builder-Bke3qOgJ.js → filter-builder-C0T3pMx2.js} +7 -4
  26. package/dist/{filter-eval-DIfU2EAn.js → filter-eval-ChDSaAUH.js} +7 -5
  27. package/dist/{filter-odata-C1vSGZaY.js → filter-odata-Bi27XUpQ.js} +9 -6
  28. package/dist/{form-control-core-B8d7k6vk.js → form-control-core-CIdMLXMo.js} +9 -6
  29. package/dist/{form-control-core-eeRr0zLU.js → form-control-core-CRZPZ1ru.js} +9 -6
  30. package/dist/hydration-flush-DHrl4_KK.js +1014 -0
  31. package/dist/{icon-CJkTlmTb.js → icon-BM9N-jOt.js} +5 -2
  32. package/dist/{icon-dVhYJUIH.js → icon-ClxnYhBG.js} +4 -2
  33. package/dist/{import-BgJdkwBI.js → import-Dc4eXC02.js} +22 -16
  34. package/dist/import.js +22 -16
  35. package/dist/index.js +17 -16
  36. package/dist/{index.node-BIqEGehH.js → index.node-dvrNviMx.js} +26 -20
  37. package/dist/index.node.js +17 -16
  38. package/dist/input.css_raw-CGESifay.js +5 -0
  39. package/dist/{layout-var-CZnzMC0s.js → layout-var-BSBKY49k.js} +3 -2
  40. package/dist/{light-slots-BVJwyg_2.js → light-slots-4ZCjOcBg.js} +6 -4
  41. package/dist/{light-slots-DW1WgfgT.js → light-slots-DdDdZ6zs.js} +6 -4
  42. package/dist/{markdown-DfqrfOJN.js → markdown-uGlE_OfJ.js} +414 -369
  43. package/dist/mono-button-CeDB9khW.js +878 -0
  44. package/dist/mono-button.shadow-D9NdMsmH.js +790 -0
  45. package/dist/{mono-data-chart-CEv29_NS.js → mono-data-chart-ChkelNT7.js} +15 -12
  46. package/dist/{mono-data-dropdown-Wnoke6zO.js → mono-data-dropdown-DxpUUk2y.js} +5 -3
  47. package/dist/{mono-data-grid-YjR3n9Ar.js → mono-data-grid-8jmeIXUU.js} +56 -38
  48. package/dist/{mono-data-grid-CjkEqxgE.js → mono-data-grid-BHlo1IgR.js} +56 -38
  49. package/dist/{mono-element-B0kP_96P.js → mono-element-C7vCschg.js} +7 -4
  50. package/dist/{mono-event-Bi1qP9uN.js → mono-event-BPku9HpS.js} +4 -3
  51. package/dist/{mono-form-controller-5PfsU4qa.js → mono-form-controller-IYn0MuUQ.js} +7 -4
  52. package/dist/{mono-modal-controller-BMO3n3rP.js → mono-modal-controller-ClObbHUs.js} +9 -7
  53. package/dist/{mono-ui-CPV7rrdo.js → mono-ui-BwUc0L6B.js} +22 -20
  54. package/dist/{normalize-error-Gcgmgh5i.js → normalize-error-D93O4q8g.js} +26 -20
  55. package/dist/{notifier-CE4yxMUQ.js → notifier-BIrqUzRh.js} +11 -1
  56. package/dist/nuxt.js +50 -17
  57. package/dist/{popup-portal-BziRX1yG.js → popup-portal-HWhkd7oy.js} +6 -4
  58. package/dist/{popup-stack-CEEMib__.js → popup-stack-De05Y-mJ.js} +13 -10
  59. package/dist/{rate-limit-BBa2PO79.js → rate-limit-e9Jlpl5l.js} +12 -9
  60. package/dist/{reactive-Di3mTMnV.js → reactive-DFCdZbH9.js} +30 -22
  61. package/dist/{reactive-D3EERqgO.js → reactive-Dtd-esHO.js} +2 -1
  62. package/dist/search.js +5 -4
  63. package/dist/src/components/accordion/accordion-core.d.ts +42 -40
  64. package/dist/src/components/accordion/accordion-types.d.ts +50 -48
  65. package/dist/src/components/accordion/index.d.ts +3 -2
  66. package/dist/src/components/accordion/index.shadow.d.ts +4 -4
  67. package/dist/src/components/accordion/mono-accordion.d.ts +44 -40
  68. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +42 -38
  69. package/dist/src/components/alert/alert-core.d.ts +30 -28
  70. package/dist/src/components/alert/alert-types.d.ts +36 -34
  71. package/dist/src/components/alert/index.d.ts +3 -2
  72. package/dist/src/components/alert/index.shadow.d.ts +4 -4
  73. package/dist/src/components/alert/mono-alert.d.ts +30 -26
  74. package/dist/src/components/alert/mono-alert.shadow.d.ts +24 -20
  75. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +42 -40
  76. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +31 -29
  77. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +18 -16
  78. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +89 -87
  79. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +18 -15
  80. package/dist/src/components/breadcrumb/index.d.ts +6 -5
  81. package/dist/src/components/breadcrumb/index.shadow.d.ts +7 -7
  82. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +18 -14
  83. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +33 -29
  84. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +24 -20
  85. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +55 -51
  86. package/dist/src/components/button/button-core.d.ts +73 -71
  87. package/dist/src/components/button/button-dropdown-core.d.ts +55 -53
  88. package/dist/src/components/button/button-dropdown-types.d.ts +98 -96
  89. package/dist/src/components/button/button-types.d.ts +157 -155
  90. package/dist/src/components/button/button-utils.d.ts +7 -5
  91. package/dist/src/components/button/index.button-dropdown.d.ts +5 -3
  92. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +5 -3
  93. package/dist/src/components/button/index.d.ts +4 -7
  94. package/dist/src/components/button/index.shadow.d.ts +5 -4
  95. package/dist/src/components/button/mono-button-dropdown.d.ts +24 -19
  96. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +34 -29
  97. package/dist/src/components/button/mono-button.d.ts +105 -101
  98. package/dist/src/components/button/mono-button.shadow.d.ts +42 -38
  99. package/dist/src/components/card/card-core.d.ts +59 -57
  100. package/dist/src/components/card/card-types.d.ts +91 -89
  101. package/dist/src/components/card/card-utils.d.ts +11 -9
  102. package/dist/src/components/card/index.d.ts +4 -3
  103. package/dist/src/components/card/index.shadow.d.ts +5 -5
  104. package/dist/src/components/card/mono-card.d.ts +36 -32
  105. package/dist/src/components/card/mono-card.shadow.d.ts +32 -28
  106. package/dist/src/components/chart/chart-core.d.ts +30 -28
  107. package/dist/src/components/chart/chart-odata.d.ts +17 -16
  108. package/dist/src/components/chart/chart-types.d.ts +269 -267
  109. package/dist/src/components/chart/index.d.ts +7 -7
  110. package/dist/src/components/chart/index.shadow.d.ts +7 -6
  111. package/dist/src/components/chart/mono-chart-presets.d.ts +33 -29
  112. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +33 -29
  113. package/dist/src/components/chart/mono-chart.d.ts +13 -9
  114. package/dist/src/components/chart/mono-chart.shadow.d.ts +13 -9
  115. package/dist/src/components/chart/mono-data-chart.d.ts +4 -26
  116. package/dist/src/components/checkbox/checkbox-core.d.ts +39 -37
  117. package/dist/src/components/checkbox/checkbox-types.d.ts +59 -57
  118. package/dist/src/components/checkbox/checkbox-utils.d.ts +13 -11
  119. package/dist/src/components/checkbox/index.d.ts +4 -3
  120. package/dist/src/components/checkbox/index.shadow.d.ts +5 -4
  121. package/dist/src/components/checkbox/mono-checkbox.d.ts +21 -17
  122. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +31 -27
  123. package/dist/src/components/chip/chip-core.d.ts +42 -40
  124. package/dist/src/components/chip/chip-types.d.ts +104 -102
  125. package/dist/src/components/chip/chip-utils.d.ts +20 -18
  126. package/dist/src/components/chip/index.d.ts +5 -7
  127. package/dist/src/components/chip/index.shadow.d.ts +6 -5
  128. package/dist/src/components/chip/mono-chip.d.ts +31 -27
  129. package/dist/src/components/chip/mono-chip.shadow.d.ts +19 -15
  130. package/dist/src/components/chip/mono-status-dot.d.ts +19 -17
  131. package/dist/src/components/date/date-core.d.ts +64 -62
  132. package/dist/src/components/date/date-types.d.ts +143 -141
  133. package/dist/src/components/date/index.d.ts +3 -2
  134. package/dist/src/components/date/index.shadow.d.ts +4 -3
  135. package/dist/src/components/date/mono-date.d.ts +12 -8
  136. package/dist/src/components/date/mono-date.shadow.d.ts +21 -17
  137. package/dist/src/components/drawer/drawer-core.d.ts +75 -73
  138. package/dist/src/components/drawer/drawer-types.d.ts +109 -107
  139. package/dist/src/components/drawer/index.d.ts +3 -2
  140. package/dist/src/components/drawer/index.shadow.d.ts +4 -3
  141. package/dist/src/components/drawer/mono-drawer.d.ts +32 -28
  142. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +34 -31
  143. package/dist/src/components/dropdown/dropdown-core.d.ts +31 -29
  144. package/dist/src/components/dropdown/dropdown-types.d.ts +62 -60
  145. package/dist/src/components/dropdown/index.d.ts +3 -2
  146. package/dist/src/components/dropdown/index.shadow.d.ts +4 -3
  147. package/dist/src/components/dropdown/mono-dropdown.d.ts +23 -19
  148. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +19 -15
  149. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +53 -51
  150. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +218 -216
  151. package/dist/src/components/dropdown-table/index.d.ts +5 -4
  152. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -5
  153. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +119 -129
  154. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +20 -16
  155. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +15 -11
  156. package/dist/src/components/file-upload/file-upload-core.d.ts +44 -42
  157. package/dist/src/components/file-upload/file-upload-types.d.ts +123 -121
  158. package/dist/src/components/file-upload/file-upload-utils.d.ts +7 -4
  159. package/dist/src/components/file-upload/index.d.ts +4 -3
  160. package/dist/src/components/file-upload/index.shadow.d.ts +5 -4
  161. package/dist/src/components/file-upload/mono-file-upload.d.ts +20 -16
  162. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +34 -30
  163. package/dist/src/components/filter/filter-builder-core.d.ts +17 -15
  164. package/dist/src/components/filter/filter-builder.d.ts +4 -22
  165. package/dist/src/components/filter/filter-odata.d.ts +3 -1
  166. package/dist/src/components/filter/filter-operators.d.ts +3 -1
  167. package/dist/src/components/filter/filter-types.d.ts +172 -170
  168. package/dist/src/components/filter/index.d.ts +6 -5
  169. package/dist/src/components/filter/index.shadow.d.ts +7 -6
  170. package/dist/src/components/filter/mono-filter-builder.d.ts +13 -10
  171. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +10 -7
  172. package/dist/src/components/form/form-control-core.d.ts +14 -12
  173. package/dist/src/components/form/form-rules.d.ts +7 -5
  174. package/dist/src/components/form/form-types.d.ts +214 -214
  175. package/dist/src/components/form/index.d.ts +5 -5
  176. package/dist/src/components/form/mono-form-controller.d.ts +4 -15
  177. package/dist/src/components/input/index.d.ts +5 -5
  178. package/dist/src/components/input/index.shadow.d.ts +6 -7
  179. package/dist/src/components/input/input-core.d.ts +73 -71
  180. package/dist/src/components/input/input-format.d.ts +22 -20
  181. package/dist/src/components/input/input-types.d.ts +167 -165
  182. package/dist/src/components/input/input-utils.d.ts +7 -5
  183. package/dist/src/components/input/mono-input.d.ts +35 -31
  184. package/dist/src/components/input/mono-input.shadow.d.ts +17 -13
  185. package/dist/src/components/menu/index.d.ts +7 -5
  186. package/dist/src/components/menu/index.shadow.d.ts +7 -6
  187. package/dist/src/components/menu/menu-core.d.ts +47 -45
  188. package/dist/src/components/menu/menu-render.d.ts +42 -40
  189. package/dist/src/components/menu/menu-types.d.ts +132 -130
  190. package/dist/src/components/menu/menu-utils.d.ts +16 -13
  191. package/dist/src/components/menu/mono-menu-list.d.ts +116 -114
  192. package/dist/src/components/menu/mono-menu.d.ts +30 -26
  193. package/dist/src/components/menu/mono-menu.shadow.d.ts +22 -18
  194. package/dist/src/components/modal/index.d.ts +5 -3
  195. package/dist/src/components/modal/index.shadow.d.ts +6 -4
  196. package/dist/src/components/modal/modal-core.d.ts +81 -79
  197. package/dist/src/components/modal/modal-types.d.ts +223 -221
  198. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -3
  199. package/dist/src/components/modal/mono-modal.d.ts +32 -28
  200. package/dist/src/components/modal/mono-modal.shadow.d.ts +38 -35
  201. package/dist/src/components/nav/index.d.ts +4 -3
  202. package/dist/src/components/nav/index.shadow.d.ts +5 -5
  203. package/dist/src/components/nav/mono-nav.d.ts +28 -24
  204. package/dist/src/components/nav/mono-nav.shadow.d.ts +10 -7
  205. package/dist/src/components/nav/nav-core.d.ts +16 -14
  206. package/dist/src/components/nav/nav-types.d.ts +23 -22
  207. package/dist/src/components/nav/nav-utils.d.ts +10 -8
  208. package/dist/src/components/radio/index.d.ts +4 -3
  209. package/dist/src/components/radio/index.shadow.d.ts +5 -4
  210. package/dist/src/components/radio/mono-radio.d.ts +19 -15
  211. package/dist/src/components/radio/mono-radio.shadow.d.ts +22 -18
  212. package/dist/src/components/radio/radio-core.d.ts +31 -29
  213. package/dist/src/components/radio/radio-types.d.ts +48 -46
  214. package/dist/src/components/radio/radio-utils.d.ts +5 -3
  215. package/dist/src/components/rich-text-editor/index.d.ts +5 -4
  216. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -5
  217. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +19 -15
  218. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +22 -19
  219. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +61 -59
  220. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +2 -0
  221. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +5 -3
  222. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +179 -177
  223. package/dist/src/components/select/index.d.ts +4 -3
  224. package/dist/src/components/select/index.shadow.d.ts +5 -4
  225. package/dist/src/components/select/mono-select.d.ts +58 -54
  226. package/dist/src/components/select/mono-select.shadow.d.ts +30 -27
  227. package/dist/src/components/select/select-core.d.ts +82 -80
  228. package/dist/src/components/select/select-types.d.ts +228 -227
  229. package/dist/src/components/select/select-utils.d.ts +7 -5
  230. package/dist/src/components/sidebar/index.d.ts +4 -3
  231. package/dist/src/components/sidebar/index.shadow.d.ts +5 -5
  232. package/dist/src/components/sidebar/mono-sidebar.d.ts +22 -18
  233. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +11 -8
  234. package/dist/src/components/sidebar/sidebar-core.d.ts +33 -31
  235. package/dist/src/components/sidebar/sidebar-types.d.ts +77 -75
  236. package/dist/src/components/sidebar/sidebar-utils.d.ts +28 -26
  237. package/dist/src/components/switch/index.d.ts +4 -3
  238. package/dist/src/components/switch/index.shadow.d.ts +5 -4
  239. package/dist/src/components/switch/mono-switch.d.ts +19 -15
  240. package/dist/src/components/switch/mono-switch.shadow.d.ts +23 -19
  241. package/dist/src/components/switch/switch-core.d.ts +35 -33
  242. package/dist/src/components/switch/switch-types.d.ts +55 -53
  243. package/dist/src/components/switch/switch-utils.d.ts +5 -3
  244. package/dist/src/components/table/array-source.d.ts +31 -29
  245. package/dist/src/components/table/date-filter-tree.d.ts +25 -23
  246. package/dist/src/components/table/grouping.d.ts +22 -20
  247. package/dist/src/components/table/index.d.ts +28 -32
  248. package/dist/src/components/table/index.shadow.d.ts +34 -46
  249. package/dist/src/components/table/mono-data-grid.d.ts +1447 -1456
  250. package/dist/src/components/table/mono-table-checkbox-core.d.ts +34 -32
  251. package/dist/src/components/table/mono-table-checkbox.d.ts +12 -8
  252. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +16 -12
  253. package/dist/src/components/table/mono-table-detail-core.d.ts +29 -27
  254. package/dist/src/components/table/mono-table-detail.d.ts +12 -8
  255. package/dist/src/components/table/mono-table-detail.shadow.d.ts +13 -9
  256. package/dist/src/components/table/mono-table-empty-core.d.ts +24 -22
  257. package/dist/src/components/table/mono-table-empty.d.ts +17 -13
  258. package/dist/src/components/table/mono-table-empty.shadow.d.ts +22 -18
  259. package/dist/src/components/table/mono-table-error-core.d.ts +24 -22
  260. package/dist/src/components/table/mono-table-error.d.ts +12 -8
  261. package/dist/src/components/table/mono-table-error.shadow.d.ts +15 -11
  262. package/dist/src/components/table/mono-table-info-core.d.ts +6 -4
  263. package/dist/src/components/table/mono-table-info.d.ts +12 -8
  264. package/dist/src/components/table/mono-table-info.shadow.d.ts +9 -5
  265. package/dist/src/components/table/mono-table-loading-core.d.ts +7 -5
  266. package/dist/src/components/table/mono-table-loading.d.ts +12 -8
  267. package/dist/src/components/table/mono-table-loading.shadow.d.ts +9 -5
  268. package/dist/src/components/table/mono-table-page-size-core.d.ts +7 -5
  269. package/dist/src/components/table/mono-table-page-size.d.ts +12 -8
  270. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +9 -5
  271. package/dist/src/components/table/mono-table-paging-core.d.ts +16 -14
  272. package/dist/src/components/table/mono-table-paging-group-core.d.ts +10 -8
  273. package/dist/src/components/table/mono-table-paging-group.d.ts +12 -8
  274. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +9 -5
  275. package/dist/src/components/table/mono-table-paging.d.ts +12 -8
  276. package/dist/src/components/table/mono-table-paging.shadow.d.ts +9 -5
  277. package/dist/src/components/table/mono-table-search-core.d.ts +51 -49
  278. package/dist/src/components/table/mono-table-search.d.ts +25 -22
  279. package/dist/src/components/table/mono-table-search.shadow.d.ts +12 -9
  280. package/dist/src/components/table/mono-table-sort-core.d.ts +16 -14
  281. package/dist/src/components/table/mono-table-sort.d.ts +21 -18
  282. package/dist/src/components/table/mono-table-sort.shadow.d.ts +11 -8
  283. package/dist/src/components/table/mono-table-summary-core.d.ts +9 -7
  284. package/dist/src/components/table/mono-table-summary.d.ts +12 -8
  285. package/dist/src/components/table/mono-table-summary.shadow.d.ts +9 -5
  286. package/dist/src/components/table/mono-table-th-core.d.ts +23 -21
  287. package/dist/src/components/table/mono-table-th.d.ts +21 -18
  288. package/dist/src/components/table/mono-table-th.shadow.d.ts +11 -8
  289. package/dist/src/components/table/store-group-source.d.ts +14 -12
  290. package/dist/src/components/table/table-controller-core.d.ts +17 -15
  291. package/dist/src/components/table/table-filter-icons.d.ts +3 -1
  292. package/dist/src/components/table/table-menu-core.d.ts +40 -38
  293. package/dist/src/components/table/table-overlay.d.ts +43 -41
  294. package/dist/src/components/table/table-sort-icons.d.ts +4 -2
  295. package/dist/src/components/table/table-sort-utils.d.ts +3 -1
  296. package/dist/src/components/table/table-types.d.ts +391 -400
  297. package/dist/src/components/tabs/index.d.ts +3 -2
  298. package/dist/src/components/tabs/index.shadow.d.ts +4 -3
  299. package/dist/src/components/tabs/mono-tabs.d.ts +21 -17
  300. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +21 -17
  301. package/dist/src/components/tabs/tabs-core.d.ts +36 -34
  302. package/dist/src/components/tabs/tabs-types.d.ts +48 -46
  303. package/dist/src/components/tag-input/index.d.ts +5 -3
  304. package/dist/src/components/tag-input/index.shadow.d.ts +6 -4
  305. package/dist/src/components/tag-input/mono-tag-input.d.ts +56 -52
  306. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +41 -38
  307. package/dist/src/components/tag-input/tag-input-core.d.ts +95 -93
  308. package/dist/src/components/tag-input/tag-input-types.d.ts +343 -346
  309. package/dist/src/components/tag-input/tag-input-utils.d.ts +7 -5
  310. package/dist/src/components/textarea/index.d.ts +4 -3
  311. package/dist/src/components/textarea/index.shadow.d.ts +5 -4
  312. package/dist/src/components/textarea/mono-textarea.d.ts +19 -15
  313. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +19 -16
  314. package/dist/src/components/textarea/textarea-core.d.ts +48 -46
  315. package/dist/src/components/textarea/textarea-types.d.ts +120 -118
  316. package/dist/src/components/textarea/textarea-utils.d.ts +7 -5
  317. package/dist/src/components/tooltip/control-tooltip.d.ts +3 -1
  318. package/dist/src/components/tooltip/index.d.ts +6 -5
  319. package/dist/src/components/tooltip/tooltip-config.d.ts +17 -15
  320. package/dist/src/components/tooltip/tooltip-declarative.d.ts +3 -1
  321. package/dist/src/components/tooltip/tooltip-loader.d.ts +2 -0
  322. package/dist/src/components/tooltip/tooltip-types.d.ts +74 -72
  323. package/dist/src/composables/breakpoints.d.ts +9 -7
  324. package/dist/src/composables/chip-limits.d.ts +12 -10
  325. package/dist/src/composables/chip-strip.d.ts +91 -89
  326. package/dist/src/composables/color.d.ts +6 -4
  327. package/dist/src/composables/css-class.d.ts +4 -2
  328. package/dist/src/composables/css-size.d.ts +9 -7
  329. package/dist/src/composables/data-source-controller.d.ts +90 -88
  330. package/dist/src/composables/element-props.d.ts +3 -3
  331. package/dist/src/composables/field-icons.d.ts +3 -1
  332. package/dist/src/composables/hybird-prop.d.ts +10 -8
  333. package/dist/src/composables/hydration-flush.d.ts +16 -14
  334. package/dist/src/composables/icon.d.ts +3 -1
  335. package/dist/src/composables/layout-var.d.ts +2 -0
  336. package/dist/src/composables/light-slots.d.ts +34 -32
  337. package/dist/src/composables/mdi-glyphs.d.ts +2 -0
  338. package/dist/src/composables/mono-element.d.ts +3 -1
  339. package/dist/src/composables/mono-event.d.ts +15 -13
  340. package/dist/src/composables/mono-pending.d.ts +4 -2
  341. package/dist/src/composables/mono-skeleton.d.ts +100 -98
  342. package/dist/src/composables/mono-ui.d.ts +17 -18
  343. package/dist/src/composables/notifier.d.ts +20 -18
  344. package/dist/src/composables/popup-portal.d.ts +177 -175
  345. package/dist/src/composables/popup-stack.d.ts +36 -34
  346. package/dist/src/composables/rate-limit.d.ts +33 -31
  347. package/dist/src/composables/reactive.d.ts +3 -1
  348. package/dist/src/composables/shadow-css.d.ts +17 -15
  349. package/dist/src/composables/visibility.d.ts +6 -4
  350. package/dist/src/data/theme/index.d.ts +9 -7
  351. package/dist/src/data/theme/presets.d.ts +64 -62
  352. package/dist/src/entries/index.d.ts +36 -1
  353. package/dist/src/entries/index.node.d.ts +34 -41
  354. package/dist/src/entries/search.d.ts +2 -2
  355. package/dist/src/export/detail.d.ts +14 -12
  356. package/dist/src/export/download.d.ts +2 -0
  357. package/dist/src/export/excel/index.d.ts +13 -11
  358. package/dist/src/export/excel/nodes.d.ts +95 -93
  359. package/dist/src/export/expression.d.ts +3 -1
  360. package/dist/src/export/helpers.d.ts +3 -1
  361. package/dist/src/export/index.d.ts +6 -4
  362. package/dist/src/export/markdown.d.ts +19 -17
  363. package/dist/src/export/resolve-data.d.ts +3 -1
  364. package/dist/src/export/sentinel.d.ts +32 -30
  365. package/dist/src/export/sheet-name.d.ts +7 -5
  366. package/dist/src/export/styles.d.ts +13 -11
  367. package/dist/src/export/template.d.ts +3 -1
  368. package/dist/src/export/types.d.ts +224 -222
  369. package/dist/src/import/coerce.d.ts +5 -3
  370. package/dist/src/import/index.d.ts +12 -10
  371. package/dist/src/import/match.d.ts +20 -18
  372. package/dist/src/import/parse.d.ts +5 -3
  373. package/dist/src/import/types.d.ts +125 -123
  374. package/dist/src/nuxt/index.d.ts +92 -90
  375. package/dist/src/nuxt/ssr-lit/index.d.ts +4 -0
  376. package/dist/src/search/data-search.d.ts +92 -90
  377. package/dist/src/search/field-path.d.ts +10 -8
  378. package/dist/src/search/filter-eval.d.ts +2 -0
  379. package/dist/src/search/index.d.ts +6 -22
  380. package/dist/src/search/odata-search.d.ts +9 -7
  381. package/dist/src/search/search-expr.d.ts +16 -14
  382. package/dist/src/utils/data-source-apply.d.ts +11 -9
  383. package/dist/src/utils/data-source-options.d.ts +37 -35
  384. package/dist/src/utils/data-source-read.d.ts +40 -54
  385. package/dist/src/utils/data-source-summary.d.ts +8 -7
  386. package/dist/src/utils/normalize-error.d.ts +16 -14
  387. package/dist/src/vite/index.d.ts +34 -34
  388. package/dist/src/vite/mono-client-only.d.ts +34 -32
  389. package/dist/src/vite/mono-ssr-stub.d.ts +8 -6
  390. package/dist/src/vite/shadow-manifest.d.ts +2 -0
  391. package/dist/ssr-lit/runtime/components/LitWrapper.vue +11 -0
  392. package/dist/ssr-lit/runtime/components/LitWrapperClient.vue +11 -0
  393. package/dist/ssr-lit/runtime/components/LitWrapperServer.vue +38 -0
  394. package/dist/ssr-lit/runtime/plugins/antiFouc.server.js +25 -0
  395. package/dist/ssr-lit/runtime/plugins/hydrateSupport.client.js +4 -0
  396. package/dist/ssr-lit/runtime/plugins/polyfill.client.js +9 -0
  397. package/dist/ssr-lit/runtime/utils/customElements.js +11 -0
  398. package/dist/ssr-lit/runtime/utils/litElementRenderer.js +28 -0
  399. package/dist/{styles-BIJ31TM4.js → styles-D-ergrfR.js} +417 -207
  400. package/dist/{tooltip-DQqNpqk2.js → tooltip-FCMRUSLi.js} +32 -25
  401. package/dist/tooltip.js +3 -2
  402. package/dist/ui/accordion.js +16 -12
  403. package/dist/ui/alert.js +21 -14
  404. package/dist/ui/breadcrumb.js +28 -18
  405. package/dist/ui/button-dropdown.js +18 -14
  406. package/dist/ui/button.js +4 -2
  407. package/dist/ui/card.js +17 -12
  408. package/dist/ui/chart.js +31 -26
  409. package/dist/ui/checkbox.js +17 -12
  410. package/dist/ui/chip.js +19 -12
  411. package/dist/ui/date.js +19 -15
  412. package/dist/ui/drawer.js +26 -20
  413. package/dist/ui/dropdown-table.js +39 -30
  414. package/dist/ui/dropdown.js +19 -15
  415. package/dist/ui/file-upload.js +22 -17
  416. package/dist/ui/filter.js +18 -14
  417. package/dist/ui/form.js +4 -3
  418. package/dist/ui/index.css +1073 -2197
  419. package/dist/ui/input.js +24 -17
  420. package/dist/ui/menu.js +32 -20
  421. package/dist/ui/modal.js +33 -26
  422. package/dist/ui/nav.js +21 -15
  423. package/dist/ui/radio.js +17 -12
  424. package/dist/ui/rich-text-editor.js +34 -28
  425. package/dist/ui/select.js +32 -26
  426. package/dist/ui/shadow/accordion.js +13 -9
  427. package/dist/ui/shadow/alert.js +13 -9
  428. package/dist/ui/shadow/breadcrumb.js +23 -14
  429. package/dist/ui/shadow/button-dropdown.js +17 -13
  430. package/dist/ui/shadow/button.js +4 -2
  431. package/dist/ui/shadow/card.js +15 -10
  432. package/dist/ui/shadow/chart.js +36 -29
  433. package/dist/ui/shadow/checkbox.js +13 -9
  434. package/dist/ui/shadow/chip.js +16 -10
  435. package/dist/ui/shadow/date.js +19 -12
  436. package/dist/ui/shadow/drawer.js +22 -16
  437. package/dist/ui/shadow/dropdown-table.js +39 -28
  438. package/dist/ui/shadow/dropdown.js +15 -11
  439. package/dist/ui/shadow/file-upload.js +26 -19
  440. package/dist/ui/shadow/filter.js +17 -13
  441. package/dist/ui/shadow/input.js +20 -14
  442. package/dist/ui/shadow/menu.js +24 -14
  443. package/dist/ui/shadow/modal.js +35 -27
  444. package/dist/ui/shadow/nav.js +18 -12
  445. package/dist/ui/shadow/radio.js +15 -10
  446. package/dist/ui/shadow/rich-text-editor.js +32 -26
  447. package/dist/ui/shadow/select.js +30 -24
  448. package/dist/ui/shadow/sidebar.js +23 -16
  449. package/dist/ui/shadow/switch.js +15 -10
  450. package/dist/ui/shadow/table.js +123 -84
  451. package/dist/ui/shadow/tabs.js +12 -8
  452. package/dist/ui/shadow/tag-input.js +37 -31
  453. package/dist/ui/shadow/textarea.js +17 -12
  454. package/dist/ui/sidebar.js +27 -20
  455. package/dist/ui/switch.js +17 -12
  456. package/dist/ui/table.js +129 -87
  457. package/dist/ui/tabs.js +15 -11
  458. package/dist/ui/tag-input.js +33 -27
  459. package/dist/ui/textarea.js +19 -14
  460. package/dist/{vite-C5iUK7so.js → vite-DcyRlTTf.js} +17 -9
  461. package/dist/vite.js +3 -2
  462. package/package.json +18 -20
  463. package/dist/checkbox-Cqpie9Ap.js +0 -4
  464. package/dist/chip-DBUUa2eB.js +0 -4
  465. package/dist/data/theme/presets.json.d.ts +0 -140
  466. package/dist/export.d.ts +0 -1
  467. package/dist/hydration-flush-RB5Tz5nl.js +0 -1001
  468. package/dist/import.d.ts +0 -1
  469. package/dist/index.d.ts +0 -1
  470. package/dist/index.node.d.ts +0 -1
  471. package/dist/input-zGOULADt.js +0 -4
  472. package/dist/mono-button-simcTQdW.js +0 -873
  473. package/dist/mono-button.shadow-B_rKOY9N.js +0 -784
  474. package/dist/nuxt.d.ts +0 -1
  475. package/dist/search.d.ts +0 -1
  476. package/dist/tooltip.d.ts +0 -1
  477. package/dist/ui/accordion.d.ts +0 -1
  478. package/dist/ui/alert.d.ts +0 -1
  479. package/dist/ui/breadcrumb.d.ts +0 -1
  480. package/dist/ui/button-dropdown.d.ts +0 -1
  481. package/dist/ui/button.d.ts +0 -1
  482. package/dist/ui/card.d.ts +0 -1
  483. package/dist/ui/chart.d.ts +0 -1
  484. package/dist/ui/checkbox.d.ts +0 -1
  485. package/dist/ui/chip.d.ts +0 -1
  486. package/dist/ui/date.d.ts +0 -1
  487. package/dist/ui/drawer.d.ts +0 -1
  488. package/dist/ui/dropdown-table.d.ts +0 -1
  489. package/dist/ui/dropdown.d.ts +0 -1
  490. package/dist/ui/file-upload.d.ts +0 -1
  491. package/dist/ui/filter.d.ts +0 -1
  492. package/dist/ui/form.d.ts +0 -1
  493. package/dist/ui/input.d.ts +0 -1
  494. package/dist/ui/menu.d.ts +0 -1
  495. package/dist/ui/modal.d.ts +0 -1
  496. package/dist/ui/nav.d.ts +0 -1
  497. package/dist/ui/radio.d.ts +0 -1
  498. package/dist/ui/rich-text-editor.d.ts +0 -1
  499. package/dist/ui/select.d.ts +0 -1
  500. package/dist/ui/sidebar.d.ts +0 -1
  501. package/dist/ui/switch.d.ts +0 -1
  502. package/dist/ui/table.d.ts +0 -1
  503. package/dist/ui/tabs.d.ts +0 -1
  504. package/dist/ui/tag-input.d.ts +0 -1
  505. package/dist/ui/textarea.d.ts +0 -1
  506. package/dist/vite.d.ts +0 -1
@@ -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 };
@@ -1,14 +1,15 @@
1
- import { t as applyProps } from "../element-props-CLB6yvbm.js";
2
- import { t as customElement } from "../mono-element-B0kP_96P.js";
3
- import { a as defineHybridPropAliases, o as numberStringConverter, r as booleanStringConverter, t as __decorate } from "../decorate-DEXtNagw.js";
4
- import { t as dispatchMonoEvent } from "../mono-event-Bi1qP9uN.js";
5
- import { a as rateLimitHasChanged } from "../rate-limit-BBa2PO79.js";
6
- import { n as button_default } from "../mono-button-simcTQdW.js";
7
- import { t as PopupPortalController } from "../popup-portal-BziRX1yG.js";
1
+ import { t as applyProps } from "../element-props-xvw0EB7H.js";
2
+ import { t as customElement } from "../mono-element-C7vCschg.js";
3
+ import { a as defineHybridPropAliases, o as numberStringConverter, r as booleanStringConverter, t as __decorate } from "../decorate-DbYFpi8R.js";
4
+ import { t as dispatchMonoEvent } from "../mono-event-BPku9HpS.js";
5
+ import { a as rateLimitHasChanged } from "../rate-limit-e9Jlpl5l.js";
6
+ import { n as button_css_raw_default } from "../mono-button-CeDB9khW.js";
7
+ import { t as PopupPortalController } from "../popup-portal-HWhkd7oy.js";
8
8
  import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
9
9
  import { ref } from "lit/directives/ref.js";
10
10
  import { property, state } from "lit/decorators.js";
11
11
  import { repeat } from "lit/directives/repeat.js";
12
+
12
13
  //#region src/components/button/button-dropdown-core.ts
13
14
  /**
14
15
  * Would these two entry lists RENDER identically?
@@ -67,7 +68,7 @@ function sameButtonItems(a, b) {
67
68
  *
68
69
  * Kept in step with button-dropdown.css by tests/button-dropdown-attributes.test.ts.
69
70
  */
70
- var BUTTON_DROPDOWN_STYLE_VARS = [
71
+ const BUTTON_DROPDOWN_STYLE_VARS = [
71
72
  "--mono-button-dropdown-bg",
72
73
  "--mono-button-dropdown-border",
73
74
  "--mono-button-dropdown-dark",
@@ -128,7 +129,7 @@ var BUTTON_DROPDOWN_STYLE_VARS = [
128
129
  "--mono-button-dropdown-text",
129
130
  "--mono-button-dropdown-warning"
130
131
  ];
131
- var MonoButtonDropdownCore = (superClass) => {
132
+ const MonoButtonDropdownCore = (superClass) => {
132
133
  class MonoButtonDropdownCoreClass extends superClass {
133
134
  constructor(...args) {
134
135
  super(...args);
@@ -636,14 +637,16 @@ var MonoButtonDropdownCore = (superClass) => {
636
637
  __decorate([state()], MonoButtonDropdownCoreClass.prototype, "_resolvedSide", void 0);
637
638
  return MonoButtonDropdownCoreClass;
638
639
  };
640
+
639
641
  //#endregion
640
- //#region src/components/button/button-dropdown.css?raw
641
- var button_dropdown_default = "/* =========================================================================\r\n mono-button-dropdown — a port of Basecoat's `.dropdown-menu`\r\n (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-button-dropdown size=\"sm\" placement=\"bottom-end\" model-value>\r\n <div mono-button-dropdown mono-size=\"sm\" mono-side=\"bottom\" mono-align=\"end\" mono-open>\r\n <div mono-row hidden></div>\r\n <div mono-button mono-trigger mono-icon-only>…the ⋮ button…</div>\r\n <div mono-panel role=\"menu\" aria-hidden=\"false\">\r\n <ul mono-list>\r\n <li mono-item role=\"none\" mono-item-color=\"success\">\r\n <div mono-button>…a real button…</div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md, no\r\n `mono-side` = bottom, no `mono-align` = start, no `mono-item-color` = the\r\n panel's own ink). The element writes them on the inner root in BOTH builds;\r\n the old classes (`.mono-button-dropdown-panel`, `.mono-bd-c-danger`) are still\r\n emitted as inert hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-button-dropdown] ≡ .dropdown-menu (relative inline-flex)\r\n [mono-row] ≡ EXTENSION (the INLINE row — upstream has\r\n no \"stay flat while short\" mode)\r\n [mono-trigger] ≡ .dropdown-menu > button (a real mono-button,\r\n styled by button.css — nothing to add here)\r\n [mono-panel] ≡ .dropdown-menu > [data-popover]\r\n (bg-popover text-popover-foreground\r\n ring-1 ring-foreground/10 gap-0 rounded-md\r\n p-1 shadow-md overflow-x-hidden\r\n overflow-y-auto duration-100)\r\n [mono-list] ≡ [role='menu'] (outline-hidden)\r\n [mono-item] ≡ [role='menuitem'] (gap-2 rounded-sm px-2\r\n py-1.5 text-sm, hover bg-accent\r\n text-accent-foreground)\r\n [mono-item][mono-item-color=…] ≡ .dropdown-menu [data-variant='destructive']\r\n (text-destructive, hover bg-destructive/10,\r\n dark /20) — generalised to all ten roles\r\n [mono-side] / [mono-align] ≡ [data-popover][data-side] / [data-align]\r\n [mono-size=\"…\"] ≡ EXTENSION (upstream ships one menu size)\r\n\r\n THE ROW IS A REAL BUTTON. Each entry renders as a `<mono-button>`, so the\r\n menu cannot paint it with a selector — in the shadow build the control sits\r\n behind a boundary. It is flattened with the button's own PUBLIC knobs, set on\r\n the `<li mono-item>`: custom properties inherit, so one declaration reaches\r\n both builds. `--mono-button-width` / `-justify` exist for exactly this.\r\n\r\n COLOUR: an entry's `color` is NOT a button colour in here — a row of solid,\r\n outlined and tonal buttons reads as noise rather than a list. It is the\r\n Basecoat `[data-variant='destructive']` treatment generalised: the row's INK\r\n (label and glyph alike, the glyph being a `currentColor` mask) becomes the\r\n role, and hover lays that role down at `--mono-mode-tint` (10% light / 20%\r\n dark). Never the role as a solid fill — a full-strength background under a\r\n full-strength glyph is the one combination that makes the glyph vanish.\r\n\r\n THE PANEL IS PORTALED in the light build: `composables/popup-portal` moves it\r\n into a `<body>` portal and mirrors the root's class AND `mono-*` attributes\r\n onto that portal, so `[mono-button-dropdown] > [mono-panel]` keeps matching.\r\n Every panel rule is therefore written as a CHILD of the root, and every public\r\n knob it reads is listed in `BUTTON_DROPDOWN_STYLE_VARS` (button-dropdown-core)\r\n so an ancestor's override travels with it.\r\n\r\n Specificity contract: a part's RESTING rule is exactly one attribute strong —\r\n `:where([mono-button-dropdown]) > [mono-panel]` = (0,1,0) — so a utility class\r\n handed in through `cssClass` wins by source order, while the prop and state\r\n rules stay heavier.\r\n\r\n FLAVORS set `--mono-button-dropdown-{radius,padding,min-width,offset,shadow,\r\n ring-*,item-radius,item-font-weight}` (+ the per-size forms); every fallback\r\n here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"dropdown-menu\"`).\r\n ========================================================================= */\r\n\r\nmono-button-dropdown {\r\n display: inline-flex;\r\n}\r\n\r\n/* =========================================\r\n Root — layout and the palette\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/dropdown-menu.css .dropdown-menu — relative inline-flex */\r\n[mono-button-dropdown] {\r\n /* ── the ten entry roles, each a public knob over a Basecoat token ───────\r\n `secondary`, `light` and `dark` are SURFACES upstream, and a surface makes\r\n no ink: `--dark` is a near-black in light mode and STILL a dark grey in dark\r\n mode (the role is a fill, paired with `--dark-foreground`), so inking a row\r\n with it turns that row invisible on a dark popover. The three resolve to a\r\n foreground instead, which flips with the mode. */\r\n --_mono-bd-primary: var(--mono-button-dropdown-primary, var(--primary));\r\n --_mono-bd-secondary: var(--mono-button-dropdown-secondary, var(--secondary-foreground));\r\n --_mono-bd-success: var(--mono-button-dropdown-success, var(--success));\r\n --_mono-bd-danger: var(--mono-button-dropdown-danger, var(--destructive));\r\n --_mono-bd-warning: var(--mono-button-dropdown-warning, var(--warning));\r\n --_mono-bd-info: var(--mono-button-dropdown-info, var(--info));\r\n --_mono-bd-teal: var(--mono-button-dropdown-teal, var(--teal));\r\n --_mono-bd-purple: var(--mono-button-dropdown-purple, var(--purple));\r\n --_mono-bd-dark: var(--mono-button-dropdown-dark, var(--foreground));\r\n --_mono-bd-light: var(--mono-button-dropdown-light, var(--foreground));\r\n\r\n /* ── panel paint — `bg-popover text-popover-foreground ring-foreground/10` ── */\r\n --_mono-bd-bg: var(--mono-button-dropdown-bg, var(--mono-button-dropdown-surface, var(--popover)));\r\n --_mono-bd-text: var(--mono-button-dropdown-text, var(--popover-foreground));\r\n --_mono-bd-ring-width: var(--mono-button-dropdown-ring-width, var(--mono-border-width));\r\n --_mono-bd-ring-color: var(--mono-button-dropdown-ring-color, var(--mono-button-dropdown-border,\r\n color-mix(in oklab, var(--foreground) 10%, transparent)));\r\n --_mono-bd-shadow: var(--mono-button-dropdown-shadow, var(--mono-shadow-md));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css .dropdown-menu > [data-popover] — rounded-md p-1 gap-0 */\r\n --_mono-bd-radius: var(--mono-button-dropdown-radius, var(--_mono-bd-radius-preset, var(--mono-button-dropdown-radius-md, var(--mono-radius-md))));\r\n --_mono-bd-padding: var(--mono-button-dropdown-padding, var(--_mono-bd-padding-preset, var(--mono-button-dropdown-padding-md, var(--mono-spacing))));\r\n --_mono-bd-list-gap: var(--mono-button-dropdown-list-gap, var(--_mono-bd-list-gap-preset, 0px));\r\n /* DEVIATION: upstream is `min-width: anchor-size(width)` — the panel is at\r\n least as wide as its trigger. Anchor positioning is not the mechanism here\r\n (the panel is portaled and placed from measurements), so the floor is a\r\n plain length; maia/luma/sera's `min-w-48` is the per-size knob. */\r\n --_mono-bd-min-width: var(--mono-button-dropdown-min-width, var(--_mono-bd-min-width-preset, var(--mono-button-dropdown-min-width-md, 9rem)));\r\n /* The static offset — the JS path uses the `offset` PROP; keep them in step. */\r\n --_mono-bd-offset: var(--mono-button-dropdown-offset, var(--_mono-bd-offset-preset, var(--mono-button-dropdown-offset-md, var(--mono-spacing))));\r\n\r\n /* ── the inline row (NOT the menu): the gap between loose buttons ───────── */\r\n --_mono-bd-gap: var(--mono-button-dropdown-gap, calc(var(--mono-spacing) * 1.5));\r\n\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n}\r\n\r\n[mono-button-dropdown] *,\r\n[mono-button-dropdown] *::before,\r\n[mono-button-dropdown] *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: Basecoat ships ONE menu; md is its `[data-popover]`\r\n ========================================= */\r\n\r\n[mono-button-dropdown][mono-size=\"xs\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xs, var(--mono-radius-sm));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xs, calc(var(--mono-spacing) * 0.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xs, 7rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xs, calc(var(--mono-spacing) * 0.75));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"sm\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-sm, var(--mono-radius-md));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-sm, calc(var(--mono-spacing) * 0.75));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-sm, 8rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-sm, var(--mono-spacing));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"lg\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-lg, var(--mono-radius-lg));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-lg, calc(var(--mono-spacing) * 1.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-lg, 11rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-lg, calc(var(--mono-spacing) * 1.5));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-lg, var(--mono-radius-md));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"xl\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xl, var(--mono-radius-xl));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xl, calc(var(--mono-spacing) * 2));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xl, 13rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xl, calc(var(--mono-spacing) * 2));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-xl, var(--mono-radius-md));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"xxl\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xxl, var(--mono-radius-xl));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xxl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xxl, 15rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xxl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-xxl, var(--mono-radius-lg));\r\n}\r\n\r\n/* =========================================\r\n Inline row — EXTENSION: the entries before they collapse\r\n ========================================= */\r\n\r\n:where([mono-button-dropdown]) > [mono-row] {\r\n display: inline-flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: var(--_mono-bd-gap);\r\n}\r\n\r\n/* `hidden` is a UA rule, and an author `display` beats it whatever the\r\n specificity — so the hidden state has to be stated here. */\r\n[mono-button-dropdown] > [mono-row][hidden] {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Panel — `.dropdown-menu > [data-popover]`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] — absolute z-50 w-max\r\n overflow-x-hidden overflow-y-auto outline-hidden\r\n basecoat@1.0.2 styles/vega.css .dropdown-menu > [data-popover] — bg-popover\r\n text-popover-foreground ring-foreground/10 gap-0 rounded-md p-1 shadow-md ring-1\r\n — DEVIATIONS: the z-index is the shared popup stack's `--mono-popup-z` rather\r\n than a flat z-50, and the height cap is the room the portal measured. */\r\n:where([mono-button-dropdown]) > [mono-panel] {\r\n position: absolute;\r\n z-index: var(--mono-popup-z, 1000);\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--_mono-bd-list-gap);\r\n width: max-content;\r\n min-width: var(--_mono-bd-min-width);\r\n max-height: var(--mono-popup-avail-h, none);\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n outline: none;\r\n padding: var(--_mono-bd-padding);\r\n border-radius: var(--_mono-bd-radius);\r\n background: var(--_mono-bd-bg);\r\n color: var(--_mono-bd-text);\r\n box-shadow:\r\n 0 0 0 var(--_mono-bd-ring-width) var(--_mono-bd-ring-color),\r\n var(--_mono-bd-shadow);\r\n}\r\n\r\n/* Same UA-`hidden` story as the row, and it has to out-specify the rule above\r\n even once the panel has been portaled (where it is still a `>` child). */\r\n[mono-button-dropdown] > [mono-panel][hidden] {\r\n display: none;\r\n}\r\n\r\n/* Once the element takes over it measures and writes inline top/left, so the\r\n static placement rules below must stand aside. */\r\n[mono-button-dropdown][mono-fixed] > [mono-panel] {\r\n position: fixed;\r\n}\r\n\r\n/* =========================================\r\n Static placement — `[data-side]` / `[data-align]`, verbatim\r\n -----------------------------------------------------------------------------\r\n What hand-written markup positions with (and SSR, before hydration). The\r\n element overrides all of it with inline top/left once it has measured.\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &:not([data-side]), &[data-side='bottom'] — mt-1 top-full */\r\n[mono-button-dropdown]:not([mono-side]):not([mono-fixed]) > [mono-panel],\r\n[mono-button-dropdown][mono-side=\"bottom\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 100%;\r\n margin-top: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='top'] — mb-1 bottom-full */\r\n[mono-button-dropdown][mono-side=\"top\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 100%;\r\n margin-bottom: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='left'] — me-1 end-full */\r\n[mono-button-dropdown][mono-side=\"left\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 100%;\r\n margin-inline-end: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='right'] — ms-1 start-full */\r\n[mono-button-dropdown][mono-side=\"right\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 100%;\r\n margin-inline-start: var(--_mono-bd-offset);\r\n}\r\n\r\n/* The top/bottom pair aligns on the inline axis: start-0 / end-0 / start-1/2 -translate-x-1/2.\r\n DEVIATION from `mono-dropdown`: the default here is `end`, matching the\r\n `placement=\"bottom-end\"` default — a row of actions hangs off the right. */\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"start\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"]):is(:not([mono-align]), [mono-align=\"end\"]):not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 50%;\r\n translate: -50% 0;\r\n}\r\n\r\n/* …and the left/right pair on the block axis: top-0 / bottom-0 / top-1/2 -translate-y-1/2 */\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"]):is(:not([mono-align]), [mono-align=\"start\"]):not([mono-fixed]) > [mono-panel] {\r\n top: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"end\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n\r\n/* =========================================\r\n List — `[role='menu']`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/dropdown-menu.css .dropdown-menu [role='menu'] — outline-hidden */\r\n:where([mono-button-dropdown]) [mono-list] {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--_mono-bd-list-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n outline: none;\r\n}\r\n\r\n/* =========================================\r\n Item — `[role='menuitem']`\r\n -----------------------------------------------------------------------------\r\n The `<li>` paints nothing itself: it hands the entry button a flattened\r\n palette through the button's PUBLIC knobs, which is the only route that\r\n reaches the control in BOTH builds (the shadow one keeps it behind a\r\n boundary). The entry's own `variant` and `color` presets are overridden by\r\n construction — inside the menu every row is one flat strip.\r\n ========================================= */\r\n\r\n:where([mono-button-dropdown]) [mono-item] {\r\n /* ── the row's ink and its hover wash ──────────────────────────────────────\r\n FOUR tiers, not three, because the middle one belongs to a PER-ENTRY prop:\r\n\r\n --mono-button-dropdown-item-<x> consumer, wins over everything\r\n --_mono-bd-item-<x>-preset the entry's `color` (mono-item-color)\r\n --mono-button-dropdown-item-base-<x> a FLAVOR's neutral row\r\n the Basecoat value\r\n\r\n A flavor must write the `-base-` tier: writing the consumer knob would\r\n out-rank every role and freeze all ten colours at one ink. */\r\n --_mono-bd-item-color: var(--mono-button-dropdown-item-color, var(--_mono-bd-item-color-preset, var(--mono-button-dropdown-item-base-color, var(--_mono-bd-text))));\r\n /* basecoat@1.0.2 styles/vega.css .dropdown-menu :is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio']) — focus-visible:bg-accent */\r\n --_mono-bd-item-hover-bg: var(--mono-button-dropdown-item-hover-bg, var(--_mono-bd-item-hover-bg-preset, var(--mono-button-dropdown-item-base-hover-bg, var(--mono-button-dropdown-item-hover, var(--accent)))));\r\n --_mono-bd-item-hover-color: var(--mono-button-dropdown-item-hover-color, var(--_mono-bd-item-hover-color-preset, var(--mono-button-dropdown-item-base-hover-color, var(--accent-foreground))));\r\n /* basecoat@1.0.2 styles/vega.css .dropdown-menu :is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio']) — rounded-sm */\r\n --_mono-bd-item-radius: var(--mono-button-dropdown-item-radius, var(--_mono-bd-item-radius-preset, var(--mono-radius-sm)));\r\n\r\n /* ── flatten the entry: the button's own public knobs, set on its ancestor ─ */\r\n --mono-button-bg: transparent;\r\n --mono-button-color: var(--_mono-bd-item-color);\r\n --mono-button-border-color: transparent;\r\n --mono-button-shadow: 0 0 #0000;\r\n --mono-button-hover-bg: var(--_mono-bd-item-hover-bg);\r\n --mono-button-hover-color: var(--_mono-bd-item-hover-color);\r\n --mono-button-hover-border-color: transparent;\r\n --mono-button-hover-shadow: 0 0 #0000;\r\n --mono-button-radius: var(--_mono-bd-item-radius);\r\n /* A menu row is a strip, not a chip: full width, label against the start edge. */\r\n --mono-button-width: 100%;\r\n --mono-button-justify: flex-start;\r\n /* No press twitch in a list — right for a standalone button, wrong for a row. */\r\n --mono-button-press-translate: 0 0;\r\n --mono-button-font-weight: var(--mono-button-dropdown-item-font-weight, var(--mono-font-weight-medium));\r\n\r\n display: block;\r\n min-width: 0;\r\n}\r\n\r\n/* The entry element itself — `<mono-button>` / `<mono-shadow-button>`, both\r\n `display: inline-block` hosts — has to fill the row for the whole strip to be\r\n clickable rather than just the label's width. */\r\n:where([mono-button-dropdown]) [mono-item] > * {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .dropdown-menu [data-variant='destructive'] —\r\n `text-destructive`, and `:is(:focus-visible, .active)` lays the same colour\r\n down at `bg-destructive/10` (dark `/20`, carried by `--mono-mode-tint`).\r\n EXTENSION: generalised from destructive to all ten roles. The tint is the\r\n whole point — a solid role fill under a role-coloured glyph erases it. */\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"primary\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-primary);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-primary) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-primary);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"success\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-success);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-success) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-success);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"danger\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-danger);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-danger) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-danger);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"warning\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-warning);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-warning) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-warning);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"info\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-info);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-info) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-info);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"teal\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-teal);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-teal) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-teal);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"purple\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-purple);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-purple) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-purple);\r\n}\r\n\r\n/* The three surface roles: their ink is a foreground, and a 10% wash of a\r\n near-background colour is invisible — so they hover on `--accent`, the\r\n neutral row wash, exactly like an uncoloured entry. */\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"dark\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-dark);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-dark);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"secondary\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-secondary);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-secondary);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"light\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-light);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-light);\r\n}\r\n\r\n/**\r\n * Icon glyphs inside a shadow root.\r\n *\r\n * `adoptIconStyles` copies the page's `.i-mdi-…` rules through CSSOM `cssText`,\r\n * and that read-back DROPS the mask declarations — `mask-image: ;` comes back\r\n * empty whenever the value is a `var()`. What survives is `--un-icon`, the data\r\n * URI itself. So the copy leaves `background-color: currentColor` with no mask,\r\n * painting a solid square: the \"black cube\".\r\n *\r\n * Re-declaring the mask here fixes it, because this sheet is authored source\r\n * rather than a CSSOM copy — it consumes the custom property that DID survive.\r\n * Harmless in the light build, where it merely restates what the page already\r\n * says. The glyph's BOX is left to `[mono-button] [mono-icon]` (Basecoat's\r\n * `size-4`): sizing it here as well used to out-specify that and hand every\r\n * menu icon a 1.1em box the button never asked for.\r\n */\r\n[mono-button-dropdown] [class*='i-'].mono-icon {\r\n -webkit-mask: var(--un-icon) no-repeat;\r\n mask: var(--un-icon) no-repeat;\r\n -webkit-mask-size: 100% 100%;\r\n mask-size: 100% 100%;\r\n background-color: currentColor;\r\n display: inline-block;\r\n}\r\n";
642
+ //#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\button\button-dropdown.css?raw.js
643
+ var button_dropdown_css_raw_default = "/* =========================================================================\r\n mono-button-dropdown — a port of Basecoat's `.dropdown-menu`\r\n (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-button-dropdown size=\"sm\" placement=\"bottom-end\" model-value>\r\n <div mono-button-dropdown mono-size=\"sm\" mono-side=\"bottom\" mono-align=\"end\" mono-open>\r\n <div mono-row hidden></div>\r\n <div mono-button mono-trigger mono-icon-only>…the ⋮ button…</div>\r\n <div mono-panel role=\"menu\" aria-hidden=\"false\">\r\n <ul mono-list>\r\n <li mono-item role=\"none\" mono-item-color=\"success\">\r\n <div mono-button>…a real button…</div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md, no\r\n `mono-side` = bottom, no `mono-align` = start, no `mono-item-color` = the\r\n panel's own ink). The element writes them on the inner root in BOTH builds;\r\n the old classes (`.mono-button-dropdown-panel`, `.mono-bd-c-danger`) are still\r\n emitted as inert hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-button-dropdown] ≡ .dropdown-menu (relative inline-flex)\r\n [mono-row] ≡ EXTENSION (the INLINE row — upstream has\r\n no \"stay flat while short\" mode)\r\n [mono-trigger] ≡ .dropdown-menu > button (a real mono-button,\r\n styled by button.css — nothing to add here)\r\n [mono-panel] ≡ .dropdown-menu > [data-popover]\r\n (bg-popover text-popover-foreground\r\n ring-1 ring-foreground/10 gap-0 rounded-md\r\n p-1 shadow-md overflow-x-hidden\r\n overflow-y-auto duration-100)\r\n [mono-list] ≡ [role='menu'] (outline-hidden)\r\n [mono-item] ≡ [role='menuitem'] (gap-2 rounded-sm px-2\r\n py-1.5 text-sm, hover bg-accent\r\n text-accent-foreground)\r\n [mono-item][mono-item-color=…] ≡ .dropdown-menu [data-variant='destructive']\r\n (text-destructive, hover bg-destructive/10,\r\n dark /20) — generalised to all ten roles\r\n [mono-side] / [mono-align] ≡ [data-popover][data-side] / [data-align]\r\n [mono-size=\"…\"] ≡ EXTENSION (upstream ships one menu size)\r\n\r\n THE ROW IS A REAL BUTTON. Each entry renders as a `<mono-button>`, so the\r\n menu cannot paint it with a selector — in the shadow build the control sits\r\n behind a boundary. It is flattened with the button's own PUBLIC knobs, set on\r\n the `<li mono-item>`: custom properties inherit, so one declaration reaches\r\n both builds. `--mono-button-width` / `-justify` exist for exactly this.\r\n\r\n COLOUR: an entry's `color` is NOT a button colour in here — a row of solid,\r\n outlined and tonal buttons reads as noise rather than a list. It is the\r\n Basecoat `[data-variant='destructive']` treatment generalised: the row's INK\r\n (label and glyph alike, the glyph being a `currentColor` mask) becomes the\r\n role, and hover lays that role down at `--mono-mode-tint` (10% light / 20%\r\n dark). Never the role as a solid fill — a full-strength background under a\r\n full-strength glyph is the one combination that makes the glyph vanish.\r\n\r\n THE PANEL IS PORTALED in the light build: `composables/popup-portal` moves it\r\n into a `<body>` portal and mirrors the root's class AND `mono-*` attributes\r\n onto that portal, so `[mono-button-dropdown] > [mono-panel]` keeps matching.\r\n Every panel rule is therefore written as a CHILD of the root, and every public\r\n knob it reads is listed in `BUTTON_DROPDOWN_STYLE_VARS` (button-dropdown-core)\r\n so an ancestor's override travels with it.\r\n\r\n Specificity contract: a part's RESTING rule is exactly one attribute strong —\r\n `:where([mono-button-dropdown]) > [mono-panel]` = (0,1,0) — so a utility class\r\n handed in through `cssClass` wins by source order, while the prop and state\r\n rules stay heavier.\r\n\r\n FLAVORS set `--mono-button-dropdown-{radius,padding,min-width,offset,shadow,\r\n ring-*,item-radius,item-font-weight}` (+ the per-size forms); every fallback\r\n here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"dropdown-menu\"`).\r\n ========================================================================= */\r\n\r\nmono-button-dropdown {\r\n display: inline-flex;\r\n}\r\n\r\n/* =========================================\r\n Root — layout and the palette\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/dropdown-menu.css .dropdown-menu — relative inline-flex */\r\n[mono-button-dropdown] {\r\n /* ── the ten entry roles, each a public knob over a Basecoat token ───────\r\n `secondary`, `light` and `dark` are SURFACES upstream, and a surface makes\r\n no ink: `--dark` is a near-black in light mode and STILL a dark grey in dark\r\n mode (the role is a fill, paired with `--dark-foreground`), so inking a row\r\n with it turns that row invisible on a dark popover. The three resolve to a\r\n foreground instead, which flips with the mode. */\r\n --_mono-bd-primary: var(--mono-button-dropdown-primary, var(--primary));\r\n --_mono-bd-secondary: var(--mono-button-dropdown-secondary, var(--secondary-foreground));\r\n --_mono-bd-success: var(--mono-button-dropdown-success, var(--success));\r\n --_mono-bd-danger: var(--mono-button-dropdown-danger, var(--destructive));\r\n --_mono-bd-warning: var(--mono-button-dropdown-warning, var(--warning));\r\n --_mono-bd-info: var(--mono-button-dropdown-info, var(--info));\r\n --_mono-bd-teal: var(--mono-button-dropdown-teal, var(--teal));\r\n --_mono-bd-purple: var(--mono-button-dropdown-purple, var(--purple));\r\n --_mono-bd-dark: var(--mono-button-dropdown-dark, var(--foreground));\r\n --_mono-bd-light: var(--mono-button-dropdown-light, var(--foreground));\r\n\r\n /* ── panel paint — `bg-popover text-popover-foreground ring-foreground/10` ── */\r\n --_mono-bd-bg: var(--mono-button-dropdown-bg, var(--mono-button-dropdown-surface, var(--popover)));\r\n --_mono-bd-text: var(--mono-button-dropdown-text, var(--popover-foreground));\r\n --_mono-bd-ring-width: var(--mono-button-dropdown-ring-width, var(--mono-border-width));\r\n --_mono-bd-ring-color: var(--mono-button-dropdown-ring-color, var(--mono-button-dropdown-border,\r\n color-mix(in oklab, var(--foreground) 10%, transparent)));\r\n --_mono-bd-shadow: var(--mono-button-dropdown-shadow, var(--mono-shadow-md));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css .dropdown-menu > [data-popover] — rounded-md p-1 gap-0 */\r\n --_mono-bd-radius: var(--mono-button-dropdown-radius, var(--_mono-bd-radius-preset, var(--mono-button-dropdown-radius-md, var(--mono-radius-md))));\r\n --_mono-bd-padding: var(--mono-button-dropdown-padding, var(--_mono-bd-padding-preset, var(--mono-button-dropdown-padding-md, var(--mono-spacing))));\r\n --_mono-bd-list-gap: var(--mono-button-dropdown-list-gap, var(--_mono-bd-list-gap-preset, 0px));\r\n /* DEVIATION: upstream is `min-width: anchor-size(width)` — the panel is at\r\n least as wide as its trigger. Anchor positioning is not the mechanism here\r\n (the panel is portaled and placed from measurements), so the floor is a\r\n plain length; maia/luma/sera's `min-w-48` is the per-size knob. */\r\n --_mono-bd-min-width: var(--mono-button-dropdown-min-width, var(--_mono-bd-min-width-preset, var(--mono-button-dropdown-min-width-md, 9rem)));\r\n /* The static offset — the JS path uses the `offset` PROP; keep them in step. */\r\n --_mono-bd-offset: var(--mono-button-dropdown-offset, var(--_mono-bd-offset-preset, var(--mono-button-dropdown-offset-md, var(--mono-spacing))));\r\n\r\n /* ── the inline row (NOT the menu): the gap between loose buttons ───────── */\r\n --_mono-bd-gap: var(--mono-button-dropdown-gap, calc(var(--mono-spacing) * 1.5));\r\n\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n}\r\n\r\n[mono-button-dropdown] *,\r\n[mono-button-dropdown] *::before,\r\n[mono-button-dropdown] *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: Basecoat ships ONE menu; md is its `[data-popover]`\r\n ========================================= */\r\n\r\n[mono-button-dropdown][mono-size=\"xs\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xs, var(--mono-radius-sm));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xs, calc(var(--mono-spacing) * 0.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xs, 7rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xs, calc(var(--mono-spacing) * 0.75));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"sm\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-sm, var(--mono-radius-md));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-sm, calc(var(--mono-spacing) * 0.75));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-sm, 8rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-sm, var(--mono-spacing));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"lg\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-lg, var(--mono-radius-lg));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-lg, calc(var(--mono-spacing) * 1.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-lg, 11rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-lg, calc(var(--mono-spacing) * 1.5));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-lg, var(--mono-radius-md));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"xl\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xl, var(--mono-radius-xl));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xl, calc(var(--mono-spacing) * 2));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xl, 13rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xl, calc(var(--mono-spacing) * 2));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-xl, var(--mono-radius-md));\r\n}\r\n\r\n[mono-button-dropdown][mono-size=\"xxl\"] {\r\n --_mono-bd-radius-preset: var(--mono-button-dropdown-radius-xxl, var(--mono-radius-xl));\r\n --_mono-bd-padding-preset: var(--mono-button-dropdown-padding-xxl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-bd-min-width-preset: var(--mono-button-dropdown-min-width-xxl, 15rem);\r\n --_mono-bd-offset-preset: var(--mono-button-dropdown-offset-xxl, calc(var(--mono-spacing) * 2.5));\r\n --_mono-bd-item-radius-preset: var(--mono-button-dropdown-item-radius-xxl, var(--mono-radius-lg));\r\n}\r\n\r\n/* =========================================\r\n Inline row — EXTENSION: the entries before they collapse\r\n ========================================= */\r\n\r\n:where([mono-button-dropdown]) > [mono-row] {\r\n display: inline-flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: var(--_mono-bd-gap);\r\n}\r\n\r\n/* `hidden` is a UA rule, and an author `display` beats it whatever the\r\n specificity — so the hidden state has to be stated here. */\r\n[mono-button-dropdown] > [mono-row][hidden] {\r\n display: none;\r\n}\r\n\r\n/* =========================================\r\n Panel — `.dropdown-menu > [data-popover]`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] — absolute z-50 w-max\r\n overflow-x-hidden overflow-y-auto outline-hidden\r\n basecoat@1.0.2 styles/vega.css .dropdown-menu > [data-popover] — bg-popover\r\n text-popover-foreground ring-foreground/10 gap-0 rounded-md p-1 shadow-md ring-1\r\n — DEVIATIONS: the z-index is the shared popup stack's `--mono-popup-z` rather\r\n than a flat z-50, and the height cap is the room the portal measured. */\r\n:where([mono-button-dropdown]) > [mono-panel] {\r\n position: absolute;\r\n z-index: var(--mono-popup-z, 1000);\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--_mono-bd-list-gap);\r\n width: max-content;\r\n min-width: var(--_mono-bd-min-width);\r\n max-height: var(--mono-popup-avail-h, none);\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n outline: none;\r\n padding: var(--_mono-bd-padding);\r\n border-radius: var(--_mono-bd-radius);\r\n background: var(--_mono-bd-bg);\r\n color: var(--_mono-bd-text);\r\n box-shadow:\r\n 0 0 0 var(--_mono-bd-ring-width) var(--_mono-bd-ring-color),\r\n var(--_mono-bd-shadow);\r\n}\r\n\r\n/* Same UA-`hidden` story as the row, and it has to out-specify the rule above\r\n even once the panel has been portaled (where it is still a `>` child). */\r\n[mono-button-dropdown] > [mono-panel][hidden] {\r\n display: none;\r\n}\r\n\r\n/* Once the element takes over it measures and writes inline top/left, so the\r\n static placement rules below must stand aside. */\r\n[mono-button-dropdown][mono-fixed] > [mono-panel] {\r\n position: fixed;\r\n}\r\n\r\n/* =========================================\r\n Static placement — `[data-side]` / `[data-align]`, verbatim\r\n -----------------------------------------------------------------------------\r\n What hand-written markup positions with (and SSR, before hydration). The\r\n element overrides all of it with inline top/left once it has measured.\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &:not([data-side]), &[data-side='bottom'] — mt-1 top-full */\r\n[mono-button-dropdown]:not([mono-side]):not([mono-fixed]) > [mono-panel],\r\n[mono-button-dropdown][mono-side=\"bottom\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 100%;\r\n margin-top: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='top'] — mb-1 bottom-full */\r\n[mono-button-dropdown][mono-side=\"top\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 100%;\r\n margin-bottom: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='left'] — me-1 end-full */\r\n[mono-button-dropdown][mono-side=\"left\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 100%;\r\n margin-inline-end: var(--_mono-bd-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='right'] — ms-1 start-full */\r\n[mono-button-dropdown][mono-side=\"right\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 100%;\r\n margin-inline-start: var(--_mono-bd-offset);\r\n}\r\n\r\n/* The top/bottom pair aligns on the inline axis: start-0 / end-0 / start-1/2 -translate-x-1/2.\r\n DEVIATION from `mono-dropdown`: the default here is `end`, matching the\r\n `placement=\"bottom-end\"` default — a row of actions hangs off the right. */\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"start\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"]):is(:not([mono-align]), [mono-align=\"end\"]):not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 50%;\r\n translate: -50% 0;\r\n}\r\n\r\n/* …and the left/right pair on the block axis: top-0 / bottom-0 / top-1/2 -translate-y-1/2 */\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"]):is(:not([mono-align]), [mono-align=\"start\"]):not([mono-fixed]) > [mono-panel] {\r\n top: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"end\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 0;\r\n}\r\n\r\n[mono-button-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n\r\n/* =========================================\r\n List — `[role='menu']`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/dropdown-menu.css .dropdown-menu [role='menu'] — outline-hidden */\r\n:where([mono-button-dropdown]) [mono-list] {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--_mono-bd-list-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n outline: none;\r\n}\r\n\r\n/* =========================================\r\n Item — `[role='menuitem']`\r\n -----------------------------------------------------------------------------\r\n The `<li>` paints nothing itself: it hands the entry button a flattened\r\n palette through the button's PUBLIC knobs, which is the only route that\r\n reaches the control in BOTH builds (the shadow one keeps it behind a\r\n boundary). The entry's own `variant` and `color` presets are overridden by\r\n construction — inside the menu every row is one flat strip.\r\n ========================================= */\r\n\r\n:where([mono-button-dropdown]) [mono-item] {\r\n /* ── the row's ink and its hover wash ──────────────────────────────────────\r\n FOUR tiers, not three, because the middle one belongs to a PER-ENTRY prop:\r\n\r\n --mono-button-dropdown-item-<x> consumer, wins over everything\r\n --_mono-bd-item-<x>-preset the entry's `color` (mono-item-color)\r\n --mono-button-dropdown-item-base-<x> a FLAVOR's neutral row\r\n the Basecoat value\r\n\r\n A flavor must write the `-base-` tier: writing the consumer knob would\r\n out-rank every role and freeze all ten colours at one ink. */\r\n --_mono-bd-item-color: var(--mono-button-dropdown-item-color, var(--_mono-bd-item-color-preset, var(--mono-button-dropdown-item-base-color, var(--_mono-bd-text))));\r\n /* basecoat@1.0.2 styles/vega.css .dropdown-menu :is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio']) — focus-visible:bg-accent */\r\n --_mono-bd-item-hover-bg: var(--mono-button-dropdown-item-hover-bg, var(--_mono-bd-item-hover-bg-preset, var(--mono-button-dropdown-item-base-hover-bg, var(--mono-button-dropdown-item-hover, var(--accent)))));\r\n --_mono-bd-item-hover-color: var(--mono-button-dropdown-item-hover-color, var(--_mono-bd-item-hover-color-preset, var(--mono-button-dropdown-item-base-hover-color, var(--accent-foreground))));\r\n /* basecoat@1.0.2 styles/vega.css .dropdown-menu :is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio']) — rounded-sm */\r\n --_mono-bd-item-radius: var(--mono-button-dropdown-item-radius, var(--_mono-bd-item-radius-preset, var(--mono-radius-sm)));\r\n\r\n /* ── flatten the entry: the button's own public knobs, set on its ancestor ─ */\r\n --mono-button-bg: transparent;\r\n --mono-button-color: var(--_mono-bd-item-color);\r\n --mono-button-border-color: transparent;\r\n --mono-button-shadow: 0 0 #0000;\r\n --mono-button-hover-bg: var(--_mono-bd-item-hover-bg);\r\n --mono-button-hover-color: var(--_mono-bd-item-hover-color);\r\n --mono-button-hover-border-color: transparent;\r\n --mono-button-hover-shadow: 0 0 #0000;\r\n --mono-button-radius: var(--_mono-bd-item-radius);\r\n /* A menu row is a strip, not a chip: full width, label against the start edge. */\r\n --mono-button-width: 100%;\r\n --mono-button-justify: flex-start;\r\n /* No press twitch in a list — right for a standalone button, wrong for a row. */\r\n --mono-button-press-translate: 0 0;\r\n --mono-button-font-weight: var(--mono-button-dropdown-item-font-weight, var(--mono-font-weight-medium));\r\n\r\n display: block;\r\n min-width: 0;\r\n}\r\n\r\n/* The entry element itself — `<mono-button>` / `<mono-shadow-button>`, both\r\n `display: inline-block` hosts — has to fill the row for the whole strip to be\r\n clickable rather than just the label's width. */\r\n:where([mono-button-dropdown]) [mono-item] > * {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .dropdown-menu [data-variant='destructive'] —\r\n `text-destructive`, and `:is(:focus-visible, .active)` lays the same colour\r\n down at `bg-destructive/10` (dark `/20`, carried by `--mono-mode-tint`).\r\n EXTENSION: generalised from destructive to all ten roles. The tint is the\r\n whole point — a solid role fill under a role-coloured glyph erases it. */\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"primary\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-primary);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-primary) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-primary);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"success\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-success);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-success) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-success);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"danger\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-danger);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-danger) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-danger);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"warning\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-warning);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-warning) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-warning);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"info\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-info);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-info) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-info);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"teal\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-teal);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-teal) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-teal);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"purple\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-purple);\r\n --_mono-bd-item-hover-bg-preset: color-mix(in oklab, var(--_mono-bd-purple) var(--mono-mode-tint), transparent);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-purple);\r\n}\r\n\r\n/* The three surface roles: their ink is a foreground, and a 10% wash of a\r\n near-background colour is invisible — so they hover on `--accent`, the\r\n neutral row wash, exactly like an uncoloured entry. */\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"dark\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-dark);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-dark);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"secondary\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-secondary);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-secondary);\r\n}\r\n\r\n[mono-button-dropdown] [mono-item][mono-item-color=\"light\"] {\r\n --_mono-bd-item-color-preset: var(--_mono-bd-light);\r\n --_mono-bd-item-hover-color-preset: var(--_mono-bd-light);\r\n}\r\n\r\n/**\r\n * Icon glyphs inside a shadow root.\r\n *\r\n * `adoptIconStyles` copies the page's `.i-mdi-…` rules through CSSOM `cssText`,\r\n * and that read-back DROPS the mask declarations — `mask-image: ;` comes back\r\n * empty whenever the value is a `var()`. What survives is `--un-icon`, the data\r\n * URI itself. So the copy leaves `background-color: currentColor` with no mask,\r\n * painting a solid square: the \"black cube\".\r\n *\r\n * Re-declaring the mask here fixes it, because this sheet is authored source\r\n * rather than a CSSOM copy — it consumes the custom property that DID survive.\r\n * Harmless in the light build, where it merely restates what the page already\r\n * says. The glyph's BOX is left to `[mono-button] [mono-icon]` (Basecoat's\r\n * `size-4`): sizing it here as well used to out-specify that and hand every\r\n * menu icon a 1.1em box the button never asked for.\r\n */\r\n[mono-button-dropdown] [class*='i-'].mono-icon {\r\n -webkit-mask: var(--un-icon) no-repeat;\r\n mask: var(--un-icon) no-repeat;\r\n -webkit-mask-size: 100% 100%;\r\n mask-size: 100% 100%;\r\n background-color: currentColor;\r\n display: inline-block;\r\n}\r\n";
644
+
642
645
  //#endregion
643
646
  //#region src/components/button/mono-button-dropdown.ts
644
- var MonoButtonDropdown = class MonoButtonDropdown extends MonoButtonDropdownCore(LitElement) {
647
+ let MonoButtonDropdown = class MonoButtonDropdown extends MonoButtonDropdownCore(LitElement) {
645
648
  static {
646
- this.styles = [unsafeCSS(button_default), unsafeCSS(button_dropdown_default)];
649
+ this.styles = [unsafeCSS(button_css_raw_default), unsafeCSS(button_dropdown_css_raw_default)];
647
650
  }
648
651
  createRenderRoot() {
649
652
  return this;
@@ -675,5 +678,6 @@ var MonoButtonDropdown = class MonoButtonDropdown extends MonoButtonDropdownCore
675
678
  }
676
679
  };
677
680
  MonoButtonDropdown = __decorate([customElement("mono-button-dropdown")], MonoButtonDropdown);
681
+
678
682
  //#endregion
679
- export { MonoButtonDropdown, MonoButtonDropdownCore };
683
+ export { MonoButtonDropdown, MonoButtonDropdownCore };
package/dist/ui/button.js CHANGED
@@ -1,4 +1,5 @@
1
- import { t as MonoButton } from "../mono-button-simcTQdW.js";
1
+ import { t as MonoButton } from "../mono-button-CeDB9khW.js";
2
+
2
3
  //#region src/components/button/button-utils.ts
3
4
  /**
4
5
  * Generate badge CSS classes
@@ -59,5 +60,6 @@ function validateButtonProps(props) {
59
60
  if (props.rounded && !validRounded.includes(props.rounded)) return false;
60
61
  return true;
61
62
  }
63
+
62
64
  //#endregion
63
- export { MonoButton, generateBadgeClasses, processIconContent, validateButtonProps };
65
+ export { MonoButton, generateBadgeClasses, processIconContent, validateButtonProps };