@tempots/beatui 0.94.0 → 1.0.0

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 (279) hide show
  1. package/dist/ar-CuI1Jgt6.cjs +1 -0
  2. package/dist/{ar-8Cko5i-Z.js → ar-DaKbK_t8.js} +88 -11
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/{auth-divider-Rt0WDKAe.js → auth-divider-BQIhr3-R.js} +99 -98
  6. package/dist/auth-divider-DvnUModP.cjs +1 -0
  7. package/dist/beatui.css +1628 -541
  8. package/dist/beatui.tailwind.css +1629 -542
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +9 -9
  11. package/dist/codehighlight/index.cjs.js +22 -0
  12. package/dist/codehighlight/index.es.js +76 -0
  13. package/dist/colors-B-p6IzX9.cjs +1 -0
  14. package/dist/{colors-BY0Ja_bf.js → colors-DwufPN8S.js} +18 -18
  15. package/dist/{de-Bt-d2iKj.js → de-3MTPDS1i.js} +83 -6
  16. package/dist/de-DthHehbh.cjs +1 -0
  17. package/dist/{deep-merge-CoLO4id0.js → deep-merge-BzIheQtH.js} +511 -517
  18. package/dist/deep-merge-EkjEgK0N.cjs +1 -0
  19. package/dist/{duration-input-47x7nbGh.cjs → duration-input-ClgYjeBa.cjs} +1 -1
  20. package/dist/{duration-input-DrVonjKK.js → duration-input-DGzmIImj.js} +5 -5
  21. package/dist/{editor-toolbar-group-CzdBZ1yr.js → editor-toolbar-group-Crlu1QJw.js} +3 -3
  22. package/dist/{editor-toolbar-group-DhKJdqER.cjs → editor-toolbar-group-mkL4QozO.cjs} +1 -1
  23. package/dist/es-B6GJLk9h.cjs +1 -0
  24. package/dist/{es-2llfNFX2.js → es-DwMUvBeU.js} +95 -18
  25. package/dist/{fa-CQVIBjKP.js → fa-0rvQiKrJ.js} +88 -11
  26. package/dist/fa-BwgP93iV.cjs +1 -0
  27. package/dist/{fr-CC3smTlW.js → fr-B4i6NzLl.js} +87 -10
  28. package/dist/fr-CQzk5zqY.cjs +1 -0
  29. package/dist/{he-CZilsN75.js → he-C71n-hsn.js} +88 -11
  30. package/dist/he-DcxxvRfs.cjs +1 -0
  31. package/dist/hi-D-KHVWg4.cjs +1 -0
  32. package/dist/{hi-CAZjwGv-.js → hi-xmrXpeVU.js} +88 -11
  33. package/dist/index-B5MAsOC-.cjs +1 -0
  34. package/dist/{index-B8cqD9ny.js → index-C3o9GSH6.js} +106 -105
  35. package/dist/index.cjs.js +4 -4
  36. package/dist/index.es.js +8055 -5285
  37. package/dist/input-container-BvEcp7FU.js +275 -0
  38. package/dist/input-container-Di1YvVB_.cjs +1 -0
  39. package/dist/{it-D6RXFIL6.js → it-CDZTtOBC.js} +84 -7
  40. package/dist/it-D344Dutu.cjs +1 -0
  41. package/dist/ja-BNgnDZ27.cjs +1 -0
  42. package/dist/{ja-D7zsz4Ij.js → ja-Zz1LzidW.js} +92 -15
  43. package/dist/json-schema/index.cjs.js +1 -1
  44. package/dist/json-schema/index.es.js +261 -257
  45. package/dist/json-schema-display/index.cjs.js +1 -1
  46. package/dist/json-schema-display/index.es.js +2 -2
  47. package/dist/json-structure/index.cjs.js +1 -1
  48. package/dist/json-structure/index.es.js +132 -133
  49. package/dist/{ko-taN2Npr4.js → ko-9laUsZDL.js} +91 -14
  50. package/dist/ko-D-WJ9NK7.cjs +1 -0
  51. package/dist/lexical/index.cjs.js +2 -39
  52. package/dist/lexical/index.es.js +2102 -20521
  53. package/dist/markdown/index.cjs.js +1 -1
  54. package/dist/markdown/index.es.js +41 -4
  55. package/dist/{menu-CV85y3Xf.js → menu-B8yoDMRS.js} +23 -23
  56. package/dist/menu-B92oSDct.cjs +1 -0
  57. package/dist/modal-BT0jjDqX.cjs +1 -0
  58. package/dist/{modal-ZitwUeXx.js → modal-DBguyX-b.js} +9 -9
  59. package/dist/monaco/index.cjs.js +2 -2
  60. package/dist/monaco/index.es.js +7 -7
  61. package/dist/nl-CrqUlFie.cjs +1 -0
  62. package/dist/{nl-CRC6r4Q4.js → nl-Dcll9fVA.js} +87 -10
  63. package/dist/{notice-E_p2hg1G.js → notice-E19wu9lA.js} +51 -51
  64. package/dist/notice-_9XhdrFw.cjs +1 -0
  65. package/dist/oneof-branch-detection-J_DYEEcD.js +1077 -0
  66. package/dist/oneof-branch-detection-ZUBZ6hqy.cjs +1 -0
  67. package/dist/pl-9UksIrvX.cjs +1 -0
  68. package/dist/{pl-C6qNs0Lq.js → pl-Dm9N9Gbr.js} +84 -7
  69. package/dist/prosemirror/index.cjs.js +3 -1
  70. package/dist/prosemirror/index.es.js +636 -4
  71. package/dist/{pt-CcWPLqBh.js → pt-CFi5cn0k.js} +89 -12
  72. package/dist/pt-_kfdzwqi.cjs +1 -0
  73. package/dist/{ru-Dt9-9m0E.js → ru-CEhZUw8R.js} +92 -15
  74. package/dist/ru-CW1WNNlr.cjs +1 -0
  75. package/dist/stack-BLMteGTn.js +15 -0
  76. package/dist/stack-dwLevGa2.cjs +1 -0
  77. package/dist/tailwind/preset.cjs.js +1 -1
  78. package/dist/tailwind/preset.es.js +2 -2
  79. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  80. package/dist/tailwind/vite-plugin.es.js +1 -1
  81. package/dist/text-input-DfqXolVe.js +55 -0
  82. package/dist/text-input-X_q01NsY.cjs +1 -0
  83. package/dist/toolbar-DY0ax2Qd.js +130 -0
  84. package/dist/toolbar-DoKdYXIL.cjs +1 -0
  85. package/dist/tr-B6GIRegf.cjs +1 -0
  86. package/dist/{tr-CDTWeRY0.js → tr-ZmnVDhLP.js} +83 -6
  87. package/dist/{translations-NBY7SubC.js → translations-A4kR7CW8.js} +1 -1
  88. package/dist/{translations-CiBhB2FV.js → translations-B1_yyDUK.js} +185 -106
  89. package/dist/{translations-BdCtLBZt.cjs → translations-C81buKAw.cjs} +1 -1
  90. package/dist/translations-Dbx7L7Q1.cjs +1 -0
  91. package/dist/types/beatui-i18n/default.d.ts +72 -0
  92. package/dist/types/beatui-i18n/locales/en.d.ts +72 -0
  93. package/dist/types/beatui-i18n/translations.d.ts +72 -0
  94. package/dist/types/codehighlight/code-highlight.d.ts +21 -0
  95. package/dist/types/codehighlight/index.d.ts +14 -0
  96. package/dist/types/components/button/toggle-button.d.ts +4 -4
  97. package/dist/types/components/data/avatar.d.ts +3 -1
  98. package/dist/types/components/data/badge.d.ts +10 -18
  99. package/dist/types/components/data/column-filter-panel.d.ts +31 -0
  100. package/dist/types/components/data/column-filter.d.ts +110 -0
  101. package/dist/types/components/data/column-header-menu.d.ts +42 -0
  102. package/dist/types/components/data/data-source.d.ts +190 -0
  103. package/dist/types/components/data/data-table-body.d.ts +12 -0
  104. package/dist/types/components/data/data-table-column-toggle.d.ts +4 -0
  105. package/dist/types/components/data/data-table-context.d.ts +53 -0
  106. package/dist/types/components/data/data-table-header.d.ts +6 -0
  107. package/dist/types/components/data/data-table-resolve.d.ts +26 -0
  108. package/dist/types/components/data/data-table-types.d.ts +201 -0
  109. package/dist/types/components/data/data-table.d.ts +38 -0
  110. package/dist/types/components/data/data-toolbar.d.ts +44 -0
  111. package/dist/types/components/data/date-picker-shared.d.ts +55 -0
  112. package/dist/types/components/data/date-picker.d.ts +58 -0
  113. package/dist/types/components/data/date-range-picker.d.ts +56 -0
  114. package/dist/types/components/data/filter.d.ts +268 -0
  115. package/dist/types/components/data/index.d.ts +13 -4
  116. package/dist/types/components/data/indicator.d.ts +41 -0
  117. package/dist/types/components/data/progress-bar.d.ts +2 -2
  118. package/dist/types/components/data/selection-checkbox.d.ts +63 -0
  119. package/dist/types/components/data/skeleton.d.ts +1 -1
  120. package/dist/types/components/data/sortable-header.d.ts +55 -0
  121. package/dist/types/components/data/unstyled-drop-zone.d.ts +2 -2
  122. package/dist/types/components/form/control/control.d.ts +9 -9
  123. package/dist/types/components/form/input/advanced-slider.d.ts +6 -6
  124. package/dist/types/components/form/input/appearance-selector.d.ts +9 -2
  125. package/dist/types/components/form/input/checkbox-input.d.ts +6 -7
  126. package/dist/types/components/form/input/color-input.d.ts +1 -1
  127. package/dist/types/components/form/input/color-swatch-input.d.ts +3 -3
  128. package/dist/types/components/form/input/combobox-input.d.ts +5 -5
  129. package/dist/types/components/form/input/combobox-tags-input.d.ts +5 -5
  130. package/dist/types/components/form/input/create-nullable-string-input.d.ts +2 -2
  131. package/dist/types/components/form/input/date-input.d.ts +4 -4
  132. package/dist/types/components/form/input/dropdown-input.d.ts +5 -5
  133. package/dist/types/components/form/input/editable-text.d.ts +2 -2
  134. package/dist/types/components/form/input/email-input.d.ts +4 -4
  135. package/dist/types/components/form/input/index.d.ts +1 -0
  136. package/dist/types/components/form/input/input-container.d.ts +1 -1
  137. package/dist/types/components/form/input/input-options.d.ts +28 -1
  138. package/dist/types/components/form/input/mask-input.d.ts +8 -2
  139. package/dist/types/components/form/input/native-select.d.ts +3 -3
  140. package/dist/types/components/form/input/nullable-date-input.d.ts +2 -2
  141. package/dist/types/components/form/input/nullable-email-input.d.ts +3 -3
  142. package/dist/types/components/form/input/nullable-rating-input.d.ts +8 -8
  143. package/dist/types/components/form/input/nullable-uuid-input.d.ts +4 -4
  144. package/dist/types/components/form/input/number-input.d.ts +3 -3
  145. package/dist/types/components/form/input/otp-input.d.ts +12 -12
  146. package/dist/types/components/form/input/rating-input.d.ts +7 -8
  147. package/dist/types/components/form/input/select-tags-input.d.ts +5 -5
  148. package/dist/types/components/form/input/switch.d.ts +2 -2
  149. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +82 -0
  150. package/dist/types/components/form/input/uuid-input.d.ts +2 -2
  151. package/dist/types/components/json-structure/controls/uuid-control.d.ts +1 -1
  152. package/dist/types/components/layout/card.d.ts +66 -0
  153. package/dist/types/components/layout/collapse.d.ts +2 -2
  154. package/dist/types/components/layout/flex.d.ts +26 -0
  155. package/dist/types/components/layout/index.d.ts +1 -0
  156. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  157. package/dist/types/components/lexical/toolbar/toolbar-registry.d.ts +2 -1
  158. package/dist/types/components/media/pdf-page-viewer.d.ts +8 -5
  159. package/dist/types/components/misc/index.d.ts +1 -0
  160. package/dist/types/components/misc/loading-overlay.d.ts +29 -0
  161. package/dist/types/components/misc/notice.d.ts +4 -4
  162. package/dist/types/components/misc/notification-provider.d.ts +9 -3
  163. package/dist/types/components/misc/notification.d.ts +9 -9
  164. package/dist/types/components/navigation/breadcrumbs.d.ts +1 -1
  165. package/dist/types/components/navigation/menu.d.ts +6 -6
  166. package/dist/types/components/navigation/pagination.d.ts +17 -4
  167. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +2 -2
  168. package/dist/types/components/navigation/tabs/tabs.d.ts +17 -8
  169. package/dist/types/components/navigation/toolbar/toolbar.d.ts +12 -6
  170. package/dist/types/components/overlay/announcement-bar.d.ts +12 -4
  171. package/dist/types/components/overlay/dialogs.d.ts +2 -2
  172. package/dist/types/components/overlay/modal.d.ts +9 -2
  173. package/dist/types/components/overlay/tooltip.d.ts +6 -6
  174. package/dist/types/components/theme/types.d.ts +15 -4
  175. package/dist/types/lexical/index.d.ts +2 -2
  176. package/dist/types/lexical/plugins/index.d.ts +1 -1
  177. package/dist/types/lexical/plugins/slash-commands.d.ts +1 -1
  178. package/dist/types/lexical/plugins/text.d.ts +5 -0
  179. package/dist/types/lexical/types.d.ts +126 -5
  180. package/dist/types/lexical-i18n/default.d.ts +1 -0
  181. package/dist/types/lexical-i18n/locales/ar.d.ts +1 -0
  182. package/dist/types/lexical-i18n/locales/de.d.ts +1 -0
  183. package/dist/types/lexical-i18n/locales/en.d.ts +1 -0
  184. package/dist/types/lexical-i18n/locales/es.d.ts +1 -0
  185. package/dist/types/lexical-i18n/locales/fa.d.ts +1 -0
  186. package/dist/types/lexical-i18n/locales/fr.d.ts +1 -0
  187. package/dist/types/lexical-i18n/locales/he.d.ts +1 -0
  188. package/dist/types/lexical-i18n/locales/hi.d.ts +1 -0
  189. package/dist/types/lexical-i18n/locales/it.d.ts +1 -0
  190. package/dist/types/lexical-i18n/locales/ja.d.ts +1 -0
  191. package/dist/types/lexical-i18n/locales/ko.d.ts +1 -0
  192. package/dist/types/lexical-i18n/locales/nl.d.ts +1 -0
  193. package/dist/types/lexical-i18n/locales/pl.d.ts +1 -0
  194. package/dist/types/lexical-i18n/locales/pt.d.ts +1 -0
  195. package/dist/types/lexical-i18n/locales/ru.d.ts +1 -0
  196. package/dist/types/lexical-i18n/locales/tr.d.ts +1 -0
  197. package/dist/types/lexical-i18n/locales/ur.d.ts +1 -0
  198. package/dist/types/lexical-i18n/locales/vi.d.ts +1 -0
  199. package/dist/types/lexical-i18n/locales/zh.d.ts +1 -0
  200. package/dist/types/tokens/z-index.d.ts +18 -18
  201. package/dist/types/utils/use-animated-toggle.d.ts +12 -4
  202. package/dist/ur-CtFl_tz6.cjs +1 -0
  203. package/dist/{ur-CLrK5FPQ.js → ur-yYgj3NmT.js} +88 -11
  204. package/dist/use-animated-toggle-C3asw_Sg.js +207 -0
  205. package/dist/use-animated-toggle-cKcuItmz.cjs +1 -0
  206. package/dist/use-form-CaW192gw.cjs +2 -0
  207. package/dist/{use-form-BQRVnIp9.js → use-form-Dn6v2tEh.js} +153 -152
  208. package/dist/utils-DmEuG3Np.cjs +1 -0
  209. package/dist/utils-vUtP6iPG.js +165 -0
  210. package/dist/{vi-B1_QDUQJ.js → vi-D5u4CLQO.js} +89 -12
  211. package/dist/vi-DyCZSpsk.cjs +1 -0
  212. package/dist/widget-customization-DgW1SXN6.cjs +1 -0
  213. package/dist/{widget-customization-C-fSx3RB.js → widget-customization-Dkx7kNSe.js} +413 -398
  214. package/dist/{zh-rDtQ92Pp.js → zh-B0kwMMer.js} +91 -14
  215. package/dist/zh-C3ZxMQKb.cjs +1 -0
  216. package/package.json +209 -38
  217. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -1
  218. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  219. package/dist/ar-D2DjoXta.cjs +0 -1
  220. package/dist/auth-divider-C3E16pml.cjs +0 -1
  221. package/dist/colors-BI0YhONJ.cjs +0 -1
  222. package/dist/de-Cdf3432J.cjs +0 -1
  223. package/dist/deep-merge-Blrucd-E.cjs +0 -1
  224. package/dist/es-6fFPkKHL.cjs +0 -1
  225. package/dist/fa-GXyNzAXz.cjs +0 -1
  226. package/dist/fr-C6EYTwSH.cjs +0 -1
  227. package/dist/he-CJUgxvi8.cjs +0 -1
  228. package/dist/hi-DqIR4VtX.cjs +0 -1
  229. package/dist/hls.light.min-C6xKDzRR.cjs +0 -27
  230. package/dist/hls.light.min-hEMf_E8u.js +0 -8311
  231. package/dist/index-1JaBwDB-.js +0 -921
  232. package/dist/index-B-cwxUsP.cjs +0 -1
  233. package/dist/index-BFzxpY7y.js +0 -68
  234. package/dist/index-BOC0cVoY.cjs +0 -36
  235. package/dist/index-CN10Cyqr.cjs +0 -1
  236. package/dist/index-CTcbhnPw.cjs +0 -4
  237. package/dist/index-DF7RFzD9.cjs +0 -1
  238. package/dist/index-DJ9YIJcG.js +0 -14308
  239. package/dist/index-DfPkCwdC.js +0 -2709
  240. package/dist/input-container-9r1F3KuX.js +0 -263
  241. package/dist/input-container-DiYEl_y8.cjs +0 -1
  242. package/dist/it-BvHsJ7fH.cjs +0 -1
  243. package/dist/ja-B2gP7OHY.cjs +0 -1
  244. package/dist/ko-BddhddIA.cjs +0 -1
  245. package/dist/menu-De_-sGeb.cjs +0 -1
  246. package/dist/modal-DUlqGUW7.cjs +0 -1
  247. package/dist/nl-COrtZUnH.cjs +0 -1
  248. package/dist/notice-DAVOTnfA.cjs +0 -1
  249. package/dist/oneof-branch-detection-D6Xa8qNR.cjs +0 -8
  250. package/dist/oneof-branch-detection-DCPwyutI.js +0 -6290
  251. package/dist/pl-BHI4zBgV.cjs +0 -1
  252. package/dist/pt-BGzC9MhU.cjs +0 -1
  253. package/dist/ru-CXeFbIPb.cjs +0 -1
  254. package/dist/stack-4VUGISn6.cjs +0 -1
  255. package/dist/stack-Bm-UZosx.js +0 -879
  256. package/dist/string-B9vVyfq3.cjs +0 -1
  257. package/dist/string-DYyMxBl-.js +0 -19
  258. package/dist/text-input-BgPx8BbG.js +0 -45
  259. package/dist/text-input-DUnhBUd6.cjs +0 -1
  260. package/dist/timer-BJHOsuS6.cjs +0 -1
  261. package/dist/timer-Rd2sKnvH.js +0 -65
  262. package/dist/toolbar-DKOh_gbA.js +0 -118
  263. package/dist/toolbar-Dkc2y1dI.cjs +0 -1
  264. package/dist/tr-CdOtQAtA.cjs +0 -1
  265. package/dist/translations-Cy9hoMGV.cjs +0 -1
  266. package/dist/types/components/data/calendar-shared.d.ts +0 -59
  267. package/dist/types/components/data/calendar.d.ts +0 -107
  268. package/dist/types/components/data/icon-badge.d.ts +0 -14
  269. package/dist/types/components/data/range-calendar.d.ts +0 -104
  270. package/dist/types/components/data/tag.d.ts +0 -51
  271. package/dist/ur-C7itXvnC.cjs +0 -1
  272. package/dist/use-animated-toggle-C7PTmnZi.js +0 -195
  273. package/dist/use-animated-toggle-DrqK7nUS.cjs +0 -1
  274. package/dist/use-form-DTyNw0kM.cjs +0 -2
  275. package/dist/utils-DEbsp9Q9.js +0 -129
  276. package/dist/utils-DIUEhA-Z.cjs +0 -1
  277. package/dist/vi-CQrUWB3y.cjs +0 -1
  278. package/dist/widget-customization-xEBfEPhQ.cjs +0 -1
  279. package/dist/zh-DWswYYTS.cjs +0 -1
@@ -321,15 +321,15 @@
321
321
  --text-shadow-md: 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);
322
322
  --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);
323
323
  --z-index-base: 0;
324
- --z-index-raised: 10;
325
- --z-index-navigation: 20;
326
- --z-index-sidebar: 20;
327
- --z-index-overlay: 50;
328
- --z-index-modal: 60;
329
- --z-index-tooltip: 70;
330
- --z-index-popover: 80;
331
- --z-index-notification: 90;
332
- --z-index-maximum: 100;
324
+ --z-index-raised: 100;
325
+ --z-index-navigation: 200;
326
+ --z-index-sidebar: 200;
327
+ --z-index-overlay: 500;
328
+ --z-index-modal: 600;
329
+ --z-index-tooltip: 700;
330
+ --z-index-popover: 800;
331
+ --z-index-notification: 900;
332
+ --z-index-maximum: 1000;
333
333
  --border-width-none: 0;
334
334
  --border-width-thin: 1px;
335
335
  --border-width-default: 1.5px;
@@ -893,17 +893,17 @@ a:focus-visible {
893
893
  gap: var(--spacing-xs);
894
894
  }
895
895
 
896
- /* Title */
896
+ /* Title — fixed font size across all sizes */
897
897
  .bc-action-card__title {
898
- font-size: var(--font-size-lg);
898
+ font-size: var(--font-size-md);
899
899
  font-weight: var(--font-weight-semibold);
900
900
  color: var(--action-card-title-color);
901
901
  line-height: var(--line-height-tight);
902
902
  }
903
903
 
904
- /* Description */
904
+ /* Description — fixed font size across all sizes */
905
905
  .bc-action-card__description {
906
- font-size: var(--font-size-md);
906
+ font-size: var(--font-size-sm);
907
907
  font-weight: var(--font-weight-normal);
908
908
  color: var(--action-card-description-color);
909
909
  line-height: var(--line-height-normal);
@@ -949,59 +949,27 @@ a:focus-visible {
949
949
  pointer-events: none;
950
950
  }
951
951
 
952
- /* Size variants */
952
+ /* Size variants — padding and gap only */
953
953
  .bc-action-card--xs {
954
954
  padding: var(--spacing-xs);
955
955
  gap: var(--spacing-xs);
956
956
  }
957
957
 
958
- .bc-action-card--xs .bc-action-card__title {
959
- font-size: var(--font-size-sm);
960
- }
961
-
962
- .bc-action-card--xs .bc-action-card__description {
963
- font-size: var(--font-size-xs);
964
- }
965
-
966
958
  .bc-action-card--sm {
967
959
  padding: var(--spacing-sm);
968
960
  gap: var(--spacing-sm);
969
961
  }
970
962
 
971
- .bc-action-card--sm .bc-action-card__title {
972
- font-size: var(--font-size-md);
973
- }
974
-
975
- .bc-action-card--sm .bc-action-card__description {
976
- font-size: var(--font-size-sm);
977
- }
978
-
979
963
  .bc-action-card--lg {
980
- padding: var(--spacing-xl);
964
+ padding: var(--spacing-lg);
981
965
  gap: var(--spacing-lg);
982
966
  }
983
967
 
984
- .bc-action-card--lg .bc-action-card__title {
985
- font-size: var(--font-size-xl);
986
- }
987
-
988
- .bc-action-card--lg .bc-action-card__description {
989
- font-size: var(--font-size-lg);
990
- }
991
-
992
968
  .bc-action-card--xl {
993
- padding: var(--spacing-2xl);
969
+ padding: var(--spacing-xl);
994
970
  gap: var(--spacing-xl);
995
971
  }
996
972
 
997
- .bc-action-card--xl .bc-action-card__title {
998
- font-size: var(--font-size-2xl);
999
- }
1000
-
1001
- .bc-action-card--xl .bc-action-card__description {
1002
- font-size: var(--font-size-xl);
1003
- }
1004
-
1005
973
  /* Focus styles for accessibility */
1006
974
  .bc-action-card--clickable:focus-visible {
1007
975
  outline: var(--outline-width-focus) solid var(--color-primary-500);
@@ -2044,8 +2012,8 @@ a:focus-visible {
2044
2012
 
2045
2013
  /* Bordered variant */
2046
2014
  .bc-avatar--bordered {
2047
- border: var(--border-width-medium) solid var(--color-white);
2048
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
2015
+ border: var(--border-width-medium) solid
2016
+ var(--avatar-border-color, var(--color-white));
2049
2017
  }
2050
2018
 
2051
2019
  /* Avatar Group */
@@ -2055,6 +2023,43 @@ a:focus-visible {
2055
2023
  flex-direction: row;
2056
2024
  }
2057
2025
 
2026
+ /* Group size cascades to child avatars */
2027
+ .bc-avatar-group--size-xs > .bc-avatar {
2028
+ width: var(--spacing-xl);
2029
+ height: var(--spacing-xl);
2030
+ font-size: var(--font-size-xs);
2031
+ }
2032
+
2033
+ .bc-avatar-group--size-sm > .bc-avatar {
2034
+ width: var(--spacing-2xl);
2035
+ height: var(--spacing-2xl);
2036
+ font-size: var(--font-size-sm);
2037
+ }
2038
+
2039
+ .bc-avatar-group--size-md > .bc-avatar {
2040
+ width: var(--spacing-2xlh);
2041
+ height: var(--spacing-2xlh);
2042
+ font-size: var(--font-size-md);
2043
+ }
2044
+
2045
+ .bc-avatar-group--size-lg > .bc-avatar {
2046
+ width: var(--spacing-3xl);
2047
+ height: var(--spacing-3xl);
2048
+ font-size: var(--font-size-lg);
2049
+ }
2050
+
2051
+ .bc-avatar-group--size-xl > .bc-avatar {
2052
+ width: var(--spacing-4xl);
2053
+ height: var(--spacing-4xl);
2054
+ font-size: var(--font-size-xl);
2055
+ }
2056
+
2057
+ .bc-avatar-group--size-2xl > .bc-avatar {
2058
+ width: calc(var(--spacing-base) * 24);
2059
+ height: calc(var(--spacing-base) * 24);
2060
+ font-size: var(--font-size-2xl);
2061
+ }
2062
+
2058
2063
  /* Tight spacing - avatars overlap */
2059
2064
  .bc-avatar-group--spacing-tight {
2060
2065
  gap: 0;
@@ -2088,8 +2093,10 @@ a:focus-visible {
2088
2093
  }
2089
2094
 
2090
2095
  .dark .bc-avatar--bordered {
2091
- border-color: var(--bg-background-dark, var(--color-base-950));
2092
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
2096
+ border-color: var(
2097
+ --avatar-border-color-dark,
2098
+ var(--bg-background-dark, var(--color-base-950))
2099
+ );
2093
2100
  }
2094
2101
 
2095
2102
  .dark .bc-avatar-group--spacing-tight > .bc-avatar,
@@ -2131,6 +2138,7 @@ a:focus-visible {
2131
2138
  display: inline-flex;
2132
2139
  align-items: center;
2133
2140
  justify-content: center;
2141
+ gap: var(--badge-gap, var(--control-gap-md));
2134
2142
  border: var(--border-width-default) solid var(--badge-border);
2135
2143
  font-family: var(
2136
2144
  --font-family-default-ui,
@@ -2229,49 +2237,40 @@ a:focus-visible {
2229
2237
  width: 100%;
2230
2238
  }
2231
2239
 
2232
- /* Dot variant - small colored circle indicator */
2233
- .bc-badge--dot {
2234
- width: var(--spacing-md);
2235
- height: var(--spacing-md);
2236
- min-width: var(--spacing-md);
2237
- padding: 0;
2238
- border-radius: 50%;
2239
- border: none;
2240
- }
2241
-
2242
- .bc-badge--dot .bc-badge__content {
2243
- display: none;
2244
- }
2245
-
2246
- /* Dot variant size adjustments */
2247
- .bc-badge--dot.bc-badge--size-xs {
2248
- width: var(--spacing-smh);
2249
- height: var(--spacing-smh);
2250
- min-width: var(--spacing-smh);
2240
+ /* Close button lightweight inline × */
2241
+ .bc-badge__close {
2242
+ all: unset;
2243
+ cursor: pointer;
2244
+ display: inline-flex;
2245
+ align-items: center;
2246
+ justify-content: center;
2247
+ font-size: inherit;
2248
+ line-height: var(--line-height-none);
2249
+ opacity: 0.5;
2250
+ transition: opacity var(--motion-transition-fast)
2251
+ var(--motion-easing-standard);
2251
2252
  }
2252
2253
 
2253
- .bc-badge--dot.bc-badge--size-sm {
2254
- width: var(--spacing-md);
2255
- height: var(--spacing-md);
2256
- min-width: var(--spacing-md);
2254
+ .bc-badge__close:hover {
2255
+ opacity: 1;
2257
2256
  }
2258
2257
 
2259
- .bc-badge--dot.bc-badge--size-md {
2260
- width: calc(var(--spacing-base) * 2.5);
2261
- height: calc(var(--spacing-base) * 2.5);
2262
- min-width: calc(var(--spacing-base) * 2.5);
2258
+ /* Disabled state */
2259
+ .bc-badge.bc-badge--disabled {
2260
+ opacity: 0.55;
2261
+ filter: grayscale(0.4) saturate(0.8);
2262
+ cursor: default;
2263
2263
  }
2264
2264
 
2265
- .bc-badge--dot.bc-badge--size-lg {
2266
- width: var(--spacing-mdh);
2267
- height: var(--spacing-mdh);
2268
- min-width: var(--spacing-mdh);
2265
+ .bc-badge.bc-badge--disabled .bc-badge__close {
2266
+ cursor: not-allowed;
2267
+ opacity: 0.6;
2268
+ pointer-events: none;
2269
2269
  }
2270
2270
 
2271
- .bc-badge--dot.bc-badge--size-xl {
2272
- width: calc(var(--spacing-base) * 3.5);
2273
- height: calc(var(--spacing-base) * 3.5);
2274
- min-width: calc(var(--spacing-base) * 3.5);
2271
+ .bc-badge.bc-badge--disabled .bc-badge__close:hover {
2272
+ color: inherit;
2273
+ border-color: transparent;
2275
2274
  }
2276
2275
 
2277
2276
  /* Dark mode styles */
@@ -2286,6 +2285,10 @@ a:focus-visible {
2286
2285
  color: var(--badge-text-hover-dark);
2287
2286
  }
2288
2287
 
2288
+ .dark .bc-badge__close {
2289
+ color: var(--badge-text-dark);
2290
+ }
2291
+
2289
2292
  /* Accessibility adjustments */
2290
2293
  @media (prefers-contrast: high) {
2291
2294
  .bc-badge {
@@ -2713,7 +2716,7 @@ a:focus-visible {
2713
2716
  flex-direction: column;
2714
2717
  border-radius: var(--radius-surface, var(--radius-lg));
2715
2718
  border: var(--border-width-thin) solid var(--card-border);
2716
- padding: var(--spacing-lg);
2719
+ padding: var(--spacing-md);
2717
2720
  box-shadow: var(--shadow-surface, var(--shadow-md));
2718
2721
  background-color: var(--card-bg);
2719
2722
  color: var(--card-text);
@@ -2783,6 +2786,68 @@ a:focus-visible {
2783
2786
  border-radius: var(--radius-full);
2784
2787
  }
2785
2788
 
2789
+ /* Remove Card padding when structured sub-components are used */
2790
+ .bc-card:has(
2791
+ > .bc-card__header,
2792
+ > .bc-card__body,
2793
+ > .bc-card__footer,
2794
+ > .bc-card__cover-image
2795
+ ) {
2796
+ padding: 0;
2797
+ }
2798
+
2799
+ /* Card sections */
2800
+ .bc-card__header {
2801
+ display: flex;
2802
+ align-items: center;
2803
+ gap: var(--spacing-sm);
2804
+ padding: var(--spacing-md);
2805
+ border-bottom: var(--border-width-thin) solid var(--card-border);
2806
+ background-color: var(
2807
+ --bg-surface-secondary,
2808
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
2809
+ );
2810
+ flex-shrink: 0;
2811
+ }
2812
+
2813
+ .bc-card__body {
2814
+ flex: 1;
2815
+ padding: var(--spacing-md);
2816
+ }
2817
+
2818
+ .bc-card__footer {
2819
+ display: flex;
2820
+ align-items: center;
2821
+ gap: var(--spacing-sm);
2822
+ padding: var(--spacing-md);
2823
+ border-top: var(--border-width-thin) solid var(--card-border);
2824
+ background-color: var(
2825
+ --bg-surface-secondary,
2826
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
2827
+ );
2828
+ flex-shrink: 0;
2829
+ justify-content: flex-end;
2830
+ }
2831
+
2832
+ /* Cover image */
2833
+ .bc-card__cover-image {
2834
+ width: 100%;
2835
+ object-fit: cover;
2836
+ flex-shrink: 0;
2837
+ }
2838
+
2839
+ .bc-card__cover-image:first-child {
2840
+ border-radius: inherit;
2841
+ border-bottom-left-radius: 0;
2842
+ border-bottom-right-radius: 0;
2843
+ }
2844
+
2845
+ .bc-card__cover-image:last-child {
2846
+ border-radius: inherit;
2847
+ border-top-left-radius: 0;
2848
+ border-top-right-radius: 0;
2849
+ }
2850
+
2786
2851
  /* Dark mode styles */
2787
2852
  .dark .bc-card--elevated {
2788
2853
  --card-bg: var(--bg-elevated);
@@ -2867,6 +2932,10 @@ a:focus-visible {
2867
2932
  color: var(--checkbox-checked-color);
2868
2933
  }
2869
2934
 
2935
+ .bc-checkbox-input__checkbox--indeterminate {
2936
+ color: var(--checkbox-checked-color);
2937
+ }
2938
+
2870
2939
  .bc-checkbox-input__checkbox--unchecked {
2871
2940
  color: var(--color-base-400);
2872
2941
  }
@@ -2897,6 +2966,10 @@ a:focus-visible {
2897
2966
  color: var(--color-primary-400);
2898
2967
  }
2899
2968
 
2969
+ .dark .bc-checkbox-input__checkbox--indeterminate {
2970
+ color: var(--color-primary-400);
2971
+ }
2972
+
2900
2973
  .dark .bc-checkbox-input__checkbox--unchecked {
2901
2974
  color: var(--color-base-500);
2902
2975
  }
@@ -3235,7 +3308,6 @@ a:focus-visible {
3235
3308
 
3236
3309
  .bc-dropdown__trigger {
3237
3310
  width: 100%;
3238
- height: calc(var(--spacing-base) * 4.75);
3239
3311
  display: flex;
3240
3312
  align-items: center;
3241
3313
  justify-content: space-between;
@@ -3256,11 +3328,8 @@ a:focus-visible {
3256
3328
  display: flex;
3257
3329
  align-items: center;
3258
3330
  justify-content: center;
3259
- width: var(--spacing-xl);
3260
- height: var(--spacing-xl);
3261
3331
  flex-shrink: 0;
3262
- margin-inline-start: var(--spacing-sm);
3263
- margin-inline-end: calc(var(--spacing-base) * -1.25);
3332
+ margin-inline-start: var(--spacing-xs);
3264
3333
  }
3265
3334
 
3266
3335
  /* Listbox (dropdown) */
@@ -4219,6 +4288,7 @@ a:focus-visible {
4219
4288
  display: flex;
4220
4289
  align-items: center;
4221
4290
  justify-content: center;
4291
+ font-size: inherit;
4222
4292
  transition: background-color
4223
4293
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4224
4294
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
@@ -4236,6 +4306,12 @@ a:focus-visible {
4236
4306
  background-color: var(--color-gray-200);
4237
4307
  }
4238
4308
 
4309
+ /* Scale icon to match text size */
4310
+ .bc-editable-text__edit-button .bc-icon {
4311
+ width: 1em;
4312
+ height: 1em;
4313
+ }
4314
+
4239
4315
  /* Dark mode styles */
4240
4316
  .dark .bc-editable-text {
4241
4317
  border-bottom-color: var(--border-default);
@@ -5196,19 +5272,19 @@ a:focus-visible {
5196
5272
  }
5197
5273
 
5198
5274
  .bc-group--gap-1 {
5199
- gap: var(--spacing-stack-xs, var(--spacing-sm));
5275
+ gap: var(--spacing-xs);
5200
5276
  }
5201
5277
 
5202
5278
  .bc-group--gap-2 {
5203
- gap: var(--spacing-stack-sm, var(--spacing-md));
5279
+ gap: var(--spacing-sm);
5204
5280
  }
5205
5281
 
5206
5282
  .bc-group--gap-4 {
5207
- gap: var(--spacing-stack-lg, var(--spacing-lg));
5283
+ gap: var(--spacing-lg);
5208
5284
  }
5209
5285
 
5210
5286
  .bc-group--gap-md {
5211
- gap: var(--spacing-stack-md, var(--spacing-mdh));
5287
+ gap: var(--spacing-md);
5212
5288
  }
5213
5289
 
5214
5290
  .bc-group--grow {
@@ -5389,7 +5465,7 @@ a:focus-visible {
5389
5465
  }
5390
5466
 
5391
5467
  .dark .bc-history-timeline__filter--active {
5392
- background: rgba(37, 99, 235, 0.15);
5468
+ background: color-mix(in srgb, var(--color-primary-600) 15%, transparent);
5393
5469
  border-color: var(--color-primary-600);
5394
5470
  color: var(--color-primary-300);
5395
5471
  }
@@ -5428,18 +5504,18 @@ a:focus-visible {
5428
5504
  }
5429
5505
 
5430
5506
  .bc-icon--xs {
5431
- width: var(--spacing-mdh);
5432
- height: var(--spacing-mdh);
5507
+ width: var(--spacing-lg);
5508
+ height: var(--spacing-lg);
5433
5509
  }
5434
5510
 
5435
5511
  .bc-icon--sm {
5436
- width: var(--spacing-lg);
5437
- height: var(--spacing-lg);
5512
+ width: var(--spacing-lgh);
5513
+ height: var(--spacing-lgh);
5438
5514
  }
5439
5515
 
5440
5516
  .bc-icon--md {
5441
- width: calc(var(--spacing-base) * 4.8);
5442
- height: calc(var(--spacing-base) * 4.8);
5517
+ width: var(--spacing-xl);
5518
+ height: var(--spacing-xl);
5443
5519
  }
5444
5520
 
5445
5521
  .bc-icon--lg {
@@ -5452,16 +5528,120 @@ a:focus-visible {
5452
5528
  height: var(--spacing-3xl);
5453
5529
  }
5454
5530
 
5455
- .bc-icon-badge {
5531
+ /* Indicator Component */
5532
+ .bc-indicator {
5456
5533
  position: relative;
5457
5534
  display: inline-flex;
5458
5535
  }
5459
5536
 
5460
- .bc-icon-badge__indicator {
5537
+ .bc-indicator__badge {
5461
5538
  position: absolute;
5462
- top: calc(var(--spacing-base) * -1);
5463
- right: calc(var(--spacing-base) * -1);
5464
5539
  pointer-events: none;
5540
+ display: flex;
5541
+ align-items: center;
5542
+ justify-content: center;
5543
+ border-radius: 50%;
5544
+ font-family: var(
5545
+ --font-family-default-ui,
5546
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
5547
+ );
5548
+ font-weight: var(--font-weight-semibold);
5549
+ line-height: var(--line-height-none);
5550
+ white-space: nowrap;
5551
+ background-color: var(--indicator-bg);
5552
+ color: var(--indicator-text);
5553
+ }
5554
+
5555
+ /* Placement variants */
5556
+ .bc-indicator--top-right {
5557
+ top: 0;
5558
+ right: 0;
5559
+ transform: translate(40%, -40%);
5560
+ }
5561
+
5562
+ .bc-indicator--top-left {
5563
+ top: 0;
5564
+ left: 0;
5565
+ transform: translate(-40%, -40%);
5566
+ }
5567
+
5568
+ .bc-indicator--bottom-right {
5569
+ bottom: 0;
5570
+ right: 0;
5571
+ transform: translate(40%, 40%);
5572
+ }
5573
+
5574
+ .bc-indicator--bottom-left {
5575
+ bottom: 0;
5576
+ left: 0;
5577
+ transform: translate(-40%, 40%);
5578
+ }
5579
+
5580
+ /* Dot variant — small circle with no text */
5581
+ .bc-indicator--dot.bc-indicator--size-xs {
5582
+ width: var(--spacing-smh);
5583
+ height: var(--spacing-smh);
5584
+ }
5585
+
5586
+ .bc-indicator--dot.bc-indicator--size-sm {
5587
+ width: var(--spacing-md);
5588
+ height: var(--spacing-md);
5589
+ }
5590
+
5591
+ .bc-indicator--dot.bc-indicator--size-md {
5592
+ width: calc(var(--spacing-base) * 2.5);
5593
+ height: calc(var(--spacing-base) * 2.5);
5594
+ }
5595
+
5596
+ .bc-indicator--dot.bc-indicator--size-lg {
5597
+ width: var(--spacing-mdh);
5598
+ height: var(--spacing-mdh);
5599
+ }
5600
+
5601
+ .bc-indicator--dot.bc-indicator--size-xl {
5602
+ width: calc(var(--spacing-base) * 3.5);
5603
+ height: calc(var(--spacing-base) * 3.5);
5604
+ }
5605
+
5606
+ /* Count variant — pill badge with text */
5607
+ .bc-indicator--count {
5608
+ min-width: 1.25em;
5609
+ height: 1.25em;
5610
+ padding: 0 0.35em;
5611
+ border-radius: 999px;
5612
+ }
5613
+
5614
+ .bc-indicator--count.bc-indicator--size-xs {
5615
+ font-size: var(--font-size-xs);
5616
+ }
5617
+
5618
+ .bc-indicator--count.bc-indicator--size-sm {
5619
+ font-size: var(--font-size-xs);
5620
+ }
5621
+
5622
+ .bc-indicator--count.bc-indicator--size-md {
5623
+ font-size: var(--font-size-sm);
5624
+ }
5625
+
5626
+ .bc-indicator--count.bc-indicator--size-lg {
5627
+ font-size: var(--font-size-md);
5628
+ }
5629
+
5630
+ .bc-indicator--count.bc-indicator--size-xl {
5631
+ font-size: var(--font-size-lg);
5632
+ }
5633
+
5634
+ /* Dark mode */
5635
+ .dark .bc-indicator__badge {
5636
+ background-color: var(--indicator-bg-dark);
5637
+ color: var(--indicator-text-dark);
5638
+ }
5639
+
5640
+ /* Accessibility */
5641
+ @media (prefers-reduced-motion: reduce) {
5642
+ .bc-indicator__badge {
5643
+ transition: none;
5644
+ }
5465
5645
  }
5466
5646
 
5467
5647
  /* Input Adornment Component */
@@ -5620,8 +5800,6 @@ a:focus-visible {
5620
5800
  flex-direction: row;
5621
5801
  align-items: center;
5622
5802
  min-width: 0;
5623
- /* Horizontal padding only; vertical padding comes from size classes */
5624
- padding-inline: var(--spacing-lg);
5625
5803
  }
5626
5804
 
5627
5805
  .bc-input-container__input--grow {
@@ -5639,6 +5817,7 @@ a:focus-visible {
5639
5817
  outline: none;
5640
5818
  font: inherit;
5641
5819
  color: inherit;
5820
+ line-height: 1.1;
5642
5821
  }
5643
5822
 
5644
5823
  /* Normalize native element heights for consistent input container sizing */
@@ -5649,6 +5828,11 @@ a:focus-visible {
5649
5828
  line-height: var(--line-height-none);
5650
5829
  }
5651
5830
 
5831
+ .bc-input-container textarea {
5832
+ resize: vertical;
5833
+ line-height: var(--line-height-normal);
5834
+ }
5835
+
5652
5836
  /* Password toggle button */
5653
5837
  .bc-input-container__password-toggle {
5654
5838
  font-size: var(--font-size-sm);
@@ -5702,12 +5886,26 @@ a:focus-visible {
5702
5886
  align-items: center;
5703
5887
  }
5704
5888
 
5705
- /* Tags input text field */
5706
- .bc-input-container .bc-input-container__tags-input {
5707
- min-width: 8rem;
5708
- flex-shrink: 0;
5709
- display: inline-flex;
5710
- width: auto;
5889
+ /* Tags selector (dropdown trigger area in select-tags) */
5890
+ .bc-input-container__tags-selector {
5891
+ flex-grow: 1;
5892
+ background-color: transparent;
5893
+ min-width: 100px;
5894
+ min-height: var(--spacing-lg);
5895
+ align-self: stretch;
5896
+ justify-self: stretch;
5897
+ display: flex;
5898
+ align-items: center;
5899
+ justify-content: flex-end;
5900
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5901
+ }
5902
+
5903
+ /* Tags input text field */
5904
+ .bc-input-container .bc-input-container__tags-input {
5905
+ min-width: 8rem;
5906
+ flex-shrink: 0;
5907
+ display: inline-flex;
5908
+ width: auto;
5711
5909
  flex-grow: 1;
5712
5910
  }
5713
5911
 
@@ -9336,6 +9534,8 @@ a:focus-visible {
9336
9534
  overflow: hidden;
9337
9535
  width: 100%;
9338
9536
  height: 100%;
9537
+ outline: none;
9538
+ touch-action: none;
9339
9539
  }
9340
9540
 
9341
9541
  .bc-nine-slice-pane-container {
@@ -9343,18 +9543,27 @@ a:focus-visible {
9343
9543
  overflow: hidden;
9344
9544
  top: 0;
9345
9545
  left: 0;
9546
+ bottom: 0;
9547
+ right: 0;
9346
9548
  }
9347
9549
 
9348
9550
  .bc-nine-slice-pane {
9349
9551
  position: absolute;
9350
9552
  overflow: visible;
9351
9553
  }
9554
+
9555
+ .bc-nine-slice-pane-content {
9556
+ will-change: transform;
9557
+ }
9558
+
9559
+ /* Z-index layering: corners > sidebars > header/footer > body */
9352
9560
  .bc-nine-slice-top-start {
9353
9561
  z-index: 60;
9354
9562
  }
9355
9563
 
9356
9564
  .bc-nine-slice-header {
9357
9565
  z-index: 20;
9566
+ overflow: hidden;
9358
9567
  }
9359
9568
 
9360
9569
  .bc-nine-slice-top-end {
@@ -9363,14 +9572,17 @@ a:focus-visible {
9363
9572
 
9364
9573
  .bc-nine-slice-sidebar-start {
9365
9574
  z-index: 30;
9575
+ overflow: hidden;
9366
9576
  }
9367
9577
 
9368
9578
  .bc-nine-slice-body {
9369
9579
  z-index: 10;
9580
+ overflow: hidden;
9370
9581
  }
9371
9582
 
9372
9583
  .bc-nine-slice-sidebar-end {
9373
9584
  z-index: 40;
9585
+ overflow: hidden;
9374
9586
  }
9375
9587
 
9376
9588
  .bc-nine-slice-bottom-start {
@@ -9379,12 +9591,94 @@ a:focus-visible {
9379
9591
 
9380
9592
  .bc-nine-slice-footer {
9381
9593
  z-index: 50;
9594
+ overflow: hidden;
9382
9595
  }
9383
9596
 
9384
9597
  .bc-nine-slice-bottom-end {
9385
9598
  z-index: 90;
9386
9599
  }
9387
9600
 
9601
+ /* Scrollbar shared */
9602
+ .bc-nine-slice-scrollbar {
9603
+ position: absolute;
9604
+ z-index: 100;
9605
+ }
9606
+
9607
+ .bc-nine-slice-scrollbar-track {
9608
+ position: relative;
9609
+ width: 100%;
9610
+ height: 100%;
9611
+ background-color: var(--color-base-200);
9612
+ border-radius: 8px;
9613
+ }
9614
+
9615
+ .bc-nine-slice-scrollbar-thumb {
9616
+ position: absolute;
9617
+ border-radius: 8px;
9618
+ background-color: var(--color-base-400);
9619
+ cursor: grab;
9620
+ transition: background-color 150ms ease;
9621
+ }
9622
+
9623
+ .bc-nine-slice-scrollbar-thumb:hover {
9624
+ background-color: var(--color-base-500);
9625
+ }
9626
+
9627
+ .bc-nine-slice-scrollbar-thumb:active,
9628
+ .bc-nine-slice-scrollbar-thumb--dragging {
9629
+ background-color: var(--color-base-600);
9630
+ cursor: grabbing;
9631
+ }
9632
+
9633
+ /* Horizontal scrollbar */
9634
+ .bc-nine-slice-scrollbar--horizontal {
9635
+ left: 0;
9636
+ bottom: 0;
9637
+ height: 12px;
9638
+ }
9639
+
9640
+ .bc-nine-slice-scrollbar--horizontal .bc-nine-slice-scrollbar-thumb {
9641
+ top: 0;
9642
+ height: 100%;
9643
+ min-width: 24px;
9644
+ }
9645
+
9646
+ /* Vertical scrollbar */
9647
+ .bc-nine-slice-scrollbar--vertical {
9648
+ top: 0;
9649
+ right: 0;
9650
+ width: 12px;
9651
+ }
9652
+
9653
+ .bc-nine-slice-scrollbar--vertical .bc-nine-slice-scrollbar-thumb {
9654
+ left: 0;
9655
+ width: 100%;
9656
+ min-height: 24px;
9657
+ }
9658
+
9659
+ /* Hidden state */
9660
+ .bc-nine-slice-scrollbar--hidden {
9661
+ display: none;
9662
+ }
9663
+
9664
+ /* Dark mode */
9665
+ .dark .bc-nine-slice-scrollbar-track {
9666
+ background-color: var(--color-base-800);
9667
+ }
9668
+
9669
+ .dark .bc-nine-slice-scrollbar-thumb {
9670
+ background-color: var(--color-base-600);
9671
+ }
9672
+
9673
+ .dark .bc-nine-slice-scrollbar-thumb:hover {
9674
+ background-color: var(--color-base-500);
9675
+ }
9676
+
9677
+ .dark .bc-nine-slice-scrollbar-thumb:active,
9678
+ .dark .bc-nine-slice-scrollbar-thumb--dragging {
9679
+ background-color: var(--color-base-400);
9680
+ }
9681
+
9388
9682
  /* Number Input Component */
9389
9683
  .bc-number-input {
9390
9684
  text-align: end;
@@ -9463,6 +9757,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9463
9757
  var(--motion-easing-emphasis, cubic-bezier(0.33, 1, 0.68, 1));
9464
9758
  }
9465
9759
 
9760
+ /* When portaled to body, use fixed positioning to avoid layout interference */
9761
+ .bc-overlay--container-body {
9762
+ position: fixed;
9763
+ }
9764
+
9466
9765
  .bc-overlay[data-status='start-opening'],
9467
9766
  .bc-overlay[data-status='closing'] {
9468
9767
  backdrop-filter: blur(0);
@@ -9570,7 +9869,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9570
9869
  @layer components {
9571
9870
  .bc-announcement-bar {
9572
9871
  --announcement-bar-bg-color: var(--color-primary-600);
9573
- --announcement-bar-text-color: #ffffff;
9872
+ --announcement-bar-text-color: var(--color-white);
9574
9873
 
9575
9874
  position: absolute;
9576
9875
  top: 0;
@@ -9595,6 +9894,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9595
9894
  max-width: min(90%, 800px);
9596
9895
  }
9597
9896
 
9897
+ /* When portaled to body, use fixed positioning */
9898
+ body > .bc-announcement-bar {
9899
+ position: fixed;
9900
+ }
9901
+
9598
9902
  .bc-announcement-bar__content {
9599
9903
  display: flex;
9600
9904
  align-items: center;
@@ -9626,7 +9930,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9626
9930
 
9627
9931
  .bc-announcement-bar--dismissible .bc-announcement-bar__close button:hover {
9628
9932
  opacity: 1;
9629
- background-color: rgba(255, 255, 255, 0.1);
9933
+ background-color: color-mix(in srgb, var(--color-white) 10%, transparent);
9630
9934
  }
9631
9935
 
9632
9936
  /* Responsive adjustments */
@@ -9706,6 +10010,15 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9706
10010
 
9707
10011
  /* Pagination Component */
9708
10012
  .bc-pagination {
10013
+ --pagination-active-bg: var(--color-primary-500);
10014
+ --pagination-active-text: var(--color-white);
10015
+ --pagination-active-border: transparent;
10016
+ --pagination-active-bg-dark: var(--color-primary-600);
10017
+ --pagination-active-text-dark: var(--color-white);
10018
+ --pagination-active-border-dark: transparent;
10019
+ --pagination-hover-bg: var(--color-base-100);
10020
+ --pagination-hover-bg-dark: var(--color-base-700);
10021
+
9709
10022
  display: flex;
9710
10023
  align-items: center;
9711
10024
  gap: var(--spacing-xs);
@@ -9741,8 +10054,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9741
10054
  user-select: none;
9742
10055
  }
9743
10056
 
9744
- .bc-pagination__item:hover:not(:disabled) {
9745
- background-color: var(--color-base-100);
10057
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10058
+ background-color: var(--pagination-hover-bg);
9746
10059
  color: var(--color-base-900);
9747
10060
  }
9748
10061
 
@@ -9752,20 +10065,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9752
10065
  z-index: 1;
9753
10066
  }
9754
10067
 
9755
- /* Active Page */
9756
- .bc-pagination__item--active {
9757
- background-color: var(--color-primary-500);
9758
- color: var(--color-white);
9759
- border-color: transparent;
9760
- font-weight: var(--font-weight-semibold);
9761
- cursor: default;
9762
- }
9763
-
9764
- .bc-pagination__item--active:hover {
9765
- background-color: var(--color-primary-500);
9766
- color: var(--color-white);
9767
- }
9768
-
9769
10068
  /* Disabled State */
9770
10069
  .bc-pagination__item:disabled {
9771
10070
  opacity: 0.4;
@@ -9789,7 +10088,97 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9789
10088
  user-select: none;
9790
10089
  }
9791
10090
 
9792
- /* Size Variants */
10091
+ /* ------------------------------------------------------------------ */
10092
+ /* Variant: filled (default) */
10093
+ /* ------------------------------------------------------------------ */
10094
+ .bc-pagination--variant-filled .bc-pagination__item--active {
10095
+ background-color: var(--pagination-active-bg);
10096
+ color: var(--pagination-active-text);
10097
+ border-color: transparent;
10098
+ font-weight: var(--font-weight-semibold);
10099
+ cursor: default;
10100
+ }
10101
+
10102
+ /* ------------------------------------------------------------------ */
10103
+ /* Variant: outline */
10104
+ /* ------------------------------------------------------------------ */
10105
+ .bc-pagination--variant-outline .bc-pagination__item {
10106
+ border-color: var(--pagination-item-border, var(--color-base-300));
10107
+ }
10108
+
10109
+ .bc-pagination--variant-outline .bc-pagination__item--active {
10110
+ background-color: var(--pagination-active-bg);
10111
+ color: var(--pagination-active-text);
10112
+ border-color: var(--pagination-active-border);
10113
+ border-width: var(--border-width-default);
10114
+ font-weight: var(--font-weight-semibold);
10115
+ cursor: default;
10116
+ }
10117
+
10118
+ /* ------------------------------------------------------------------ */
10119
+ /* Variant: light */
10120
+ /* ------------------------------------------------------------------ */
10121
+ .bc-pagination--variant-light .bc-pagination__item {
10122
+ background-color: var(--pagination-item-bg, var(--color-base-100));
10123
+ }
10124
+
10125
+ .bc-pagination--variant-light .bc-pagination__item--active {
10126
+ background-color: var(--pagination-active-bg);
10127
+ color: var(--pagination-active-text);
10128
+ border-color: transparent;
10129
+ font-weight: var(--font-weight-semibold);
10130
+ cursor: default;
10131
+ }
10132
+
10133
+ /* ------------------------------------------------------------------ */
10134
+ /* Variant: subtle */
10135
+ /* ------------------------------------------------------------------ */
10136
+ .bc-pagination--variant-subtle .bc-pagination__item {
10137
+ border-radius: 0;
10138
+ border: none;
10139
+ border-bottom: 2px solid transparent;
10140
+ }
10141
+
10142
+ .bc-pagination--variant-subtle .bc-pagination__item--active {
10143
+ background-color: transparent;
10144
+ color: var(--pagination-active-text);
10145
+ border-bottom-color: var(--pagination-active-text);
10146
+ font-weight: var(--font-weight-bold);
10147
+ cursor: default;
10148
+ }
10149
+
10150
+ .bc-pagination--variant-subtle
10151
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10152
+ background-color: transparent;
10153
+ border-bottom-color: var(--color-base-300);
10154
+ }
10155
+
10156
+ .bc-pagination--variant-subtle .bc-pagination__dots {
10157
+ border-bottom: 2px solid transparent;
10158
+ }
10159
+
10160
+ /* ------------------------------------------------------------------ */
10161
+ /* Variant: pill */
10162
+ /* ------------------------------------------------------------------ */
10163
+ .bc-pagination--variant-pill .bc-pagination__item {
10164
+ border-radius: var(--radius-full);
10165
+ }
10166
+
10167
+ .bc-pagination--variant-pill .bc-pagination__item--active {
10168
+ background-color: var(--pagination-active-bg);
10169
+ color: var(--pagination-active-text);
10170
+ border-color: transparent;
10171
+ font-weight: var(--font-weight-semibold);
10172
+ cursor: default;
10173
+ }
10174
+
10175
+ .bc-pagination--variant-pill .bc-pagination__dots {
10176
+ border-radius: var(--radius-full);
10177
+ }
10178
+
10179
+ /* ------------------------------------------------------------------ */
10180
+ /* Size Variants */
10181
+ /* ------------------------------------------------------------------ */
9793
10182
  .bc-pagination--size-xs .bc-pagination__item,
9794
10183
  .bc-pagination--size-xs .bc-pagination__dots {
9795
10184
  min-width: var(--spacing-xl);
@@ -9825,24 +10214,63 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9825
10214
  font-size: var(--font-size-xl);
9826
10215
  }
9827
10216
 
9828
- /* Dark Mode Support */
10217
+ /* ------------------------------------------------------------------ */
10218
+ /* Dark Mode */
10219
+ /* ------------------------------------------------------------------ */
9829
10220
  .dark .bc-pagination__item {
9830
10221
  color: var(--color-base-300);
9831
10222
  }
9832
10223
 
9833
- .dark .bc-pagination__item:hover:not(:disabled) {
9834
- background-color: var(--color-base-700);
10224
+ .dark
10225
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10226
+ background-color: var(--pagination-hover-bg-dark);
9835
10227
  color: var(--color-base-100);
9836
10228
  }
9837
10229
 
9838
- .dark .bc-pagination__item--active {
9839
- background-color: var(--color-primary-600);
9840
- color: var(--color-white);
10230
+ /* Dark: filled */
10231
+ .dark .bc-pagination--variant-filled .bc-pagination__item--active {
10232
+ background-color: var(--pagination-active-bg-dark);
10233
+ color: var(--pagination-active-text-dark);
9841
10234
  }
9842
10235
 
9843
- .dark .bc-pagination__item--active:hover {
9844
- background-color: var(--color-primary-600);
9845
- color: var(--color-white);
10236
+ /* Dark: outline */
10237
+ .dark .bc-pagination--variant-outline .bc-pagination__item {
10238
+ border-color: var(--pagination-item-border-dark, var(--color-base-600));
10239
+ }
10240
+
10241
+ .dark .bc-pagination--variant-outline .bc-pagination__item--active {
10242
+ background-color: var(--pagination-active-bg-dark);
10243
+ color: var(--pagination-active-text-dark);
10244
+ border-color: var(--pagination-active-border-dark);
10245
+ }
10246
+
10247
+ /* Dark: light */
10248
+ .dark .bc-pagination--variant-light .bc-pagination__item {
10249
+ background-color: var(--pagination-item-bg-dark, var(--color-base-800));
10250
+ }
10251
+
10252
+ .dark .bc-pagination--variant-light .bc-pagination__item--active {
10253
+ background-color: var(--pagination-active-bg-dark);
10254
+ color: var(--pagination-active-text-dark);
10255
+ }
10256
+
10257
+ /* Dark: subtle */
10258
+ .dark .bc-pagination--variant-subtle .bc-pagination__item--active {
10259
+ color: var(--pagination-active-text-dark);
10260
+ border-bottom-color: var(--pagination-active-text-dark);
10261
+ }
10262
+
10263
+ .dark
10264
+ .bc-pagination--variant-subtle
10265
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10266
+ background-color: transparent;
10267
+ border-bottom-color: var(--color-base-600);
10268
+ }
10269
+
10270
+ /* Dark: pill */
10271
+ .dark .bc-pagination--variant-pill .bc-pagination__item--active {
10272
+ background-color: var(--pagination-active-bg-dark);
10273
+ color: var(--pagination-active-text-dark);
9846
10274
  }
9847
10275
 
9848
10276
  .dark .bc-pagination__item:disabled:hover {
@@ -9854,21 +10282,22 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9854
10282
  color: var(--color-base-600);
9855
10283
  }
9856
10284
 
9857
- /* Reduced Motion Support */
10285
+ /* ------------------------------------------------------------------ */
10286
+ /* Reduced Motion & High Contrast */
10287
+ /* ------------------------------------------------------------------ */
9858
10288
  @media (prefers-reduced-motion: reduce) {
9859
10289
  .bc-pagination__item {
9860
10290
  transition: none;
9861
10291
  }
9862
10292
  }
9863
10293
 
9864
- /* High Contrast Mode Support */
9865
10294
  @media (prefers-contrast: high) {
9866
10295
  .bc-pagination__item {
9867
10296
  border-width: var(--border-width-medium);
9868
10297
  }
9869
10298
 
9870
10299
  .bc-pagination__item--active {
9871
- border-color: var(--color-primary-700);
10300
+ border-color: var(--pagination-active-border, var(--pagination-active-bg));
9872
10301
  }
9873
10302
 
9874
10303
  .bc-pagination__item:focus-visible {
@@ -10114,7 +10543,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10114
10543
  .bc-presence-highlight {
10115
10544
  background-color: color-mix(
10116
10545
  in srgb,
10117
- var(--presence-color, #2563eb) 12%,
10546
+ var(--presence-color, var(--color-primary-600)) 12%,
10118
10547
  transparent
10119
10548
  );
10120
10549
  border-radius: 1px;
@@ -10135,7 +10564,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10135
10564
  left: 0;
10136
10565
  width: 2px;
10137
10566
  height: calc(1em + 4px);
10138
- background: var(--presence-color, #2563eb);
10567
+ background: var(--presence-color, var(--color-primary-600));
10139
10568
  border-radius: 1px;
10140
10569
  }
10141
10570
 
@@ -10144,8 +10573,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10144
10573
  bottom: calc(100% + 2px);
10145
10574
  left: -1px;
10146
10575
  padding: 1px 6px;
10147
- background: var(--presence-color, #2563eb);
10148
- color: #fff;
10576
+ background: var(--presence-color, var(--color-primary-600));
10577
+ color: var(--color-white);
10149
10578
  font-size: 9px;
10150
10579
  font-weight: var(--font-weight-medium, 500);
10151
10580
  white-space: nowrap;
@@ -10197,7 +10626,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10197
10626
  position: relative;
10198
10627
  width: 100%;
10199
10628
  overflow: hidden;
10200
- border-radius: var(--radius-control, var(--radius-full));
10201
10629
  }
10202
10630
 
10203
10631
  .bc-progress-bar__track {
@@ -10221,14 +10649,17 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10221
10649
  /* Size variants */
10222
10650
  .bc-progress-bar--size-sm {
10223
10651
  height: var(--spacing-base);
10652
+ min-width: var(--spacing-2xl);
10224
10653
  }
10225
10654
 
10226
10655
  .bc-progress-bar--size-md {
10227
10656
  height: var(--spacing-md);
10657
+ min-width: var(--spacing-3xl);
10228
10658
  }
10229
10659
 
10230
10660
  .bc-progress-bar--size-lg {
10231
10661
  height: var(--spacing-mdh);
10662
+ min-width: var(--spacing-4xl);
10232
10663
  }
10233
10664
 
10234
10665
  /* Indeterminate state - animated sliding bar */
@@ -10337,18 +10768,14 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10337
10768
  isolation: isolate;
10338
10769
  }
10339
10770
 
10340
- /* Smooth scrolling for better UX */
10341
- .bc-scrollable-panel__body {
10342
- scroll-behavior: smooth;
10343
- }
10344
-
10345
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow,
10346
- .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow {
10771
+ /* Shadow containers always positioned, visibility controlled by opacity */
10772
+ .bc-scrollable-panel--header-shadow,
10773
+ .bc-scrollable-panel--footer-shadow {
10347
10774
  position: relative;
10348
10775
  width: 100%;
10349
10776
  flex-shrink: 0;
10350
- height: 0px;
10351
- z-index: 2;
10777
+ height: 0;
10778
+ z-index: 3;
10352
10779
  pointer-events: none;
10353
10780
  }
10354
10781
 
@@ -10357,26 +10784,30 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10357
10784
  width: 100%;
10358
10785
  height: var(--spacing-lgh);
10359
10786
  position: absolute;
10360
- transition: box-shadow
10361
- var(--motion-transition-slow, var(--motion-duration-slow, 0.5s))
10787
+ opacity: 0;
10788
+ transition: opacity
10789
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10362
10790
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10363
- box-shadow: var(--shadow-scrollable-panel-idle, 0 0 0 transparent);
10364
- background-color: transparent;
10365
10791
  }
10366
10792
 
10367
10793
  .bc-scrollable-panel--header-shadow > div {
10368
10794
  bottom: 0;
10369
- }
10370
-
10371
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10372
10795
  box-shadow: var(--shadow-surface-elevated, var(--shadow-md));
10373
10796
  }
10374
10797
 
10375
10798
  .bc-scrollable-panel--footer-shadow > div {
10376
10799
  top: 0;
10800
+ box-shadow: var(--shadow-top-md, 0 -2px 6px rgba(0, 0, 0, 0.08));
10801
+ }
10802
+
10803
+ /* Show header shadow when scrolled down */
10804
+ .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10805
+ opacity: 1;
10377
10806
  }
10807
+
10808
+ /* Show footer shadow when scrolled up (content below) */
10378
10809
  .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow > div {
10379
- box-shadow: var(--shadow-top-md);
10810
+ opacity: 1;
10380
10811
  }
10381
10812
 
10382
10813
  /* Custom scrollbar styling (webkit browsers) */
@@ -10467,7 +10898,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10467
10898
  cursor: pointer;
10468
10899
  white-space: nowrap;
10469
10900
  font-weight: var(--font-weight-semibold);
10470
- text-transform: capitalize;
10471
10901
  color: var(--color-base-700);
10472
10902
  transition: color
10473
10903
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -10625,10 +11055,35 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10625
11055
  color: var(--text-normal);
10626
11056
  }
10627
11057
 
10628
- /* Dark background mode - inverted colors */
11058
+ /* Dark background mode - override semantic tokens to invert colors */
10629
11059
  .bc-sidebar--dark-bg {
10630
- background-color: var(--bg-background);
10631
- color: var(--text-normal);
11060
+ --bg-background: var(--bg-background-dark);
11061
+ --bg-surface: var(--bg-surface-dark);
11062
+ --text-normal: var(--text-normal-dark);
11063
+ --text-muted: var(--text-muted-dark);
11064
+ --text-inverted: var(--text-inverted-dark);
11065
+ --border-default: var(--border-border-dark);
11066
+ --border-divider: var(--border-divider-dark);
11067
+ --border-input: var(--border-input-dark);
11068
+ --border-strong: var(--border-strong-dark);
11069
+ --interactive-hover: var(--interactive-hover-dark);
11070
+ --interactive-active: var(--interactive-active-dark);
11071
+ --interactive-focus: var(--interactive-focus-dark);
11072
+ }
11073
+
11074
+ .dark .bc-sidebar--dark-bg {
11075
+ --bg-background: var(--bg-background-light);
11076
+ --bg-surface: var(--bg-surface-light);
11077
+ --text-normal: var(--text-normal-light);
11078
+ --text-muted: var(--text-muted-light);
11079
+ --text-inverted: var(--text-inverted-light);
11080
+ --border-default: var(--border-border-light);
11081
+ --border-divider: var(--border-divider-light);
11082
+ --border-input: var(--border-input-light);
11083
+ --border-strong: var(--border-strong-light);
11084
+ --interactive-hover: var(--interactive-hover-light);
11085
+ --interactive-active: var(--interactive-active-light);
11086
+ --interactive-focus: var(--interactive-focus-light);
10632
11087
  }
10633
11088
 
10634
11089
  .bc-sidebar-link {
@@ -10652,6 +11107,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10652
11107
 
10653
11108
  .bc-sidebar-link__content {
10654
11109
  flex: 1;
11110
+ text-align: start;
10655
11111
  }
10656
11112
 
10657
11113
  button.bc-sidebar-link:hover,
@@ -10663,6 +11119,25 @@ a.bc-sidebar-link:hover {
10663
11119
  span.bc-sidebar-link {
10664
11120
  font-weight: var(--font-weight-medium);
10665
11121
  width: 100%;
11122
+ background-color: var(--color-primary-50);
11123
+ color: var(--color-primary-700);
11124
+ border-radius: var(--radius-md);
11125
+ }
11126
+
11127
+ .dark span.bc-sidebar-link {
11128
+ background-color: var(--color-primary-950);
11129
+ color: var(--color-primary-200);
11130
+ }
11131
+
11132
+ /* Dark bg inverts the active link colors */
11133
+ .bc-sidebar--dark-bg span.bc-sidebar-link {
11134
+ background-color: var(--color-primary-950);
11135
+ color: var(--color-primary-200);
11136
+ }
11137
+
11138
+ .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11139
+ background-color: var(--color-primary-50);
11140
+ color: var(--color-primary-700);
10666
11141
  }
10667
11142
 
10668
11143
  .bc-sidebar-link--icon {
@@ -10727,83 +11202,41 @@ span.bc-sidebar-link {
10727
11202
  transform: rotate(-90deg);
10728
11203
  }
10729
11204
 
10730
- /* Dark mode styles */
10731
- .dark span.bc-sidebar-link {
10732
- color: var(--color-primary-200);
11205
+ .bc-sidebar-separator {
11206
+ border: none;
11207
+ border-top: var(--border-width-thin) solid var(--border-default);
11208
+ margin: var(--spacing-md) 0;
10733
11209
  }
10734
11210
 
10735
- /* Dark background mode styles - inverted colors in light theme */
10736
- .bc-sidebar--dark-bg button.bc-sidebar-link:hover,
10737
- .bc-sidebar--dark-bg a.bc-sidebar-link:hover {
10738
- background-color: var(--interactive-hover);
10739
- }
10740
-
10741
- .bc-sidebar--dark-bg span.bc-sidebar-link {
10742
- color: var(--color-primary-200);
10743
- }
10744
-
10745
- .bc-sidebar--dark-bg .bc-sidebar-link {
10746
- color: var(--text-normal);
10747
- }
10748
-
10749
- .bc-sidebar--dark-bg .bc-sidebar-link--icon {
10750
- color: var(--text-muted);
10751
- }
10752
-
10753
- .bc-sidebar--dark-bg .bc-sidebar-link--action {
10754
- color: var(--text-normal);
10755
- border: var(--border-width-thin) solid var(--border-default);
10756
- }
10757
-
10758
- .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
10759
- background-color: var(--interactive-hover);
10760
- border-color: var(--border-divider);
10761
- }
10762
-
10763
- .bc-sidebar--dark-bg .bc-sidebar-group--rail {
10764
- border-inline-start: var(--border-width-thin) solid var(--border-default);
10765
- }
10766
-
10767
- /* Dark background mode in dark theme - inverted back to light colors */
10768
- .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
10769
- color: var(--color-primary-700);
10770
- }
10771
-
10772
- .bc-sidebar-separator {
10773
- border: none;
10774
- border-top: var(--border-width-thin) solid var(--border-default);
10775
- margin: var(--spacing-md) 0;
10776
- }
10777
-
10778
- /* Sink Component */
10779
- .bc-sink {
10780
- display: flex;
10781
- flex-direction: column;
10782
- border-radius: var(--radius-surface, var(--radius-lg));
10783
- border: var(--border-width-thin) solid var(--color-base-300);
10784
- padding: var(--spacing-md);
10785
- box-shadow: var(
10786
- --shadow-sink,
10787
- inset 0 0 0.25rem color-mix(in srgb, var(--color-black) 20%, transparent)
10788
- );
10789
- background-color: var(--color-base-50);
10790
- transition: all
10791
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10792
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11211
+ /* Sink Component */
11212
+ .bc-sink {
11213
+ display: flex;
11214
+ flex-direction: column;
11215
+ border-radius: var(--radius-surface, var(--radius-lg));
11216
+ border: var(--border-width-thin) solid var(--color-base-300);
11217
+ padding: var(--spacing-md);
11218
+ box-shadow: var(
11219
+ --shadow-sink,
11220
+ inset 0 1px 3px color-mix(in srgb, var(--color-black) 8%, transparent)
11221
+ );
11222
+ background-color: var(--color-base-50);
11223
+ transition: all
11224
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11225
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10793
11226
  }
10794
11227
 
10795
11228
  /* Sink variants */
10796
11229
  .bc-sink--deep {
10797
11230
  box-shadow: var(
10798
11231
  --shadow-sink-deep,
10799
- inset 0 0 0.5rem color-mix(in srgb, var(--color-black) 30%, transparent)
11232
+ inset 0 2px 6px color-mix(in srgb, var(--color-black) 12%, transparent)
10800
11233
  );
10801
11234
  }
10802
11235
 
10803
11236
  .bc-sink--shallow {
10804
11237
  box-shadow: var(
10805
11238
  --shadow-sink-shallow,
10806
- inset 0 0 0.125rem color-mix(in srgb, var(--color-black) 10%, transparent)
11239
+ inset 0 1px 2px color-mix(in srgb, var(--color-black) 5%, transparent)
10807
11240
  );
10808
11241
  }
10809
11242
 
@@ -10894,7 +11327,6 @@ span.bc-sidebar-link {
10894
11327
 
10895
11328
  display: block;
10896
11329
  background-color: var(--skeleton-bg);
10897
- border-radius: var(--radius-control, var(--radius-sm));
10898
11330
  overflow: hidden;
10899
11331
  position: relative;
10900
11332
  }
@@ -10984,15 +11416,15 @@ span.bc-sidebar-link {
10984
11416
  }
10985
11417
 
10986
11418
  .bc-stack--gap-1 {
10987
- gap: var(--spacing-stack-xs, var(--spacing-sm));
11419
+ gap: var(--spacing-xs);
10988
11420
  }
10989
11421
 
10990
11422
  .bc-stack--gap-2 {
10991
- gap: var(--spacing-stack-sm, var(--spacing-md));
11423
+ gap: var(--spacing-sm);
10992
11424
  }
10993
11425
 
10994
11426
  .bc-stack--gap-4 {
10995
- gap: var(--spacing-stack-lg, var(--spacing-lg));
11427
+ gap: var(--spacing-lg);
10996
11428
  }
10997
11429
 
10998
11430
  .bc-stack--align-center {
@@ -11004,144 +11436,6 @@ span.bc-sidebar-link {
11004
11436
  width: 100%;
11005
11437
  }
11006
11438
 
11007
- /* Tag Component */
11008
- .bc-tag {
11009
- --tag-bg: var(--bg-subtle);
11010
- --tag-bg-dark: var(--bg-elevated);
11011
- --tag-text: var(--text-normal);
11012
- --tag-text-dark: var(--text-normal);
11013
- --tag-bg-hover: var(--tag-bg);
11014
- --tag-bg-hover-dark: var(--tag-bg-dark);
11015
- --tag-text-hover: var(--tag-text);
11016
- --tag-text-hover-dark: var(--tag-text-dark);
11017
- --tag-border: transparent;
11018
- --tag-border-dark: transparent;
11019
-
11020
- display: inline-flex;
11021
- flex-direction: row;
11022
- align-items: center;
11023
- border-radius: var(--radius-pill, var(--radius-full));
11024
- line-height: 1.2;
11025
- border: var(--border-width-thin) solid var(--tag-border);
11026
- transition: all
11027
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11028
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11029
- font-size: var(--font-size-md);
11030
- padding: 0 var(--spacing-md);
11031
- gap: var(--spacing-stack-sm, var(--spacing-md));
11032
- background-color: var(--tag-bg);
11033
- color: var(--tag-text);
11034
- font-family: var(
11035
- --font-family-default-ui,
11036
- var(--font-ui, var(--font-body, var(--font-family-sans)))
11037
- );
11038
- }
11039
-
11040
- .bc-tag:hover {
11041
- background-color: var(--tag-bg-hover);
11042
- color: var(--tag-text-hover);
11043
- }
11044
-
11045
- .bc-tag--xs {
11046
- font-size: var(--font-size-xs);
11047
- padding: 0 var(--spacing-sm);
11048
- }
11049
-
11050
- .bc-tag--sm {
11051
- font-size: var(--font-size-sm);
11052
- padding: 0 var(--spacing-smh);
11053
- }
11054
-
11055
- .bc-tag--lg {
11056
- font-size: var(--font-size-lg);
11057
- padding: 0 calc(var(--spacing-base) * 2.5);
11058
- }
11059
-
11060
- .bc-tag--xl {
11061
- font-size: var(--font-size-xl);
11062
- padding: 0 var(--spacing-mdh);
11063
- }
11064
-
11065
- .bc-tag:has(.bc-tag__close) {
11066
- padding-inline-end: calc(var(--spacing-base) * 0.5);
11067
- }
11068
-
11069
- /* Close button */
11070
- .bc-tag__close {
11071
- background: transparent;
11072
- color: var(--tag-text);
11073
- opacity: 0.6;
11074
- cursor: pointer;
11075
- display: flex;
11076
- align-items: center;
11077
- justify-content: center;
11078
- width: var(--spacing-lg);
11079
- height: var(--spacing-lg);
11080
- border-radius: var(--radius-full);
11081
- transition: all
11082
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11083
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11084
- border: var(--border-width-thin) solid transparent;
11085
- }
11086
-
11087
- .bc-tag__close:hover {
11088
- opacity: 1;
11089
- border-color: color-mix(in srgb, var(--tag-text) 30%, transparent);
11090
- }
11091
-
11092
- /* Disabled state via class */
11093
- .bc-tag.bc-tag--disabled {
11094
- opacity: 0.55;
11095
- filter: grayscale(0.4) saturate(0.8);
11096
- cursor: default;
11097
- }
11098
-
11099
- .bc-tag.bc-tag--disabled .bc-tag__close {
11100
- cursor: not-allowed;
11101
- opacity: 0.6;
11102
- pointer-events: none;
11103
- }
11104
-
11105
- /* Neutralize hover on disabled close button */
11106
- .bc-tag.bc-tag--disabled .bc-tag__close:hover {
11107
- color: inherit;
11108
- border-color: transparent;
11109
- }
11110
-
11111
- /* Dark mode styles */
11112
- .dark .bc-tag {
11113
- background-color: var(--tag-bg-dark);
11114
- color: var(--tag-text-dark);
11115
- border-color: var(--tag-border-dark);
11116
- }
11117
-
11118
- .dark .bc-tag:hover {
11119
- background-color: var(--tag-bg-hover-dark);
11120
- color: var(--tag-text-hover-dark);
11121
- }
11122
-
11123
- .dark .bc-tag__close {
11124
- color: var(--tag-text-dark);
11125
- }
11126
-
11127
- .dark .bc-tag__close:hover:not(:disabled) {
11128
- color: var(--tag-text-dark);
11129
- border-color: color-mix(in srgb, var(--tag-text-dark) 30%, transparent);
11130
- }
11131
-
11132
- .bc-input-container__tags-selector {
11133
- flex-grow: 1;
11134
- background-color: transparent;
11135
- min-width: 100px;
11136
- min-height: var(--spacing-lg);
11137
- align-self: stretch;
11138
- justify-self: stretch;
11139
- display: flex;
11140
- align-items: center;
11141
- justify-content: flex-end;
11142
- gap: var(--spacing-stack-sm, var(--spacing-md));
11143
- }
11144
-
11145
11439
  /* Switch Component */
11146
11440
  .bc-switch {
11147
11441
  display: inline-flex;
@@ -11610,6 +11904,7 @@ span.bc-sidebar-link {
11610
11904
  .bc-table--size-lg > tfoot > tr > th,
11611
11905
  .bc-table--size-lg > tfoot > tr > td {
11612
11906
  padding: var(--spacing-lg);
11907
+ font-size: var(--font-size-lg);
11613
11908
  }
11614
11909
 
11615
11910
  .bc-table--size-xl > thead > tr > th,
@@ -11778,13 +12073,14 @@ span.bc-sidebar-link {
11778
12073
  }
11779
12074
 
11780
12075
  .bc-tab:focus-visible {
11781
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12076
+ outline: var(--outline-width-focus) solid
12077
+ var(--tabs-indicator-color, var(--color-primary-500));
11782
12078
  outline-offset: calc(-1 * var(--outline-width-focus));
11783
12079
  z-index: 1;
11784
12080
  }
11785
12081
 
11786
12082
  .bc-tab--active {
11787
- color: var(--color-primary-600);
12083
+ color: var(--tabs-active-color, var(--color-primary-600));
11788
12084
  background-color: var(--color-white);
11789
12085
  font-weight: var(--font-weight-semibold);
11790
12086
  cursor: default;
@@ -11793,7 +12089,7 @@ span.bc-sidebar-link {
11793
12089
  .bc-tab--active::after {
11794
12090
  content: '';
11795
12091
  position: absolute;
11796
- background-color: var(--color-primary-500);
12092
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
11797
12093
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
11798
12094
  }
11799
12095
 
@@ -11848,7 +12144,8 @@ span.bc-sidebar-link {
11848
12144
  }
11849
12145
 
11850
12146
  .bc-tabs__panel:focus-visible {
11851
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12147
+ outline: var(--outline-width-focus) solid
12148
+ var(--tabs-indicator-color, var(--color-primary-500));
11852
12149
  outline-offset: calc(-1 * var(--outline-width-focus));
11853
12150
  }
11854
12151
 
@@ -11880,7 +12177,7 @@ span.bc-sidebar-link {
11880
12177
  }
11881
12178
 
11882
12179
  .dark .bc-tab--active {
11883
- color: var(--color-primary-400);
12180
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
11884
12181
  background-color: var(--color-base-900);
11885
12182
  }
11886
12183
 
@@ -11920,28 +12217,6 @@ span.bc-sidebar-link {
11920
12217
  }
11921
12218
 
11922
12219
  /* Variants */
11923
- /* Text variant: minimal, link-like tabs */
11924
- .bc-tabs--variant-text .bc-tabs__list {
11925
- background-color: transparent;
11926
- border-bottom: none;
11927
- }
11928
- .bc-tabs--variant-text .bc-tab {
11929
- background: transparent;
11930
- color: var(--color-primary-600);
11931
- border-radius: 0;
11932
- }
11933
- .bc-tabs--variant-text .bc-tab:hover:not(.bc-tab--disabled) {
11934
- background: transparent;
11935
- text-decoration: underline;
11936
- }
11937
- .bc-tabs--variant-text .bc-tab--active {
11938
- background: transparent;
11939
- color: var(--color-primary-700);
11940
- font-weight: var(--font-weight-semibold);
11941
- }
11942
- .bc-tabs--variant-text .bc-tab--active::after {
11943
- display: none;
11944
- }
11945
12220
 
11946
12221
  /* Filled variant: inverted - inactive tabs filled with color, active is white */
11947
12222
  .bc-tabs--variant-filled .bc-tabs__list {
@@ -11992,31 +12267,36 @@ span.bc-sidebar-link {
11992
12267
  .bc-tabs--variant-outline .bc-tab {
11993
12268
  background-color: var(--color-base-50);
11994
12269
  border: var(--border-width-thin) solid var(--color-base-300);
11995
- border-bottom: var(--border-width-thin) solid var(--color-base-300);
11996
12270
  border-radius: var(--radius-control-sm, var(--radius-sm))
11997
12271
  var(--radius-control-sm, var(--radius-sm)) 0 0;
11998
12272
  }
11999
12273
  .bc-tabs--variant-outline .bc-tab--active {
12000
12274
  background-color: var(--color-white);
12001
- border-color: var(--color-primary-400);
12275
+ border-color: var(--tabs-outline-active-border, var(--color-primary-400));
12002
12276
  border-bottom-color: var(--color-white);
12003
12277
  }
12004
12278
  .bc-tabs--variant-outline .bc-tab--active::after {
12005
12279
  display: none;
12006
12280
  }
12007
-
12008
- /* Dark mode adjustments for variants */
12009
- .dark .bc-tabs--variant-text .bc-tabs__list {
12010
- background-color: transparent;
12011
- border-bottom: none;
12281
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tabs__list {
12282
+ border-right: none;
12012
12283
  }
12013
- .dark .bc-tabs--variant-text .bc-tab {
12014
- color: var(--color-primary-300);
12284
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab {
12285
+ border-radius: var(--radius-control-sm, var(--radius-sm)) 0 0
12286
+ var(--radius-control-sm, var(--radius-sm));
12015
12287
  }
12016
- .dark .bc-tabs--variant-text .bc-tab--active {
12017
- color: var(--color-primary-200);
12288
+ .bc-tabs--variant-outline .bc-tab--active {
12289
+ color: var(--tabs-active-color, var(--color-primary-600));
12290
+ }
12291
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12292
+ border-bottom-color: var(
12293
+ --tabs-outline-active-border,
12294
+ var(--color-primary-400)
12295
+ );
12296
+ border-right-color: var(--color-white);
12018
12297
  }
12019
12298
 
12299
+ /* Dark mode adjustments for variants */
12020
12300
  .dark .bc-tabs--variant-filled .bc-tab {
12021
12301
  background-color: var(--tabs-filled-inactive-bg-dark);
12022
12302
  color: var(--tabs-filled-inactive-text-dark);
@@ -12043,9 +12323,20 @@ span.bc-sidebar-link {
12043
12323
  }
12044
12324
  .dark .bc-tabs--variant-outline .bc-tab--active {
12045
12325
  background-color: var(--color-base-900);
12046
- border-color: var(--color-primary-600);
12326
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12327
+ border-color: var(
12328
+ --tabs-outline-active-border-dark,
12329
+ var(--color-primary-600)
12330
+ );
12047
12331
  border-bottom-color: var(--color-base-900);
12048
12332
  }
12333
+ .dark .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12334
+ border-bottom-color: var(
12335
+ --tabs-outline-active-border-dark,
12336
+ var(--color-primary-600)
12337
+ );
12338
+ border-right-color: var(--color-base-900);
12339
+ }
12049
12340
 
12050
12341
  /* Underline variant: minimal, clean underline style */
12051
12342
  .bc-tabs--variant-underline .bc-tabs__list {
@@ -12087,16 +12378,29 @@ span.bc-sidebar-link {
12087
12378
  }
12088
12379
 
12089
12380
  .bc-tabs--variant-underline .bc-tab--active {
12090
- color: var(--color-primary-600);
12381
+ color: var(--tabs-active-color, var(--color-primary-600));
12091
12382
  background-color: transparent;
12092
12383
  font-weight: var(--font-weight-medium);
12093
12384
  }
12094
12385
 
12095
12386
  .bc-tabs--variant-underline .bc-tab--active::after {
12096
- background-color: var(--color-primary-500);
12387
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12097
12388
  bottom: calc(-1 * var(--spacing-px));
12098
12389
  height: var(--spacing-xs);
12099
12390
  }
12391
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12392
+ border-bottom: none;
12393
+ border-right: var(--border-width-thin) solid var(--color-base-200);
12394
+ }
12395
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tab--active::after {
12396
+ bottom: auto;
12397
+ left: auto;
12398
+ height: auto;
12399
+ right: calc(-1 * var(--spacing-px));
12400
+ top: 0;
12401
+ bottom: 0;
12402
+ width: var(--spacing-xs);
12403
+ }
12100
12404
 
12101
12405
  /* Pill variant: segmented button style with contained tabs */
12102
12406
  .bc-tabs--variant-pill .bc-tabs__list {
@@ -12151,6 +12455,10 @@ span.bc-sidebar-link {
12151
12455
  .bc-tabs--variant-pill .bc-tab--active::after {
12152
12456
  display: none;
12153
12457
  }
12458
+ .bc-tabs--vertical.bc-tabs--variant-pill .bc-tabs__list {
12459
+ display: flex;
12460
+ flex-direction: column;
12461
+ }
12154
12462
 
12155
12463
  /* Dark mode adjustments for underline variant */
12156
12464
  .dark .bc-tabs--variant-underline .bc-tabs__list {
@@ -12169,11 +12477,15 @@ span.bc-sidebar-link {
12169
12477
  }
12170
12478
 
12171
12479
  .dark .bc-tabs--variant-underline .bc-tab--active {
12172
- color: var(--color-primary-400);
12480
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12173
12481
  }
12174
12482
 
12175
12483
  .dark .bc-tabs--variant-underline .bc-tab--active::after {
12176
- background-color: var(--color-primary-400);
12484
+ background-color: var(--tabs-indicator-color-dark, var(--color-primary-400));
12485
+ }
12486
+ .dark .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12487
+ border-bottom: none;
12488
+ border-right-color: var(--color-base-700);
12177
12489
  }
12178
12490
 
12179
12491
  /* Dark mode adjustments for pill variant */
@@ -12217,7 +12529,8 @@ span.bc-sidebar-link {
12217
12529
 
12218
12530
  .bc-tag-input:focus-within {
12219
12531
  border-color: var(--color-primary-500);
12220
- box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
12532
+ box-shadow: 0 0 0 2px
12533
+ color-mix(in srgb, var(--color-primary-600) 12%, transparent);
12221
12534
  }
12222
12535
 
12223
12536
  .bc-tag-input--error {
@@ -12225,7 +12538,8 @@ span.bc-sidebar-link {
12225
12538
  }
12226
12539
 
12227
12540
  .bc-tag-input--error:focus-within {
12228
- box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
12541
+ box-shadow: 0 0 0 2px
12542
+ color-mix(in srgb, var(--color-danger-600) 12%, transparent);
12229
12543
  }
12230
12544
 
12231
12545
  .bc-tag-input--disabled {
@@ -12269,7 +12583,7 @@ span.bc-sidebar-link {
12269
12583
  padding: var(--spacing-xs) var(--spacing-smh);
12270
12584
  background: var(--color-base-100);
12271
12585
  border-radius: var(--radius-sm, 3px);
12272
- font-size: var(--font-size-xs);
12586
+ font-size: inherit;
12273
12587
  color: var(--color-base-700);
12274
12588
  white-space: nowrap;
12275
12589
  line-height: 1.4;
@@ -12651,7 +12965,7 @@ span.bc-sidebar-link {
12651
12965
  padding: calc(var(--spacing-base) * 0.75);
12652
12966
  background: var(--color-white);
12653
12967
  border-radius: var(--radius-lg);
12654
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
12968
+ box-shadow: var(--shadow-lg);
12655
12969
  border: var(--border-width-thin) solid var(--color-base-200);
12656
12970
  width: auto;
12657
12971
  }
@@ -12748,6 +13062,14 @@ span.bc-sidebar-link {
12748
13062
  color: oklch(0.5 0.15 250);
12749
13063
  }
12750
13064
 
13065
+ .bc-tree-item__row--size-xs {
13066
+ padding-top: calc(var(--spacing-xs) / 2);
13067
+ padding-bottom: calc(var(--spacing-xs) / 2);
13068
+ padding-right: var(--spacing-sm);
13069
+ font-size: var(--font-size-xs);
13070
+ min-height: var(--spacing-lg);
13071
+ }
13072
+
12751
13073
  .bc-tree-item__row--size-sm {
12752
13074
  padding-top: var(--spacing-xs);
12753
13075
  padding-bottom: var(--spacing-xs);
@@ -12772,6 +13094,14 @@ span.bc-sidebar-link {
12772
13094
  min-height: var(--spacing-2xlh);
12773
13095
  }
12774
13096
 
13097
+ .bc-tree-item__row--size-xl {
13098
+ padding-top: var(--spacing-md);
13099
+ padding-bottom: var(--spacing-md);
13100
+ padding-right: var(--spacing-lg);
13101
+ font-size: var(--font-size-xl);
13102
+ min-height: var(--spacing-3xl);
13103
+ }
13104
+
12775
13105
  .bc-tree-item__toggle {
12776
13106
  display: inline-flex;
12777
13107
  align-items: center;
@@ -12805,6 +13135,7 @@ span.bc-sidebar-link {
12805
13135
  }
12806
13136
 
12807
13137
  .bc-tree-item__label {
13138
+ text-align: left;
12808
13139
  flex: 1;
12809
13140
  overflow: hidden;
12810
13141
  text-overflow: ellipsis;
@@ -13304,7 +13635,7 @@ span.bc-sidebar-link {
13304
13635
  .bc-notification {
13305
13636
  --notification-accent-color: var(--color-primary-500);
13306
13637
  --notification-radius: var(--radius-lg);
13307
- --notification-bg: #fff;
13638
+ --notification-bg: var(--color-white);
13308
13639
  --notification-border-color: var(--color-base-200);
13309
13640
  --notification-text-color: var(--text-normal);
13310
13641
  --notification-muted-color: var(--text-muted);
@@ -13334,7 +13665,7 @@ span.bc-sidebar-link {
13334
13665
  justify-content: center;
13335
13666
  overflow: hidden;
13336
13667
  background-color: var(--notification-accent-color);
13337
- color: white;
13668
+ color: var(--color-white);
13338
13669
  }
13339
13670
 
13340
13671
  .bc-notification__accent {
@@ -13429,8 +13760,34 @@ span.bc-sidebar-link {
13429
13760
  }
13430
13761
  }
13431
13762
 
13763
+ .bc-notification-item {
13764
+ transition:
13765
+ opacity var(--motion-duration-base, 200ms)
13766
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
13767
+ transform var(--motion-duration-base, 200ms)
13768
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
13769
+ }
13770
+
13771
+ .bc-notification-item--entering {
13772
+ opacity: 0;
13773
+ transform: translateY(8px) scale(0.96);
13774
+ }
13775
+
13776
+ .bc-notification-item:not(.bc-notification-item--entering):not(
13777
+ .bc-notification-item--exiting
13778
+ ) {
13779
+ opacity: 1;
13780
+ transform: translateY(0) scale(1);
13781
+ }
13782
+
13783
+ .bc-notification-item--exiting {
13784
+ opacity: 0;
13785
+ transform: translateY(-8px) scale(0.96);
13786
+ }
13787
+
13432
13788
  @media (prefers-reduced-motion: reduce) {
13433
- .bc-notification {
13789
+ .bc-notification,
13790
+ .bc-notification-item {
13434
13791
  transition: none;
13435
13792
  }
13436
13793
  }
@@ -14321,6 +14678,7 @@ span.bc-sidebar-link {
14321
14678
  display: flex;
14322
14679
  align-items: center;
14323
14680
  justify-content: space-between;
14681
+ gap: var(--spacing-md);
14324
14682
  width: 100%;
14325
14683
  border: none;
14326
14684
  background: none;
@@ -14465,8 +14823,8 @@ span.bc-sidebar-link {
14465
14823
  }
14466
14824
  }
14467
14825
 
14468
- /* Calendar Component */
14469
- .bc-calendar {
14826
+ /* DatePicker Component */
14827
+ .bc-date-picker {
14470
14828
  display: inline-flex;
14471
14829
  flex-direction: column;
14472
14830
  background-color: var(--bg-background);
@@ -14476,13 +14834,13 @@ span.bc-sidebar-link {
14476
14834
  user-select: none;
14477
14835
  }
14478
14836
 
14479
- .bc-calendar--disabled {
14837
+ .bc-date-picker--disabled {
14480
14838
  opacity: 0.5;
14481
14839
  pointer-events: none;
14482
14840
  }
14483
14841
 
14484
14842
  /* Navigation header */
14485
- .bc-calendar__nav {
14843
+ .bc-date-picker__nav {
14486
14844
  display: flex;
14487
14845
  align-items: center;
14488
14846
  justify-content: space-between;
@@ -14490,7 +14848,7 @@ span.bc-sidebar-link {
14490
14848
  gap: var(--spacing-xs);
14491
14849
  }
14492
14850
 
14493
- .bc-calendar__nav-btn {
14851
+ .bc-date-picker__nav-btn {
14494
14852
  display: inline-flex;
14495
14853
  align-items: center;
14496
14854
  justify-content: center;
@@ -14505,21 +14863,21 @@ span.bc-sidebar-link {
14505
14863
  line-height: var(--line-height-none);
14506
14864
  }
14507
14865
 
14508
- .bc-calendar__nav-btn:hover:not(:disabled) {
14866
+ .bc-date-picker__nav-btn:hover:not(:disabled) {
14509
14867
  background-color: var(--bg-subtle);
14510
14868
  }
14511
14869
 
14512
- .bc-calendar__nav-btn:focus-visible {
14870
+ .bc-date-picker__nav-btn:focus-visible {
14513
14871
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14514
14872
  outline-offset: calc(-1 * var(--outline-width-focus));
14515
14873
  }
14516
14874
 
14517
- .bc-calendar__nav-btn:disabled {
14875
+ .bc-date-picker__nav-btn:disabled {
14518
14876
  cursor: not-allowed;
14519
14877
  opacity: 0.5;
14520
14878
  }
14521
14879
 
14522
- .bc-calendar__title {
14880
+ .bc-date-picker__title {
14523
14881
  flex: 1;
14524
14882
  text-align: center;
14525
14883
  font-weight: var(--font-weight-semibold);
@@ -14531,7 +14889,7 @@ span.bc-sidebar-link {
14531
14889
  gap: var(--spacing-sm);
14532
14890
  }
14533
14891
 
14534
- .bc-calendar__title-btn {
14892
+ .bc-date-picker__title-btn {
14535
14893
  background: none;
14536
14894
  border: none;
14537
14895
  border-radius: var(--radius-sm);
@@ -14545,47 +14903,47 @@ span.bc-sidebar-link {
14545
14903
  var(--motion-easing-standard);
14546
14904
  }
14547
14905
 
14548
- .bc-calendar__title-btn:hover:not(:disabled) {
14906
+ .bc-date-picker__title-btn:hover:not(:disabled) {
14549
14907
  background-color: var(--bg-subtle);
14550
14908
  }
14551
14909
 
14552
- .bc-calendar__title-btn:focus-visible {
14910
+ .bc-date-picker__title-btn:focus-visible {
14553
14911
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14554
14912
  outline-offset: calc(-1 * var(--outline-width-focus));
14555
14913
  }
14556
14914
 
14557
- .bc-calendar__title-btn:disabled {
14915
+ .bc-date-picker__title-btn:disabled {
14558
14916
  cursor: not-allowed;
14559
14917
  opacity: 0.5;
14560
14918
  }
14561
14919
 
14562
14920
  /* Days view container */
14563
- .bc-calendar__days-view {
14921
+ .bc-date-picker__days-view {
14564
14922
  display: flex;
14565
14923
  flex-direction: column;
14566
14924
  min-height: calc(5 * var(--cal-cell-size));
14567
14925
  }
14568
14926
 
14569
14927
  /* Weekday headers */
14570
- .bc-calendar__weekdays {
14928
+ .bc-date-picker__weekdays {
14571
14929
  display: grid;
14572
14930
  grid-template-columns: repeat(7, 1fr);
14573
14931
  }
14574
14932
 
14575
- .bc-calendar__weekday {
14933
+ .bc-date-picker__weekday {
14576
14934
  text-align: center;
14577
14935
  font-weight: var(--font-weight-semibold);
14578
14936
  color: var(--text-muted);
14579
14937
  }
14580
14938
 
14581
14939
  /* Day grid */
14582
- .bc-calendar__grid {
14940
+ .bc-date-picker__grid {
14583
14941
  display: grid;
14584
14942
  grid-template-columns: repeat(7, 1fr);
14585
14943
  }
14586
14944
 
14587
14945
  /* Day cells */
14588
- .bc-calendar__day {
14946
+ .bc-date-picker__day {
14589
14947
  display: inline-flex;
14590
14948
  align-items: center;
14591
14949
  justify-content: center;
@@ -14599,42 +14957,42 @@ span.bc-sidebar-link {
14599
14957
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
14600
14958
  }
14601
14959
 
14602
- .bc-calendar__day:hover:not(:disabled) {
14960
+ .bc-date-picker__day:hover:not(:disabled) {
14603
14961
  background-color: var(--bg-subtle);
14604
14962
  }
14605
14963
 
14606
- .bc-calendar__day:focus-visible {
14964
+ .bc-date-picker__day:focus-visible {
14607
14965
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14608
14966
  outline-offset: calc(-1 * var(--outline-width-focus));
14609
14967
  }
14610
14968
 
14611
- .bc-calendar__day--outside {
14969
+ .bc-date-picker__day--outside {
14612
14970
  color: var(--text-muted);
14613
14971
  opacity: 0.4;
14614
14972
  }
14615
14973
 
14616
- .bc-calendar__day--today {
14974
+ .bc-date-picker__day--today {
14617
14975
  background-color: var(--cal-today-bg);
14618
14976
  color: var(--cal-today-text);
14619
14977
  font-weight: var(--font-weight-semibold);
14620
14978
  }
14621
14979
 
14622
- .bc-calendar__day--selected {
14980
+ .bc-date-picker__day--selected {
14623
14981
  background-color: var(--cal-selected-bg);
14624
14982
  color: var(--cal-selected-text);
14625
14983
  font-weight: var(--font-weight-bold);
14626
14984
  }
14627
14985
 
14628
- .bc-calendar__day--selected.bc-calendar__day--today {
14986
+ .bc-date-picker__day--selected.bc-date-picker__day--today {
14629
14987
  background-color: var(--cal-selected-bg);
14630
14988
  color: var(--cal-selected-text);
14631
14989
  }
14632
14990
 
14633
- .bc-calendar__day--selected:hover:not(:disabled) {
14991
+ .bc-date-picker__day--selected:hover:not(:disabled) {
14634
14992
  filter: brightness(0.9);
14635
14993
  }
14636
14994
 
14637
- .bc-calendar__day--disabled {
14995
+ .bc-date-picker__day--disabled {
14638
14996
  cursor: not-allowed;
14639
14997
  color: var(--text-muted);
14640
14998
  opacity: 0.4;
@@ -14642,23 +15000,23 @@ span.bc-sidebar-link {
14642
15000
  }
14643
15001
 
14644
15002
  /* Month and Year Picker Grid */
14645
- .bc-calendar__picker-grid {
15003
+ .bc-date-picker__picker-grid {
14646
15004
  display: grid;
14647
15005
  grid-template-columns: repeat(4, 1fr);
14648
15006
  gap: var(--spacing-xs);
14649
15007
  min-height: calc(5 * var(--cal-cell-size));
14650
15008
  }
14651
15009
 
14652
- .bc-calendar__picker-grid--months {
15010
+ .bc-date-picker__picker-grid--months {
14653
15011
  grid-template-rows: repeat(3, 1fr);
14654
15012
  }
14655
15013
 
14656
- .bc-calendar__picker-grid--years {
15014
+ .bc-date-picker__picker-grid--years {
14657
15015
  grid-template-rows: repeat(5, 1fr);
14658
15016
  }
14659
15017
 
14660
15018
  /* Month cells */
14661
- .bc-calendar__month-cell {
15019
+ .bc-date-picker__month-cell {
14662
15020
  display: inline-flex;
14663
15021
  align-items: center;
14664
15022
  justify-content: center;
@@ -14673,38 +15031,38 @@ span.bc-sidebar-link {
14673
15031
  padding: var(--spacing-xs);
14674
15032
  }
14675
15033
 
14676
- .bc-calendar__month-cell:hover:not(:disabled) {
15034
+ .bc-date-picker__month-cell:hover:not(:disabled) {
14677
15035
  background-color: var(--bg-subtle);
14678
15036
  }
14679
15037
 
14680
- .bc-calendar__month-cell:focus-visible {
15038
+ .bc-date-picker__month-cell:focus-visible {
14681
15039
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14682
15040
  outline-offset: calc(-1 * var(--outline-width-focus));
14683
15041
  }
14684
15042
 
14685
- .bc-calendar__month-cell--current {
15043
+ .bc-date-picker__month-cell--current {
14686
15044
  background-color: var(--cal-selected-bg);
14687
15045
  color: var(--cal-selected-text);
14688
15046
  font-weight: var(--font-weight-bold);
14689
15047
  }
14690
15048
 
14691
- .bc-calendar__month-cell--current:hover:not(:disabled) {
15049
+ .bc-date-picker__month-cell--current:hover:not(:disabled) {
14692
15050
  filter: brightness(0.9);
14693
15051
  }
14694
15052
 
14695
- .bc-calendar__month-cell--active {
15053
+ .bc-date-picker__month-cell--active {
14696
15054
  background-color: var(--cal-today-bg);
14697
15055
  color: var(--cal-today-text);
14698
15056
  font-weight: var(--font-weight-semibold);
14699
15057
  }
14700
15058
 
14701
- .bc-calendar__month-cell--current.bc-calendar__month-cell--active {
15059
+ .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active {
14702
15060
  background-color: var(--cal-selected-bg);
14703
15061
  color: var(--cal-selected-text);
14704
15062
  }
14705
15063
 
14706
15064
  /* Year cells */
14707
- .bc-calendar__year-cell {
15065
+ .bc-date-picker__year-cell {
14708
15066
  display: inline-flex;
14709
15067
  align-items: center;
14710
15068
  justify-content: center;
@@ -14719,113 +15077,113 @@ span.bc-sidebar-link {
14719
15077
  padding: var(--spacing-xs);
14720
15078
  }
14721
15079
 
14722
- .bc-calendar__year-cell:hover:not(:disabled) {
15080
+ .bc-date-picker__year-cell:hover:not(:disabled) {
14723
15081
  background-color: var(--bg-subtle);
14724
15082
  }
14725
15083
 
14726
- .bc-calendar__year-cell:focus-visible {
15084
+ .bc-date-picker__year-cell:focus-visible {
14727
15085
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14728
15086
  outline-offset: calc(-1 * var(--outline-width-focus));
14729
15087
  }
14730
15088
 
14731
- .bc-calendar__year-cell--current {
15089
+ .bc-date-picker__year-cell--current {
14732
15090
  background-color: var(--cal-selected-bg);
14733
15091
  color: var(--cal-selected-text);
14734
15092
  font-weight: var(--font-weight-bold);
14735
15093
  }
14736
15094
 
14737
- .bc-calendar__year-cell--current:hover:not(:disabled) {
15095
+ .bc-date-picker__year-cell--current:hover:not(:disabled) {
14738
15096
  filter: brightness(0.9);
14739
15097
  }
14740
15098
 
14741
- .bc-calendar__year-cell--active {
15099
+ .bc-date-picker__year-cell--active {
14742
15100
  background-color: var(--cal-today-bg);
14743
15101
  color: var(--cal-today-text);
14744
15102
  font-weight: var(--font-weight-semibold);
14745
15103
  }
14746
15104
 
14747
- .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15105
+ .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
14748
15106
  background-color: var(--cal-selected-bg);
14749
15107
  color: var(--cal-selected-text);
14750
15108
  }
14751
15109
 
14752
15110
  /* Size variants */
14753
- .bc-calendar--size-xs {
15111
+ .bc-date-picker--size-xs {
14754
15112
  --cal-cell-size: var(--spacing-xl);
14755
15113
  padding: var(--spacing-xs);
14756
15114
  font-size: var(--font-size-xs);
14757
15115
  width: calc(7 * var(--spacing-xl) + 2 * var(--spacing-xs) + 2px);
14758
15116
  }
14759
- .bc-calendar--size-xs .bc-calendar__nav-btn {
15117
+ .bc-date-picker--size-xs .bc-date-picker__nav-btn {
14760
15118
  width: var(--spacing-lgh);
14761
15119
  height: var(--spacing-lgh);
14762
15120
  font-size: var(--font-size-xs);
14763
15121
  }
14764
- .bc-calendar--size-xs .bc-calendar__day {
15122
+ .bc-date-picker--size-xs .bc-date-picker__day {
14765
15123
  width: var(--spacing-xl);
14766
15124
  height: var(--spacing-xl);
14767
15125
  font-size: var(--font-size-2xs);
14768
15126
  }
14769
- .bc-calendar--size-xs .bc-calendar__weekday {
15127
+ .bc-date-picker--size-xs .bc-date-picker__weekday {
14770
15128
  font-size: var(--font-size-2xs);
14771
15129
  padding: var(--spacing-2xs);
14772
15130
  }
14773
- .bc-calendar--size-xs .bc-calendar__month-cell,
14774
- .bc-calendar--size-xs .bc-calendar__year-cell {
15131
+ .bc-date-picker--size-xs .bc-date-picker__month-cell,
15132
+ .bc-date-picker--size-xs .bc-date-picker__year-cell {
14775
15133
  font-size: var(--font-size-2xs);
14776
15134
  }
14777
15135
 
14778
- .bc-calendar--size-sm {
15136
+ .bc-date-picker--size-sm {
14779
15137
  --cal-cell-size: calc(var(--spacing-base) * 7);
14780
15138
  padding: var(--spacing-sm);
14781
15139
  font-size: var(--font-size-sm);
14782
15140
  width: calc(7 * calc(var(--spacing-base) * 7) + 2 * var(--spacing-sm) + 2px);
14783
15141
  }
14784
- .bc-calendar--size-sm .bc-calendar__nav-btn {
15142
+ .bc-date-picker--size-sm .bc-date-picker__nav-btn {
14785
15143
  width: var(--spacing-xl);
14786
15144
  height: var(--spacing-xl);
14787
15145
  font-size: var(--font-size-sm);
14788
15146
  }
14789
- .bc-calendar--size-sm .bc-calendar__day {
15147
+ .bc-date-picker--size-sm .bc-date-picker__day {
14790
15148
  width: calc(var(--spacing-base) * 7);
14791
15149
  height: calc(var(--spacing-base) * 7);
14792
15150
  font-size: var(--font-size-xs);
14793
15151
  }
14794
- .bc-calendar--size-sm .bc-calendar__weekday {
15152
+ .bc-date-picker--size-sm .bc-date-picker__weekday {
14795
15153
  font-size: var(--font-size-xs);
14796
15154
  padding: var(--spacing-xs);
14797
15155
  }
14798
- .bc-calendar--size-sm .bc-calendar__month-cell,
14799
- .bc-calendar--size-sm .bc-calendar__year-cell {
15156
+ .bc-date-picker--size-sm .bc-date-picker__month-cell,
15157
+ .bc-date-picker--size-sm .bc-date-picker__year-cell {
14800
15158
  font-size: var(--font-size-xs);
14801
15159
  }
14802
15160
 
14803
- .bc-calendar--size-md {
15161
+ .bc-date-picker--size-md {
14804
15162
  --cal-cell-size: calc(var(--spacing-base) * 9);
14805
15163
  padding: var(--spacing-md);
14806
15164
  font-size: var(--font-size-md);
14807
15165
  width: calc(7 * calc(var(--spacing-base) * 9) + 2 * var(--spacing-md) + 2px);
14808
15166
  }
14809
- .bc-calendar--size-md .bc-calendar__nav-btn {
15167
+ .bc-date-picker--size-md .bc-date-picker__nav-btn {
14810
15168
  width: calc(var(--spacing-base) * 7);
14811
15169
  height: calc(var(--spacing-base) * 7);
14812
15170
  font-size: var(--font-size-md);
14813
15171
  }
14814
- .bc-calendar--size-md .bc-calendar__day {
15172
+ .bc-date-picker--size-md .bc-date-picker__day {
14815
15173
  width: calc(var(--spacing-base) * 9);
14816
15174
  height: calc(var(--spacing-base) * 9);
14817
15175
  font-size: var(--font-size-sm);
14818
15176
  }
14819
- .bc-calendar--size-md .bc-calendar__weekday {
15177
+ .bc-date-picker--size-md .bc-date-picker__weekday {
14820
15178
  font-size: var(--font-size-xs);
14821
15179
  padding: var(--spacing-xs);
14822
15180
  }
14823
- .bc-calendar--size-md .bc-calendar__month-cell,
14824
- .bc-calendar--size-md .bc-calendar__year-cell {
15181
+ .bc-date-picker--size-md .bc-date-picker__month-cell,
15182
+ .bc-date-picker--size-md .bc-date-picker__year-cell {
14825
15183
  font-size: var(--font-size-sm);
14826
15184
  }
14827
15185
 
14828
- .bc-calendar--size-lg {
15186
+ .bc-date-picker--size-lg {
14829
15187
  --cal-cell-size: calc(var(--spacing-base) * 10.5);
14830
15188
  padding: var(--spacing-lg);
14831
15189
  font-size: var(--font-size-lg);
@@ -14833,198 +15191,198 @@ span.bc-sidebar-link {
14833
15191
  7 * calc(var(--spacing-base) * 10.5) + 2 * var(--spacing-lg) + 2px
14834
15192
  );
14835
15193
  }
14836
- .bc-calendar--size-lg .bc-calendar__nav-btn {
15194
+ .bc-date-picker--size-lg .bc-date-picker__nav-btn {
14837
15195
  width: var(--spacing-2xl);
14838
15196
  height: var(--spacing-2xl);
14839
15197
  font-size: var(--font-size-lg);
14840
15198
  }
14841
- .bc-calendar--size-lg .bc-calendar__day {
15199
+ .bc-date-picker--size-lg .bc-date-picker__day {
14842
15200
  width: calc(var(--spacing-base) * 10.5);
14843
15201
  height: calc(var(--spacing-base) * 10.5);
14844
15202
  font-size: var(--font-size-md);
14845
15203
  }
14846
- .bc-calendar--size-lg .bc-calendar__weekday {
15204
+ .bc-date-picker--size-lg .bc-date-picker__weekday {
14847
15205
  font-size: var(--font-size-sm);
14848
15206
  padding: var(--spacing-sm);
14849
15207
  }
14850
- .bc-calendar--size-lg .bc-calendar__month-cell,
14851
- .bc-calendar--size-lg .bc-calendar__year-cell {
15208
+ .bc-date-picker--size-lg .bc-date-picker__month-cell,
15209
+ .bc-date-picker--size-lg .bc-date-picker__year-cell {
14852
15210
  font-size: var(--font-size-md);
14853
15211
  }
14854
15212
 
14855
- .bc-calendar--size-xl {
15213
+ .bc-date-picker--size-xl {
14856
15214
  --cal-cell-size: var(--spacing-3xl);
14857
15215
  padding: var(--spacing-xl);
14858
15216
  font-size: var(--font-size-xl);
14859
15217
  width: calc(7 * var(--spacing-3xl) + 2 * var(--spacing-xl) + 2px);
14860
15218
  }
14861
- .bc-calendar--size-xl .bc-calendar__nav-btn {
15219
+ .bc-date-picker--size-xl .bc-date-picker__nav-btn {
14862
15220
  width: calc(var(--spacing-base) * 9);
14863
15221
  height: calc(var(--spacing-base) * 9);
14864
15222
  font-size: var(--font-size-xl);
14865
15223
  }
14866
- .bc-calendar--size-xl .bc-calendar__day {
15224
+ .bc-date-picker--size-xl .bc-date-picker__day {
14867
15225
  width: var(--spacing-3xl);
14868
15226
  height: var(--spacing-3xl);
14869
15227
  font-size: var(--font-size-lg);
14870
15228
  }
14871
- .bc-calendar--size-xl .bc-calendar__weekday {
15229
+ .bc-date-picker--size-xl .bc-date-picker__weekday {
14872
15230
  font-size: var(--font-size-md);
14873
15231
  padding: var(--spacing-sm);
14874
15232
  }
14875
- .bc-calendar--size-xl .bc-calendar__month-cell,
14876
- .bc-calendar--size-xl .bc-calendar__year-cell {
15233
+ .bc-date-picker--size-xl .bc-date-picker__month-cell,
15234
+ .bc-date-picker--size-xl .bc-date-picker__year-cell {
14877
15235
  font-size: var(--font-size-lg);
14878
15236
  }
14879
15237
 
14880
15238
  /* Dark mode */
14881
- .dark .bc-calendar {
15239
+ .dark .bc-date-picker {
14882
15240
  background-color: var(--bg-background);
14883
15241
  border-color: var(--border-default);
14884
15242
  }
14885
15243
 
14886
- .dark .bc-calendar__nav-btn {
15244
+ .dark .bc-date-picker__nav-btn {
14887
15245
  color: var(--text-normal);
14888
15246
  }
14889
15247
 
14890
- .dark .bc-calendar__nav-btn:hover:not(:disabled) {
15248
+ .dark .bc-date-picker__nav-btn:hover:not(:disabled) {
14891
15249
  background-color: var(--bg-subtle);
14892
15250
  }
14893
15251
 
14894
- .dark .bc-calendar__title {
15252
+ .dark .bc-date-picker__title {
14895
15253
  color: var(--text-normal);
14896
15254
  }
14897
15255
 
14898
- .dark .bc-calendar__weekday {
15256
+ .dark .bc-date-picker__weekday {
14899
15257
  color: var(--text-muted);
14900
15258
  }
14901
15259
 
14902
- .dark .bc-calendar__day {
15260
+ .dark .bc-date-picker__day {
14903
15261
  color: var(--text-normal);
14904
15262
  }
14905
15263
 
14906
- .dark .bc-calendar__day:hover:not(:disabled) {
15264
+ .dark .bc-date-picker__day:hover:not(:disabled) {
14907
15265
  background-color: var(--bg-subtle);
14908
15266
  }
14909
15267
 
14910
- .dark .bc-calendar__day--selected {
15268
+ .dark .bc-date-picker__day--selected {
14911
15269
  background-color: var(--cal-selected-bg-dark);
14912
15270
  color: var(--cal-selected-text-dark);
14913
15271
  }
14914
15272
 
14915
- .dark .bc-calendar__day--today {
15273
+ .dark .bc-date-picker__day--today {
14916
15274
  background-color: var(--cal-today-bg-dark);
14917
15275
  color: var(--cal-today-text-dark);
14918
15276
  }
14919
15277
 
14920
- .dark .bc-calendar__day--selected.bc-calendar__day--today {
15278
+ .dark .bc-date-picker__day--selected.bc-date-picker__day--today {
14921
15279
  background-color: var(--cal-selected-bg-dark);
14922
15280
  color: var(--cal-selected-text-dark);
14923
15281
  }
14924
15282
 
14925
- .dark .bc-calendar__title-btn {
15283
+ .dark .bc-date-picker__title-btn {
14926
15284
  color: var(--text-normal);
14927
15285
  }
14928
15286
 
14929
- .dark .bc-calendar__title-btn:hover:not(:disabled) {
15287
+ .dark .bc-date-picker__title-btn:hover:not(:disabled) {
14930
15288
  background-color: var(--bg-subtle);
14931
15289
  }
14932
15290
 
14933
- .dark .bc-calendar__month-cell,
14934
- .dark .bc-calendar__year-cell {
15291
+ .dark .bc-date-picker__month-cell,
15292
+ .dark .bc-date-picker__year-cell {
14935
15293
  color: var(--text-normal);
14936
15294
  }
14937
15295
 
14938
- .dark .bc-calendar__month-cell:hover:not(:disabled),
14939
- .dark .bc-calendar__year-cell:hover:not(:disabled) {
15296
+ .dark .bc-date-picker__month-cell:hover:not(:disabled),
15297
+ .dark .bc-date-picker__year-cell:hover:not(:disabled) {
14940
15298
  background-color: var(--bg-subtle);
14941
15299
  }
14942
15300
 
14943
- .dark .bc-calendar__month-cell--current,
14944
- .dark .bc-calendar__year-cell--current {
15301
+ .dark .bc-date-picker__month-cell--current,
15302
+ .dark .bc-date-picker__year-cell--current {
14945
15303
  background-color: var(--cal-selected-bg-dark);
14946
15304
  color: var(--cal-selected-text-dark);
14947
15305
  }
14948
15306
 
14949
- .dark .bc-calendar__month-cell--active,
14950
- .dark .bc-calendar__year-cell--active {
15307
+ .dark .bc-date-picker__month-cell--active,
15308
+ .dark .bc-date-picker__year-cell--active {
14951
15309
  background-color: var(--cal-today-bg-dark);
14952
15310
  color: var(--cal-today-text-dark);
14953
15311
  }
14954
15312
 
14955
- .dark .bc-calendar__month-cell--current.bc-calendar__month-cell--active,
14956
- .dark .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15313
+ .dark .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active,
15314
+ .dark .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
14957
15315
  background-color: var(--cal-selected-bg-dark);
14958
15316
  color: var(--cal-selected-text-dark);
14959
15317
  }
14960
15318
 
14961
15319
  /* Range selection */
14962
- .bc-calendar__day--range-start,
14963
- .bc-calendar__day--range-end {
15320
+ .bc-date-picker__day--range-start,
15321
+ .bc-date-picker__day--range-end {
14964
15322
  background-color: var(--cal-selected-bg);
14965
15323
  color: var(--cal-selected-text);
14966
15324
  font-weight: var(--font-weight-bold);
14967
15325
  }
14968
15326
 
14969
- .bc-calendar__day--range-start {
15327
+ .bc-date-picker__day--range-start {
14970
15328
  border-radius: var(--radius-full) 0 0 var(--radius-full);
14971
15329
  }
14972
15330
 
14973
- .bc-calendar__day--range-end {
15331
+ .bc-date-picker__day--range-end {
14974
15332
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
14975
15333
  }
14976
15334
 
14977
- .bc-calendar__day--range-start.bc-calendar__day--range-end {
15335
+ .bc-date-picker__day--range-start.bc-date-picker__day--range-end {
14978
15336
  border-radius: var(--radius-full);
14979
15337
  }
14980
15338
 
14981
- .bc-calendar__day--in-range {
15339
+ .bc-date-picker__day--in-range {
14982
15340
  background-color: var(--cal-today-bg);
14983
15341
  color: var(--cal-today-text);
14984
15342
  border-radius: 0;
14985
15343
  }
14986
15344
 
14987
- .bc-calendar__day--preview.bc-calendar__day--in-range {
15345
+ .bc-date-picker__day--preview.bc-date-picker__day--in-range {
14988
15346
  opacity: 0.7;
14989
15347
  }
14990
15348
 
14991
- .bc-calendar__day--preview.bc-calendar__day--range-start,
14992
- .bc-calendar__day--preview.bc-calendar__day--range-end {
15349
+ .bc-date-picker__day--preview.bc-date-picker__day--range-start,
15350
+ .bc-date-picker__day--preview.bc-date-picker__day--range-end {
14993
15351
  opacity: 0.8;
14994
15352
  }
14995
15353
 
14996
- .bc-calendar__day--range-start:hover:not(:disabled),
14997
- .bc-calendar__day--range-end:hover:not(:disabled) {
15354
+ .bc-date-picker__day--range-start:hover:not(:disabled),
15355
+ .bc-date-picker__day--range-end:hover:not(:disabled) {
14998
15356
  filter: brightness(0.9);
14999
15357
  }
15000
15358
 
15001
15359
  /* Range selection - dark mode */
15002
- .dark .bc-calendar__day--range-start,
15003
- .dark .bc-calendar__day--range-end {
15360
+ .dark .bc-date-picker__day--range-start,
15361
+ .dark .bc-date-picker__day--range-end {
15004
15362
  background-color: var(--cal-selected-bg-dark);
15005
15363
  color: var(--cal-selected-text-dark);
15006
15364
  }
15007
15365
 
15008
- .dark .bc-calendar__day--in-range {
15366
+ .dark .bc-date-picker__day--in-range {
15009
15367
  background-color: var(--cal-today-bg-dark);
15010
15368
  color: var(--cal-today-text-dark);
15011
15369
  }
15012
15370
 
15013
15371
  /* Reduced motion */
15014
15372
  @media (prefers-reduced-motion: reduce) {
15015
- .bc-calendar__day {
15373
+ .bc-date-picker__day {
15016
15374
  transition: none;
15017
15375
  }
15018
- .bc-calendar__nav-btn {
15376
+ .bc-date-picker__nav-btn {
15019
15377
  transition: none;
15020
15378
  }
15021
- .bc-calendar__title-btn {
15379
+ .bc-date-picker__title-btn {
15022
15380
  transition: none;
15023
15381
  }
15024
- .bc-calendar__month-cell {
15382
+ .bc-date-picker__month-cell {
15025
15383
  transition: none;
15026
15384
  }
15027
- .bc-calendar__year-cell {
15385
+ .bc-date-picker__year-cell {
15028
15386
  transition: none;
15029
15387
  }
15030
15388
  }
@@ -15665,5 +16023,734 @@ span.bc-sidebar-link {
15665
16023
  --toggle-group-radius: var(--radius-full);
15666
16024
  }
15667
16025
 
16026
+ .bc-loading-overlay {
16027
+ position: absolute;
16028
+ inset: 0;
16029
+ display: flex;
16030
+ align-items: center;
16031
+ justify-content: center;
16032
+ background-color: color-mix(in srgb, var(--bg-surface) 75%, transparent);
16033
+ z-index: var(--z-index-raised);
16034
+ pointer-events: all;
16035
+ border-radius: inherit;
16036
+ }
16037
+
16038
+ .bc-loading-overlay__content {
16039
+ display: flex;
16040
+ flex-direction: column;
16041
+ align-items: center;
16042
+ gap: var(--spacing-sm);
16043
+ }
16044
+
16045
+ .bc-loading-overlay__message {
16046
+ font-size: var(--font-size-sm);
16047
+ color: var(--text-muted);
16048
+ }
16049
+
16050
+ /* Sortable Header */
16051
+ .bc-sortable-header {
16052
+ cursor: pointer;
16053
+ user-select: none;
16054
+ transition: background-color var(--motion-transition-fast)
16055
+ var(--motion-easing-standard);
16056
+ }
16057
+
16058
+ .bc-sortable-header:hover {
16059
+ background-color: var(--interactive-hover);
16060
+ }
16061
+
16062
+ .bc-sortable-header__content {
16063
+ display: flex;
16064
+ flex-direction: row;
16065
+ align-items: center;
16066
+ gap: var(--spacing-xs);
16067
+ }
16068
+
16069
+ .bc-sortable-header__label {
16070
+ flex: 1;
16071
+ }
16072
+
16073
+ .bc-sortable-header__icons {
16074
+ display: flex;
16075
+ flex-direction: row;
16076
+ align-items: center;
16077
+ gap: var(--spacing-2xs);
16078
+ flex-shrink: 0;
16079
+ }
16080
+
16081
+ .bc-sortable-header__icon {
16082
+ opacity: 0.45;
16083
+ transition: opacity var(--motion-transition-fast)
16084
+ var(--motion-easing-standard);
16085
+ }
16086
+
16087
+ .bc-sortable-header__icon--active {
16088
+ opacity: 1;
16089
+ }
16090
+
16091
+ .bc-sortable-header:hover .bc-sortable-header__icon {
16092
+ opacity: 0.8;
16093
+ }
16094
+
16095
+ .bc-sortable-header:hover .bc-sortable-header__icon--active {
16096
+ opacity: 1;
16097
+ }
16098
+
16099
+ /* Column Filter */
16100
+ .bc-column-filter {
16101
+ width: 100%;
16102
+ padding: var(--spacing-xs) var(--spacing-sm);
16103
+ border: var(--border-width-thin) solid var(--border-input);
16104
+ border-radius: var(--radius-control-sm);
16105
+ background-color: var(--bg-background);
16106
+ color: var(--text-normal);
16107
+ font-size: var(--font-size-sm);
16108
+ font-family: inherit;
16109
+ outline: none;
16110
+ transition: border-color var(--motion-transition-fast)
16111
+ var(--motion-easing-standard);
16112
+ }
16113
+
16114
+ .bc-column-filter:focus {
16115
+ border-color: var(--interactive-focus);
16116
+ box-shadow: 0 0 0 1px var(--interactive-focus);
16117
+ }
16118
+
16119
+ .bc-column-filter--size-xs {
16120
+ padding: var(--spacing-2xs) var(--spacing-xs);
16121
+ font-size: var(--font-size-xs);
16122
+ }
16123
+
16124
+ .bc-column-filter--size-sm {
16125
+ padding: var(--spacing-xs) var(--spacing-sm);
16126
+ font-size: var(--font-size-sm);
16127
+ }
16128
+
16129
+ .bc-column-filter--size-lg {
16130
+ padding: var(--spacing-sm) var(--spacing-md);
16131
+ font-size: var(--font-size-md);
16132
+ }
16133
+
16134
+ /* Selection Checkbox */
16135
+ .bc-selection-checkbox {
16136
+ cursor: pointer;
16137
+ accent-color: var(--color-primary-500);
16138
+ }
16139
+
16140
+ .bc-selection-checkbox--size-xs {
16141
+ width: 14px;
16142
+ height: 14px;
16143
+ }
16144
+
16145
+ .bc-selection-checkbox--size-sm {
16146
+ width: 16px;
16147
+ height: 16px;
16148
+ }
16149
+
16150
+ .bc-selection-checkbox--size-md {
16151
+ width: 18px;
16152
+ height: 18px;
16153
+ }
16154
+
16155
+ .bc-selection-checkbox--size-lg {
16156
+ width: 20px;
16157
+ height: 20px;
16158
+ }
16159
+
16160
+ .bc-selection-checkbox--size-xl {
16161
+ width: 24px;
16162
+ height: 24px;
16163
+ }
16164
+
16165
+ /* Data Toolbar */
16166
+ .bc-data-toolbar {
16167
+ display: flex;
16168
+ align-items: center;
16169
+ flex-wrap: wrap;
16170
+ gap: var(--spacing-sm);
16171
+ padding: var(--spacing-sm) var(--spacing-md);
16172
+ background-color: var(--bg-surface);
16173
+ border: var(--border-width-thin) solid var(--border-default);
16174
+ border-radius: var(--radius-control);
16175
+ margin-bottom: var(--spacing-sm);
16176
+ }
16177
+
16178
+ .bc-data-toolbar__selection {
16179
+ display: flex;
16180
+ align-items: center;
16181
+ gap: var(--spacing-sm);
16182
+ }
16183
+
16184
+ .bc-data-toolbar__selection-count {
16185
+ font-size: var(--font-size-sm);
16186
+ font-weight: var(--font-weight-medium);
16187
+ color: var(--text-muted);
16188
+ }
16189
+
16190
+ .bc-data-toolbar__action {
16191
+ display: inline-flex;
16192
+ align-items: center;
16193
+ gap: var(--spacing-xs);
16194
+ padding: var(--spacing-xs) var(--spacing-sm);
16195
+ border: var(--border-width-thin) solid var(--border-default);
16196
+ border-radius: var(--radius-control-sm);
16197
+ background-color: var(--bg-background);
16198
+ color: var(--text-normal);
16199
+ font-size: var(--font-size-sm);
16200
+ cursor: pointer;
16201
+ transition: background-color var(--motion-transition-fast);
16202
+ }
16203
+
16204
+ .bc-data-toolbar__action:hover {
16205
+ background-color: var(--interactive-hover);
16206
+ }
16207
+
16208
+ .bc-data-toolbar__action--secondary {
16209
+ border: none;
16210
+ background: none;
16211
+ color: var(--text-muted);
16212
+ }
16213
+
16214
+ .bc-data-toolbar__action--secondary:hover {
16215
+ color: var(--text-normal);
16216
+ background: none;
16217
+ }
16218
+
16219
+ .bc-data-toolbar__reset {
16220
+ display: inline-flex;
16221
+ align-items: center;
16222
+ gap: var(--spacing-xs);
16223
+ margin-left: auto;
16224
+ padding: var(--spacing-xs) var(--spacing-sm);
16225
+ border: none;
16226
+ background: none;
16227
+ color: var(--text-muted);
16228
+ font-size: var(--font-size-sm);
16229
+ cursor: pointer;
16230
+ transition: color var(--motion-transition-fast);
16231
+ }
16232
+
16233
+ .bc-data-toolbar__reset:hover {
16234
+ color: var(--color-danger-600);
16235
+ }
16236
+
16237
+ /* Data Table */
16238
+ .bc-data-table__wrapper {
16239
+ position: relative;
16240
+ min-height: 120px;
16241
+ }
16242
+
16243
+ .bc-data-table__filter-row > th {
16244
+ padding-top: var(--spacing-xs);
16245
+ padding-bottom: var(--spacing-xs);
16246
+ }
16247
+
16248
+ .bc-data-table__selection-header {
16249
+ width: calc(var(--spacing-base) * 10);
16250
+ }
16251
+
16252
+ .bc-table--size-xl .bc-data-table__selection-header {
16253
+ width: calc(var(--spacing-base) * 18);
16254
+ }
16255
+
16256
+ .bc-table--size-lg .bc-data-table__selection-header {
16257
+ width: calc(var(--spacing-base) * 14);
16258
+ }
16259
+
16260
+ .bc-table--size-sm .bc-data-table__selection-header {
16261
+ width: calc(var(--spacing-base) * 8);
16262
+ }
16263
+
16264
+ .bc-table--size-xs .bc-data-table__selection-header {
16265
+ width: calc(var(--spacing-base) * 6);
16266
+ }
16267
+
16268
+ .bc-data-table__selection-cell {
16269
+ width: 100%;
16270
+ height: 100%;
16271
+ display: flex;
16272
+ align-items: center;
16273
+ justify-content: center;
16274
+ }
16275
+
16276
+ .bc-data-table__row--clickable {
16277
+ cursor: pointer;
16278
+ }
16279
+
16280
+ .bc-data-table__row--selected {
16281
+ background-color: var(--color-primary-50);
16282
+ }
16283
+
16284
+ .bc-data-table__empty {
16285
+ text-align: center;
16286
+ padding: var(--spacing-xl);
16287
+ color: var(--text-muted);
16288
+ font-style: italic;
16289
+ }
16290
+
16291
+ .bc-data-table__pagination {
16292
+ display: flex;
16293
+ justify-items: center;
16294
+ justify-content: space-between;
16295
+ padding: var(--spacing-md) 0;
16296
+ }
16297
+
16298
+ /* Column Filter Panel */
16299
+ .bc-column-filter-panel__trigger-wrap {
16300
+ display: flex;
16301
+ justify-content: flex-end;
16302
+ }
16303
+
16304
+ .bc-column-filter-panel__trigger {
16305
+ display: inline-flex;
16306
+ align-items: center;
16307
+ justify-content: center;
16308
+ padding: var(--spacing-2xs);
16309
+ border: var(--border-width-thin) solid var(--border-default);
16310
+ border-radius: var(--radius-control-sm);
16311
+ background-color: var(--bg-background);
16312
+ color: var(--text-muted);
16313
+ cursor: pointer;
16314
+ position: relative;
16315
+ transition:
16316
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16317
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16318
+ }
16319
+
16320
+ .bc-column-filter-panel__trigger:hover {
16321
+ border-color: var(--interactive-hover);
16322
+ color: var(--text-normal);
16323
+ }
16324
+
16325
+ .bc-column-filter-panel__trigger--active {
16326
+ border-color: var(--color-primary-500);
16327
+ color: var(--color-primary-600);
16328
+ }
16329
+
16330
+ .bc-column-filter-panel__active-dot {
16331
+ position: absolute;
16332
+ top: -2px;
16333
+ right: -2px;
16334
+ width: 6px;
16335
+ height: 6px;
16336
+ border-radius: var(--radius-full);
16337
+ background-color: var(--color-primary-500);
16338
+ }
16339
+
16340
+ .bc-column-filter-panel {
16341
+ display: flex;
16342
+ flex-direction: column;
16343
+ gap: var(--spacing-sm);
16344
+ padding: var(--spacing-sm);
16345
+ width: 320px;
16346
+ }
16347
+
16348
+ .bc-column-filter-panel__mode {
16349
+ display: flex;
16350
+ justify-content: center;
16351
+ }
16352
+
16353
+ .bc-column-filter-panel__conditions {
16354
+ display: flex;
16355
+ flex-direction: column;
16356
+ gap: var(--spacing-sm);
16357
+ }
16358
+
16359
+ .bc-column-filter-panel__row {
16360
+ display: flex;
16361
+ flex-direction: column;
16362
+ gap: var(--spacing-2xs);
16363
+ }
16364
+
16365
+ .bc-column-filter-panel__row-header {
16366
+ display: flex;
16367
+ flex-direction: row;
16368
+ align-items: center;
16369
+ gap: var(--spacing-xs);
16370
+ }
16371
+
16372
+ .bc-column-filter-panel__operator {
16373
+ flex: 1 1 0;
16374
+ min-width: 0;
16375
+ }
16376
+
16377
+ .bc-column-filter-panel__value-wrap {
16378
+ display: flex;
16379
+ gap: var(--spacing-xs);
16380
+ }
16381
+
16382
+ .bc-column-filter-panel__value-wrap--hidden {
16383
+ display: none;
16384
+ }
16385
+
16386
+ .bc-column-filter-panel__value {
16387
+ flex: 1 1 auto;
16388
+ min-width: 0;
16389
+ }
16390
+
16391
+ .bc-column-filter-panel__add {
16392
+ display: flex;
16393
+ }
16394
+
16395
+ .bc-column-filter-panel__add-btn {
16396
+ border: none;
16397
+ background: none;
16398
+ color: var(--color-primary-600);
16399
+ font-size: var(--font-size-sm);
16400
+ cursor: pointer;
16401
+ padding: var(--spacing-2xs) 0;
16402
+ transition: color var(--motion-transition-fast);
16403
+ }
16404
+
16405
+ .bc-column-filter-panel__add-btn:hover {
16406
+ color: var(--color-primary-700);
16407
+ }
16408
+
16409
+ .bc-column-filter-panel__actions {
16410
+ display: flex;
16411
+ flex-direction: row;
16412
+ justify-content: flex-end;
16413
+ gap: var(--spacing-xs);
16414
+ padding-top: var(--spacing-xs);
16415
+ border-top: var(--border-width-thin) solid var(--border-default);
16416
+ }
16417
+
16418
+ /* Dark mode */
16419
+ .dark .bc-column-filter-panel__trigger {
16420
+ background-color: var(--bg-surface);
16421
+ }
16422
+
16423
+ .dark .bc-column-filter-panel__trigger--active {
16424
+ border-color: var(--color-primary-400);
16425
+ color: var(--color-primary-400);
16426
+ }
16427
+
16428
+ .dark .bc-column-filter-panel__active-dot {
16429
+ background-color: var(--color-primary-400);
16430
+ }
16431
+
16432
+ .dark .bc-column-filter-panel__add-btn {
16433
+ color: var(--color-primary-400);
16434
+ }
16435
+
16436
+ .dark .bc-column-filter-panel__add-btn:hover {
16437
+ color: var(--color-primary-300);
16438
+ }
16439
+
16440
+ .dark .bc-data-table__row--selected {
16441
+ background-color: var(--color-primary-950);
16442
+ }
16443
+
16444
+ .dark .bc-column-filter {
16445
+ background-color: var(--bg-surface);
16446
+ }
16447
+
16448
+ /* Column visibility toggle */
16449
+ .bc-data-table__column-toggle {
16450
+ display: flex;
16451
+ justify-content: flex-end;
16452
+ margin-bottom: var(--spacing-xs);
16453
+ }
16454
+
16455
+ .bc-data-table__column-toggle-btn {
16456
+ display: inline-flex;
16457
+ align-items: center;
16458
+ gap: var(--spacing-xs);
16459
+ padding: var(--spacing-xs) var(--spacing-sm);
16460
+ border: var(--border-width-thin) solid var(--border-default);
16461
+ border-radius: var(--radius-sm);
16462
+ background-color: var(--bg-surface);
16463
+ color: var(--text-muted);
16464
+ font-size: var(--font-size-sm);
16465
+ cursor: pointer;
16466
+ position: relative;
16467
+ transition:
16468
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16469
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16470
+ }
16471
+
16472
+ .bc-data-table__column-toggle-btn:hover {
16473
+ border-color: var(--interactive-hover);
16474
+ color: var(--text-normal);
16475
+ }
16476
+
16477
+ .bc-data-table__column-toggle-btn:focus-visible {
16478
+ outline: 2px solid var(--interactive-focus);
16479
+ outline-offset: 2px;
16480
+ }
16481
+
16482
+ .bc-data-table__column-toggle-btn--active {
16483
+ border-color: var(--color-primary-500);
16484
+ color: var(--color-primary-600);
16485
+ }
16486
+
16487
+ .bc-data-table__column-toggle-panel {
16488
+ display: flex;
16489
+ flex-direction: column;
16490
+ gap: var(--spacing-xs);
16491
+ padding: var(--spacing-sm);
16492
+ min-width: 180px;
16493
+ }
16494
+
16495
+ .dark .bc-data-table__column-toggle-btn {
16496
+ background-color: var(--bg-surface);
16497
+ }
16498
+
16499
+ .dark .bc-data-table__column-toggle-btn--active {
16500
+ border-color: var(--color-primary-400);
16501
+ color: var(--color-primary-400);
16502
+ }
16503
+
16504
+ /* Column Header Menu */
16505
+ .bc-column-header-menu {
16506
+ display: inline-flex;
16507
+ align-items: center;
16508
+ justify-content: center;
16509
+ cursor: pointer;
16510
+ color: var(--text-muted);
16511
+ transition: color var(--motion-transition-fast) var(--motion-easing-standard);
16512
+ }
16513
+
16514
+ .bc-column-header-menu:hover {
16515
+ color: var(--text-normal);
16516
+ }
16517
+
16518
+ /* Sortable header menu slot */
16519
+ .bc-sortable-header__menu {
16520
+ display: inline-flex;
16521
+ align-items: center;
16522
+ }
16523
+
16524
+ /* Row count footer */
16525
+ .bc-data-table__row-count {
16526
+ display: flex;
16527
+ justify-content: flex-end;
16528
+ padding: var(--spacing-xs) var(--spacing-sm);
16529
+ font-size: var(--font-size-xs);
16530
+ color: var(--text-muted);
16531
+ }
16532
+
16533
+ /* Column Reorder Drag */
16534
+ th.bc-data-table__header--dragging {
16535
+ opacity: 0.5;
16536
+ }
16537
+
16538
+ th.bc-data-table__header--drag-over {
16539
+ border-left: 2px solid var(--color-primary-500);
16540
+ }
16541
+
16542
+ /* Footer */
16543
+ .bc-data-table__footer-row {
16544
+ background-color: var(--bg-surface);
16545
+ font-size: var(--font-size-sm);
16546
+ font-weight: var(--font-weight-medium);
16547
+ color: var(--text-muted);
16548
+ }
16549
+
16550
+ .bc-data-table__footer-row td {
16551
+ padding: var(--spacing-xs) var(--spacing-sm);
16552
+ border-top: var(--border-width-thin) solid var(--border-default);
16553
+ }
16554
+
16555
+ .bc-data-table__group-footer-row {
16556
+ font-size: var(--font-size-xs);
16557
+ }
16558
+
16559
+ .bc-data-table__group-footer-row td {
16560
+ border-top: none;
16561
+ padding-top: var(--spacing-2xs);
16562
+ padding-bottom: var(--spacing-2xs);
16563
+ }
16564
+
16565
+ /* Group By */
16566
+ .bc-data-table__group-header {
16567
+ cursor: pointer;
16568
+ user-select: none;
16569
+ background-color: var(--bg-surface);
16570
+ }
16571
+
16572
+ .bc-data-table__group-header:hover {
16573
+ background-color: var(--interactive-hover);
16574
+ }
16575
+
16576
+ .bc-data-table__group-header-content {
16577
+ display: flex;
16578
+ align-items: center;
16579
+ gap: var(--spacing-sm);
16580
+ padding: var(--spacing-xs) 0;
16581
+ font-weight: var(--font-weight-semibold);
16582
+ font-size: var(--font-size-sm);
16583
+ }
16584
+
16585
+ .bc-data-table__group-toggle {
16586
+ display: inline-flex;
16587
+ align-items: center;
16588
+ justify-content: center;
16589
+ transition: transform var(--motion-transition-fast)
16590
+ var(--motion-easing-standard);
16591
+ }
16592
+
16593
+ .bc-data-table__group-toggle--collapsed {
16594
+ transform: rotate(-90deg);
16595
+ }
16596
+
16597
+ .bc-data-table__group-label {
16598
+ flex: 0 0 auto;
16599
+ }
16600
+
16601
+ .bc-data-table__group-count {
16602
+ color: var(--text-muted);
16603
+ font-weight: var(--font-weight-normal);
16604
+ font-size: var(--font-size-xs);
16605
+ }
16606
+
16607
+ .bc-data-table__group-footer-summary {
16608
+ margin-left: auto;
16609
+ color: var(--text-muted);
16610
+ font-weight: var(--font-weight-normal);
16611
+ font-size: var(--font-size-xs);
16612
+ white-space: nowrap;
16613
+ }
16614
+
16615
+ .dark .bc-data-table__group-header {
16616
+ background-color: var(--bg-surface);
16617
+ }
16618
+
16619
+ .dark .bc-data-table__group-header:hover {
16620
+ background-color: var(--interactive-hover);
16621
+ }
16622
+
16623
+ /* Tags Filter (inline checkbox list) */
16624
+ .bc-column-filter-tags {
16625
+ display: flex;
16626
+ flex-direction: column;
16627
+ gap: var(--spacing-xs);
16628
+ }
16629
+
16630
+ .bc-column-filter-tags__list {
16631
+ display: flex;
16632
+ flex-direction: column;
16633
+ gap: var(--spacing-2xs);
16634
+ max-height: 200px;
16635
+ overflow-y: auto;
16636
+ }
16637
+
16638
+ .bc-column-filter-tags__item {
16639
+ display: flex;
16640
+ align-items: center;
16641
+ gap: var(--spacing-xs);
16642
+ padding: var(--spacing-2xs) var(--spacing-xs);
16643
+ cursor: pointer;
16644
+ border-radius: var(--radius-control-sm);
16645
+ font-size: var(--font-size-sm);
16646
+ user-select: none;
16647
+ }
16648
+
16649
+ .bc-column-filter-tags__item:hover {
16650
+ background-color: var(--interactive-hover);
16651
+ }
16652
+
16653
+ /* Reduced motion */
16654
+ @media (prefers-reduced-motion: reduce) {
16655
+ .bc-sortable-header,
16656
+ .bc-sortable-header__icon,
16657
+ .bc-column-filter,
16658
+ .bc-column-filter-panel__trigger,
16659
+ .bc-column-filter-panel__add-btn,
16660
+ .bc-data-toolbar__action,
16661
+ .bc-data-toolbar__reset,
16662
+ .bc-data-table__column-toggle-btn,
16663
+ .bc-data-table__group-toggle {
16664
+ transition: none;
16665
+ }
16666
+ }
16667
+
16668
+ /* Shared flex modifiers for Stack and Group */
16669
+
16670
+ /* Gap */
16671
+ .bc-flex--gap-none {
16672
+ gap: 0;
16673
+ }
16674
+
16675
+ .bc-flex--gap-xs {
16676
+ gap: var(--spacing-xs);
16677
+ }
16678
+
16679
+ .bc-flex--gap-sm {
16680
+ gap: var(--spacing-sm);
16681
+ }
16682
+
16683
+ .bc-flex--gap-md {
16684
+ gap: var(--spacing-md);
16685
+ }
16686
+
16687
+ .bc-flex--gap-lg {
16688
+ gap: var(--spacing-lg);
16689
+ }
16690
+
16691
+ .bc-flex--gap-xl {
16692
+ gap: var(--spacing-xl);
16693
+ }
16694
+
16695
+ /* Align */
16696
+ .bc-flex--align-start {
16697
+ align-items: flex-start;
16698
+ }
16699
+
16700
+ .bc-flex--align-center {
16701
+ align-items: center;
16702
+ }
16703
+
16704
+ .bc-flex--align-end {
16705
+ align-items: flex-end;
16706
+ }
16707
+
16708
+ .bc-flex--align-stretch {
16709
+ align-items: stretch;
16710
+ }
16711
+
16712
+ .bc-flex--align-baseline {
16713
+ align-items: baseline;
16714
+ }
16715
+
16716
+ /* Justify */
16717
+ .bc-flex--justify-start {
16718
+ justify-content: flex-start;
16719
+ }
16720
+
16721
+ .bc-flex--justify-center {
16722
+ justify-content: center;
16723
+ }
16724
+
16725
+ .bc-flex--justify-end {
16726
+ justify-content: flex-end;
16727
+ }
16728
+
16729
+ .bc-flex--justify-between {
16730
+ justify-content: space-between;
16731
+ }
16732
+
16733
+ .bc-flex--justify-around {
16734
+ justify-content: space-around;
16735
+ }
16736
+
16737
+ .bc-flex--justify-evenly {
16738
+ justify-content: space-evenly;
16739
+ }
16740
+
16741
+ /* Wrap */
16742
+ .bc-flex--wrap {
16743
+ flex-wrap: wrap;
16744
+ }
16745
+
16746
+ .bc-flex--nowrap {
16747
+ flex-wrap: nowrap;
16748
+ }
16749
+
16750
+ /* Grow */
16751
+ .bc-flex--grow {
16752
+ flex-grow: 1;
16753
+ }
16754
+
15668
16755
 
15669
16756
  }