@tempots/beatui 0.95.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/dist/{ar-BVXPzVJB.cjs → ar-CuI1Jgt6.cjs} +1 -1
  2. package/dist/{ar-B4jDJwHQ.js → ar-DaKbK_t8.js} +87 -11
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/{auth-divider-BPwKk8MW.js → auth-divider-CbME_yVQ.js} +87 -86
  6. package/dist/auth-divider-MMhfmLBu.cjs +1 -0
  7. package/dist/beatui.css +1628 -545
  8. package/dist/beatui.tailwind.css +1628 -545
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +6 -6
  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-Dd33yWzb.js → de-3MTPDS1i.js} +82 -6
  16. package/dist/{de-BdfPZskW.cjs → de-DthHehbh.cjs} +1 -1
  17. package/dist/{deep-merge-C8dSqIXI.js → deep-merge-BzIheQtH.js} +511 -517
  18. package/dist/deep-merge-EkjEgK0N.cjs +1 -0
  19. package/dist/{duration-input-IuFWywO5.cjs → duration-input-ClgYjeBa.cjs} +1 -1
  20. package/dist/{duration-input-DFZwkg6M.js → duration-input-DGzmIImj.js} +5 -5
  21. package/dist/{editor-toolbar-group-DiJFgGcI.js → editor-toolbar-group-Crlu1QJw.js} +3 -3
  22. package/dist/{editor-toolbar-group-BCBfu8pG.cjs → editor-toolbar-group-mkL4QozO.cjs} +1 -1
  23. package/dist/es-B6GJLk9h.cjs +1 -0
  24. package/dist/{es-jHMT3_7O.js → es-DwMUvBeU.js} +94 -18
  25. package/dist/{fa-eX3_BAZR.js → fa-0rvQiKrJ.js} +87 -11
  26. package/dist/{fa-BXnP4pbN.cjs → fa-BwgP93iV.cjs} +1 -1
  27. package/dist/{fr-Bj-GjMJm.js → fr-B4i6NzLl.js} +86 -10
  28. package/dist/{fr-HJDhGjI2.cjs → fr-CQzk5zqY.cjs} +1 -1
  29. package/dist/{he-DYgmPPkG.js → he-C71n-hsn.js} +87 -11
  30. package/dist/{he-C6nEVZhN.cjs → he-DcxxvRfs.cjs} +1 -1
  31. package/dist/{hi-DMVSXAJt.cjs → hi-D-KHVWg4.cjs} +1 -1
  32. package/dist/{hi-CgYLonE9.js → hi-xmrXpeVU.js} +87 -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-CO2BPqah.js → it-CDZTtOBC.js} +83 -7
  40. package/dist/{it-DhfVcjKb.cjs → it-D344Dutu.cjs} +1 -1
  41. package/dist/{ja-Bt6fGS_Q.cjs → ja-BNgnDZ27.cjs} +1 -1
  42. package/dist/{ja-BrzwjH8T.js → ja-Zz1LzidW.js} +91 -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-D-lJ4wYQ.js → ko-9laUsZDL.js} +90 -14
  50. package/dist/{ko-DfAaBGrz.cjs → ko-D-WJ9NK7.cjs} +1 -1
  51. package/dist/lexical/index.cjs.js +2 -39
  52. package/dist/lexical/index.es.js +2056 -20626
  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-CwZuWiSK.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-CNWBQjK5.cjs → nl-CrqUlFie.cjs} +1 -1
  62. package/dist/{nl-ClsworIe.js → nl-Dcll9fVA.js} +86 -10
  63. package/dist/notice-B5wTXoTq.cjs +1 -0
  64. package/dist/{notice-D7hYFM5A.js → notice-BKcyJD5w.js} +37 -37
  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-CqHTeu3-.cjs → pl-9UksIrvX.cjs} +1 -1
  68. package/dist/{pl-WTwLAxnV.js → pl-Dm9N9Gbr.js} +83 -7
  69. package/dist/prosemirror/index.cjs.js +3 -1
  70. package/dist/prosemirror/index.es.js +636 -4
  71. package/dist/{pt-CgkjJnsG.js → pt-CFi5cn0k.js} +88 -12
  72. package/dist/{pt-BQmsiqbo.cjs → pt-_kfdzwqi.cjs} +1 -1
  73. package/dist/{ru-CtgH7OY9.js → ru-CEhZUw8R.js} +91 -15
  74. package/dist/{ru-CG56A2To.cjs → ru-CW1WNNlr.cjs} +1 -1
  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-DE7_VtKu.cjs → tr-B6GIRegf.cjs} +1 -1
  86. package/dist/{tr-D1O1vEmr.js → tr-ZmnVDhLP.js} +81 -5
  87. package/dist/{translations-yu4gNqlP.js → translations-A4kR7CW8.js} +1 -1
  88. package/dist/{translations-DyCmyLE_.js → translations-B1_yyDUK.js} +207 -129
  89. package/dist/{translations-DBxIjvWR.cjs → translations-C81buKAw.cjs} +1 -1
  90. package/dist/translations-Dbx7L7Q1.cjs +1 -0
  91. package/dist/types/beatui-i18n/default.d.ts +71 -0
  92. package/dist/types/beatui-i18n/locales/en.d.ts +71 -0
  93. package/dist/types/beatui-i18n/translations.d.ts +71 -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/bigint-input.d.ts +3 -3
  126. package/dist/types/components/form/input/checkbox-input.d.ts +6 -7
  127. package/dist/types/components/form/input/color-input.d.ts +1 -1
  128. package/dist/types/components/form/input/color-swatch-input.d.ts +3 -3
  129. package/dist/types/components/form/input/combobox-input.d.ts +5 -5
  130. package/dist/types/components/form/input/combobox-tags-input.d.ts +5 -5
  131. package/dist/types/components/form/input/date-input.d.ts +4 -4
  132. package/dist/types/components/form/input/date-time-input.d.ts +4 -4
  133. package/dist/types/components/form/input/dropdown-input.d.ts +5 -5
  134. package/dist/types/components/form/input/editable-text.d.ts +2 -2
  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-bigint-input.d.ts +3 -3
  141. package/dist/types/components/form/input/nullable-date-input.d.ts +2 -2
  142. package/dist/types/components/form/input/nullable-date-time-input.d.ts +2 -2
  143. package/dist/types/components/form/input/nullable-rating-input.d.ts +8 -8
  144. package/dist/types/components/form/input/nullable-uuid-input.d.ts +4 -4
  145. package/dist/types/components/form/input/number-input.d.ts +3 -3
  146. package/dist/types/components/form/input/otp-input.d.ts +12 -12
  147. package/dist/types/components/form/input/rating-input.d.ts +7 -8
  148. package/dist/types/components/form/input/select-tags-input.d.ts +5 -5
  149. package/dist/types/components/form/input/switch.d.ts +2 -2
  150. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +82 -0
  151. package/dist/types/components/form/input/uuid-input.d.ts +2 -2
  152. package/dist/types/components/json-structure/controls/uuid-control.d.ts +1 -1
  153. package/dist/types/components/layout/card.d.ts +66 -0
  154. package/dist/types/components/layout/collapse.d.ts +2 -2
  155. package/dist/types/components/layout/flex.d.ts +26 -0
  156. package/dist/types/components/layout/index.d.ts +1 -0
  157. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  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/plugins/slash-commands.d.ts +1 -1
  176. package/dist/types/tokens/z-index.d.ts +18 -18
  177. package/dist/types/utils/use-animated-toggle.d.ts +12 -4
  178. package/dist/{ur-ZJgsSpG2.cjs → ur-CtFl_tz6.cjs} +1 -1
  179. package/dist/{ur-BcuB7IqE.js → ur-yYgj3NmT.js} +87 -11
  180. package/dist/use-animated-toggle-C3asw_Sg.js +207 -0
  181. package/dist/use-animated-toggle-cKcuItmz.cjs +1 -0
  182. package/dist/use-form-CaW192gw.cjs +2 -0
  183. package/dist/{use-form-CfxvyTfd.js → use-form-Dn6v2tEh.js} +153 -152
  184. package/dist/utils-DmEuG3Np.cjs +1 -0
  185. package/dist/utils-vUtP6iPG.js +165 -0
  186. package/dist/{vi-D0rQ3dIx.js → vi-D5u4CLQO.js} +88 -12
  187. package/dist/{vi-BOgLRkuK.cjs → vi-DyCZSpsk.cjs} +1 -1
  188. package/dist/widget-customization-B49MeU4E.cjs +1 -0
  189. package/dist/widget-customization-DEiQ_31d.js +1063 -0
  190. package/dist/{zh-DoYqiZO1.js → zh-B0kwMMer.js} +90 -14
  191. package/dist/{zh-BTZ8OZ4H.cjs → zh-C3ZxMQKb.cjs} +1 -1
  192. package/package.json +208 -37
  193. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -1
  194. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  195. package/dist/auth-divider-BgaQ8ifw.cjs +0 -1
  196. package/dist/colors-BI0YhONJ.cjs +0 -1
  197. package/dist/deep-merge-ChJQbUKq.cjs +0 -1
  198. package/dist/es-C8TpneCm.cjs +0 -1
  199. package/dist/hls.light.min-C6xKDzRR.cjs +0 -27
  200. package/dist/hls.light.min-hEMf_E8u.js +0 -8311
  201. package/dist/index-1JaBwDB-.js +0 -921
  202. package/dist/index-CN10Cyqr.cjs +0 -1
  203. package/dist/index-CTcbhnPw.cjs +0 -4
  204. package/dist/index-DF7RFzD9.cjs +0 -1
  205. package/dist/index-D_zOXmU5.cjs +0 -36
  206. package/dist/index-DfPkCwdC.js +0 -2709
  207. package/dist/index-vowHNIPH.js +0 -14308
  208. package/dist/index-yOU4Ceaq.js +0 -68
  209. package/dist/index-zQ3IYJFH.cjs +0 -1
  210. package/dist/input-container-BWYHj0Iq.cjs +0 -1
  211. package/dist/input-container-DMoVdH6E.js +0 -263
  212. package/dist/menu-De_-sGeb.cjs +0 -1
  213. package/dist/modal-CiGmgsOI.cjs +0 -1
  214. package/dist/notice-CPZQuxcA.cjs +0 -1
  215. package/dist/oneof-branch-detection-BFxukD63.cjs +0 -8
  216. package/dist/oneof-branch-detection-izpPjBCR.js +0 -6290
  217. package/dist/stack-4VUGISn6.cjs +0 -1
  218. package/dist/stack-Bm-UZosx.js +0 -879
  219. package/dist/string-B9vVyfq3.cjs +0 -1
  220. package/dist/string-DYyMxBl-.js +0 -19
  221. package/dist/text-input-BLupB3cU.js +0 -45
  222. package/dist/text-input-M6WBhhVj.cjs +0 -1
  223. package/dist/timer-BJHOsuS6.cjs +0 -1
  224. package/dist/timer-Rd2sKnvH.js +0 -65
  225. package/dist/toolbar-Be1eU0qU.js +0 -118
  226. package/dist/toolbar-WWv5kcYG.cjs +0 -1
  227. package/dist/translations-OOsMRpX9.cjs +0 -1
  228. package/dist/types/components/data/calendar-shared.d.ts +0 -59
  229. package/dist/types/components/data/calendar.d.ts +0 -107
  230. package/dist/types/components/data/icon-badge.d.ts +0 -14
  231. package/dist/types/components/data/range-calendar.d.ts +0 -104
  232. package/dist/types/components/data/tag.d.ts +0 -51
  233. package/dist/use-animated-toggle-C7PTmnZi.js +0 -195
  234. package/dist/use-animated-toggle-DrqK7nUS.cjs +0 -1
  235. package/dist/use-form-ClA0ZRco.cjs +0 -2
  236. package/dist/utils-DEbsp9Q9.js +0 -129
  237. package/dist/utils-DIUEhA-Z.cjs +0 -1
  238. package/dist/widget-customization-CLZNGavL.js +0 -1042
  239. package/dist/widget-customization-DtEEo35Y.cjs +0 -1
package/dist/beatui.css CHANGED
@@ -402,15 +402,15 @@ ol {
402
402
  --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);
403
403
  --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);
404
404
  --z-index-base: 0;
405
- --z-index-raised: 10;
406
- --z-index-navigation: 20;
407
- --z-index-sidebar: 20;
408
- --z-index-overlay: 50;
409
- --z-index-modal: 60;
410
- --z-index-tooltip: 70;
411
- --z-index-popover: 80;
412
- --z-index-notification: 90;
413
- --z-index-maximum: 100;
405
+ --z-index-raised: 100;
406
+ --z-index-navigation: 200;
407
+ --z-index-sidebar: 200;
408
+ --z-index-overlay: 500;
409
+ --z-index-modal: 600;
410
+ --z-index-tooltip: 700;
411
+ --z-index-popover: 800;
412
+ --z-index-notification: 900;
413
+ --z-index-maximum: 1000;
414
414
  --border-width-none: 0;
415
415
  --border-width-thin: 1px;
416
416
  --border-width-default: 1.5px;
@@ -1227,17 +1227,17 @@ a:focus-visible {
1227
1227
  gap: var(--spacing-xs);
1228
1228
  }
1229
1229
 
1230
- /* Title */
1230
+ /* Title — fixed font size across all sizes */
1231
1231
  .bc-action-card__title {
1232
- font-size: var(--font-size-lg);
1232
+ font-size: var(--font-size-md);
1233
1233
  font-weight: var(--font-weight-semibold);
1234
1234
  color: var(--action-card-title-color);
1235
1235
  line-height: var(--line-height-tight);
1236
1236
  }
1237
1237
 
1238
- /* Description */
1238
+ /* Description — fixed font size across all sizes */
1239
1239
  .bc-action-card__description {
1240
- font-size: var(--font-size-md);
1240
+ font-size: var(--font-size-sm);
1241
1241
  font-weight: var(--font-weight-normal);
1242
1242
  color: var(--action-card-description-color);
1243
1243
  line-height: var(--line-height-normal);
@@ -1283,59 +1283,27 @@ a:focus-visible {
1283
1283
  pointer-events: none;
1284
1284
  }
1285
1285
 
1286
- /* Size variants */
1286
+ /* Size variants — padding and gap only */
1287
1287
  .bc-action-card--xs {
1288
1288
  padding: var(--spacing-xs);
1289
1289
  gap: var(--spacing-xs);
1290
1290
  }
1291
1291
 
1292
- .bc-action-card--xs .bc-action-card__title {
1293
- font-size: var(--font-size-sm);
1294
- }
1295
-
1296
- .bc-action-card--xs .bc-action-card__description {
1297
- font-size: var(--font-size-xs);
1298
- }
1299
-
1300
1292
  .bc-action-card--sm {
1301
1293
  padding: var(--spacing-sm);
1302
1294
  gap: var(--spacing-sm);
1303
1295
  }
1304
1296
 
1305
- .bc-action-card--sm .bc-action-card__title {
1306
- font-size: var(--font-size-md);
1307
- }
1308
-
1309
- .bc-action-card--sm .bc-action-card__description {
1310
- font-size: var(--font-size-sm);
1311
- }
1312
-
1313
1297
  .bc-action-card--lg {
1314
- padding: var(--spacing-xl);
1298
+ padding: var(--spacing-lg);
1315
1299
  gap: var(--spacing-lg);
1316
1300
  }
1317
1301
 
1318
- .bc-action-card--lg .bc-action-card__title {
1319
- font-size: var(--font-size-xl);
1320
- }
1321
-
1322
- .bc-action-card--lg .bc-action-card__description {
1323
- font-size: var(--font-size-lg);
1324
- }
1325
-
1326
1302
  .bc-action-card--xl {
1327
- padding: var(--spacing-2xl);
1303
+ padding: var(--spacing-xl);
1328
1304
  gap: var(--spacing-xl);
1329
1305
  }
1330
1306
 
1331
- .bc-action-card--xl .bc-action-card__title {
1332
- font-size: var(--font-size-2xl);
1333
- }
1334
-
1335
- .bc-action-card--xl .bc-action-card__description {
1336
- font-size: var(--font-size-xl);
1337
- }
1338
-
1339
1307
  /* Focus styles for accessibility */
1340
1308
  .bc-action-card--clickable:focus-visible {
1341
1309
  outline: var(--outline-width-focus) solid var(--color-primary-500);
@@ -2378,8 +2346,8 @@ a:focus-visible {
2378
2346
 
2379
2347
  /* Bordered variant */
2380
2348
  .bc-avatar--bordered {
2381
- border: var(--border-width-medium) solid var(--color-white);
2382
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
2349
+ border: var(--border-width-medium) solid
2350
+ var(--avatar-border-color, var(--color-white));
2383
2351
  }
2384
2352
 
2385
2353
  /* Avatar Group */
@@ -2389,6 +2357,43 @@ a:focus-visible {
2389
2357
  flex-direction: row;
2390
2358
  }
2391
2359
 
2360
+ /* Group size cascades to child avatars */
2361
+ .bc-avatar-group--size-xs > .bc-avatar {
2362
+ width: var(--spacing-xl);
2363
+ height: var(--spacing-xl);
2364
+ font-size: var(--font-size-xs);
2365
+ }
2366
+
2367
+ .bc-avatar-group--size-sm > .bc-avatar {
2368
+ width: var(--spacing-2xl);
2369
+ height: var(--spacing-2xl);
2370
+ font-size: var(--font-size-sm);
2371
+ }
2372
+
2373
+ .bc-avatar-group--size-md > .bc-avatar {
2374
+ width: var(--spacing-2xlh);
2375
+ height: var(--spacing-2xlh);
2376
+ font-size: var(--font-size-md);
2377
+ }
2378
+
2379
+ .bc-avatar-group--size-lg > .bc-avatar {
2380
+ width: var(--spacing-3xl);
2381
+ height: var(--spacing-3xl);
2382
+ font-size: var(--font-size-lg);
2383
+ }
2384
+
2385
+ .bc-avatar-group--size-xl > .bc-avatar {
2386
+ width: var(--spacing-4xl);
2387
+ height: var(--spacing-4xl);
2388
+ font-size: var(--font-size-xl);
2389
+ }
2390
+
2391
+ .bc-avatar-group--size-2xl > .bc-avatar {
2392
+ width: calc(var(--spacing-base) * 24);
2393
+ height: calc(var(--spacing-base) * 24);
2394
+ font-size: var(--font-size-2xl);
2395
+ }
2396
+
2392
2397
  /* Tight spacing - avatars overlap */
2393
2398
  .bc-avatar-group--spacing-tight {
2394
2399
  gap: 0;
@@ -2422,8 +2427,10 @@ a:focus-visible {
2422
2427
  }
2423
2428
 
2424
2429
  .dark .bc-avatar--bordered {
2425
- border-color: var(--bg-background-dark, var(--color-base-950));
2426
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
2430
+ border-color: var(
2431
+ --avatar-border-color-dark,
2432
+ var(--bg-background-dark, var(--color-base-950))
2433
+ );
2427
2434
  }
2428
2435
 
2429
2436
  .dark .bc-avatar-group--spacing-tight > .bc-avatar,
@@ -2465,6 +2472,7 @@ a:focus-visible {
2465
2472
  display: inline-flex;
2466
2473
  align-items: center;
2467
2474
  justify-content: center;
2475
+ gap: var(--badge-gap, var(--control-gap-md));
2468
2476
  border: var(--border-width-default) solid var(--badge-border);
2469
2477
  font-family: var(
2470
2478
  --font-family-default-ui,
@@ -2563,49 +2571,40 @@ a:focus-visible {
2563
2571
  width: 100%;
2564
2572
  }
2565
2573
 
2566
- /* Dot variant - small colored circle indicator */
2567
- .bc-badge--dot {
2568
- width: var(--spacing-md);
2569
- height: var(--spacing-md);
2570
- min-width: var(--spacing-md);
2571
- padding: 0;
2572
- border-radius: 50%;
2573
- border: none;
2574
- }
2575
-
2576
- .bc-badge--dot .bc-badge__content {
2577
- display: none;
2578
- }
2579
-
2580
- /* Dot variant size adjustments */
2581
- .bc-badge--dot.bc-badge--size-xs {
2582
- width: var(--spacing-smh);
2583
- height: var(--spacing-smh);
2584
- min-width: var(--spacing-smh);
2574
+ /* Close button lightweight inline × */
2575
+ .bc-badge__close {
2576
+ all: unset;
2577
+ cursor: pointer;
2578
+ display: inline-flex;
2579
+ align-items: center;
2580
+ justify-content: center;
2581
+ font-size: inherit;
2582
+ line-height: var(--line-height-none);
2583
+ opacity: 0.5;
2584
+ transition: opacity var(--motion-transition-fast)
2585
+ var(--motion-easing-standard);
2585
2586
  }
2586
2587
 
2587
- .bc-badge--dot.bc-badge--size-sm {
2588
- width: var(--spacing-md);
2589
- height: var(--spacing-md);
2590
- min-width: var(--spacing-md);
2588
+ .bc-badge__close:hover {
2589
+ opacity: 1;
2591
2590
  }
2592
2591
 
2593
- .bc-badge--dot.bc-badge--size-md {
2594
- width: calc(var(--spacing-base) * 2.5);
2595
- height: calc(var(--spacing-base) * 2.5);
2596
- min-width: calc(var(--spacing-base) * 2.5);
2592
+ /* Disabled state */
2593
+ .bc-badge.bc-badge--disabled {
2594
+ opacity: 0.55;
2595
+ filter: grayscale(0.4) saturate(0.8);
2596
+ cursor: default;
2597
2597
  }
2598
2598
 
2599
- .bc-badge--dot.bc-badge--size-lg {
2600
- width: var(--spacing-mdh);
2601
- height: var(--spacing-mdh);
2602
- min-width: var(--spacing-mdh);
2599
+ .bc-badge.bc-badge--disabled .bc-badge__close {
2600
+ cursor: not-allowed;
2601
+ opacity: 0.6;
2602
+ pointer-events: none;
2603
2603
  }
2604
2604
 
2605
- .bc-badge--dot.bc-badge--size-xl {
2606
- width: calc(var(--spacing-base) * 3.5);
2607
- height: calc(var(--spacing-base) * 3.5);
2608
- min-width: calc(var(--spacing-base) * 3.5);
2605
+ .bc-badge.bc-badge--disabled .bc-badge__close:hover {
2606
+ color: inherit;
2607
+ border-color: transparent;
2609
2608
  }
2610
2609
 
2611
2610
  /* Dark mode styles */
@@ -2620,6 +2619,10 @@ a:focus-visible {
2620
2619
  color: var(--badge-text-hover-dark);
2621
2620
  }
2622
2621
 
2622
+ .dark .bc-badge__close {
2623
+ color: var(--badge-text-dark);
2624
+ }
2625
+
2623
2626
  /* Accessibility adjustments */
2624
2627
  @media (prefers-contrast: high) {
2625
2628
  .bc-badge {
@@ -3047,7 +3050,7 @@ a:focus-visible {
3047
3050
  flex-direction: column;
3048
3051
  border-radius: var(--radius-surface, var(--radius-lg));
3049
3052
  border: var(--border-width-thin) solid var(--card-border);
3050
- padding: var(--spacing-lg);
3053
+ padding: var(--spacing-md);
3051
3054
  box-shadow: var(--shadow-surface, var(--shadow-md));
3052
3055
  background-color: var(--card-bg);
3053
3056
  color: var(--card-text);
@@ -3117,6 +3120,68 @@ a:focus-visible {
3117
3120
  border-radius: var(--radius-full);
3118
3121
  }
3119
3122
 
3123
+ /* Remove Card padding when structured sub-components are used */
3124
+ .bc-card:has(
3125
+ > .bc-card__header,
3126
+ > .bc-card__body,
3127
+ > .bc-card__footer,
3128
+ > .bc-card__cover-image
3129
+ ) {
3130
+ padding: 0;
3131
+ }
3132
+
3133
+ /* Card sections */
3134
+ .bc-card__header {
3135
+ display: flex;
3136
+ align-items: center;
3137
+ gap: var(--spacing-sm);
3138
+ padding: var(--spacing-md);
3139
+ border-bottom: var(--border-width-thin) solid var(--card-border);
3140
+ background-color: var(
3141
+ --bg-surface-secondary,
3142
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
3143
+ );
3144
+ flex-shrink: 0;
3145
+ }
3146
+
3147
+ .bc-card__body {
3148
+ flex: 1;
3149
+ padding: var(--spacing-md);
3150
+ }
3151
+
3152
+ .bc-card__footer {
3153
+ display: flex;
3154
+ align-items: center;
3155
+ gap: var(--spacing-sm);
3156
+ padding: var(--spacing-md);
3157
+ border-top: var(--border-width-thin) solid var(--card-border);
3158
+ background-color: var(
3159
+ --bg-surface-secondary,
3160
+ color-mix(in srgb, var(--card-bg) 90%, var(--card-text) 10%)
3161
+ );
3162
+ flex-shrink: 0;
3163
+ justify-content: flex-end;
3164
+ }
3165
+
3166
+ /* Cover image */
3167
+ .bc-card__cover-image {
3168
+ width: 100%;
3169
+ object-fit: cover;
3170
+ flex-shrink: 0;
3171
+ }
3172
+
3173
+ .bc-card__cover-image:first-child {
3174
+ border-radius: inherit;
3175
+ border-bottom-left-radius: 0;
3176
+ border-bottom-right-radius: 0;
3177
+ }
3178
+
3179
+ .bc-card__cover-image:last-child {
3180
+ border-radius: inherit;
3181
+ border-top-left-radius: 0;
3182
+ border-top-right-radius: 0;
3183
+ }
3184
+
3120
3185
  /* Dark mode styles */
3121
3186
  .dark .bc-card--elevated {
3122
3187
  --card-bg: var(--bg-elevated);
@@ -3201,6 +3266,10 @@ a:focus-visible {
3201
3266
  color: var(--checkbox-checked-color);
3202
3267
  }
3203
3268
 
3269
+ .bc-checkbox-input__checkbox--indeterminate {
3270
+ color: var(--checkbox-checked-color);
3271
+ }
3272
+
3204
3273
  .bc-checkbox-input__checkbox--unchecked {
3205
3274
  color: var(--color-base-400);
3206
3275
  }
@@ -3231,6 +3300,10 @@ a:focus-visible {
3231
3300
  color: var(--color-primary-400);
3232
3301
  }
3233
3302
 
3303
+ .dark .bc-checkbox-input__checkbox--indeterminate {
3304
+ color: var(--color-primary-400);
3305
+ }
3306
+
3234
3307
  .dark .bc-checkbox-input__checkbox--unchecked {
3235
3308
  color: var(--color-base-500);
3236
3309
  }
@@ -3284,7 +3357,10 @@ a:focus-visible {
3284
3357
 
3285
3358
  .bc-color-swatch-input__control {
3286
3359
  position: relative;
3287
- display: inline-block;
3360
+ display: inline-flex;
3361
+ align-items: center;
3362
+ justify-content: center;
3363
+ flex: 0 0 auto;
3288
3364
  border-radius: var(--radius-control, var(--radius-md));
3289
3365
  overflow: visible;
3290
3366
  cursor: pointer;
@@ -3399,13 +3475,6 @@ a:focus-visible {
3399
3475
  outline: var(--outline-width-focus) solid var(--color-danger-400);
3400
3476
  }
3401
3477
 
3402
- /* Responsive styles */
3403
- @media (width >= 40rem) {
3404
- .bc-color-swatch-input__control {
3405
- width: calc(var(--spacing-base) * 11);
3406
- height: calc(var(--spacing-base) * 9);
3407
- }
3408
- }
3409
3478
 
3410
3479
  .bc-command-palette {
3411
3480
  display: flex;
@@ -3569,7 +3638,6 @@ a:focus-visible {
3569
3638
 
3570
3639
  .bc-dropdown__trigger {
3571
3640
  width: 100%;
3572
- height: calc(var(--spacing-base) * 4.75);
3573
3641
  display: flex;
3574
3642
  align-items: center;
3575
3643
  justify-content: space-between;
@@ -3590,11 +3658,8 @@ a:focus-visible {
3590
3658
  display: flex;
3591
3659
  align-items: center;
3592
3660
  justify-content: center;
3593
- width: var(--spacing-xl);
3594
- height: var(--spacing-xl);
3595
3661
  flex-shrink: 0;
3596
- margin-inline-start: var(--spacing-sm);
3597
- margin-inline-end: calc(var(--spacing-base) * -1.25);
3662
+ margin-inline-start: var(--spacing-xs);
3598
3663
  }
3599
3664
 
3600
3665
  /* Listbox (dropdown) */
@@ -4553,6 +4618,7 @@ a:focus-visible {
4553
4618
  display: flex;
4554
4619
  align-items: center;
4555
4620
  justify-content: center;
4621
+ font-size: inherit;
4556
4622
  transition: background-color
4557
4623
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4558
4624
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
@@ -4570,6 +4636,12 @@ a:focus-visible {
4570
4636
  background-color: var(--color-gray-200);
4571
4637
  }
4572
4638
 
4639
+ /* Scale icon to match text size */
4640
+ .bc-editable-text__edit-button .bc-icon {
4641
+ width: 1em;
4642
+ height: 1em;
4643
+ }
4644
+
4573
4645
  /* Dark mode styles */
4574
4646
  .dark .bc-editable-text {
4575
4647
  border-bottom-color: var(--border-default);
@@ -5530,19 +5602,19 @@ a:focus-visible {
5530
5602
  }
5531
5603
 
5532
5604
  .bc-group--gap-1 {
5533
- gap: var(--spacing-stack-xs, var(--spacing-sm));
5605
+ gap: var(--spacing-xs);
5534
5606
  }
5535
5607
 
5536
5608
  .bc-group--gap-2 {
5537
- gap: var(--spacing-stack-sm, var(--spacing-md));
5609
+ gap: var(--spacing-sm);
5538
5610
  }
5539
5611
 
5540
5612
  .bc-group--gap-4 {
5541
- gap: var(--spacing-stack-lg, var(--spacing-lg));
5613
+ gap: var(--spacing-lg);
5542
5614
  }
5543
5615
 
5544
5616
  .bc-group--gap-md {
5545
- gap: var(--spacing-stack-md, var(--spacing-mdh));
5617
+ gap: var(--spacing-md);
5546
5618
  }
5547
5619
 
5548
5620
  .bc-group--grow {
@@ -5723,7 +5795,7 @@ a:focus-visible {
5723
5795
  }
5724
5796
 
5725
5797
  .dark .bc-history-timeline__filter--active {
5726
- background: rgba(37, 99, 235, 0.15);
5798
+ background: color-mix(in srgb, var(--color-primary-600) 15%, transparent);
5727
5799
  border-color: var(--color-primary-600);
5728
5800
  color: var(--color-primary-300);
5729
5801
  }
@@ -5762,18 +5834,18 @@ a:focus-visible {
5762
5834
  }
5763
5835
 
5764
5836
  .bc-icon--xs {
5765
- width: var(--spacing-mdh);
5766
- height: var(--spacing-mdh);
5837
+ width: var(--spacing-lg);
5838
+ height: var(--spacing-lg);
5767
5839
  }
5768
5840
 
5769
5841
  .bc-icon--sm {
5770
- width: var(--spacing-lg);
5771
- height: var(--spacing-lg);
5842
+ width: var(--spacing-lgh);
5843
+ height: var(--spacing-lgh);
5772
5844
  }
5773
5845
 
5774
5846
  .bc-icon--md {
5775
- width: calc(var(--spacing-base) * 4.8);
5776
- height: calc(var(--spacing-base) * 4.8);
5847
+ width: var(--spacing-xl);
5848
+ height: var(--spacing-xl);
5777
5849
  }
5778
5850
 
5779
5851
  .bc-icon--lg {
@@ -5786,16 +5858,120 @@ a:focus-visible {
5786
5858
  height: var(--spacing-3xl);
5787
5859
  }
5788
5860
 
5789
- .bc-icon-badge {
5861
+ /* Indicator Component */
5862
+ .bc-indicator {
5790
5863
  position: relative;
5791
5864
  display: inline-flex;
5792
5865
  }
5793
5866
 
5794
- .bc-icon-badge__indicator {
5867
+ .bc-indicator__badge {
5795
5868
  position: absolute;
5796
- top: calc(var(--spacing-base) * -1);
5797
- right: calc(var(--spacing-base) * -1);
5798
5869
  pointer-events: none;
5870
+ display: flex;
5871
+ align-items: center;
5872
+ justify-content: center;
5873
+ border-radius: 50%;
5874
+ font-family: var(
5875
+ --font-family-default-ui,
5876
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
5877
+ );
5878
+ font-weight: var(--font-weight-semibold);
5879
+ line-height: var(--line-height-none);
5880
+ white-space: nowrap;
5881
+ background-color: var(--indicator-bg);
5882
+ color: var(--indicator-text);
5883
+ }
5884
+
5885
+ /* Placement variants */
5886
+ .bc-indicator--top-right {
5887
+ top: 0;
5888
+ right: 0;
5889
+ transform: translate(40%, -40%);
5890
+ }
5891
+
5892
+ .bc-indicator--top-left {
5893
+ top: 0;
5894
+ left: 0;
5895
+ transform: translate(-40%, -40%);
5896
+ }
5897
+
5898
+ .bc-indicator--bottom-right {
5899
+ bottom: 0;
5900
+ right: 0;
5901
+ transform: translate(40%, 40%);
5902
+ }
5903
+
5904
+ .bc-indicator--bottom-left {
5905
+ bottom: 0;
5906
+ left: 0;
5907
+ transform: translate(-40%, 40%);
5908
+ }
5909
+
5910
+ /* Dot variant — small circle with no text */
5911
+ .bc-indicator--dot.bc-indicator--size-xs {
5912
+ width: var(--spacing-smh);
5913
+ height: var(--spacing-smh);
5914
+ }
5915
+
5916
+ .bc-indicator--dot.bc-indicator--size-sm {
5917
+ width: var(--spacing-md);
5918
+ height: var(--spacing-md);
5919
+ }
5920
+
5921
+ .bc-indicator--dot.bc-indicator--size-md {
5922
+ width: calc(var(--spacing-base) * 2.5);
5923
+ height: calc(var(--spacing-base) * 2.5);
5924
+ }
5925
+
5926
+ .bc-indicator--dot.bc-indicator--size-lg {
5927
+ width: var(--spacing-mdh);
5928
+ height: var(--spacing-mdh);
5929
+ }
5930
+
5931
+ .bc-indicator--dot.bc-indicator--size-xl {
5932
+ width: calc(var(--spacing-base) * 3.5);
5933
+ height: calc(var(--spacing-base) * 3.5);
5934
+ }
5935
+
5936
+ /* Count variant — pill badge with text */
5937
+ .bc-indicator--count {
5938
+ min-width: 1.25em;
5939
+ height: 1.25em;
5940
+ padding: 0 0.35em;
5941
+ border-radius: 999px;
5942
+ }
5943
+
5944
+ .bc-indicator--count.bc-indicator--size-xs {
5945
+ font-size: var(--font-size-xs);
5946
+ }
5947
+
5948
+ .bc-indicator--count.bc-indicator--size-sm {
5949
+ font-size: var(--font-size-xs);
5950
+ }
5951
+
5952
+ .bc-indicator--count.bc-indicator--size-md {
5953
+ font-size: var(--font-size-sm);
5954
+ }
5955
+
5956
+ .bc-indicator--count.bc-indicator--size-lg {
5957
+ font-size: var(--font-size-md);
5958
+ }
5959
+
5960
+ .bc-indicator--count.bc-indicator--size-xl {
5961
+ font-size: var(--font-size-lg);
5962
+ }
5963
+
5964
+ /* Dark mode */
5965
+ .dark .bc-indicator__badge {
5966
+ background-color: var(--indicator-bg-dark);
5967
+ color: var(--indicator-text-dark);
5968
+ }
5969
+
5970
+ /* Accessibility */
5971
+ @media (prefers-reduced-motion: reduce) {
5972
+ .bc-indicator__badge {
5973
+ transition: none;
5974
+ }
5799
5975
  }
5800
5976
 
5801
5977
  /* Input Adornment Component */
@@ -5954,8 +6130,6 @@ a:focus-visible {
5954
6130
  flex-direction: row;
5955
6131
  align-items: center;
5956
6132
  min-width: 0;
5957
- /* Horizontal padding only; vertical padding comes from size classes */
5958
- padding-inline: var(--spacing-lg);
5959
6133
  }
5960
6134
 
5961
6135
  .bc-input-container__input--grow {
@@ -5973,6 +6147,7 @@ a:focus-visible {
5973
6147
  outline: none;
5974
6148
  font: inherit;
5975
6149
  color: inherit;
6150
+ line-height: 1.1;
5976
6151
  }
5977
6152
 
5978
6153
  /* Normalize native element heights for consistent input container sizing */
@@ -5983,7 +6158,12 @@ a:focus-visible {
5983
6158
  line-height: var(--line-height-none);
5984
6159
  }
5985
6160
 
5986
- /* Password toggle button */
6161
+ .bc-input-container textarea {
6162
+ resize: vertical;
6163
+ line-height: var(--line-height-normal);
6164
+ }
6165
+
6166
+ /* Password toggle button */
5987
6167
  .bc-input-container__password-toggle {
5988
6168
  font-size: var(--font-size-sm);
5989
6169
  fill: var(--color-neutral-400);
@@ -6036,6 +6216,20 @@ a:focus-visible {
6036
6216
  align-items: center;
6037
6217
  }
6038
6218
 
6219
+ /* Tags selector (dropdown trigger area in select-tags) */
6220
+ .bc-input-container__tags-selector {
6221
+ flex-grow: 1;
6222
+ background-color: transparent;
6223
+ min-width: 100px;
6224
+ min-height: var(--spacing-lg);
6225
+ align-self: stretch;
6226
+ justify-self: stretch;
6227
+ display: flex;
6228
+ align-items: center;
6229
+ justify-content: flex-end;
6230
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6231
+ }
6232
+
6039
6233
  /* Tags input text field */
6040
6234
  .bc-input-container .bc-input-container__tags-input {
6041
6235
  min-width: 8rem;
@@ -9670,6 +9864,8 @@ a:focus-visible {
9670
9864
  overflow: hidden;
9671
9865
  width: 100%;
9672
9866
  height: 100%;
9867
+ outline: none;
9868
+ touch-action: none;
9673
9869
  }
9674
9870
 
9675
9871
  .bc-nine-slice-pane-container {
@@ -9677,18 +9873,27 @@ a:focus-visible {
9677
9873
  overflow: hidden;
9678
9874
  top: 0;
9679
9875
  left: 0;
9876
+ bottom: 0;
9877
+ right: 0;
9680
9878
  }
9681
9879
 
9682
9880
  .bc-nine-slice-pane {
9683
9881
  position: absolute;
9684
9882
  overflow: visible;
9685
9883
  }
9884
+
9885
+ .bc-nine-slice-pane-content {
9886
+ will-change: transform;
9887
+ }
9888
+
9889
+ /* Z-index layering: corners > sidebars > header/footer > body */
9686
9890
  .bc-nine-slice-top-start {
9687
9891
  z-index: 60;
9688
9892
  }
9689
9893
 
9690
9894
  .bc-nine-slice-header {
9691
9895
  z-index: 20;
9896
+ overflow: hidden;
9692
9897
  }
9693
9898
 
9694
9899
  .bc-nine-slice-top-end {
@@ -9697,14 +9902,17 @@ a:focus-visible {
9697
9902
 
9698
9903
  .bc-nine-slice-sidebar-start {
9699
9904
  z-index: 30;
9905
+ overflow: hidden;
9700
9906
  }
9701
9907
 
9702
9908
  .bc-nine-slice-body {
9703
9909
  z-index: 10;
9910
+ overflow: hidden;
9704
9911
  }
9705
9912
 
9706
9913
  .bc-nine-slice-sidebar-end {
9707
9914
  z-index: 40;
9915
+ overflow: hidden;
9708
9916
  }
9709
9917
 
9710
9918
  .bc-nine-slice-bottom-start {
@@ -9713,12 +9921,94 @@ a:focus-visible {
9713
9921
 
9714
9922
  .bc-nine-slice-footer {
9715
9923
  z-index: 50;
9924
+ overflow: hidden;
9716
9925
  }
9717
9926
 
9718
9927
  .bc-nine-slice-bottom-end {
9719
9928
  z-index: 90;
9720
9929
  }
9721
9930
 
9931
+ /* Scrollbar shared */
9932
+ .bc-nine-slice-scrollbar {
9933
+ position: absolute;
9934
+ z-index: 100;
9935
+ }
9936
+
9937
+ .bc-nine-slice-scrollbar-track {
9938
+ position: relative;
9939
+ width: 100%;
9940
+ height: 100%;
9941
+ background-color: var(--color-base-200);
9942
+ border-radius: 8px;
9943
+ }
9944
+
9945
+ .bc-nine-slice-scrollbar-thumb {
9946
+ position: absolute;
9947
+ border-radius: 8px;
9948
+ background-color: var(--color-base-400);
9949
+ cursor: grab;
9950
+ transition: background-color 150ms ease;
9951
+ }
9952
+
9953
+ .bc-nine-slice-scrollbar-thumb:hover {
9954
+ background-color: var(--color-base-500);
9955
+ }
9956
+
9957
+ .bc-nine-slice-scrollbar-thumb:active,
9958
+ .bc-nine-slice-scrollbar-thumb--dragging {
9959
+ background-color: var(--color-base-600);
9960
+ cursor: grabbing;
9961
+ }
9962
+
9963
+ /* Horizontal scrollbar */
9964
+ .bc-nine-slice-scrollbar--horizontal {
9965
+ left: 0;
9966
+ bottom: 0;
9967
+ height: 12px;
9968
+ }
9969
+
9970
+ .bc-nine-slice-scrollbar--horizontal .bc-nine-slice-scrollbar-thumb {
9971
+ top: 0;
9972
+ height: 100%;
9973
+ min-width: 24px;
9974
+ }
9975
+
9976
+ /* Vertical scrollbar */
9977
+ .bc-nine-slice-scrollbar--vertical {
9978
+ top: 0;
9979
+ right: 0;
9980
+ width: 12px;
9981
+ }
9982
+
9983
+ .bc-nine-slice-scrollbar--vertical .bc-nine-slice-scrollbar-thumb {
9984
+ left: 0;
9985
+ width: 100%;
9986
+ min-height: 24px;
9987
+ }
9988
+
9989
+ /* Hidden state */
9990
+ .bc-nine-slice-scrollbar--hidden {
9991
+ display: none;
9992
+ }
9993
+
9994
+ /* Dark mode */
9995
+ .dark .bc-nine-slice-scrollbar-track {
9996
+ background-color: var(--color-base-800);
9997
+ }
9998
+
9999
+ .dark .bc-nine-slice-scrollbar-thumb {
10000
+ background-color: var(--color-base-600);
10001
+ }
10002
+
10003
+ .dark .bc-nine-slice-scrollbar-thumb:hover {
10004
+ background-color: var(--color-base-500);
10005
+ }
10006
+
10007
+ .dark .bc-nine-slice-scrollbar-thumb:active,
10008
+ .dark .bc-nine-slice-scrollbar-thumb--dragging {
10009
+ background-color: var(--color-base-400);
10010
+ }
10011
+
9722
10012
  /* Number Input Component */
9723
10013
  .bc-number-input {
9724
10014
  text-align: end;
@@ -9797,6 +10087,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9797
10087
  var(--motion-easing-emphasis, cubic-bezier(0.33, 1, 0.68, 1));
9798
10088
  }
9799
10089
 
10090
+ /* When portaled to body, use fixed positioning to avoid layout interference */
10091
+ .bc-overlay--container-body {
10092
+ position: fixed;
10093
+ }
10094
+
9800
10095
  .bc-overlay[data-status='start-opening'],
9801
10096
  .bc-overlay[data-status='closing'] {
9802
10097
  backdrop-filter: blur(0);
@@ -9904,7 +10199,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9904
10199
  @layer components {
9905
10200
  .bc-announcement-bar {
9906
10201
  --announcement-bar-bg-color: var(--color-primary-600);
9907
- --announcement-bar-text-color: #ffffff;
10202
+ --announcement-bar-text-color: var(--color-white);
9908
10203
 
9909
10204
  position: absolute;
9910
10205
  top: 0;
@@ -9929,6 +10224,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9929
10224
  max-width: min(90%, 800px);
9930
10225
  }
9931
10226
 
10227
+ /* When portaled to body, use fixed positioning */
10228
+ body > .bc-announcement-bar {
10229
+ position: fixed;
10230
+ }
10231
+
9932
10232
  .bc-announcement-bar__content {
9933
10233
  display: flex;
9934
10234
  align-items: center;
@@ -9960,7 +10260,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9960
10260
 
9961
10261
  .bc-announcement-bar--dismissible .bc-announcement-bar__close button:hover {
9962
10262
  opacity: 1;
9963
- background-color: rgba(255, 255, 255, 0.1);
10263
+ background-color: color-mix(in srgb, var(--color-white) 10%, transparent);
9964
10264
  }
9965
10265
 
9966
10266
  /* Responsive adjustments */
@@ -10040,6 +10340,15 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10040
10340
 
10041
10341
  /* Pagination Component */
10042
10342
  .bc-pagination {
10343
+ --pagination-active-bg: var(--color-primary-500);
10344
+ --pagination-active-text: var(--color-white);
10345
+ --pagination-active-border: transparent;
10346
+ --pagination-active-bg-dark: var(--color-primary-600);
10347
+ --pagination-active-text-dark: var(--color-white);
10348
+ --pagination-active-border-dark: transparent;
10349
+ --pagination-hover-bg: var(--color-base-100);
10350
+ --pagination-hover-bg-dark: var(--color-base-700);
10351
+
10043
10352
  display: flex;
10044
10353
  align-items: center;
10045
10354
  gap: var(--spacing-xs);
@@ -10075,8 +10384,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10075
10384
  user-select: none;
10076
10385
  }
10077
10386
 
10078
- .bc-pagination__item:hover:not(:disabled) {
10079
- background-color: var(--color-base-100);
10387
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10388
+ background-color: var(--pagination-hover-bg);
10080
10389
  color: var(--color-base-900);
10081
10390
  }
10082
10391
 
@@ -10086,20 +10395,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10086
10395
  z-index: 1;
10087
10396
  }
10088
10397
 
10089
- /* Active Page */
10090
- .bc-pagination__item--active {
10091
- background-color: var(--color-primary-500);
10092
- color: var(--color-white);
10093
- border-color: transparent;
10094
- font-weight: var(--font-weight-semibold);
10095
- cursor: default;
10096
- }
10097
-
10098
- .bc-pagination__item--active:hover {
10099
- background-color: var(--color-primary-500);
10100
- color: var(--color-white);
10101
- }
10102
-
10103
10398
  /* Disabled State */
10104
10399
  .bc-pagination__item:disabled {
10105
10400
  opacity: 0.4;
@@ -10123,7 +10418,97 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10123
10418
  user-select: none;
10124
10419
  }
10125
10420
 
10126
- /* Size Variants */
10421
+ /* ------------------------------------------------------------------ */
10422
+ /* Variant: filled (default) */
10423
+ /* ------------------------------------------------------------------ */
10424
+ .bc-pagination--variant-filled .bc-pagination__item--active {
10425
+ background-color: var(--pagination-active-bg);
10426
+ color: var(--pagination-active-text);
10427
+ border-color: transparent;
10428
+ font-weight: var(--font-weight-semibold);
10429
+ cursor: default;
10430
+ }
10431
+
10432
+ /* ------------------------------------------------------------------ */
10433
+ /* Variant: outline */
10434
+ /* ------------------------------------------------------------------ */
10435
+ .bc-pagination--variant-outline .bc-pagination__item {
10436
+ border-color: var(--pagination-item-border, var(--color-base-300));
10437
+ }
10438
+
10439
+ .bc-pagination--variant-outline .bc-pagination__item--active {
10440
+ background-color: var(--pagination-active-bg);
10441
+ color: var(--pagination-active-text);
10442
+ border-color: var(--pagination-active-border);
10443
+ border-width: var(--border-width-default);
10444
+ font-weight: var(--font-weight-semibold);
10445
+ cursor: default;
10446
+ }
10447
+
10448
+ /* ------------------------------------------------------------------ */
10449
+ /* Variant: light */
10450
+ /* ------------------------------------------------------------------ */
10451
+ .bc-pagination--variant-light .bc-pagination__item {
10452
+ background-color: var(--pagination-item-bg, var(--color-base-100));
10453
+ }
10454
+
10455
+ .bc-pagination--variant-light .bc-pagination__item--active {
10456
+ background-color: var(--pagination-active-bg);
10457
+ color: var(--pagination-active-text);
10458
+ border-color: transparent;
10459
+ font-weight: var(--font-weight-semibold);
10460
+ cursor: default;
10461
+ }
10462
+
10463
+ /* ------------------------------------------------------------------ */
10464
+ /* Variant: subtle */
10465
+ /* ------------------------------------------------------------------ */
10466
+ .bc-pagination--variant-subtle .bc-pagination__item {
10467
+ border-radius: 0;
10468
+ border: none;
10469
+ border-bottom: 2px solid transparent;
10470
+ }
10471
+
10472
+ .bc-pagination--variant-subtle .bc-pagination__item--active {
10473
+ background-color: transparent;
10474
+ color: var(--pagination-active-text);
10475
+ border-bottom-color: var(--pagination-active-text);
10476
+ font-weight: var(--font-weight-bold);
10477
+ cursor: default;
10478
+ }
10479
+
10480
+ .bc-pagination--variant-subtle
10481
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10482
+ background-color: transparent;
10483
+ border-bottom-color: var(--color-base-300);
10484
+ }
10485
+
10486
+ .bc-pagination--variant-subtle .bc-pagination__dots {
10487
+ border-bottom: 2px solid transparent;
10488
+ }
10489
+
10490
+ /* ------------------------------------------------------------------ */
10491
+ /* Variant: pill */
10492
+ /* ------------------------------------------------------------------ */
10493
+ .bc-pagination--variant-pill .bc-pagination__item {
10494
+ border-radius: var(--radius-full);
10495
+ }
10496
+
10497
+ .bc-pagination--variant-pill .bc-pagination__item--active {
10498
+ background-color: var(--pagination-active-bg);
10499
+ color: var(--pagination-active-text);
10500
+ border-color: transparent;
10501
+ font-weight: var(--font-weight-semibold);
10502
+ cursor: default;
10503
+ }
10504
+
10505
+ .bc-pagination--variant-pill .bc-pagination__dots {
10506
+ border-radius: var(--radius-full);
10507
+ }
10508
+
10509
+ /* ------------------------------------------------------------------ */
10510
+ /* Size Variants */
10511
+ /* ------------------------------------------------------------------ */
10127
10512
  .bc-pagination--size-xs .bc-pagination__item,
10128
10513
  .bc-pagination--size-xs .bc-pagination__dots {
10129
10514
  min-width: var(--spacing-xl);
@@ -10159,24 +10544,63 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10159
10544
  font-size: var(--font-size-xl);
10160
10545
  }
10161
10546
 
10162
- /* Dark Mode Support */
10547
+ /* ------------------------------------------------------------------ */
10548
+ /* Dark Mode */
10549
+ /* ------------------------------------------------------------------ */
10163
10550
  .dark .bc-pagination__item {
10164
10551
  color: var(--color-base-300);
10165
10552
  }
10166
10553
 
10167
- .dark .bc-pagination__item:hover:not(:disabled) {
10168
- background-color: var(--color-base-700);
10554
+ .dark
10555
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10556
+ background-color: var(--pagination-hover-bg-dark);
10169
10557
  color: var(--color-base-100);
10170
10558
  }
10171
10559
 
10172
- .dark .bc-pagination__item--active {
10173
- background-color: var(--color-primary-600);
10174
- color: var(--color-white);
10560
+ /* Dark: filled */
10561
+ .dark .bc-pagination--variant-filled .bc-pagination__item--active {
10562
+ background-color: var(--pagination-active-bg-dark);
10563
+ color: var(--pagination-active-text-dark);
10175
10564
  }
10176
10565
 
10177
- .dark .bc-pagination__item--active:hover {
10178
- background-color: var(--color-primary-600);
10179
- color: var(--color-white);
10566
+ /* Dark: outline */
10567
+ .dark .bc-pagination--variant-outline .bc-pagination__item {
10568
+ border-color: var(--pagination-item-border-dark, var(--color-base-600));
10569
+ }
10570
+
10571
+ .dark .bc-pagination--variant-outline .bc-pagination__item--active {
10572
+ background-color: var(--pagination-active-bg-dark);
10573
+ color: var(--pagination-active-text-dark);
10574
+ border-color: var(--pagination-active-border-dark);
10575
+ }
10576
+
10577
+ /* Dark: light */
10578
+ .dark .bc-pagination--variant-light .bc-pagination__item {
10579
+ background-color: var(--pagination-item-bg-dark, var(--color-base-800));
10580
+ }
10581
+
10582
+ .dark .bc-pagination--variant-light .bc-pagination__item--active {
10583
+ background-color: var(--pagination-active-bg-dark);
10584
+ color: var(--pagination-active-text-dark);
10585
+ }
10586
+
10587
+ /* Dark: subtle */
10588
+ .dark .bc-pagination--variant-subtle .bc-pagination__item--active {
10589
+ color: var(--pagination-active-text-dark);
10590
+ border-bottom-color: var(--pagination-active-text-dark);
10591
+ }
10592
+
10593
+ .dark
10594
+ .bc-pagination--variant-subtle
10595
+ .bc-pagination__item:hover:not(:disabled):not(.bc-pagination__item--active) {
10596
+ background-color: transparent;
10597
+ border-bottom-color: var(--color-base-600);
10598
+ }
10599
+
10600
+ /* Dark: pill */
10601
+ .dark .bc-pagination--variant-pill .bc-pagination__item--active {
10602
+ background-color: var(--pagination-active-bg-dark);
10603
+ color: var(--pagination-active-text-dark);
10180
10604
  }
10181
10605
 
10182
10606
  .dark .bc-pagination__item:disabled:hover {
@@ -10188,21 +10612,22 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10188
10612
  color: var(--color-base-600);
10189
10613
  }
10190
10614
 
10191
- /* Reduced Motion Support */
10615
+ /* ------------------------------------------------------------------ */
10616
+ /* Reduced Motion & High Contrast */
10617
+ /* ------------------------------------------------------------------ */
10192
10618
  @media (prefers-reduced-motion: reduce) {
10193
10619
  .bc-pagination__item {
10194
10620
  transition: none;
10195
10621
  }
10196
10622
  }
10197
10623
 
10198
- /* High Contrast Mode Support */
10199
10624
  @media (prefers-contrast: high) {
10200
10625
  .bc-pagination__item {
10201
10626
  border-width: var(--border-width-medium);
10202
10627
  }
10203
10628
 
10204
10629
  .bc-pagination__item--active {
10205
- border-color: var(--color-primary-700);
10630
+ border-color: var(--pagination-active-border, var(--pagination-active-bg));
10206
10631
  }
10207
10632
 
10208
10633
  .bc-pagination__item:focus-visible {
@@ -10448,7 +10873,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10448
10873
  .bc-presence-highlight {
10449
10874
  background-color: color-mix(
10450
10875
  in srgb,
10451
- var(--presence-color, #2563eb) 12%,
10876
+ var(--presence-color, var(--color-primary-600)) 12%,
10452
10877
  transparent
10453
10878
  );
10454
10879
  border-radius: 1px;
@@ -10469,7 +10894,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10469
10894
  left: 0;
10470
10895
  width: 2px;
10471
10896
  height: calc(1em + 4px);
10472
- background: var(--presence-color, #2563eb);
10897
+ background: var(--presence-color, var(--color-primary-600));
10473
10898
  border-radius: 1px;
10474
10899
  }
10475
10900
 
@@ -10478,8 +10903,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10478
10903
  bottom: calc(100% + 2px);
10479
10904
  left: -1px;
10480
10905
  padding: 1px 6px;
10481
- background: var(--presence-color, #2563eb);
10482
- color: #fff;
10906
+ background: var(--presence-color, var(--color-primary-600));
10907
+ color: var(--color-white);
10483
10908
  font-size: 9px;
10484
10909
  font-weight: var(--font-weight-medium, 500);
10485
10910
  white-space: nowrap;
@@ -10531,7 +10956,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10531
10956
  position: relative;
10532
10957
  width: 100%;
10533
10958
  overflow: hidden;
10534
- border-radius: var(--radius-control, var(--radius-full));
10535
10959
  }
10536
10960
 
10537
10961
  .bc-progress-bar__track {
@@ -10555,14 +10979,17 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10555
10979
  /* Size variants */
10556
10980
  .bc-progress-bar--size-sm {
10557
10981
  height: var(--spacing-base);
10982
+ min-width: var(--spacing-2xl);
10558
10983
  }
10559
10984
 
10560
10985
  .bc-progress-bar--size-md {
10561
10986
  height: var(--spacing-md);
10987
+ min-width: var(--spacing-3xl);
10562
10988
  }
10563
10989
 
10564
10990
  .bc-progress-bar--size-lg {
10565
10991
  height: var(--spacing-mdh);
10992
+ min-width: var(--spacing-4xl);
10566
10993
  }
10567
10994
 
10568
10995
  /* Indeterminate state - animated sliding bar */
@@ -10671,18 +11098,14 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10671
11098
  isolation: isolate;
10672
11099
  }
10673
11100
 
10674
- /* Smooth scrolling for better UX */
10675
- .bc-scrollable-panel__body {
10676
- scroll-behavior: smooth;
10677
- }
10678
-
10679
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow,
10680
- .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow {
11101
+ /* Shadow containers always positioned, visibility controlled by opacity */
11102
+ .bc-scrollable-panel--header-shadow,
11103
+ .bc-scrollable-panel--footer-shadow {
10681
11104
  position: relative;
10682
11105
  width: 100%;
10683
11106
  flex-shrink: 0;
10684
- height: 0px;
10685
- z-index: 2;
11107
+ height: 0;
11108
+ z-index: 3;
10686
11109
  pointer-events: none;
10687
11110
  }
10688
11111
 
@@ -10691,26 +11114,30 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10691
11114
  width: 100%;
10692
11115
  height: var(--spacing-lgh);
10693
11116
  position: absolute;
10694
- transition: box-shadow
10695
- var(--motion-transition-slow, var(--motion-duration-slow, 0.5s))
11117
+ opacity: 0;
11118
+ transition: opacity
11119
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10696
11120
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10697
- box-shadow: var(--shadow-scrollable-panel-idle, 0 0 0 transparent);
10698
- background-color: transparent;
10699
11121
  }
10700
11122
 
10701
11123
  .bc-scrollable-panel--header-shadow > div {
10702
11124
  bottom: 0;
10703
- }
10704
-
10705
- .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
10706
11125
  box-shadow: var(--shadow-surface-elevated, var(--shadow-md));
10707
11126
  }
10708
11127
 
10709
11128
  .bc-scrollable-panel--footer-shadow > div {
10710
11129
  top: 0;
11130
+ box-shadow: var(--shadow-top-md, 0 -2px 6px rgba(0, 0, 0, 0.08));
11131
+ }
11132
+
11133
+ /* Show header shadow when scrolled down */
11134
+ .bc-scrollable-panel--scrolled-down .bc-scrollable-panel--header-shadow > div {
11135
+ opacity: 1;
10711
11136
  }
11137
+
11138
+ /* Show footer shadow when scrolled up (content below) */
10712
11139
  .bc-scrollable-panel--scrolled-up .bc-scrollable-panel--footer-shadow > div {
10713
- box-shadow: var(--shadow-top-md);
11140
+ opacity: 1;
10714
11141
  }
10715
11142
 
10716
11143
  /* Custom scrollbar styling (webkit browsers) */
@@ -10801,7 +11228,6 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10801
11228
  cursor: pointer;
10802
11229
  white-space: nowrap;
10803
11230
  font-weight: var(--font-weight-semibold);
10804
- text-transform: capitalize;
10805
11231
  color: var(--color-base-700);
10806
11232
  transition: color
10807
11233
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -10959,10 +11385,35 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10959
11385
  color: var(--text-normal);
10960
11386
  }
10961
11387
 
10962
- /* Dark background mode - inverted colors */
11388
+ /* Dark background mode - override semantic tokens to invert colors */
10963
11389
  .bc-sidebar--dark-bg {
10964
- background-color: var(--bg-background);
10965
- color: var(--text-normal);
11390
+ --bg-background: var(--bg-background-dark);
11391
+ --bg-surface: var(--bg-surface-dark);
11392
+ --text-normal: var(--text-normal-dark);
11393
+ --text-muted: var(--text-muted-dark);
11394
+ --text-inverted: var(--text-inverted-dark);
11395
+ --border-default: var(--border-border-dark);
11396
+ --border-divider: var(--border-divider-dark);
11397
+ --border-input: var(--border-input-dark);
11398
+ --border-strong: var(--border-strong-dark);
11399
+ --interactive-hover: var(--interactive-hover-dark);
11400
+ --interactive-active: var(--interactive-active-dark);
11401
+ --interactive-focus: var(--interactive-focus-dark);
11402
+ }
11403
+
11404
+ .dark .bc-sidebar--dark-bg {
11405
+ --bg-background: var(--bg-background-light);
11406
+ --bg-surface: var(--bg-surface-light);
11407
+ --text-normal: var(--text-normal-light);
11408
+ --text-muted: var(--text-muted-light);
11409
+ --text-inverted: var(--text-inverted-light);
11410
+ --border-default: var(--border-border-light);
11411
+ --border-divider: var(--border-divider-light);
11412
+ --border-input: var(--border-input-light);
11413
+ --border-strong: var(--border-strong-light);
11414
+ --interactive-hover: var(--interactive-hover-light);
11415
+ --interactive-active: var(--interactive-active-light);
11416
+ --interactive-focus: var(--interactive-focus-light);
10966
11417
  }
10967
11418
 
10968
11419
  .bc-sidebar-link {
@@ -10986,6 +11437,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10986
11437
 
10987
11438
  .bc-sidebar-link__content {
10988
11439
  flex: 1;
11440
+ text-align: start;
10989
11441
  }
10990
11442
 
10991
11443
  button.bc-sidebar-link:hover,
@@ -10997,6 +11449,25 @@ a.bc-sidebar-link:hover {
10997
11449
  span.bc-sidebar-link {
10998
11450
  font-weight: var(--font-weight-medium);
10999
11451
  width: 100%;
11452
+ background-color: var(--color-primary-50);
11453
+ color: var(--color-primary-700);
11454
+ border-radius: var(--radius-md);
11455
+ }
11456
+
11457
+ .dark span.bc-sidebar-link {
11458
+ background-color: var(--color-primary-950);
11459
+ color: var(--color-primary-200);
11460
+ }
11461
+
11462
+ /* Dark bg inverts the active link colors */
11463
+ .bc-sidebar--dark-bg span.bc-sidebar-link {
11464
+ background-color: var(--color-primary-950);
11465
+ color: var(--color-primary-200);
11466
+ }
11467
+
11468
+ .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11469
+ background-color: var(--color-primary-50);
11470
+ color: var(--color-primary-700);
11000
11471
  }
11001
11472
 
11002
11473
  .bc-sidebar-link--icon {
@@ -11061,83 +11532,41 @@ span.bc-sidebar-link {
11061
11532
  transform: rotate(-90deg);
11062
11533
  }
11063
11534
 
11064
- /* Dark mode styles */
11065
- .dark span.bc-sidebar-link {
11066
- color: var(--color-primary-200);
11067
- }
11068
-
11069
- /* Dark background mode styles - inverted colors in light theme */
11070
- .bc-sidebar--dark-bg button.bc-sidebar-link:hover,
11071
- .bc-sidebar--dark-bg a.bc-sidebar-link:hover {
11072
- background-color: var(--interactive-hover);
11535
+ .bc-sidebar-separator {
11536
+ border: none;
11537
+ border-top: var(--border-width-thin) solid var(--border-default);
11538
+ margin: var(--spacing-md) 0;
11073
11539
  }
11074
11540
 
11075
- .bc-sidebar--dark-bg span.bc-sidebar-link {
11076
- color: var(--color-primary-200);
11077
- }
11078
-
11079
- .bc-sidebar--dark-bg .bc-sidebar-link {
11080
- color: var(--text-normal);
11081
- }
11082
-
11083
- .bc-sidebar--dark-bg .bc-sidebar-link--icon {
11084
- color: var(--text-muted);
11085
- }
11086
-
11087
- .bc-sidebar--dark-bg .bc-sidebar-link--action {
11088
- color: var(--text-normal);
11089
- border: var(--border-width-thin) solid var(--border-default);
11090
- }
11091
-
11092
- .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
11093
- background-color: var(--interactive-hover);
11094
- border-color: var(--border-divider);
11095
- }
11096
-
11097
- .bc-sidebar--dark-bg .bc-sidebar-group--rail {
11098
- border-inline-start: var(--border-width-thin) solid var(--border-default);
11099
- }
11100
-
11101
- /* Dark background mode in dark theme - inverted back to light colors */
11102
- .dark .bc-sidebar--dark-bg span.bc-sidebar-link {
11103
- color: var(--color-primary-700);
11104
- }
11105
-
11106
- .bc-sidebar-separator {
11107
- border: none;
11108
- border-top: var(--border-width-thin) solid var(--border-default);
11109
- margin: var(--spacing-md) 0;
11110
- }
11111
-
11112
- /* Sink Component */
11113
- .bc-sink {
11114
- display: flex;
11115
- flex-direction: column;
11116
- border-radius: var(--radius-surface, var(--radius-lg));
11117
- border: var(--border-width-thin) solid var(--color-base-300);
11118
- padding: var(--spacing-md);
11119
- box-shadow: var(
11120
- --shadow-sink,
11121
- inset 0 0 0.25rem color-mix(in srgb, var(--color-black) 20%, transparent)
11122
- );
11123
- background-color: var(--color-base-50);
11124
- transition: all
11125
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11126
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11541
+ /* Sink Component */
11542
+ .bc-sink {
11543
+ display: flex;
11544
+ flex-direction: column;
11545
+ border-radius: var(--radius-surface, var(--radius-lg));
11546
+ border: var(--border-width-thin) solid var(--color-base-300);
11547
+ padding: var(--spacing-md);
11548
+ box-shadow: var(
11549
+ --shadow-sink,
11550
+ inset 0 1px 3px color-mix(in srgb, var(--color-black) 8%, transparent)
11551
+ );
11552
+ background-color: var(--color-base-50);
11553
+ transition: all
11554
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11555
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11127
11556
  }
11128
11557
 
11129
11558
  /* Sink variants */
11130
11559
  .bc-sink--deep {
11131
11560
  box-shadow: var(
11132
11561
  --shadow-sink-deep,
11133
- inset 0 0 0.5rem color-mix(in srgb, var(--color-black) 30%, transparent)
11562
+ inset 0 2px 6px color-mix(in srgb, var(--color-black) 12%, transparent)
11134
11563
  );
11135
11564
  }
11136
11565
 
11137
11566
  .bc-sink--shallow {
11138
11567
  box-shadow: var(
11139
11568
  --shadow-sink-shallow,
11140
- inset 0 0 0.125rem color-mix(in srgb, var(--color-black) 10%, transparent)
11569
+ inset 0 1px 2px color-mix(in srgb, var(--color-black) 5%, transparent)
11141
11570
  );
11142
11571
  }
11143
11572
 
@@ -11228,7 +11657,6 @@ span.bc-sidebar-link {
11228
11657
 
11229
11658
  display: block;
11230
11659
  background-color: var(--skeleton-bg);
11231
- border-radius: var(--radius-control, var(--radius-sm));
11232
11660
  overflow: hidden;
11233
11661
  position: relative;
11234
11662
  }
@@ -11318,15 +11746,15 @@ span.bc-sidebar-link {
11318
11746
  }
11319
11747
 
11320
11748
  .bc-stack--gap-1 {
11321
- gap: var(--spacing-stack-xs, var(--spacing-sm));
11749
+ gap: var(--spacing-xs);
11322
11750
  }
11323
11751
 
11324
11752
  .bc-stack--gap-2 {
11325
- gap: var(--spacing-stack-sm, var(--spacing-md));
11753
+ gap: var(--spacing-sm);
11326
11754
  }
11327
11755
 
11328
11756
  .bc-stack--gap-4 {
11329
- gap: var(--spacing-stack-lg, var(--spacing-lg));
11757
+ gap: var(--spacing-lg);
11330
11758
  }
11331
11759
 
11332
11760
  .bc-stack--align-center {
@@ -11338,144 +11766,6 @@ span.bc-sidebar-link {
11338
11766
  width: 100%;
11339
11767
  }
11340
11768
 
11341
- /* Tag Component */
11342
- .bc-tag {
11343
- --tag-bg: var(--bg-subtle);
11344
- --tag-bg-dark: var(--bg-elevated);
11345
- --tag-text: var(--text-normal);
11346
- --tag-text-dark: var(--text-normal);
11347
- --tag-bg-hover: var(--tag-bg);
11348
- --tag-bg-hover-dark: var(--tag-bg-dark);
11349
- --tag-text-hover: var(--tag-text);
11350
- --tag-text-hover-dark: var(--tag-text-dark);
11351
- --tag-border: transparent;
11352
- --tag-border-dark: transparent;
11353
-
11354
- display: inline-flex;
11355
- flex-direction: row;
11356
- align-items: center;
11357
- border-radius: var(--radius-pill, var(--radius-full));
11358
- line-height: 1.2;
11359
- border: var(--border-width-thin) solid var(--tag-border);
11360
- transition: all
11361
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11362
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11363
- font-size: var(--font-size-md);
11364
- padding: 0 var(--spacing-md);
11365
- gap: var(--spacing-stack-sm, var(--spacing-md));
11366
- background-color: var(--tag-bg);
11367
- color: var(--tag-text);
11368
- font-family: var(
11369
- --font-family-default-ui,
11370
- var(--font-ui, var(--font-body, var(--font-family-sans)))
11371
- );
11372
- }
11373
-
11374
- .bc-tag:hover {
11375
- background-color: var(--tag-bg-hover);
11376
- color: var(--tag-text-hover);
11377
- }
11378
-
11379
- .bc-tag--xs {
11380
- font-size: var(--font-size-xs);
11381
- padding: 0 var(--spacing-sm);
11382
- }
11383
-
11384
- .bc-tag--sm {
11385
- font-size: var(--font-size-sm);
11386
- padding: 0 var(--spacing-smh);
11387
- }
11388
-
11389
- .bc-tag--lg {
11390
- font-size: var(--font-size-lg);
11391
- padding: 0 calc(var(--spacing-base) * 2.5);
11392
- }
11393
-
11394
- .bc-tag--xl {
11395
- font-size: var(--font-size-xl);
11396
- padding: 0 var(--spacing-mdh);
11397
- }
11398
-
11399
- .bc-tag:has(.bc-tag__close) {
11400
- padding-inline-end: calc(var(--spacing-base) * 0.5);
11401
- }
11402
-
11403
- /* Close button */
11404
- .bc-tag__close {
11405
- background: transparent;
11406
- color: var(--tag-text);
11407
- opacity: 0.6;
11408
- cursor: pointer;
11409
- display: flex;
11410
- align-items: center;
11411
- justify-content: center;
11412
- width: var(--spacing-lg);
11413
- height: var(--spacing-lg);
11414
- border-radius: var(--radius-full);
11415
- transition: all
11416
- var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11417
- var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11418
- border: var(--border-width-thin) solid transparent;
11419
- }
11420
-
11421
- .bc-tag__close:hover {
11422
- opacity: 1;
11423
- border-color: color-mix(in srgb, var(--tag-text) 30%, transparent);
11424
- }
11425
-
11426
- /* Disabled state via class */
11427
- .bc-tag.bc-tag--disabled {
11428
- opacity: 0.55;
11429
- filter: grayscale(0.4) saturate(0.8);
11430
- cursor: default;
11431
- }
11432
-
11433
- .bc-tag.bc-tag--disabled .bc-tag__close {
11434
- cursor: not-allowed;
11435
- opacity: 0.6;
11436
- pointer-events: none;
11437
- }
11438
-
11439
- /* Neutralize hover on disabled close button */
11440
- .bc-tag.bc-tag--disabled .bc-tag__close:hover {
11441
- color: inherit;
11442
- border-color: transparent;
11443
- }
11444
-
11445
- /* Dark mode styles */
11446
- .dark .bc-tag {
11447
- background-color: var(--tag-bg-dark);
11448
- color: var(--tag-text-dark);
11449
- border-color: var(--tag-border-dark);
11450
- }
11451
-
11452
- .dark .bc-tag:hover {
11453
- background-color: var(--tag-bg-hover-dark);
11454
- color: var(--tag-text-hover-dark);
11455
- }
11456
-
11457
- .dark .bc-tag__close {
11458
- color: var(--tag-text-dark);
11459
- }
11460
-
11461
- .dark .bc-tag__close:hover:not(:disabled) {
11462
- color: var(--tag-text-dark);
11463
- border-color: color-mix(in srgb, var(--tag-text-dark) 30%, transparent);
11464
- }
11465
-
11466
- .bc-input-container__tags-selector {
11467
- flex-grow: 1;
11468
- background-color: transparent;
11469
- min-width: 100px;
11470
- min-height: var(--spacing-lg);
11471
- align-self: stretch;
11472
- justify-self: stretch;
11473
- display: flex;
11474
- align-items: center;
11475
- justify-content: flex-end;
11476
- gap: var(--spacing-stack-sm, var(--spacing-md));
11477
- }
11478
-
11479
11769
  /* Switch Component */
11480
11770
  .bc-switch {
11481
11771
  display: inline-flex;
@@ -11944,6 +12234,7 @@ span.bc-sidebar-link {
11944
12234
  .bc-table--size-lg > tfoot > tr > th,
11945
12235
  .bc-table--size-lg > tfoot > tr > td {
11946
12236
  padding: var(--spacing-lg);
12237
+ font-size: var(--font-size-lg);
11947
12238
  }
11948
12239
 
11949
12240
  .bc-table--size-xl > thead > tr > th,
@@ -12112,13 +12403,14 @@ span.bc-sidebar-link {
12112
12403
  }
12113
12404
 
12114
12405
  .bc-tab:focus-visible {
12115
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12406
+ outline: var(--outline-width-focus) solid
12407
+ var(--tabs-indicator-color, var(--color-primary-500));
12116
12408
  outline-offset: calc(-1 * var(--outline-width-focus));
12117
12409
  z-index: 1;
12118
12410
  }
12119
12411
 
12120
12412
  .bc-tab--active {
12121
- color: var(--color-primary-600);
12413
+ color: var(--tabs-active-color, var(--color-primary-600));
12122
12414
  background-color: var(--color-white);
12123
12415
  font-weight: var(--font-weight-semibold);
12124
12416
  cursor: default;
@@ -12127,7 +12419,7 @@ span.bc-sidebar-link {
12127
12419
  .bc-tab--active::after {
12128
12420
  content: '';
12129
12421
  position: absolute;
12130
- background-color: var(--color-primary-500);
12422
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12131
12423
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
12132
12424
  }
12133
12425
 
@@ -12182,7 +12474,8 @@ span.bc-sidebar-link {
12182
12474
  }
12183
12475
 
12184
12476
  .bc-tabs__panel:focus-visible {
12185
- outline: var(--outline-width-focus) solid var(--color-primary-500);
12477
+ outline: var(--outline-width-focus) solid
12478
+ var(--tabs-indicator-color, var(--color-primary-500));
12186
12479
  outline-offset: calc(-1 * var(--outline-width-focus));
12187
12480
  }
12188
12481
 
@@ -12214,7 +12507,7 @@ span.bc-sidebar-link {
12214
12507
  }
12215
12508
 
12216
12509
  .dark .bc-tab--active {
12217
- color: var(--color-primary-400);
12510
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12218
12511
  background-color: var(--color-base-900);
12219
12512
  }
12220
12513
 
@@ -12254,28 +12547,6 @@ span.bc-sidebar-link {
12254
12547
  }
12255
12548
 
12256
12549
  /* Variants */
12257
- /* Text variant: minimal, link-like tabs */
12258
- .bc-tabs--variant-text .bc-tabs__list {
12259
- background-color: transparent;
12260
- border-bottom: none;
12261
- }
12262
- .bc-tabs--variant-text .bc-tab {
12263
- background: transparent;
12264
- color: var(--color-primary-600);
12265
- border-radius: 0;
12266
- }
12267
- .bc-tabs--variant-text .bc-tab:hover:not(.bc-tab--disabled) {
12268
- background: transparent;
12269
- text-decoration: underline;
12270
- }
12271
- .bc-tabs--variant-text .bc-tab--active {
12272
- background: transparent;
12273
- color: var(--color-primary-700);
12274
- font-weight: var(--font-weight-semibold);
12275
- }
12276
- .bc-tabs--variant-text .bc-tab--active::after {
12277
- display: none;
12278
- }
12279
12550
 
12280
12551
  /* Filled variant: inverted - inactive tabs filled with color, active is white */
12281
12552
  .bc-tabs--variant-filled .bc-tabs__list {
@@ -12326,31 +12597,36 @@ span.bc-sidebar-link {
12326
12597
  .bc-tabs--variant-outline .bc-tab {
12327
12598
  background-color: var(--color-base-50);
12328
12599
  border: var(--border-width-thin) solid var(--color-base-300);
12329
- border-bottom: var(--border-width-thin) solid var(--color-base-300);
12330
12600
  border-radius: var(--radius-control-sm, var(--radius-sm))
12331
12601
  var(--radius-control-sm, var(--radius-sm)) 0 0;
12332
12602
  }
12333
12603
  .bc-tabs--variant-outline .bc-tab--active {
12334
12604
  background-color: var(--color-white);
12335
- border-color: var(--color-primary-400);
12605
+ border-color: var(--tabs-outline-active-border, var(--color-primary-400));
12336
12606
  border-bottom-color: var(--color-white);
12337
12607
  }
12338
12608
  .bc-tabs--variant-outline .bc-tab--active::after {
12339
12609
  display: none;
12340
12610
  }
12341
-
12342
- /* Dark mode adjustments for variants */
12343
- .dark .bc-tabs--variant-text .bc-tabs__list {
12344
- background-color: transparent;
12345
- border-bottom: none;
12611
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tabs__list {
12612
+ border-right: none;
12346
12613
  }
12347
- .dark .bc-tabs--variant-text .bc-tab {
12348
- color: var(--color-primary-300);
12614
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab {
12615
+ border-radius: var(--radius-control-sm, var(--radius-sm)) 0 0
12616
+ var(--radius-control-sm, var(--radius-sm));
12349
12617
  }
12350
- .dark .bc-tabs--variant-text .bc-tab--active {
12351
- color: var(--color-primary-200);
12618
+ .bc-tabs--variant-outline .bc-tab--active {
12619
+ color: var(--tabs-active-color, var(--color-primary-600));
12620
+ }
12621
+ .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12622
+ border-bottom-color: var(
12623
+ --tabs-outline-active-border,
12624
+ var(--color-primary-400)
12625
+ );
12626
+ border-right-color: var(--color-white);
12352
12627
  }
12353
12628
 
12629
+ /* Dark mode adjustments for variants */
12354
12630
  .dark .bc-tabs--variant-filled .bc-tab {
12355
12631
  background-color: var(--tabs-filled-inactive-bg-dark);
12356
12632
  color: var(--tabs-filled-inactive-text-dark);
@@ -12377,9 +12653,20 @@ span.bc-sidebar-link {
12377
12653
  }
12378
12654
  .dark .bc-tabs--variant-outline .bc-tab--active {
12379
12655
  background-color: var(--color-base-900);
12380
- border-color: var(--color-primary-600);
12656
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12657
+ border-color: var(
12658
+ --tabs-outline-active-border-dark,
12659
+ var(--color-primary-600)
12660
+ );
12381
12661
  border-bottom-color: var(--color-base-900);
12382
12662
  }
12663
+ .dark .bc-tabs--vertical.bc-tabs--variant-outline .bc-tab--active {
12664
+ border-bottom-color: var(
12665
+ --tabs-outline-active-border-dark,
12666
+ var(--color-primary-600)
12667
+ );
12668
+ border-right-color: var(--color-base-900);
12669
+ }
12383
12670
 
12384
12671
  /* Underline variant: minimal, clean underline style */
12385
12672
  .bc-tabs--variant-underline .bc-tabs__list {
@@ -12421,16 +12708,29 @@ span.bc-sidebar-link {
12421
12708
  }
12422
12709
 
12423
12710
  .bc-tabs--variant-underline .bc-tab--active {
12424
- color: var(--color-primary-600);
12711
+ color: var(--tabs-active-color, var(--color-primary-600));
12425
12712
  background-color: transparent;
12426
12713
  font-weight: var(--font-weight-medium);
12427
12714
  }
12428
12715
 
12429
12716
  .bc-tabs--variant-underline .bc-tab--active::after {
12430
- background-color: var(--color-primary-500);
12717
+ background-color: var(--tabs-indicator-color, var(--color-primary-500));
12431
12718
  bottom: calc(-1 * var(--spacing-px));
12432
12719
  height: var(--spacing-xs);
12433
12720
  }
12721
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12722
+ border-bottom: none;
12723
+ border-right: var(--border-width-thin) solid var(--color-base-200);
12724
+ }
12725
+ .bc-tabs--vertical.bc-tabs--variant-underline .bc-tab--active::after {
12726
+ bottom: auto;
12727
+ left: auto;
12728
+ height: auto;
12729
+ right: calc(-1 * var(--spacing-px));
12730
+ top: 0;
12731
+ bottom: 0;
12732
+ width: var(--spacing-xs);
12733
+ }
12434
12734
 
12435
12735
  /* Pill variant: segmented button style with contained tabs */
12436
12736
  .bc-tabs--variant-pill .bc-tabs__list {
@@ -12485,6 +12785,10 @@ span.bc-sidebar-link {
12485
12785
  .bc-tabs--variant-pill .bc-tab--active::after {
12486
12786
  display: none;
12487
12787
  }
12788
+ .bc-tabs--vertical.bc-tabs--variant-pill .bc-tabs__list {
12789
+ display: flex;
12790
+ flex-direction: column;
12791
+ }
12488
12792
 
12489
12793
  /* Dark mode adjustments for underline variant */
12490
12794
  .dark .bc-tabs--variant-underline .bc-tabs__list {
@@ -12503,11 +12807,15 @@ span.bc-sidebar-link {
12503
12807
  }
12504
12808
 
12505
12809
  .dark .bc-tabs--variant-underline .bc-tab--active {
12506
- color: var(--color-primary-400);
12810
+ color: var(--tabs-active-color-dark, var(--color-primary-400));
12507
12811
  }
12508
12812
 
12509
12813
  .dark .bc-tabs--variant-underline .bc-tab--active::after {
12510
- background-color: var(--color-primary-400);
12814
+ background-color: var(--tabs-indicator-color-dark, var(--color-primary-400));
12815
+ }
12816
+ .dark .bc-tabs--vertical.bc-tabs--variant-underline .bc-tabs__list {
12817
+ border-bottom: none;
12818
+ border-right-color: var(--color-base-700);
12511
12819
  }
12512
12820
 
12513
12821
  /* Dark mode adjustments for pill variant */
@@ -12551,7 +12859,8 @@ span.bc-sidebar-link {
12551
12859
 
12552
12860
  .bc-tag-input:focus-within {
12553
12861
  border-color: var(--color-primary-500);
12554
- box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
12862
+ box-shadow: 0 0 0 2px
12863
+ color-mix(in srgb, var(--color-primary-600) 12%, transparent);
12555
12864
  }
12556
12865
 
12557
12866
  .bc-tag-input--error {
@@ -12559,7 +12868,8 @@ span.bc-sidebar-link {
12559
12868
  }
12560
12869
 
12561
12870
  .bc-tag-input--error:focus-within {
12562
- box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
12871
+ box-shadow: 0 0 0 2px
12872
+ color-mix(in srgb, var(--color-danger-600) 12%, transparent);
12563
12873
  }
12564
12874
 
12565
12875
  .bc-tag-input--disabled {
@@ -12603,7 +12913,7 @@ span.bc-sidebar-link {
12603
12913
  padding: var(--spacing-xs) var(--spacing-smh);
12604
12914
  background: var(--color-base-100);
12605
12915
  border-radius: var(--radius-sm, 3px);
12606
- font-size: var(--font-size-xs);
12916
+ font-size: inherit;
12607
12917
  color: var(--color-base-700);
12608
12918
  white-space: nowrap;
12609
12919
  line-height: 1.4;
@@ -12985,7 +13295,7 @@ span.bc-sidebar-link {
12985
13295
  padding: calc(var(--spacing-base) * 0.75);
12986
13296
  background: var(--color-white);
12987
13297
  border-radius: var(--radius-lg);
12988
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
13298
+ box-shadow: var(--shadow-lg);
12989
13299
  border: var(--border-width-thin) solid var(--color-base-200);
12990
13300
  width: auto;
12991
13301
  }
@@ -13082,6 +13392,14 @@ span.bc-sidebar-link {
13082
13392
  color: oklch(0.5 0.15 250);
13083
13393
  }
13084
13394
 
13395
+ .bc-tree-item__row--size-xs {
13396
+ padding-top: calc(var(--spacing-xs) / 2);
13397
+ padding-bottom: calc(var(--spacing-xs) / 2);
13398
+ padding-right: var(--spacing-sm);
13399
+ font-size: var(--font-size-xs);
13400
+ min-height: var(--spacing-lg);
13401
+ }
13402
+
13085
13403
  .bc-tree-item__row--size-sm {
13086
13404
  padding-top: var(--spacing-xs);
13087
13405
  padding-bottom: var(--spacing-xs);
@@ -13106,6 +13424,14 @@ span.bc-sidebar-link {
13106
13424
  min-height: var(--spacing-2xlh);
13107
13425
  }
13108
13426
 
13427
+ .bc-tree-item__row--size-xl {
13428
+ padding-top: var(--spacing-md);
13429
+ padding-bottom: var(--spacing-md);
13430
+ padding-right: var(--spacing-lg);
13431
+ font-size: var(--font-size-xl);
13432
+ min-height: var(--spacing-3xl);
13433
+ }
13434
+
13109
13435
  .bc-tree-item__toggle {
13110
13436
  display: inline-flex;
13111
13437
  align-items: center;
@@ -13139,6 +13465,7 @@ span.bc-sidebar-link {
13139
13465
  }
13140
13466
 
13141
13467
  .bc-tree-item__label {
13468
+ text-align: left;
13142
13469
  flex: 1;
13143
13470
  overflow: hidden;
13144
13471
  text-overflow: ellipsis;
@@ -13638,7 +13965,7 @@ span.bc-sidebar-link {
13638
13965
  .bc-notification {
13639
13966
  --notification-accent-color: var(--color-primary-500);
13640
13967
  --notification-radius: var(--radius-lg);
13641
- --notification-bg: #fff;
13968
+ --notification-bg: var(--color-white);
13642
13969
  --notification-border-color: var(--color-base-200);
13643
13970
  --notification-text-color: var(--text-normal);
13644
13971
  --notification-muted-color: var(--text-muted);
@@ -13668,7 +13995,7 @@ span.bc-sidebar-link {
13668
13995
  justify-content: center;
13669
13996
  overflow: hidden;
13670
13997
  background-color: var(--notification-accent-color);
13671
- color: white;
13998
+ color: var(--color-white);
13672
13999
  }
13673
14000
 
13674
14001
  .bc-notification__accent {
@@ -13763,8 +14090,34 @@ span.bc-sidebar-link {
13763
14090
  }
13764
14091
  }
13765
14092
 
14093
+ .bc-notification-item {
14094
+ transition:
14095
+ opacity var(--motion-duration-base, 200ms)
14096
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
14097
+ transform var(--motion-duration-base, 200ms)
14098
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
14099
+ }
14100
+
14101
+ .bc-notification-item--entering {
14102
+ opacity: 0;
14103
+ transform: translateY(8px) scale(0.96);
14104
+ }
14105
+
14106
+ .bc-notification-item:not(.bc-notification-item--entering):not(
14107
+ .bc-notification-item--exiting
14108
+ ) {
14109
+ opacity: 1;
14110
+ transform: translateY(0) scale(1);
14111
+ }
14112
+
14113
+ .bc-notification-item--exiting {
14114
+ opacity: 0;
14115
+ transform: translateY(-8px) scale(0.96);
14116
+ }
14117
+
13766
14118
  @media (prefers-reduced-motion: reduce) {
13767
- .bc-notification {
14119
+ .bc-notification,
14120
+ .bc-notification-item {
13768
14121
  transition: none;
13769
14122
  }
13770
14123
  }
@@ -14655,6 +15008,7 @@ span.bc-sidebar-link {
14655
15008
  display: flex;
14656
15009
  align-items: center;
14657
15010
  justify-content: space-between;
15011
+ gap: var(--spacing-md);
14658
15012
  width: 100%;
14659
15013
  border: none;
14660
15014
  background: none;
@@ -14799,8 +15153,8 @@ span.bc-sidebar-link {
14799
15153
  }
14800
15154
  }
14801
15155
 
14802
- /* Calendar Component */
14803
- .bc-calendar {
15156
+ /* DatePicker Component */
15157
+ .bc-date-picker {
14804
15158
  display: inline-flex;
14805
15159
  flex-direction: column;
14806
15160
  background-color: var(--bg-background);
@@ -14810,13 +15164,13 @@ span.bc-sidebar-link {
14810
15164
  user-select: none;
14811
15165
  }
14812
15166
 
14813
- .bc-calendar--disabled {
15167
+ .bc-date-picker--disabled {
14814
15168
  opacity: 0.5;
14815
15169
  pointer-events: none;
14816
15170
  }
14817
15171
 
14818
15172
  /* Navigation header */
14819
- .bc-calendar__nav {
15173
+ .bc-date-picker__nav {
14820
15174
  display: flex;
14821
15175
  align-items: center;
14822
15176
  justify-content: space-between;
@@ -14824,7 +15178,7 @@ span.bc-sidebar-link {
14824
15178
  gap: var(--spacing-xs);
14825
15179
  }
14826
15180
 
14827
- .bc-calendar__nav-btn {
15181
+ .bc-date-picker__nav-btn {
14828
15182
  display: inline-flex;
14829
15183
  align-items: center;
14830
15184
  justify-content: center;
@@ -14839,21 +15193,21 @@ span.bc-sidebar-link {
14839
15193
  line-height: var(--line-height-none);
14840
15194
  }
14841
15195
 
14842
- .bc-calendar__nav-btn:hover:not(:disabled) {
15196
+ .bc-date-picker__nav-btn:hover:not(:disabled) {
14843
15197
  background-color: var(--bg-subtle);
14844
15198
  }
14845
15199
 
14846
- .bc-calendar__nav-btn:focus-visible {
15200
+ .bc-date-picker__nav-btn:focus-visible {
14847
15201
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14848
15202
  outline-offset: calc(-1 * var(--outline-width-focus));
14849
15203
  }
14850
15204
 
14851
- .bc-calendar__nav-btn:disabled {
15205
+ .bc-date-picker__nav-btn:disabled {
14852
15206
  cursor: not-allowed;
14853
15207
  opacity: 0.5;
14854
15208
  }
14855
15209
 
14856
- .bc-calendar__title {
15210
+ .bc-date-picker__title {
14857
15211
  flex: 1;
14858
15212
  text-align: center;
14859
15213
  font-weight: var(--font-weight-semibold);
@@ -14865,7 +15219,7 @@ span.bc-sidebar-link {
14865
15219
  gap: var(--spacing-sm);
14866
15220
  }
14867
15221
 
14868
- .bc-calendar__title-btn {
15222
+ .bc-date-picker__title-btn {
14869
15223
  background: none;
14870
15224
  border: none;
14871
15225
  border-radius: var(--radius-sm);
@@ -14879,47 +15233,47 @@ span.bc-sidebar-link {
14879
15233
  var(--motion-easing-standard);
14880
15234
  }
14881
15235
 
14882
- .bc-calendar__title-btn:hover:not(:disabled) {
15236
+ .bc-date-picker__title-btn:hover:not(:disabled) {
14883
15237
  background-color: var(--bg-subtle);
14884
15238
  }
14885
15239
 
14886
- .bc-calendar__title-btn:focus-visible {
15240
+ .bc-date-picker__title-btn:focus-visible {
14887
15241
  outline: var(--outline-width-focus) solid var(--color-primary-500);
14888
15242
  outline-offset: calc(-1 * var(--outline-width-focus));
14889
15243
  }
14890
15244
 
14891
- .bc-calendar__title-btn:disabled {
15245
+ .bc-date-picker__title-btn:disabled {
14892
15246
  cursor: not-allowed;
14893
15247
  opacity: 0.5;
14894
15248
  }
14895
15249
 
14896
15250
  /* Days view container */
14897
- .bc-calendar__days-view {
15251
+ .bc-date-picker__days-view {
14898
15252
  display: flex;
14899
15253
  flex-direction: column;
14900
15254
  min-height: calc(5 * var(--cal-cell-size));
14901
15255
  }
14902
15256
 
14903
15257
  /* Weekday headers */
14904
- .bc-calendar__weekdays {
15258
+ .bc-date-picker__weekdays {
14905
15259
  display: grid;
14906
15260
  grid-template-columns: repeat(7, 1fr);
14907
15261
  }
14908
15262
 
14909
- .bc-calendar__weekday {
15263
+ .bc-date-picker__weekday {
14910
15264
  text-align: center;
14911
15265
  font-weight: var(--font-weight-semibold);
14912
15266
  color: var(--text-muted);
14913
15267
  }
14914
15268
 
14915
15269
  /* Day grid */
14916
- .bc-calendar__grid {
15270
+ .bc-date-picker__grid {
14917
15271
  display: grid;
14918
15272
  grid-template-columns: repeat(7, 1fr);
14919
15273
  }
14920
15274
 
14921
15275
  /* Day cells */
14922
- .bc-calendar__day {
15276
+ .bc-date-picker__day {
14923
15277
  display: inline-flex;
14924
15278
  align-items: center;
14925
15279
  justify-content: center;
@@ -14933,42 +15287,42 @@ span.bc-sidebar-link {
14933
15287
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
14934
15288
  }
14935
15289
 
14936
- .bc-calendar__day:hover:not(:disabled) {
15290
+ .bc-date-picker__day:hover:not(:disabled) {
14937
15291
  background-color: var(--bg-subtle);
14938
15292
  }
14939
15293
 
14940
- .bc-calendar__day:focus-visible {
15294
+ .bc-date-picker__day:focus-visible {
14941
15295
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14942
15296
  outline-offset: calc(-1 * var(--outline-width-focus));
14943
15297
  }
14944
15298
 
14945
- .bc-calendar__day--outside {
15299
+ .bc-date-picker__day--outside {
14946
15300
  color: var(--text-muted);
14947
15301
  opacity: 0.4;
14948
15302
  }
14949
15303
 
14950
- .bc-calendar__day--today {
15304
+ .bc-date-picker__day--today {
14951
15305
  background-color: var(--cal-today-bg);
14952
15306
  color: var(--cal-today-text);
14953
15307
  font-weight: var(--font-weight-semibold);
14954
15308
  }
14955
15309
 
14956
- .bc-calendar__day--selected {
15310
+ .bc-date-picker__day--selected {
14957
15311
  background-color: var(--cal-selected-bg);
14958
15312
  color: var(--cal-selected-text);
14959
15313
  font-weight: var(--font-weight-bold);
14960
15314
  }
14961
15315
 
14962
- .bc-calendar__day--selected.bc-calendar__day--today {
15316
+ .bc-date-picker__day--selected.bc-date-picker__day--today {
14963
15317
  background-color: var(--cal-selected-bg);
14964
15318
  color: var(--cal-selected-text);
14965
15319
  }
14966
15320
 
14967
- .bc-calendar__day--selected:hover:not(:disabled) {
15321
+ .bc-date-picker__day--selected:hover:not(:disabled) {
14968
15322
  filter: brightness(0.9);
14969
15323
  }
14970
15324
 
14971
- .bc-calendar__day--disabled {
15325
+ .bc-date-picker__day--disabled {
14972
15326
  cursor: not-allowed;
14973
15327
  color: var(--text-muted);
14974
15328
  opacity: 0.4;
@@ -14976,23 +15330,23 @@ span.bc-sidebar-link {
14976
15330
  }
14977
15331
 
14978
15332
  /* Month and Year Picker Grid */
14979
- .bc-calendar__picker-grid {
15333
+ .bc-date-picker__picker-grid {
14980
15334
  display: grid;
14981
15335
  grid-template-columns: repeat(4, 1fr);
14982
15336
  gap: var(--spacing-xs);
14983
15337
  min-height: calc(5 * var(--cal-cell-size));
14984
15338
  }
14985
15339
 
14986
- .bc-calendar__picker-grid--months {
15340
+ .bc-date-picker__picker-grid--months {
14987
15341
  grid-template-rows: repeat(3, 1fr);
14988
15342
  }
14989
15343
 
14990
- .bc-calendar__picker-grid--years {
15344
+ .bc-date-picker__picker-grid--years {
14991
15345
  grid-template-rows: repeat(5, 1fr);
14992
15346
  }
14993
15347
 
14994
15348
  /* Month cells */
14995
- .bc-calendar__month-cell {
15349
+ .bc-date-picker__month-cell {
14996
15350
  display: inline-flex;
14997
15351
  align-items: center;
14998
15352
  justify-content: center;
@@ -15007,38 +15361,38 @@ span.bc-sidebar-link {
15007
15361
  padding: var(--spacing-xs);
15008
15362
  }
15009
15363
 
15010
- .bc-calendar__month-cell:hover:not(:disabled) {
15364
+ .bc-date-picker__month-cell:hover:not(:disabled) {
15011
15365
  background-color: var(--bg-subtle);
15012
15366
  }
15013
15367
 
15014
- .bc-calendar__month-cell:focus-visible {
15368
+ .bc-date-picker__month-cell:focus-visible {
15015
15369
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
15016
15370
  outline-offset: calc(-1 * var(--outline-width-focus));
15017
15371
  }
15018
15372
 
15019
- .bc-calendar__month-cell--current {
15373
+ .bc-date-picker__month-cell--current {
15020
15374
  background-color: var(--cal-selected-bg);
15021
15375
  color: var(--cal-selected-text);
15022
15376
  font-weight: var(--font-weight-bold);
15023
15377
  }
15024
15378
 
15025
- .bc-calendar__month-cell--current:hover:not(:disabled) {
15379
+ .bc-date-picker__month-cell--current:hover:not(:disabled) {
15026
15380
  filter: brightness(0.9);
15027
15381
  }
15028
15382
 
15029
- .bc-calendar__month-cell--active {
15383
+ .bc-date-picker__month-cell--active {
15030
15384
  background-color: var(--cal-today-bg);
15031
15385
  color: var(--cal-today-text);
15032
15386
  font-weight: var(--font-weight-semibold);
15033
15387
  }
15034
15388
 
15035
- .bc-calendar__month-cell--current.bc-calendar__month-cell--active {
15389
+ .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active {
15036
15390
  background-color: var(--cal-selected-bg);
15037
15391
  color: var(--cal-selected-text);
15038
15392
  }
15039
15393
 
15040
15394
  /* Year cells */
15041
- .bc-calendar__year-cell {
15395
+ .bc-date-picker__year-cell {
15042
15396
  display: inline-flex;
15043
15397
  align-items: center;
15044
15398
  justify-content: center;
@@ -15053,113 +15407,113 @@ span.bc-sidebar-link {
15053
15407
  padding: var(--spacing-xs);
15054
15408
  }
15055
15409
 
15056
- .bc-calendar__year-cell:hover:not(:disabled) {
15410
+ .bc-date-picker__year-cell:hover:not(:disabled) {
15057
15411
  background-color: var(--bg-subtle);
15058
15412
  }
15059
15413
 
15060
- .bc-calendar__year-cell:focus-visible {
15414
+ .bc-date-picker__year-cell:focus-visible {
15061
15415
  outline: var(--outline-width-focus) solid var(--cal-selected-bg);
15062
15416
  outline-offset: calc(-1 * var(--outline-width-focus));
15063
15417
  }
15064
15418
 
15065
- .bc-calendar__year-cell--current {
15419
+ .bc-date-picker__year-cell--current {
15066
15420
  background-color: var(--cal-selected-bg);
15067
15421
  color: var(--cal-selected-text);
15068
15422
  font-weight: var(--font-weight-bold);
15069
15423
  }
15070
15424
 
15071
- .bc-calendar__year-cell--current:hover:not(:disabled) {
15425
+ .bc-date-picker__year-cell--current:hover:not(:disabled) {
15072
15426
  filter: brightness(0.9);
15073
15427
  }
15074
15428
 
15075
- .bc-calendar__year-cell--active {
15429
+ .bc-date-picker__year-cell--active {
15076
15430
  background-color: var(--cal-today-bg);
15077
15431
  color: var(--cal-today-text);
15078
15432
  font-weight: var(--font-weight-semibold);
15079
15433
  }
15080
15434
 
15081
- .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15435
+ .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
15082
15436
  background-color: var(--cal-selected-bg);
15083
15437
  color: var(--cal-selected-text);
15084
15438
  }
15085
15439
 
15086
15440
  /* Size variants */
15087
- .bc-calendar--size-xs {
15441
+ .bc-date-picker--size-xs {
15088
15442
  --cal-cell-size: var(--spacing-xl);
15089
15443
  padding: var(--spacing-xs);
15090
15444
  font-size: var(--font-size-xs);
15091
15445
  width: calc(7 * var(--spacing-xl) + 2 * var(--spacing-xs) + 2px);
15092
15446
  }
15093
- .bc-calendar--size-xs .bc-calendar__nav-btn {
15447
+ .bc-date-picker--size-xs .bc-date-picker__nav-btn {
15094
15448
  width: var(--spacing-lgh);
15095
15449
  height: var(--spacing-lgh);
15096
15450
  font-size: var(--font-size-xs);
15097
15451
  }
15098
- .bc-calendar--size-xs .bc-calendar__day {
15452
+ .bc-date-picker--size-xs .bc-date-picker__day {
15099
15453
  width: var(--spacing-xl);
15100
15454
  height: var(--spacing-xl);
15101
15455
  font-size: var(--font-size-2xs);
15102
15456
  }
15103
- .bc-calendar--size-xs .bc-calendar__weekday {
15457
+ .bc-date-picker--size-xs .bc-date-picker__weekday {
15104
15458
  font-size: var(--font-size-2xs);
15105
15459
  padding: var(--spacing-2xs);
15106
15460
  }
15107
- .bc-calendar--size-xs .bc-calendar__month-cell,
15108
- .bc-calendar--size-xs .bc-calendar__year-cell {
15461
+ .bc-date-picker--size-xs .bc-date-picker__month-cell,
15462
+ .bc-date-picker--size-xs .bc-date-picker__year-cell {
15109
15463
  font-size: var(--font-size-2xs);
15110
15464
  }
15111
15465
 
15112
- .bc-calendar--size-sm {
15466
+ .bc-date-picker--size-sm {
15113
15467
  --cal-cell-size: calc(var(--spacing-base) * 7);
15114
15468
  padding: var(--spacing-sm);
15115
15469
  font-size: var(--font-size-sm);
15116
15470
  width: calc(7 * calc(var(--spacing-base) * 7) + 2 * var(--spacing-sm) + 2px);
15117
15471
  }
15118
- .bc-calendar--size-sm .bc-calendar__nav-btn {
15472
+ .bc-date-picker--size-sm .bc-date-picker__nav-btn {
15119
15473
  width: var(--spacing-xl);
15120
15474
  height: var(--spacing-xl);
15121
15475
  font-size: var(--font-size-sm);
15122
15476
  }
15123
- .bc-calendar--size-sm .bc-calendar__day {
15477
+ .bc-date-picker--size-sm .bc-date-picker__day {
15124
15478
  width: calc(var(--spacing-base) * 7);
15125
15479
  height: calc(var(--spacing-base) * 7);
15126
15480
  font-size: var(--font-size-xs);
15127
15481
  }
15128
- .bc-calendar--size-sm .bc-calendar__weekday {
15482
+ .bc-date-picker--size-sm .bc-date-picker__weekday {
15129
15483
  font-size: var(--font-size-xs);
15130
15484
  padding: var(--spacing-xs);
15131
15485
  }
15132
- .bc-calendar--size-sm .bc-calendar__month-cell,
15133
- .bc-calendar--size-sm .bc-calendar__year-cell {
15486
+ .bc-date-picker--size-sm .bc-date-picker__month-cell,
15487
+ .bc-date-picker--size-sm .bc-date-picker__year-cell {
15134
15488
  font-size: var(--font-size-xs);
15135
15489
  }
15136
15490
 
15137
- .bc-calendar--size-md {
15491
+ .bc-date-picker--size-md {
15138
15492
  --cal-cell-size: calc(var(--spacing-base) * 9);
15139
15493
  padding: var(--spacing-md);
15140
15494
  font-size: var(--font-size-md);
15141
15495
  width: calc(7 * calc(var(--spacing-base) * 9) + 2 * var(--spacing-md) + 2px);
15142
15496
  }
15143
- .bc-calendar--size-md .bc-calendar__nav-btn {
15497
+ .bc-date-picker--size-md .bc-date-picker__nav-btn {
15144
15498
  width: calc(var(--spacing-base) * 7);
15145
15499
  height: calc(var(--spacing-base) * 7);
15146
15500
  font-size: var(--font-size-md);
15147
15501
  }
15148
- .bc-calendar--size-md .bc-calendar__day {
15502
+ .bc-date-picker--size-md .bc-date-picker__day {
15149
15503
  width: calc(var(--spacing-base) * 9);
15150
15504
  height: calc(var(--spacing-base) * 9);
15151
15505
  font-size: var(--font-size-sm);
15152
15506
  }
15153
- .bc-calendar--size-md .bc-calendar__weekday {
15507
+ .bc-date-picker--size-md .bc-date-picker__weekday {
15154
15508
  font-size: var(--font-size-xs);
15155
15509
  padding: var(--spacing-xs);
15156
15510
  }
15157
- .bc-calendar--size-md .bc-calendar__month-cell,
15158
- .bc-calendar--size-md .bc-calendar__year-cell {
15511
+ .bc-date-picker--size-md .bc-date-picker__month-cell,
15512
+ .bc-date-picker--size-md .bc-date-picker__year-cell {
15159
15513
  font-size: var(--font-size-sm);
15160
15514
  }
15161
15515
 
15162
- .bc-calendar--size-lg {
15516
+ .bc-date-picker--size-lg {
15163
15517
  --cal-cell-size: calc(var(--spacing-base) * 10.5);
15164
15518
  padding: var(--spacing-lg);
15165
15519
  font-size: var(--font-size-lg);
@@ -15167,198 +15521,198 @@ span.bc-sidebar-link {
15167
15521
  7 * calc(var(--spacing-base) * 10.5) + 2 * var(--spacing-lg) + 2px
15168
15522
  );
15169
15523
  }
15170
- .bc-calendar--size-lg .bc-calendar__nav-btn {
15524
+ .bc-date-picker--size-lg .bc-date-picker__nav-btn {
15171
15525
  width: var(--spacing-2xl);
15172
15526
  height: var(--spacing-2xl);
15173
15527
  font-size: var(--font-size-lg);
15174
15528
  }
15175
- .bc-calendar--size-lg .bc-calendar__day {
15529
+ .bc-date-picker--size-lg .bc-date-picker__day {
15176
15530
  width: calc(var(--spacing-base) * 10.5);
15177
15531
  height: calc(var(--spacing-base) * 10.5);
15178
15532
  font-size: var(--font-size-md);
15179
15533
  }
15180
- .bc-calendar--size-lg .bc-calendar__weekday {
15534
+ .bc-date-picker--size-lg .bc-date-picker__weekday {
15181
15535
  font-size: var(--font-size-sm);
15182
15536
  padding: var(--spacing-sm);
15183
15537
  }
15184
- .bc-calendar--size-lg .bc-calendar__month-cell,
15185
- .bc-calendar--size-lg .bc-calendar__year-cell {
15538
+ .bc-date-picker--size-lg .bc-date-picker__month-cell,
15539
+ .bc-date-picker--size-lg .bc-date-picker__year-cell {
15186
15540
  font-size: var(--font-size-md);
15187
15541
  }
15188
15542
 
15189
- .bc-calendar--size-xl {
15543
+ .bc-date-picker--size-xl {
15190
15544
  --cal-cell-size: var(--spacing-3xl);
15191
15545
  padding: var(--spacing-xl);
15192
15546
  font-size: var(--font-size-xl);
15193
15547
  width: calc(7 * var(--spacing-3xl) + 2 * var(--spacing-xl) + 2px);
15194
15548
  }
15195
- .bc-calendar--size-xl .bc-calendar__nav-btn {
15549
+ .bc-date-picker--size-xl .bc-date-picker__nav-btn {
15196
15550
  width: calc(var(--spacing-base) * 9);
15197
15551
  height: calc(var(--spacing-base) * 9);
15198
15552
  font-size: var(--font-size-xl);
15199
15553
  }
15200
- .bc-calendar--size-xl .bc-calendar__day {
15554
+ .bc-date-picker--size-xl .bc-date-picker__day {
15201
15555
  width: var(--spacing-3xl);
15202
15556
  height: var(--spacing-3xl);
15203
15557
  font-size: var(--font-size-lg);
15204
15558
  }
15205
- .bc-calendar--size-xl .bc-calendar__weekday {
15559
+ .bc-date-picker--size-xl .bc-date-picker__weekday {
15206
15560
  font-size: var(--font-size-md);
15207
15561
  padding: var(--spacing-sm);
15208
15562
  }
15209
- .bc-calendar--size-xl .bc-calendar__month-cell,
15210
- .bc-calendar--size-xl .bc-calendar__year-cell {
15563
+ .bc-date-picker--size-xl .bc-date-picker__month-cell,
15564
+ .bc-date-picker--size-xl .bc-date-picker__year-cell {
15211
15565
  font-size: var(--font-size-lg);
15212
15566
  }
15213
15567
 
15214
15568
  /* Dark mode */
15215
- .dark .bc-calendar {
15569
+ .dark .bc-date-picker {
15216
15570
  background-color: var(--bg-background);
15217
15571
  border-color: var(--border-default);
15218
15572
  }
15219
15573
 
15220
- .dark .bc-calendar__nav-btn {
15574
+ .dark .bc-date-picker__nav-btn {
15221
15575
  color: var(--text-normal);
15222
15576
  }
15223
15577
 
15224
- .dark .bc-calendar__nav-btn:hover:not(:disabled) {
15578
+ .dark .bc-date-picker__nav-btn:hover:not(:disabled) {
15225
15579
  background-color: var(--bg-subtle);
15226
15580
  }
15227
15581
 
15228
- .dark .bc-calendar__title {
15582
+ .dark .bc-date-picker__title {
15229
15583
  color: var(--text-normal);
15230
15584
  }
15231
15585
 
15232
- .dark .bc-calendar__weekday {
15586
+ .dark .bc-date-picker__weekday {
15233
15587
  color: var(--text-muted);
15234
15588
  }
15235
15589
 
15236
- .dark .bc-calendar__day {
15590
+ .dark .bc-date-picker__day {
15237
15591
  color: var(--text-normal);
15238
15592
  }
15239
15593
 
15240
- .dark .bc-calendar__day:hover:not(:disabled) {
15594
+ .dark .bc-date-picker__day:hover:not(:disabled) {
15241
15595
  background-color: var(--bg-subtle);
15242
15596
  }
15243
15597
 
15244
- .dark .bc-calendar__day--selected {
15598
+ .dark .bc-date-picker__day--selected {
15245
15599
  background-color: var(--cal-selected-bg-dark);
15246
15600
  color: var(--cal-selected-text-dark);
15247
15601
  }
15248
15602
 
15249
- .dark .bc-calendar__day--today {
15603
+ .dark .bc-date-picker__day--today {
15250
15604
  background-color: var(--cal-today-bg-dark);
15251
15605
  color: var(--cal-today-text-dark);
15252
15606
  }
15253
15607
 
15254
- .dark .bc-calendar__day--selected.bc-calendar__day--today {
15608
+ .dark .bc-date-picker__day--selected.bc-date-picker__day--today {
15255
15609
  background-color: var(--cal-selected-bg-dark);
15256
15610
  color: var(--cal-selected-text-dark);
15257
15611
  }
15258
15612
 
15259
- .dark .bc-calendar__title-btn {
15613
+ .dark .bc-date-picker__title-btn {
15260
15614
  color: var(--text-normal);
15261
15615
  }
15262
15616
 
15263
- .dark .bc-calendar__title-btn:hover:not(:disabled) {
15617
+ .dark .bc-date-picker__title-btn:hover:not(:disabled) {
15264
15618
  background-color: var(--bg-subtle);
15265
15619
  }
15266
15620
 
15267
- .dark .bc-calendar__month-cell,
15268
- .dark .bc-calendar__year-cell {
15621
+ .dark .bc-date-picker__month-cell,
15622
+ .dark .bc-date-picker__year-cell {
15269
15623
  color: var(--text-normal);
15270
15624
  }
15271
15625
 
15272
- .dark .bc-calendar__month-cell:hover:not(:disabled),
15273
- .dark .bc-calendar__year-cell:hover:not(:disabled) {
15626
+ .dark .bc-date-picker__month-cell:hover:not(:disabled),
15627
+ .dark .bc-date-picker__year-cell:hover:not(:disabled) {
15274
15628
  background-color: var(--bg-subtle);
15275
15629
  }
15276
15630
 
15277
- .dark .bc-calendar__month-cell--current,
15278
- .dark .bc-calendar__year-cell--current {
15631
+ .dark .bc-date-picker__month-cell--current,
15632
+ .dark .bc-date-picker__year-cell--current {
15279
15633
  background-color: var(--cal-selected-bg-dark);
15280
15634
  color: var(--cal-selected-text-dark);
15281
15635
  }
15282
15636
 
15283
- .dark .bc-calendar__month-cell--active,
15284
- .dark .bc-calendar__year-cell--active {
15637
+ .dark .bc-date-picker__month-cell--active,
15638
+ .dark .bc-date-picker__year-cell--active {
15285
15639
  background-color: var(--cal-today-bg-dark);
15286
15640
  color: var(--cal-today-text-dark);
15287
15641
  }
15288
15642
 
15289
- .dark .bc-calendar__month-cell--current.bc-calendar__month-cell--active,
15290
- .dark .bc-calendar__year-cell--current.bc-calendar__year-cell--active {
15643
+ .dark .bc-date-picker__month-cell--current.bc-date-picker__month-cell--active,
15644
+ .dark .bc-date-picker__year-cell--current.bc-date-picker__year-cell--active {
15291
15645
  background-color: var(--cal-selected-bg-dark);
15292
15646
  color: var(--cal-selected-text-dark);
15293
15647
  }
15294
15648
 
15295
15649
  /* Range selection */
15296
- .bc-calendar__day--range-start,
15297
- .bc-calendar__day--range-end {
15650
+ .bc-date-picker__day--range-start,
15651
+ .bc-date-picker__day--range-end {
15298
15652
  background-color: var(--cal-selected-bg);
15299
15653
  color: var(--cal-selected-text);
15300
15654
  font-weight: var(--font-weight-bold);
15301
15655
  }
15302
15656
 
15303
- .bc-calendar__day--range-start {
15657
+ .bc-date-picker__day--range-start {
15304
15658
  border-radius: var(--radius-full) 0 0 var(--radius-full);
15305
15659
  }
15306
15660
 
15307
- .bc-calendar__day--range-end {
15661
+ .bc-date-picker__day--range-end {
15308
15662
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
15309
15663
  }
15310
15664
 
15311
- .bc-calendar__day--range-start.bc-calendar__day--range-end {
15665
+ .bc-date-picker__day--range-start.bc-date-picker__day--range-end {
15312
15666
  border-radius: var(--radius-full);
15313
15667
  }
15314
15668
 
15315
- .bc-calendar__day--in-range {
15669
+ .bc-date-picker__day--in-range {
15316
15670
  background-color: var(--cal-today-bg);
15317
15671
  color: var(--cal-today-text);
15318
15672
  border-radius: 0;
15319
15673
  }
15320
15674
 
15321
- .bc-calendar__day--preview.bc-calendar__day--in-range {
15675
+ .bc-date-picker__day--preview.bc-date-picker__day--in-range {
15322
15676
  opacity: 0.7;
15323
15677
  }
15324
15678
 
15325
- .bc-calendar__day--preview.bc-calendar__day--range-start,
15326
- .bc-calendar__day--preview.bc-calendar__day--range-end {
15679
+ .bc-date-picker__day--preview.bc-date-picker__day--range-start,
15680
+ .bc-date-picker__day--preview.bc-date-picker__day--range-end {
15327
15681
  opacity: 0.8;
15328
15682
  }
15329
15683
 
15330
- .bc-calendar__day--range-start:hover:not(:disabled),
15331
- .bc-calendar__day--range-end:hover:not(:disabled) {
15684
+ .bc-date-picker__day--range-start:hover:not(:disabled),
15685
+ .bc-date-picker__day--range-end:hover:not(:disabled) {
15332
15686
  filter: brightness(0.9);
15333
15687
  }
15334
15688
 
15335
15689
  /* Range selection - dark mode */
15336
- .dark .bc-calendar__day--range-start,
15337
- .dark .bc-calendar__day--range-end {
15690
+ .dark .bc-date-picker__day--range-start,
15691
+ .dark .bc-date-picker__day--range-end {
15338
15692
  background-color: var(--cal-selected-bg-dark);
15339
15693
  color: var(--cal-selected-text-dark);
15340
15694
  }
15341
15695
 
15342
- .dark .bc-calendar__day--in-range {
15696
+ .dark .bc-date-picker__day--in-range {
15343
15697
  background-color: var(--cal-today-bg-dark);
15344
15698
  color: var(--cal-today-text-dark);
15345
15699
  }
15346
15700
 
15347
15701
  /* Reduced motion */
15348
15702
  @media (prefers-reduced-motion: reduce) {
15349
- .bc-calendar__day {
15703
+ .bc-date-picker__day {
15350
15704
  transition: none;
15351
15705
  }
15352
- .bc-calendar__nav-btn {
15706
+ .bc-date-picker__nav-btn {
15353
15707
  transition: none;
15354
15708
  }
15355
- .bc-calendar__title-btn {
15709
+ .bc-date-picker__title-btn {
15356
15710
  transition: none;
15357
15711
  }
15358
- .bc-calendar__month-cell {
15712
+ .bc-date-picker__month-cell {
15359
15713
  transition: none;
15360
15714
  }
15361
- .bc-calendar__year-cell {
15715
+ .bc-date-picker__year-cell {
15362
15716
  transition: none;
15363
15717
  }
15364
15718
  }
@@ -15999,6 +16353,735 @@ span.bc-sidebar-link {
15999
16353
  --toggle-group-radius: var(--radius-full);
16000
16354
  }
16001
16355
 
16356
+ .bc-loading-overlay {
16357
+ position: absolute;
16358
+ inset: 0;
16359
+ display: flex;
16360
+ align-items: center;
16361
+ justify-content: center;
16362
+ background-color: color-mix(in srgb, var(--bg-surface) 75%, transparent);
16363
+ z-index: var(--z-index-raised);
16364
+ pointer-events: all;
16365
+ border-radius: inherit;
16366
+ }
16367
+
16368
+ .bc-loading-overlay__content {
16369
+ display: flex;
16370
+ flex-direction: column;
16371
+ align-items: center;
16372
+ gap: var(--spacing-sm);
16373
+ }
16374
+
16375
+ .bc-loading-overlay__message {
16376
+ font-size: var(--font-size-sm);
16377
+ color: var(--text-muted);
16378
+ }
16379
+
16380
+ /* Sortable Header */
16381
+ .bc-sortable-header {
16382
+ cursor: pointer;
16383
+ user-select: none;
16384
+ transition: background-color var(--motion-transition-fast)
16385
+ var(--motion-easing-standard);
16386
+ }
16387
+
16388
+ .bc-sortable-header:hover {
16389
+ background-color: var(--interactive-hover);
16390
+ }
16391
+
16392
+ .bc-sortable-header__content {
16393
+ display: flex;
16394
+ flex-direction: row;
16395
+ align-items: center;
16396
+ gap: var(--spacing-xs);
16397
+ }
16398
+
16399
+ .bc-sortable-header__label {
16400
+ flex: 1;
16401
+ }
16402
+
16403
+ .bc-sortable-header__icons {
16404
+ display: flex;
16405
+ flex-direction: row;
16406
+ align-items: center;
16407
+ gap: var(--spacing-2xs);
16408
+ flex-shrink: 0;
16409
+ }
16410
+
16411
+ .bc-sortable-header__icon {
16412
+ opacity: 0.45;
16413
+ transition: opacity var(--motion-transition-fast)
16414
+ var(--motion-easing-standard);
16415
+ }
16416
+
16417
+ .bc-sortable-header__icon--active {
16418
+ opacity: 1;
16419
+ }
16420
+
16421
+ .bc-sortable-header:hover .bc-sortable-header__icon {
16422
+ opacity: 0.8;
16423
+ }
16424
+
16425
+ .bc-sortable-header:hover .bc-sortable-header__icon--active {
16426
+ opacity: 1;
16427
+ }
16428
+
16429
+ /* Column Filter */
16430
+ .bc-column-filter {
16431
+ width: 100%;
16432
+ padding: var(--spacing-xs) var(--spacing-sm);
16433
+ border: var(--border-width-thin) solid var(--border-input);
16434
+ border-radius: var(--radius-control-sm);
16435
+ background-color: var(--bg-background);
16436
+ color: var(--text-normal);
16437
+ font-size: var(--font-size-sm);
16438
+ font-family: inherit;
16439
+ outline: none;
16440
+ transition: border-color var(--motion-transition-fast)
16441
+ var(--motion-easing-standard);
16442
+ }
16443
+
16444
+ .bc-column-filter:focus {
16445
+ border-color: var(--interactive-focus);
16446
+ box-shadow: 0 0 0 1px var(--interactive-focus);
16447
+ }
16448
+
16449
+ .bc-column-filter--size-xs {
16450
+ padding: var(--spacing-2xs) var(--spacing-xs);
16451
+ font-size: var(--font-size-xs);
16452
+ }
16453
+
16454
+ .bc-column-filter--size-sm {
16455
+ padding: var(--spacing-xs) var(--spacing-sm);
16456
+ font-size: var(--font-size-sm);
16457
+ }
16458
+
16459
+ .bc-column-filter--size-lg {
16460
+ padding: var(--spacing-sm) var(--spacing-md);
16461
+ font-size: var(--font-size-md);
16462
+ }
16463
+
16464
+ /* Selection Checkbox */
16465
+ .bc-selection-checkbox {
16466
+ cursor: pointer;
16467
+ accent-color: var(--color-primary-500);
16468
+ }
16469
+
16470
+ .bc-selection-checkbox--size-xs {
16471
+ width: 14px;
16472
+ height: 14px;
16473
+ }
16474
+
16475
+ .bc-selection-checkbox--size-sm {
16476
+ width: 16px;
16477
+ height: 16px;
16478
+ }
16479
+
16480
+ .bc-selection-checkbox--size-md {
16481
+ width: 18px;
16482
+ height: 18px;
16483
+ }
16484
+
16485
+ .bc-selection-checkbox--size-lg {
16486
+ width: 20px;
16487
+ height: 20px;
16488
+ }
16489
+
16490
+ .bc-selection-checkbox--size-xl {
16491
+ width: 24px;
16492
+ height: 24px;
16493
+ }
16494
+
16495
+ /* Data Toolbar */
16496
+ .bc-data-toolbar {
16497
+ display: flex;
16498
+ align-items: center;
16499
+ flex-wrap: wrap;
16500
+ gap: var(--spacing-sm);
16501
+ padding: var(--spacing-sm) var(--spacing-md);
16502
+ background-color: var(--bg-surface);
16503
+ border: var(--border-width-thin) solid var(--border-default);
16504
+ border-radius: var(--radius-control);
16505
+ margin-bottom: var(--spacing-sm);
16506
+ }
16507
+
16508
+ .bc-data-toolbar__selection {
16509
+ display: flex;
16510
+ align-items: center;
16511
+ gap: var(--spacing-sm);
16512
+ }
16513
+
16514
+ .bc-data-toolbar__selection-count {
16515
+ font-size: var(--font-size-sm);
16516
+ font-weight: var(--font-weight-medium);
16517
+ color: var(--text-muted);
16518
+ }
16519
+
16520
+ .bc-data-toolbar__action {
16521
+ display: inline-flex;
16522
+ align-items: center;
16523
+ gap: var(--spacing-xs);
16524
+ padding: var(--spacing-xs) var(--spacing-sm);
16525
+ border: var(--border-width-thin) solid var(--border-default);
16526
+ border-radius: var(--radius-control-sm);
16527
+ background-color: var(--bg-background);
16528
+ color: var(--text-normal);
16529
+ font-size: var(--font-size-sm);
16530
+ cursor: pointer;
16531
+ transition: background-color var(--motion-transition-fast);
16532
+ }
16533
+
16534
+ .bc-data-toolbar__action:hover {
16535
+ background-color: var(--interactive-hover);
16536
+ }
16537
+
16538
+ .bc-data-toolbar__action--secondary {
16539
+ border: none;
16540
+ background: none;
16541
+ color: var(--text-muted);
16542
+ }
16543
+
16544
+ .bc-data-toolbar__action--secondary:hover {
16545
+ color: var(--text-normal);
16546
+ background: none;
16547
+ }
16548
+
16549
+ .bc-data-toolbar__reset {
16550
+ display: inline-flex;
16551
+ align-items: center;
16552
+ gap: var(--spacing-xs);
16553
+ margin-left: auto;
16554
+ padding: var(--spacing-xs) var(--spacing-sm);
16555
+ border: none;
16556
+ background: none;
16557
+ color: var(--text-muted);
16558
+ font-size: var(--font-size-sm);
16559
+ cursor: pointer;
16560
+ transition: color var(--motion-transition-fast);
16561
+ }
16562
+
16563
+ .bc-data-toolbar__reset:hover {
16564
+ color: var(--color-danger-600);
16565
+ }
16566
+
16567
+ /* Data Table */
16568
+ .bc-data-table__wrapper {
16569
+ position: relative;
16570
+ min-height: 120px;
16571
+ }
16572
+
16573
+ .bc-data-table__filter-row > th {
16574
+ padding-top: var(--spacing-xs);
16575
+ padding-bottom: var(--spacing-xs);
16576
+ }
16577
+
16578
+ .bc-data-table__selection-header {
16579
+ width: calc(var(--spacing-base) * 10);
16580
+ }
16581
+
16582
+ .bc-table--size-xl .bc-data-table__selection-header {
16583
+ width: calc(var(--spacing-base) * 18);
16584
+ }
16585
+
16586
+ .bc-table--size-lg .bc-data-table__selection-header {
16587
+ width: calc(var(--spacing-base) * 14);
16588
+ }
16589
+
16590
+ .bc-table--size-sm .bc-data-table__selection-header {
16591
+ width: calc(var(--spacing-base) * 8);
16592
+ }
16593
+
16594
+ .bc-table--size-xs .bc-data-table__selection-header {
16595
+ width: calc(var(--spacing-base) * 6);
16596
+ }
16597
+
16598
+ .bc-data-table__selection-cell {
16599
+ width: 100%;
16600
+ height: 100%;
16601
+ display: flex;
16602
+ align-items: center;
16603
+ justify-content: center;
16604
+ }
16605
+
16606
+ .bc-data-table__row--clickable {
16607
+ cursor: pointer;
16608
+ }
16609
+
16610
+ .bc-data-table__row--selected {
16611
+ background-color: var(--color-primary-50);
16612
+ }
16613
+
16614
+ .bc-data-table__empty {
16615
+ text-align: center;
16616
+ padding: var(--spacing-xl);
16617
+ color: var(--text-muted);
16618
+ font-style: italic;
16619
+ }
16620
+
16621
+ .bc-data-table__pagination {
16622
+ display: flex;
16623
+ justify-items: center;
16624
+ justify-content: space-between;
16625
+ padding: var(--spacing-md) 0;
16626
+ }
16627
+
16628
+ /* Column Filter Panel */
16629
+ .bc-column-filter-panel__trigger-wrap {
16630
+ display: flex;
16631
+ justify-content: flex-end;
16632
+ }
16633
+
16634
+ .bc-column-filter-panel__trigger {
16635
+ display: inline-flex;
16636
+ align-items: center;
16637
+ justify-content: center;
16638
+ padding: var(--spacing-2xs);
16639
+ border: var(--border-width-thin) solid var(--border-default);
16640
+ border-radius: var(--radius-control-sm);
16641
+ background-color: var(--bg-background);
16642
+ color: var(--text-muted);
16643
+ cursor: pointer;
16644
+ position: relative;
16645
+ transition:
16646
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16647
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16648
+ }
16649
+
16650
+ .bc-column-filter-panel__trigger:hover {
16651
+ border-color: var(--interactive-hover);
16652
+ color: var(--text-normal);
16653
+ }
16654
+
16655
+ .bc-column-filter-panel__trigger--active {
16656
+ border-color: var(--color-primary-500);
16657
+ color: var(--color-primary-600);
16658
+ }
16659
+
16660
+ .bc-column-filter-panel__active-dot {
16661
+ position: absolute;
16662
+ top: -2px;
16663
+ right: -2px;
16664
+ width: 6px;
16665
+ height: 6px;
16666
+ border-radius: var(--radius-full);
16667
+ background-color: var(--color-primary-500);
16668
+ }
16669
+
16670
+ .bc-column-filter-panel {
16671
+ display: flex;
16672
+ flex-direction: column;
16673
+ gap: var(--spacing-sm);
16674
+ padding: var(--spacing-sm);
16675
+ width: 320px;
16676
+ }
16677
+
16678
+ .bc-column-filter-panel__mode {
16679
+ display: flex;
16680
+ justify-content: center;
16681
+ }
16682
+
16683
+ .bc-column-filter-panel__conditions {
16684
+ display: flex;
16685
+ flex-direction: column;
16686
+ gap: var(--spacing-sm);
16687
+ }
16688
+
16689
+ .bc-column-filter-panel__row {
16690
+ display: flex;
16691
+ flex-direction: column;
16692
+ gap: var(--spacing-2xs);
16693
+ }
16694
+
16695
+ .bc-column-filter-panel__row-header {
16696
+ display: flex;
16697
+ flex-direction: row;
16698
+ align-items: center;
16699
+ gap: var(--spacing-xs);
16700
+ }
16701
+
16702
+ .bc-column-filter-panel__operator {
16703
+ flex: 1 1 0;
16704
+ min-width: 0;
16705
+ }
16706
+
16707
+ .bc-column-filter-panel__value-wrap {
16708
+ display: flex;
16709
+ gap: var(--spacing-xs);
16710
+ }
16711
+
16712
+ .bc-column-filter-panel__value-wrap--hidden {
16713
+ display: none;
16714
+ }
16715
+
16716
+ .bc-column-filter-panel__value {
16717
+ flex: 1 1 auto;
16718
+ min-width: 0;
16719
+ }
16720
+
16721
+ .bc-column-filter-panel__add {
16722
+ display: flex;
16723
+ }
16724
+
16725
+ .bc-column-filter-panel__add-btn {
16726
+ border: none;
16727
+ background: none;
16728
+ color: var(--color-primary-600);
16729
+ font-size: var(--font-size-sm);
16730
+ cursor: pointer;
16731
+ padding: var(--spacing-2xs) 0;
16732
+ transition: color var(--motion-transition-fast);
16733
+ }
16734
+
16735
+ .bc-column-filter-panel__add-btn:hover {
16736
+ color: var(--color-primary-700);
16737
+ }
16738
+
16739
+ .bc-column-filter-panel__actions {
16740
+ display: flex;
16741
+ flex-direction: row;
16742
+ justify-content: flex-end;
16743
+ gap: var(--spacing-xs);
16744
+ padding-top: var(--spacing-xs);
16745
+ border-top: var(--border-width-thin) solid var(--border-default);
16746
+ }
16747
+
16748
+ /* Dark mode */
16749
+ .dark .bc-column-filter-panel__trigger {
16750
+ background-color: var(--bg-surface);
16751
+ }
16752
+
16753
+ .dark .bc-column-filter-panel__trigger--active {
16754
+ border-color: var(--color-primary-400);
16755
+ color: var(--color-primary-400);
16756
+ }
16757
+
16758
+ .dark .bc-column-filter-panel__active-dot {
16759
+ background-color: var(--color-primary-400);
16760
+ }
16761
+
16762
+ .dark .bc-column-filter-panel__add-btn {
16763
+ color: var(--color-primary-400);
16764
+ }
16765
+
16766
+ .dark .bc-column-filter-panel__add-btn:hover {
16767
+ color: var(--color-primary-300);
16768
+ }
16769
+
16770
+ .dark .bc-data-table__row--selected {
16771
+ background-color: var(--color-primary-950);
16772
+ }
16773
+
16774
+ .dark .bc-column-filter {
16775
+ background-color: var(--bg-surface);
16776
+ }
16777
+
16778
+ /* Column visibility toggle */
16779
+ .bc-data-table__column-toggle {
16780
+ display: flex;
16781
+ justify-content: flex-end;
16782
+ margin-bottom: var(--spacing-xs);
16783
+ }
16784
+
16785
+ .bc-data-table__column-toggle-btn {
16786
+ display: inline-flex;
16787
+ align-items: center;
16788
+ gap: var(--spacing-xs);
16789
+ padding: var(--spacing-xs) var(--spacing-sm);
16790
+ border: var(--border-width-thin) solid var(--border-default);
16791
+ border-radius: var(--radius-sm);
16792
+ background-color: var(--bg-surface);
16793
+ color: var(--text-muted);
16794
+ font-size: var(--font-size-sm);
16795
+ cursor: pointer;
16796
+ position: relative;
16797
+ transition:
16798
+ border-color var(--motion-transition-fast) var(--motion-easing-standard),
16799
+ color var(--motion-transition-fast) var(--motion-easing-standard);
16800
+ }
16801
+
16802
+ .bc-data-table__column-toggle-btn:hover {
16803
+ border-color: var(--interactive-hover);
16804
+ color: var(--text-normal);
16805
+ }
16806
+
16807
+ .bc-data-table__column-toggle-btn:focus-visible {
16808
+ outline: 2px solid var(--interactive-focus);
16809
+ outline-offset: 2px;
16810
+ }
16811
+
16812
+ .bc-data-table__column-toggle-btn--active {
16813
+ border-color: var(--color-primary-500);
16814
+ color: var(--color-primary-600);
16815
+ }
16816
+
16817
+ .bc-data-table__column-toggle-panel {
16818
+ display: flex;
16819
+ flex-direction: column;
16820
+ gap: var(--spacing-xs);
16821
+ padding: var(--spacing-sm);
16822
+ min-width: 180px;
16823
+ }
16824
+
16825
+ .dark .bc-data-table__column-toggle-btn {
16826
+ background-color: var(--bg-surface);
16827
+ }
16828
+
16829
+ .dark .bc-data-table__column-toggle-btn--active {
16830
+ border-color: var(--color-primary-400);
16831
+ color: var(--color-primary-400);
16832
+ }
16833
+
16834
+ /* Column Header Menu */
16835
+ .bc-column-header-menu {
16836
+ display: inline-flex;
16837
+ align-items: center;
16838
+ justify-content: center;
16839
+ cursor: pointer;
16840
+ color: var(--text-muted);
16841
+ transition: color var(--motion-transition-fast) var(--motion-easing-standard);
16842
+ }
16843
+
16844
+ .bc-column-header-menu:hover {
16845
+ color: var(--text-normal);
16846
+ }
16847
+
16848
+ /* Sortable header menu slot */
16849
+ .bc-sortable-header__menu {
16850
+ display: inline-flex;
16851
+ align-items: center;
16852
+ }
16853
+
16854
+ /* Row count footer */
16855
+ .bc-data-table__row-count {
16856
+ display: flex;
16857
+ justify-content: flex-end;
16858
+ padding: var(--spacing-xs) var(--spacing-sm);
16859
+ font-size: var(--font-size-xs);
16860
+ color: var(--text-muted);
16861
+ }
16862
+
16863
+ /* Column Reorder Drag */
16864
+ th.bc-data-table__header--dragging {
16865
+ opacity: 0.5;
16866
+ }
16867
+
16868
+ th.bc-data-table__header--drag-over {
16869
+ border-left: 2px solid var(--color-primary-500);
16870
+ }
16871
+
16872
+ /* Footer */
16873
+ .bc-data-table__footer-row {
16874
+ background-color: var(--bg-surface);
16875
+ font-size: var(--font-size-sm);
16876
+ font-weight: var(--font-weight-medium);
16877
+ color: var(--text-muted);
16878
+ }
16879
+
16880
+ .bc-data-table__footer-row td {
16881
+ padding: var(--spacing-xs) var(--spacing-sm);
16882
+ border-top: var(--border-width-thin) solid var(--border-default);
16883
+ }
16884
+
16885
+ .bc-data-table__group-footer-row {
16886
+ font-size: var(--font-size-xs);
16887
+ }
16888
+
16889
+ .bc-data-table__group-footer-row td {
16890
+ border-top: none;
16891
+ padding-top: var(--spacing-2xs);
16892
+ padding-bottom: var(--spacing-2xs);
16893
+ }
16894
+
16895
+ /* Group By */
16896
+ .bc-data-table__group-header {
16897
+ cursor: pointer;
16898
+ user-select: none;
16899
+ background-color: var(--bg-surface);
16900
+ }
16901
+
16902
+ .bc-data-table__group-header:hover {
16903
+ background-color: var(--interactive-hover);
16904
+ }
16905
+
16906
+ .bc-data-table__group-header-content {
16907
+ display: flex;
16908
+ align-items: center;
16909
+ gap: var(--spacing-sm);
16910
+ padding: var(--spacing-xs) 0;
16911
+ font-weight: var(--font-weight-semibold);
16912
+ font-size: var(--font-size-sm);
16913
+ }
16914
+
16915
+ .bc-data-table__group-toggle {
16916
+ display: inline-flex;
16917
+ align-items: center;
16918
+ justify-content: center;
16919
+ transition: transform var(--motion-transition-fast)
16920
+ var(--motion-easing-standard);
16921
+ }
16922
+
16923
+ .bc-data-table__group-toggle--collapsed {
16924
+ transform: rotate(-90deg);
16925
+ }
16926
+
16927
+ .bc-data-table__group-label {
16928
+ flex: 0 0 auto;
16929
+ }
16930
+
16931
+ .bc-data-table__group-count {
16932
+ color: var(--text-muted);
16933
+ font-weight: var(--font-weight-normal);
16934
+ font-size: var(--font-size-xs);
16935
+ }
16936
+
16937
+ .bc-data-table__group-footer-summary {
16938
+ margin-left: auto;
16939
+ color: var(--text-muted);
16940
+ font-weight: var(--font-weight-normal);
16941
+ font-size: var(--font-size-xs);
16942
+ white-space: nowrap;
16943
+ }
16944
+
16945
+ .dark .bc-data-table__group-header {
16946
+ background-color: var(--bg-surface);
16947
+ }
16948
+
16949
+ .dark .bc-data-table__group-header:hover {
16950
+ background-color: var(--interactive-hover);
16951
+ }
16952
+
16953
+ /* Tags Filter (inline checkbox list) */
16954
+ .bc-column-filter-tags {
16955
+ display: flex;
16956
+ flex-direction: column;
16957
+ gap: var(--spacing-xs);
16958
+ }
16959
+
16960
+ .bc-column-filter-tags__list {
16961
+ display: flex;
16962
+ flex-direction: column;
16963
+ gap: var(--spacing-2xs);
16964
+ max-height: 200px;
16965
+ overflow-y: auto;
16966
+ }
16967
+
16968
+ .bc-column-filter-tags__item {
16969
+ display: flex;
16970
+ align-items: center;
16971
+ gap: var(--spacing-xs);
16972
+ padding: var(--spacing-2xs) var(--spacing-xs);
16973
+ cursor: pointer;
16974
+ border-radius: var(--radius-control-sm);
16975
+ font-size: var(--font-size-sm);
16976
+ user-select: none;
16977
+ }
16978
+
16979
+ .bc-column-filter-tags__item:hover {
16980
+ background-color: var(--interactive-hover);
16981
+ }
16982
+
16983
+ /* Reduced motion */
16984
+ @media (prefers-reduced-motion: reduce) {
16985
+ .bc-sortable-header,
16986
+ .bc-sortable-header__icon,
16987
+ .bc-column-filter,
16988
+ .bc-column-filter-panel__trigger,
16989
+ .bc-column-filter-panel__add-btn,
16990
+ .bc-data-toolbar__action,
16991
+ .bc-data-toolbar__reset,
16992
+ .bc-data-table__column-toggle-btn,
16993
+ .bc-data-table__group-toggle {
16994
+ transition: none;
16995
+ }
16996
+ }
16997
+
16998
+ /* Shared flex modifiers for Stack and Group */
16999
+
17000
+ /* Gap */
17001
+ .bc-flex--gap-none {
17002
+ gap: 0;
17003
+ }
17004
+
17005
+ .bc-flex--gap-xs {
17006
+ gap: var(--spacing-xs);
17007
+ }
17008
+
17009
+ .bc-flex--gap-sm {
17010
+ gap: var(--spacing-sm);
17011
+ }
17012
+
17013
+ .bc-flex--gap-md {
17014
+ gap: var(--spacing-md);
17015
+ }
17016
+
17017
+ .bc-flex--gap-lg {
17018
+ gap: var(--spacing-lg);
17019
+ }
17020
+
17021
+ .bc-flex--gap-xl {
17022
+ gap: var(--spacing-xl);
17023
+ }
17024
+
17025
+ /* Align */
17026
+ .bc-flex--align-start {
17027
+ align-items: flex-start;
17028
+ }
17029
+
17030
+ .bc-flex--align-center {
17031
+ align-items: center;
17032
+ }
17033
+
17034
+ .bc-flex--align-end {
17035
+ align-items: flex-end;
17036
+ }
17037
+
17038
+ .bc-flex--align-stretch {
17039
+ align-items: stretch;
17040
+ }
17041
+
17042
+ .bc-flex--align-baseline {
17043
+ align-items: baseline;
17044
+ }
17045
+
17046
+ /* Justify */
17047
+ .bc-flex--justify-start {
17048
+ justify-content: flex-start;
17049
+ }
17050
+
17051
+ .bc-flex--justify-center {
17052
+ justify-content: center;
17053
+ }
17054
+
17055
+ .bc-flex--justify-end {
17056
+ justify-content: flex-end;
17057
+ }
17058
+
17059
+ .bc-flex--justify-between {
17060
+ justify-content: space-between;
17061
+ }
17062
+
17063
+ .bc-flex--justify-around {
17064
+ justify-content: space-around;
17065
+ }
17066
+
17067
+ .bc-flex--justify-evenly {
17068
+ justify-content: space-evenly;
17069
+ }
17070
+
17071
+ /* Wrap */
17072
+ .bc-flex--wrap {
17073
+ flex-wrap: wrap;
17074
+ }
17075
+
17076
+ .bc-flex--nowrap {
17077
+ flex-wrap: nowrap;
17078
+ }
17079
+
17080
+ /* Grow */
17081
+ .bc-flex--grow {
17082
+ flex-grow: 1;
17083
+ }
17084
+
16002
17085
 
16003
17086
  }
16004
17087