@tempots/beatui 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/ar-Wr6gMs-M.cjs +1 -0
  2. package/dist/{ar-C-kUt6f9.js → ar-fdUqbCvM.js} +154 -1
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/auth-divider-DewHpITQ.cjs +1 -0
  6. package/dist/{auth-divider-D_3gKZ6g.js → auth-divider-qnJuYK-x.js} +7 -7
  7. package/dist/beatui.css +2107 -171
  8. package/dist/beatui.tailwind.css +2107 -171
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +5 -5
  11. package/dist/{modal-YKqlh4Dk.js → custom-validation-BetUqAEz.js} +186 -186
  12. package/dist/custom-validation-CLscGHY4.cjs +1 -0
  13. package/dist/{de-CP0kbElb.js → de-C5-k5Eov.js} +156 -3
  14. package/dist/de-DZqdSEta.cjs +1 -0
  15. package/dist/deep-merge-D90SW1Ci.cjs +1 -0
  16. package/dist/deep-merge-ZVigk5Qf.js +1765 -0
  17. package/dist/{duration-input-BrYLC1js.cjs → duration-input-4AQnQpyo.cjs} +1 -1
  18. package/dist/{duration-input-CFu6vq-y.js → duration-input-GMBmT1BE.js} +4 -4
  19. package/dist/{editor-toolbar-group-QVdBUbB8.cjs → editor-toolbar-group-C_ft_T8D.cjs} +1 -1
  20. package/dist/{editor-toolbar-group-DWUWUO-B.js → editor-toolbar-group-FpOHrmtx.js} +2 -2
  21. package/dist/es-CJgYfRap.cjs +1 -0
  22. package/dist/{es-BtIkcnsw.js → es-h6jmoF4X.js} +156 -3
  23. package/dist/fa-BQ5PzwNY.cjs +1 -0
  24. package/dist/{fa-11-rZmQ-.js → fa-BuxK837l.js} +154 -1
  25. package/dist/fr-Bv3TG44U.cjs +1 -0
  26. package/dist/{fr-C-L2F8w2.js → fr-BwILQ9G2.js} +165 -12
  27. package/dist/he-5LbvgMCC.cjs +1 -0
  28. package/dist/{he-Bu1xGoQ9.js → he-yC9Sc7JD.js} +154 -1
  29. package/dist/{hi-CewH-MAH.js → hi-Da7rcCpP.js} +154 -1
  30. package/dist/hi-YWhWcG_L.cjs +1 -0
  31. package/dist/{index-BGKz2Nol.js → index-DI8bf9oC.js} +175 -172
  32. package/dist/index-DeUj-5ph.cjs +1 -0
  33. package/dist/index.cjs.js +4 -4
  34. package/dist/index.es.js +11806 -8105
  35. package/dist/{input-container-CO3DNqpp.js → input-container-8JFB11xN.js} +1 -1
  36. package/dist/{input-container-BkPcNDaZ.cjs → input-container-CyOgiiQD.cjs} +1 -1
  37. package/dist/it-BxOIJE45.cjs +1 -0
  38. package/dist/{it-5hiKQO_p.js → it-Yeklau78.js} +156 -3
  39. package/dist/ja-CNhjK06P.cjs +1 -0
  40. package/dist/{ja-CGfEmZrm.js → ja-Dxj9Q5Yd.js} +155 -2
  41. package/dist/json-schema/index.cjs.js +1 -1
  42. package/dist/json-schema/index.es.js +110 -110
  43. package/dist/json-schema-display/index.cjs.js +1 -1
  44. package/dist/json-schema-display/index.es.js +1 -1
  45. package/dist/json-structure/index.cjs.js +1 -1
  46. package/dist/json-structure/index.es.js +5 -5
  47. package/dist/ko-DgkqcXTs.cjs +1 -0
  48. package/dist/{ko-DZthvREd.js → ko-gn_MsegK.js} +154 -1
  49. package/dist/lexical/index.cjs.js +1 -1
  50. package/dist/lexical/index.es.js +4 -4
  51. package/dist/nl-Dy9lmbBO.cjs +1 -0
  52. package/dist/{nl-CcKyHlQ7.js → nl-vHNFtXXb.js} +162 -9
  53. package/dist/{notice-Du3tWJTW.js → notice-B6ojfenv.js} +4 -4
  54. package/dist/{notice-Q0A1gIho.cjs → notice-p2IqXS5-.cjs} +1 -1
  55. package/dist/{oneof-branch-detection-DSzC0PkO.js → oneof-branch-detection-Q_jxvJIA.js} +1 -1
  56. package/dist/{oneof-branch-detection-BEkAezNi.cjs → oneof-branch-detection-xDDDdYRk.cjs} +1 -1
  57. package/dist/pl-BtYbtsmG.cjs +1 -0
  58. package/dist/{pl-Mwtjp4MV.js → pl-C0UdHla0.js} +184 -31
  59. package/dist/prosemirror/index.cjs.js +1 -1
  60. package/dist/prosemirror/index.es.js +4 -4
  61. package/dist/pt-CtNmqQ1X.cjs +1 -0
  62. package/dist/{pt-BaTsY-8f.js → pt-DGKtfN0d.js} +156 -3
  63. package/dist/ru-BaL_NPRU.cjs +1 -0
  64. package/dist/{ru-CvbGmz5s.js → ru-CpXYLt-v.js} +154 -1
  65. package/dist/tailwind/preset.cjs.js +1 -1
  66. package/dist/tailwind/preset.es.js +1 -1
  67. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  68. package/dist/tailwind/vite-plugin.es.js +1 -1
  69. package/dist/{text-input-D_IxFd0M.cjs → text-input-DS5zlXb2.cjs} +1 -1
  70. package/dist/{text-input-BAn02BzO.js → text-input-NJypZSnE.js} +1 -1
  71. package/dist/{toolbar-CnecqhaU.cjs → toolbar-BBwfe8U9.cjs} +1 -1
  72. package/dist/{toolbar-BKan3NHw.js → toolbar-BF2L6WKC.js} +1 -1
  73. package/dist/{tr-YFqQdZjM.js → tr-DIFZDFW_.js} +156 -3
  74. package/dist/tr-DwOd87oB.cjs +1 -0
  75. package/dist/{translations-CxDUnbXn.js → translations-5cXBrENb.js} +1 -1
  76. package/dist/{translations-DT5QQ4WO.js → translations-BCMP-h52.js} +269 -115
  77. package/dist/{translations-C_-cObaF.cjs → translations-BqWc0ZHz.cjs} +1 -1
  78. package/dist/translations-EwEmHe3v.cjs +1 -0
  79. package/dist/types/beatui-i18n/default.d.ts +109 -0
  80. package/dist/types/beatui-i18n/locales/en.d.ts +109 -0
  81. package/dist/types/beatui-i18n/translations.d.ts +109 -0
  82. package/dist/types/components/button/copy-button.d.ts +42 -0
  83. package/dist/types/components/button/index.d.ts +1 -0
  84. package/dist/types/components/button/toggle-button-group.d.ts +2 -2
  85. package/dist/types/components/button/toggle-button.d.ts +2 -2
  86. package/dist/types/components/data/data-table-context.d.ts +9 -1
  87. package/dist/types/components/data/data-table-row-details.d.ts +21 -0
  88. package/dist/types/components/data/data-table-types.d.ts +23 -0
  89. package/dist/types/components/data/date-picker-shared.d.ts +2 -5
  90. package/dist/types/components/data/date-picker.d.ts +1 -1
  91. package/dist/types/components/data/date-range-picker.d.ts +1 -1
  92. package/dist/types/components/data/index.d.ts +4 -0
  93. package/dist/types/components/data/stat-card.d.ts +108 -0
  94. package/dist/types/components/data/time-picker.d.ts +54 -0
  95. package/dist/types/components/data/virtual-scrolling/index.d.ts +1 -0
  96. package/dist/types/components/data/virtual-scrolling/virtual-list.d.ts +91 -0
  97. package/dist/types/components/form/control/control.d.ts +5 -5
  98. package/dist/types/components/form/control/list-control.d.ts +11 -11
  99. package/dist/types/components/form/fieldset/fieldset.d.ts +60 -0
  100. package/dist/types/components/form/fieldset/index.d.ts +1 -0
  101. package/dist/types/components/form/index.d.ts +1 -0
  102. package/dist/types/components/form/input/checkbox-input.d.ts +1 -1
  103. package/dist/types/components/form/input/color-input.d.ts +1 -1
  104. package/dist/types/components/form/input/color-picker/canvas-draw.d.ts +12 -0
  105. package/dist/types/components/form/input/color-picker/channel-picker.d.ts +71 -0
  106. package/dist/types/components/form/input/color-picker/hex-color-picker.d.ts +20 -0
  107. package/dist/types/components/form/input/color-picker/hsl-color-picker.d.ts +14 -0
  108. package/dist/types/components/form/input/color-picker/hwb-color-picker.d.ts +15 -0
  109. package/dist/types/components/form/input/color-picker/index.d.ts +7 -0
  110. package/dist/types/components/form/input/color-picker/oklch-color-picker.d.ts +15 -0
  111. package/dist/types/components/form/input/color-picker/rgb-color-picker.d.ts +17 -0
  112. package/dist/types/components/form/input/color-swatch-input.d.ts +1 -1
  113. package/dist/types/components/form/input/combobox-input.d.ts +3 -3
  114. package/dist/types/components/form/input/combobox-tags-input.d.ts +1 -1
  115. package/dist/types/components/form/input/date-input.d.ts +1 -1
  116. package/dist/types/components/form/input/date-range-select-base.d.ts +23 -0
  117. package/dist/types/components/form/input/date-range-select.d.ts +64 -0
  118. package/dist/types/components/form/input/date-select.d.ts +52 -0
  119. package/dist/types/components/form/input/date-time-input.d.ts +2 -2
  120. package/dist/types/components/form/input/date-time-select-base.d.ts +23 -0
  121. package/dist/types/components/form/input/date-time-select.d.ts +66 -0
  122. package/dist/types/components/form/input/dropdown-input.d.ts +3 -3
  123. package/dist/types/components/form/input/email-input.d.ts +1 -1
  124. package/dist/types/components/form/input/field-layout.d.ts +64 -0
  125. package/dist/types/components/form/input/{input-wrapper.d.ts → field.d.ts} +23 -14
  126. package/dist/types/components/form/input/index.d.ts +19 -1
  127. package/dist/types/components/form/input/multi-select.d.ts +2 -2
  128. package/dist/types/components/form/input/native-select.d.ts +1 -1
  129. package/dist/types/components/form/input/nullable-date-select.d.ts +55 -0
  130. package/dist/types/components/form/input/nullable-date-time-select.d.ts +68 -0
  131. package/dist/types/components/form/input/nullable-time-select.d.ts +64 -0
  132. package/dist/types/components/form/input/number-input.d.ts +5 -40
  133. package/dist/types/components/form/input/number-stepper.d.ts +53 -0
  134. package/dist/types/components/form/input/open-date-range-select.d.ts +75 -0
  135. package/dist/types/components/form/input/otp-input.d.ts +2 -2
  136. package/dist/types/components/form/input/password-input.d.ts +1 -1
  137. package/dist/types/components/form/input/radio-group.d.ts +1 -1
  138. package/dist/types/components/form/input/range-slider.d.ts +23 -6
  139. package/dist/types/components/form/input/rating-input.d.ts +1 -1
  140. package/dist/types/components/form/input/segmented-input.d.ts +6 -2
  141. package/dist/types/components/form/input/segmented-select.d.ts +84 -0
  142. package/dist/types/components/form/input/select-tags-input.d.ts +1 -1
  143. package/dist/types/components/form/input/slider-input.d.ts +2 -2
  144. package/dist/types/components/form/input/sortable-list.d.ts +68 -0
  145. package/dist/types/components/form/input/switch.d.ts +1 -1
  146. package/dist/types/components/form/input/text-area.d.ts +1 -1
  147. package/dist/types/components/form/input/text-input.d.ts +1 -1
  148. package/dist/types/components/form/input/time-format.d.ts +31 -0
  149. package/dist/types/components/form/input/time-select-base.d.ts +23 -0
  150. package/dist/types/components/form/input/time-select.d.ts +61 -0
  151. package/dist/types/components/form/input/transfer-list.d.ts +56 -0
  152. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +1 -1
  153. package/dist/types/components/form/input/url-input.d.ts +1 -1
  154. package/dist/types/components/format/format-bigint.d.ts +64 -0
  155. package/dist/types/components/format/format-date-time.d.ts +54 -0
  156. package/dist/types/components/format/format-date.d.ts +82 -0
  157. package/dist/types/components/format/format-display-name.d.ts +70 -0
  158. package/dist/types/components/format/format-file-size.d.ts +30 -0
  159. package/dist/types/components/format/format-list.d.ts +61 -0
  160. package/dist/types/components/format/format-number.d.ts +88 -0
  161. package/dist/types/components/format/format-plural.d.ts +96 -0
  162. package/dist/types/components/format/format-relative-time.d.ts +62 -0
  163. package/dist/types/components/format/format-time.d.ts +66 -0
  164. package/dist/types/components/format/index.d.ts +11 -0
  165. package/dist/types/components/i18n/locale-selector.d.ts +1 -1
  166. package/dist/types/components/json-schema/controls/composition-shared.d.ts +1 -1
  167. package/dist/types/components/json-schema/controls/shared-utils.d.ts +3 -3
  168. package/dist/types/components/json-schema/widgets/string-controls.d.ts +2 -2
  169. package/dist/types/components/json-schema-display/display-wrapper.d.ts +1 -1
  170. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +1 -1
  171. package/dist/types/components/navigation/index.d.ts +1 -0
  172. package/dist/types/components/navigation/stepper.d.ts +102 -0
  173. package/dist/types/components/overlay/index.d.ts +1 -1
  174. package/dist/types/components/overlay/spotlight.d.ts +62 -0
  175. package/dist/types/index.d.ts +1 -0
  176. package/dist/types/utils/index.d.ts +0 -1
  177. package/dist/ur-D9nLchps.cjs +1 -0
  178. package/dist/{ur-CdnwwnG_.js → ur-DBst-TXc.js} +154 -1
  179. package/dist/use-form-Dcra7GeE.cjs +2 -0
  180. package/dist/{use-form-D_TJyZhP.js → use-form-NfobsGNl.js} +474 -434
  181. package/dist/{vi-Bwvz1d_n.js → vi-DQOJp32U.js} +183 -30
  182. package/dist/vi-Dg1aiMr5.cjs +1 -0
  183. package/dist/widget-customization-BtkexHgm.js +1458 -0
  184. package/dist/widget-customization-pqmtsraC.cjs +1 -0
  185. package/dist/{zh-hy7Uw6c5.js → zh-DPK4HXl2.js} +154 -1
  186. package/dist/zh-tbwSTbmn.cjs +1 -0
  187. package/package.json +9 -9
  188. package/dist/ar-Dc56zcjW.cjs +0 -1
  189. package/dist/auth-divider-itm5-j5G.cjs +0 -1
  190. package/dist/de-DboQlEC4.cjs +0 -1
  191. package/dist/deep-merge-Bydz6jLt.cjs +0 -1
  192. package/dist/deep-merge-CzZVsVF-.js +0 -1704
  193. package/dist/es-CAmE_0Ph.cjs +0 -1
  194. package/dist/fa-D9LrFZdW.cjs +0 -1
  195. package/dist/fr-DKogQyss.cjs +0 -1
  196. package/dist/he-CVx91Jdr.cjs +0 -1
  197. package/dist/hi-BgrHV72l.cjs +0 -1
  198. package/dist/index-DFF7Uahh.cjs +0 -1
  199. package/dist/it-B1rA1F9l.cjs +0 -1
  200. package/dist/ja-DZnjjqoi.cjs +0 -1
  201. package/dist/ko-CDnYKYWU.cjs +0 -1
  202. package/dist/modal-DCxNGrzk.cjs +0 -1
  203. package/dist/nl-Bj8QnDEY.cjs +0 -1
  204. package/dist/pl-BmuuxxVd.cjs +0 -1
  205. package/dist/pt-RiC0yeVA.cjs +0 -1
  206. package/dist/ru-pRqtOQHF.cjs +0 -1
  207. package/dist/tr-B9JhBJeL.cjs +0 -1
  208. package/dist/translations-qefRsdGi.cjs +0 -1
  209. package/dist/types/components/overlay/command-palette.d.ts +0 -17
  210. package/dist/types/utils/color.d.ts +0 -346
  211. package/dist/ur-BZakU0iv.cjs +0 -1
  212. package/dist/use-form-BvBkVEKi.cjs +0 -2
  213. package/dist/vi-D1nly0nb.cjs +0 -1
  214. package/dist/widget-customization-BAchyOUo.js +0 -1066
  215. package/dist/widget-customization-DELy3SMQ.cjs +0 -1
  216. package/dist/zh-DBk7sSD9.cjs +0 -1
package/dist/beatui.css CHANGED
@@ -330,11 +330,13 @@ ol {
330
330
  --color-stone-800: oklch(0.268 0.007 34.298);
331
331
  --color-stone-900: oklch(0.216 0.006 56.043);
332
332
  --color-stone-950: oklch(0.147 0.004 49.25);
333
+ --spacing-base-raw: 0.25rem;
334
+ --spacing-scale: 1;
333
335
  --spacing-none: 0;
334
336
  --spacing-px: 1px;
335
- --spacing-base: 0.25rem;
336
337
  --spacing-full: 2000px;
337
- --font-size-base: 1rem;
338
+ --font-size-base-raw: 1rem;
339
+ --font-size-scale: 1;
338
340
  --font-size-5xl-lh: 1;
339
341
  --font-size-6xl-lh: 1;
340
342
  --font-size-7xl-lh: 1;
@@ -428,6 +430,7 @@ ol {
428
430
  }
429
431
 
430
432
  *, ::before, ::after {
433
+ --spacing-base: calc(var(--spacing-base-raw) * var(--spacing-scale));
431
434
  --spacing-xs: calc(var(--spacing-base) / 2);
432
435
  --spacing-sm: var(--spacing-base);
433
436
  --spacing-smh: calc(var(--spacing-base) * 1.5);
@@ -440,6 +443,7 @@ ol {
440
443
  --spacing-2xlh: calc(var(--spacing-base) * 10);
441
444
  --spacing-3xl: calc(var(--spacing-base) * 12);
442
445
  --spacing-4xl: calc(var(--spacing-base) * 16);
446
+ --font-size-base: calc(var(--font-size-base-raw) * var(--font-size-scale));
443
447
  --font-size-3xs: calc(var(--font-size-base) * 0.5);
444
448
  --font-size-3xs-lh: calc(var(--font-size-base) * 0.75);
445
449
  --font-size-2xs: calc(var(--font-size-base) * 0.625);
@@ -3740,134 +3744,6 @@ a:focus-visible {
3740
3744
  outline: var(--outline-width-focus) solid var(--color-danger-400);
3741
3745
  }
3742
3746
 
3743
- .bc-command-palette {
3744
- display: flex;
3745
- flex-direction: column;
3746
- background: var(--bg-surface);
3747
- border: var(--border-width-thin) solid var(--border-default);
3748
- border-radius: var(--radius-lg);
3749
- box-shadow: var(--shadow-xl);
3750
- overflow: hidden;
3751
- margin: 15vh auto 0;
3752
- width: 90%;
3753
- max-height: 60vh;
3754
- }
3755
-
3756
- .bc-command-palette--size-sm {
3757
- max-width: 480px;
3758
- }
3759
-
3760
- .bc-command-palette--size-md {
3761
- max-width: 600px;
3762
- }
3763
-
3764
- .bc-command-palette--size-lg {
3765
- max-width: 720px;
3766
- }
3767
-
3768
- .bc-command-palette__header {
3769
- display: flex;
3770
- align-items: center;
3771
- gap: var(--spacing-md);
3772
- padding: var(--spacing-mdh) var(--spacing-lg);
3773
- border-bottom: var(--border-width-thin) solid var(--border-default);
3774
- }
3775
-
3776
- .bc-command-palette__search-icon {
3777
- display: flex;
3778
- color: var(--text-muted);
3779
- flex-shrink: 0;
3780
- }
3781
-
3782
- .bc-command-palette__input {
3783
- flex: 1;
3784
- border: none;
3785
- outline: none;
3786
- background: transparent;
3787
- font-size: var(--font-size-md);
3788
- font-family: inherit;
3789
- color: inherit;
3790
- }
3791
-
3792
- .bc-command-palette__input::placeholder {
3793
- color: var(--text-muted);
3794
- }
3795
-
3796
- .bc-command-palette__body {
3797
- overflow-y: auto;
3798
- padding: var(--spacing-md);
3799
- }
3800
-
3801
- .bc-command-palette__empty {
3802
- padding: var(--spacing-xl) var(--spacing-lg);
3803
- text-align: center;
3804
- color: var(--text-muted);
3805
- font-size: var(--font-size-sm);
3806
- }
3807
-
3808
- .bc-command-palette__section + .bc-command-palette__section {
3809
- margin-top: var(--spacing-md);
3810
- }
3811
-
3812
- .bc-command-palette__section-title {
3813
- padding: var(--spacing-base) var(--spacing-md);
3814
- font-size: var(--font-size-xs);
3815
- font-weight: var(--font-weight-semibold);
3816
- color: var(--text-muted);
3817
- text-transform: uppercase;
3818
- letter-spacing: 0.05em;
3819
- }
3820
-
3821
- .bc-command-palette__item {
3822
- display: flex;
3823
- align-items: center;
3824
- gap: var(--spacing-md);
3825
- padding: var(--spacing-md);
3826
- border-radius: var(--radius-sm);
3827
- cursor: pointer;
3828
- transition: background-color var(--motion-transition-fast)
3829
- var(--motion-easing-standard);
3830
- }
3831
-
3832
- .bc-command-palette__item:hover,
3833
- .bc-command-palette__item--selected {
3834
- background-color: var(--interactive-hover);
3835
- }
3836
-
3837
- .bc-command-palette__item-icon {
3838
- display: flex;
3839
- flex-shrink: 0;
3840
- color: var(--text-muted);
3841
- }
3842
-
3843
- .bc-command-palette__item-content {
3844
- display: flex;
3845
- flex-direction: column;
3846
- flex: 1;
3847
- min-width: 0;
3848
- }
3849
-
3850
- .bc-command-palette__item-label {
3851
- font-size: var(--font-size-sm);
3852
- }
3853
-
3854
- .bc-command-palette__item-description {
3855
- font-size: var(--font-size-xs);
3856
- color: var(--text-muted);
3857
- }
3858
-
3859
- .bc-command-palette__item-shortcut {
3860
- display: flex;
3861
- gap: var(--spacing-base);
3862
- flex-shrink: 0;
3863
- }
3864
-
3865
- @media (prefers-reduced-motion: reduce) {
3866
- .bc-command-palette__item {
3867
- transition: none;
3868
- }
3869
- }
3870
-
3871
3747
  .bc-dropdown__search-input {
3872
3748
  width: 100%;
3873
3749
  background: transparent;
@@ -5766,6 +5642,15 @@ a:focus-visible {
5766
5642
  background-color: var(--color-base-800);
5767
5643
  }
5768
5644
 
5645
+ /* Format Components - Locale-aware data formatting display */
5646
+
5647
+ /* Tabular figures for numeric format components */
5648
+ .bc-format-number,
5649
+ .bc-format-bigint,
5650
+ .bc-format-file-size {
5651
+ font-variant-numeric: tabular-nums;
5652
+ }
5653
+
5769
5654
  .bc-flyout-container {
5770
5655
  z-index: var(--z-index-popover);
5771
5656
  }
@@ -6579,20 +6464,22 @@ a:focus-visible {
6579
6464
  }
6580
6465
  }
6581
6466
 
6582
- /* Input Wrapper Component */
6583
- .bc-input-wrapper {
6467
+ /* Field Component */
6468
+ .bc-field {
6584
6469
  display: flex;
6585
6470
  flex-direction: column;
6471
+ min-width: 0; /* Prevent overflow in grid/flex containers */
6586
6472
  }
6587
6473
 
6588
- .bc-input-wrapper--full-width {
6474
+ .bc-field--full-width {
6589
6475
  width: 100%;
6590
6476
  }
6591
6477
 
6592
6478
  /* Horizontal layout variants - use grid for proper error positioning */
6593
- .bc-input-wrapper--horizontal,
6594
- .bc-input-wrapper--horizontal-label-right,
6595
- .bc-input-wrapper--horizontal-fixed {
6479
+ .bc-field--horizontal,
6480
+ .bc-field--horizontal-label-right,
6481
+ .bc-field--horizontal-fixed,
6482
+ .bc-field--horizontal-end {
6596
6483
  display: grid;
6597
6484
  grid-template-columns: auto 1fr;
6598
6485
  align-items: center;
@@ -6600,25 +6487,39 @@ a:focus-visible {
6600
6487
  }
6601
6488
 
6602
6489
  /* Horizontal with label on right */
6603
- .bc-input-wrapper--horizontal-label-right {
6490
+ .bc-field--horizontal-label-right {
6604
6491
  grid-template-columns: 1fr auto;
6605
6492
  }
6606
6493
 
6607
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
6494
+ .bc-field--horizontal-label-right .bc-field__header {
6608
6495
  order: 2;
6609
6496
  }
6610
6497
 
6611
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content {
6498
+ .bc-field--horizontal-label-right .bc-field__content {
6612
6499
  order: 1;
6613
6500
  }
6614
6501
 
6615
6502
  /* Horizontal with fixed-width label */
6616
- .bc-input-wrapper--horizontal-fixed {
6617
- grid-template-columns: var(--input-wrapper-label-width, 12rem) 1fr;
6503
+ .bc-field--horizontal-fixed {
6504
+ grid-template-columns: var(--field-label-width, 7.5rem) 1fr;
6505
+ }
6506
+
6507
+ /* Horizontal with fixed-width label, right-aligned (flush with input) */
6508
+ .bc-field--horizontal-end {
6509
+ grid-template-columns: var(--field-label-width, 7.5rem) 1fr;
6510
+ }
6511
+
6512
+ .bc-field--horizontal-end .bc-field__header {
6513
+ justify-content: flex-end;
6514
+ }
6515
+
6516
+ .bc-field--horizontal-end .bc-field__label-section {
6517
+ text-align: right;
6518
+ align-items: flex-end;
6618
6519
  }
6619
6520
 
6620
6521
  /* Label header container */
6621
- .bc-input-wrapper__header {
6522
+ .bc-field__header {
6622
6523
  display: flex;
6623
6524
  align-items: center;
6624
6525
  justify-content: space-between;
@@ -6626,95 +6527,278 @@ a:focus-visible {
6626
6527
  }
6627
6528
 
6628
6529
  /* Label section container */
6629
- .bc-input-wrapper__label-section {
6530
+ .bc-field__label-section {
6630
6531
  display: flex;
6631
6532
  flex-direction: column;
6632
6533
  }
6633
6534
 
6634
6535
  /* Label container */
6635
- .bc-input-wrapper__label {
6536
+ .bc-field__label {
6636
6537
  display: flex;
6637
6538
  align-items: center;
6638
6539
  gap: var(--spacing-stack-2xs, var(--spacing-xs));
6639
6540
  }
6640
6541
 
6641
6542
  /* Label text styles */
6642
- .bc-input-wrapper__label-text {
6543
+ .bc-field__label-text {
6643
6544
  text-wrap: nowrap;
6644
6545
  font-size: var(--font-size-sm);
6645
6546
  line-height: var(--line-height-normal);
6646
6547
  }
6647
6548
 
6648
6549
  /* Label text states */
6649
- .bc-input-wrapper__label-text--default {
6550
+ .bc-field__label-text--default {
6650
6551
  color: var(--color-gray-600);
6651
6552
  font-weight: var(--font-weight-semibold);
6652
6553
  }
6653
6554
 
6654
- .bc-input-wrapper__label-text--disabled {
6555
+ .bc-field__label-text--disabled {
6655
6556
  color: var(--color-gray-500);
6656
6557
  font-weight: var(--font-weight-normal);
6657
6558
  }
6658
6559
 
6659
- .bc-input-wrapper__label-text--error {
6560
+ .bc-field__label-text--error {
6660
6561
  color: var(--color-danger-600);
6661
6562
  font-weight: var(--font-weight-normal);
6662
6563
  }
6663
6564
 
6664
6565
  /* Required symbol */
6665
- .bc-input-wrapper__required {
6566
+ .bc-field__required {
6666
6567
  font-size: var(--font-size-xs);
6667
6568
  color: var(--color-danger-600);
6668
6569
  vertical-align: top;
6669
6570
  }
6670
6571
 
6671
6572
  /* Error messages in horizontal mode span full width on their own row */
6672
- .bc-input-wrapper--horizontal .bc-input-wrapper__error,
6673
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error,
6674
- .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__error {
6573
+ .bc-field--horizontal .bc-field__error,
6574
+ .bc-field--horizontal-label-right .bc-field__error,
6575
+ .bc-field--horizontal-fixed .bc-field__error,
6576
+ .bc-field--horizontal-end .bc-field__error {
6675
6577
  grid-column: 1 / -1;
6676
6578
  }
6677
6579
 
6678
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error {
6580
+ .bc-field--horizontal-label-right .bc-field__error {
6679
6581
  order: 3;
6680
6582
  }
6681
6583
 
6682
6584
  /* Description text */
6683
- .bc-input-wrapper__description {
6585
+ .bc-field__description {
6684
6586
  font-size: var(--font-size-sm);
6685
6587
  color: var(--color-gray-600);
6686
6588
  line-height: var(--line-height-normal);
6687
6589
  }
6688
6590
 
6689
6591
  /* Description under label in horizontal mode */
6690
- .bc-input-wrapper__description--under-label {
6592
+ .bc-field__description--under-label {
6691
6593
  font-size: var(--font-size-xs);
6692
6594
  }
6693
6595
 
6694
6596
  /* Error message */
6695
- .bc-input-wrapper__error {
6597
+ .bc-field__error {
6696
6598
  font-size: var(--font-size-sm);
6697
6599
  color: var(--color-danger-500);
6698
6600
  line-height: var(--line-height-normal);
6699
6601
  }
6700
6602
 
6603
+ /* Compact mode */
6604
+ .bc-field--compact {
6605
+ gap: var(--spacing-xs, var(--spacing-sm));
6606
+ }
6607
+
6608
+ .bc-field--compact .bc-field__label-text {
6609
+ font-size: var(--font-size-xs);
6610
+ }
6611
+
6612
+ .bc-field--compact .bc-field__description {
6613
+ font-size: var(--font-size-xs);
6614
+ }
6615
+
6616
+ .bc-field--compact .bc-field__error {
6617
+ font-size: var(--font-size-xs);
6618
+ }
6619
+
6620
+ /* Responsive layout — matches horizontal-fixed when wide, flips to vertical
6621
+ when the ancestor container (Fieldset) narrows below 480px. */
6622
+ .bc-field--responsive {
6623
+ display: grid;
6624
+ grid-template-columns: var(--field-label-width, 7.5rem) 1fr;
6625
+ align-items: center;
6626
+ gap: var(--spacing-sm, var(--spacing-lg));
6627
+ }
6628
+
6629
+ .bc-field--responsive .bc-field__error {
6630
+ grid-column: 1 / -1;
6631
+ }
6632
+
6633
+ @container (max-width: 480px) {
6634
+ .bc-field--responsive {
6635
+ display: flex;
6636
+ flex-direction: column;
6637
+ align-items: stretch;
6638
+ }
6639
+
6640
+ .bc-field--responsive .bc-field__error {
6641
+ grid-column: auto;
6642
+ }
6643
+ }
6644
+
6701
6645
  /* Dark mode styles */
6702
- .dark .bc-input-wrapper__label-text--default {
6646
+ .dark .bc-field__label-text--default {
6703
6647
  color: var(--text-normal);
6704
6648
  }
6705
6649
 
6706
- .dark .bc-input-wrapper__label-text--error {
6650
+ .dark .bc-field__label-text--error {
6707
6651
  color: var(--color-danger-300);
6708
6652
  }
6709
6653
 
6710
- .dark .bc-input-wrapper__required {
6654
+ .dark .bc-field__required {
6711
6655
  color: var(--color-danger-400);
6712
6656
  }
6713
6657
 
6714
- .dark .bc-input-wrapper__error {
6658
+ .dark .bc-field__error {
6715
6659
  color: var(--color-danger-400);
6716
6660
  }
6717
6661
 
6662
+ /* Fieldset Component */
6663
+ .bc-fieldset {
6664
+ container-type: inline-size;
6665
+ border: none;
6666
+ margin: 0;
6667
+ padding: 0;
6668
+ min-width: 0; /* Fix fieldset overflow behaviour */
6669
+ width: 100%;
6670
+ }
6671
+
6672
+ /* Bordered variant */
6673
+ .bc-fieldset--bordered {
6674
+ border: var(--border-width-default) solid var(--border-default);
6675
+ border-radius: var(--radius-md);
6676
+ padding: var(--spacing-md);
6677
+ }
6678
+
6679
+ .bc-fieldset--bordered > .bc-fieldset__legend {
6680
+ padding: 0 var(--spacing-sm);
6681
+ margin-left: calc(-1 * var(--spacing-sm));
6682
+ font-weight: var(--font-weight-semibold);
6683
+ font-size: var(--font-size-md);
6684
+ color: var(--text-normal);
6685
+ }
6686
+
6687
+ /* Plain variant */
6688
+ .bc-fieldset--plain > .bc-fieldset__legend {
6689
+ width: 100%;
6690
+ padding-bottom: var(--spacing-sm);
6691
+ border-bottom: var(--border-width-default) solid var(--border-divider);
6692
+ margin-bottom: var(--spacing-md);
6693
+ font-weight: var(--font-weight-semibold);
6694
+ font-size: var(--font-size-md);
6695
+ color: var(--text-normal);
6696
+ }
6697
+
6698
+ /* Card variant */
6699
+ .bc-fieldset--card {
6700
+ background-color: var(--bg-surface);
6701
+ border-radius: var(--radius-lg);
6702
+ box-shadow: var(--shadow-sm);
6703
+ padding: var(--spacing-lg);
6704
+ }
6705
+
6706
+ .bc-fieldset--card > .bc-fieldset__legend {
6707
+ font-weight: var(--font-weight-bold);
6708
+ font-size: var(--font-size-lg);
6709
+ color: var(--text-normal);
6710
+ padding: 0;
6711
+ margin-bottom: var(--spacing-sm);
6712
+ }
6713
+
6714
+ /* Legend */
6715
+ .bc-fieldset__legend {
6716
+ display: flex;
6717
+ align-items: center;
6718
+ }
6719
+
6720
+ .bc-fieldset__legend-toggle {
6721
+ all: unset;
6722
+ display: flex;
6723
+ align-items: center;
6724
+ gap: var(--spacing-sm);
6725
+ cursor: pointer;
6726
+ width: 100%;
6727
+ }
6728
+
6729
+ .bc-fieldset__legend-toggle:focus-visible {
6730
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
6731
+ outline-offset: 2px;
6732
+ border-radius: var(--radius-sm);
6733
+ }
6734
+
6735
+ .bc-fieldset__collapse-icon {
6736
+ transition: transform var(--motion-duration-fast)
6737
+ var(--motion-easing-standard);
6738
+ }
6739
+
6740
+ .bc-fieldset__collapse-icon--collapsed {
6741
+ transform: rotate(-90deg);
6742
+ }
6743
+
6744
+ /* Description */
6745
+ .bc-fieldset__description {
6746
+ font-size: var(--font-size-sm);
6747
+ color: var(--text-muted);
6748
+ margin-bottom: var(--spacing-md);
6749
+ }
6750
+
6751
+ /* Content grid — defaults to single column. Multi-column is set via
6752
+ inline style by the component when columns > 1. */
6753
+ .bc-fieldset__content {
6754
+ display: grid;
6755
+ grid-template-columns: 1fr;
6756
+ gap: var(--fieldset-gap, var(--spacing-md));
6757
+ }
6758
+
6759
+ /* Disabled state */
6760
+ .bc-fieldset:disabled {
6761
+ opacity: 0.6;
6762
+ }
6763
+
6764
+ .bc-fieldset:disabled .bc-fieldset__legend-toggle {
6765
+ cursor: default;
6766
+ }
6767
+
6768
+ /* Dark mode */
6769
+ .dark .bc-fieldset--bordered {
6770
+ border-color: var(--border-default);
6771
+ }
6772
+
6773
+ .dark .bc-fieldset--plain > .bc-fieldset__legend {
6774
+ border-bottom-color: var(--border-default);
6775
+ }
6776
+
6777
+ .dark .bc-fieldset--card {
6778
+ background-color: var(--bg-elevated);
6779
+ box-shadow: var(--shadow-md);
6780
+ }
6781
+
6782
+ .dark .bc-fieldset__description {
6783
+ color: var(--text-muted);
6784
+ }
6785
+
6786
+ /* Accessibility */
6787
+ @media (prefers-reduced-motion: reduce) {
6788
+ .bc-fieldset__collapse-icon {
6789
+ transition: none;
6790
+ }
6791
+ }
6792
+
6793
+ @media (prefers-contrast: high) {
6794
+ .bc-fieldset--bordered {
6795
+ border-width: var(--border-width-medium);
6796
+ }
6797
+ .bc-fieldset--card {
6798
+ border: var(--border-width-medium) solid currentColor;
6799
+ }
6800
+ }
6801
+
6718
6802
  .bc-json-schema-object {
6719
6803
  border-left: var(--spacing-md) solid var(--color-base-200);
6720
6804
  padding-inline-start: var(--spacing-md);
@@ -7869,7 +7953,7 @@ a:focus-visible {
7869
7953
  }
7870
7954
 
7871
7955
  .bc-label {
7872
- font-size: var(--font-size-sm);
7956
+ --font-size-scale: 0.875;
7873
7957
  line-height: var(--line-height-normal);
7874
7958
  font-family: var(
7875
7959
  --font-family-default-ui,
@@ -10556,9 +10640,77 @@ a:focus-visible {
10556
10640
  -moz-appearance: textfield;
10557
10641
  }
10558
10642
 
10559
- /* Number Input Steppers */
10560
- .bc-number-input-steppers {
10561
- display: flex;
10643
+ /* Number Input Formatted Overlay */
10644
+ .bc-number-input--hidden {
10645
+ opacity: 0;
10646
+ }
10647
+
10648
+ .bc-input-container__input:has(.bc-number-input-formatted) {
10649
+ display: grid;
10650
+ }
10651
+
10652
+ .bc-input-container__input:has(.bc-number-input-formatted) > * {
10653
+ grid-area: 1 / 1;
10654
+ }
10655
+
10656
+ .bc-number-input-formatted {
10657
+ text-align: end;
10658
+ font: inherit;
10659
+ color: inherit;
10660
+ line-height: 1.1;
10661
+ display: flex;
10662
+ align-items: center;
10663
+ justify-content: flex-end;
10664
+ pointer-events: none;
10665
+ white-space: nowrap;
10666
+ overflow: hidden;
10667
+ }
10668
+
10669
+ /* Number Input Unit Label */
10670
+ .bc-number-input-unit {
10671
+ display: flex;
10672
+ align-items: center;
10673
+ padding-inline-start: 0;
10674
+ margin-left: calc(-1 * var(--spacing-md));
10675
+ padding-inline-end: var(--spacing-md);
10676
+ color: var(--color-neutral-500);
10677
+ font-size: var(--font-size-sm);
10678
+ white-space: nowrap;
10679
+ user-select: none;
10680
+ }
10681
+
10682
+ .bc-control--padding-xs ~ .bc-input-container__after .bc-number-input-unit {
10683
+ margin-left: calc(-1 * var(--spacing-xs));
10684
+ padding-inline-end: var(--spacing-xs);
10685
+ }
10686
+
10687
+ .bc-control--padding-sm ~ .bc-input-container__after .bc-number-input-unit {
10688
+ margin-left: calc(-1 * var(--spacing-sm));
10689
+ padding-inline-end: var(--spacing-sm);
10690
+ }
10691
+
10692
+ .bc-control--padding-md ~ .bc-input-container__after .bc-number-input-unit {
10693
+ margin-left: calc(-1 * var(--spacing-md));
10694
+ padding-inline-end: var(--spacing-md);
10695
+ }
10696
+
10697
+ .bc-control--padding-lg ~ .bc-input-container__after .bc-number-input-unit {
10698
+ margin-left: calc(-1 * var(--spacing-lg));
10699
+ padding-inline-end: var(--spacing-lg);
10700
+ }
10701
+
10702
+ .bc-control--padding-xl ~ .bc-input-container__after .bc-number-input-unit {
10703
+ margin-left: calc(-1 * var(--spacing-xl));
10704
+ padding-inline-end: var(--spacing-xl);
10705
+ }
10706
+
10707
+ .dark .bc-number-input-unit {
10708
+ color: var(--color-neutral-400);
10709
+ }
10710
+
10711
+ /* Number Input Steppers */
10712
+ .bc-number-input-steppers {
10713
+ display: flex;
10562
10714
  flex-direction: column;
10563
10715
  height: 100%;
10564
10716
  justify-content: space-between;
@@ -10578,7 +10730,7 @@ a:focus-visible {
10578
10730
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10579
10731
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10580
10732
 
10581
- width: var(--spacing-lg);
10733
+ width: var(--spacing-lgh);
10582
10734
  height: 50%;
10583
10735
  }
10584
10736
 
@@ -10594,6 +10746,30 @@ a:focus-visible {
10594
10746
  transform: none;
10595
10747
  }
10596
10748
 
10749
+ .bc-control--padding-xs
10750
+ ~ .bc-input-container__after
10751
+ .bc-number-input-steppers-button {
10752
+ width: var(--spacing-mdh);
10753
+ }
10754
+
10755
+ .bc-control--padding-sm
10756
+ ~ .bc-input-container__after
10757
+ .bc-number-input-steppers-button {
10758
+ width: var(--spacing-lg);
10759
+ }
10760
+
10761
+ .bc-control--padding-lg
10762
+ ~ .bc-input-container__after
10763
+ .bc-number-input-steppers-button {
10764
+ width: var(--spacing-xl);
10765
+ }
10766
+
10767
+ .bc-control--padding-xl
10768
+ ~ .bc-input-container__after
10769
+ .bc-number-input-steppers-button {
10770
+ width: var(--spacing-2xl);
10771
+ }
10772
+
10597
10773
  /* Dark mode */
10598
10774
  .dark .bc-number-input-steppers-button {
10599
10775
  outline-color: var(--color-base-600);
@@ -12746,6 +12922,11 @@ span.bc-sidebar-link {
12746
12922
  background-color: var(--table-stripe-bg);
12747
12923
  }
12748
12924
 
12925
+ /* Detail rows inherit the parent row's background instead of zebra striping */
12926
+ .bc-table--with-striped-rows > tbody > tr.bc-data-table__detail-row {
12927
+ background-color: inherit;
12928
+ }
12929
+
12749
12930
  /* Hoverable striped rows - darker stripe on hover */
12750
12931
  .bc-table--hoverable.bc-table--with-striped-rows
12751
12932
  > tbody
@@ -16265,6 +16446,93 @@ span.bc-sidebar-link {
16265
16446
  }
16266
16447
  }
16267
16448
 
16449
+ /* Date Select / Date Range Select — fit-content sizing like UUID input */
16450
+ .bc-date-select {
16451
+ width: fit-content;
16452
+ max-width: 100%;
16453
+ }
16454
+
16455
+ .bc-date-range-select {
16456
+ cursor: pointer;
16457
+ user-select: none;
16458
+ }
16459
+
16460
+ /* Panel shown in the flyout */
16461
+ .bc-date-range-select__panel {
16462
+ background-color: var(--color-white);
16463
+ border: var(--border-width-default) solid var(--border-default);
16464
+ border-radius: var(--radius-lg);
16465
+ box-shadow: var(--shadow-lg);
16466
+ padding: var(--spacing-md);
16467
+ }
16468
+
16469
+ /* Side-by-side pickers container */
16470
+ .bc-date-range-select__pickers {
16471
+ display: flex;
16472
+ gap: var(--spacing-lg);
16473
+ }
16474
+
16475
+ /* Individual picker wrapper */
16476
+ .bc-date-range-select__picker {
16477
+ display: flex;
16478
+ flex-direction: column;
16479
+ gap: var(--spacing-xs);
16480
+ }
16481
+
16482
+ /* Header row: label + optional clear button */
16483
+ .bc-date-range-select__picker-header {
16484
+ display: flex;
16485
+ align-items: center;
16486
+ justify-content: space-between;
16487
+ gap: var(--spacing-xs);
16488
+ }
16489
+
16490
+ /* Label above each picker */
16491
+ .bc-date-range-select__picker-label {
16492
+ font-size: var(--font-size-sm);
16493
+ font-weight: var(--font-weight-semibold);
16494
+ color: var(--text-muted);
16495
+ padding: 0 var(--spacing-xs);
16496
+ }
16497
+
16498
+ /* Clear button inside picker header */
16499
+ .bc-date-range-select__clear-btn {
16500
+ font-size: var(--font-size-xs);
16501
+ color: var(--text-muted);
16502
+ background: none;
16503
+ border: none;
16504
+ cursor: pointer;
16505
+ padding: var(--spacing-xxs) var(--spacing-xs);
16506
+ border-radius: var(--radius-sm);
16507
+ transition:
16508
+ color var(--motion-transition-fast) var(--motion-easing-standard),
16509
+ background-color var(--motion-transition-fast) var(--motion-easing-standard);
16510
+ white-space: nowrap;
16511
+ }
16512
+
16513
+ .bc-date-range-select__clear-btn:hover {
16514
+ color: var(--color-danger-600);
16515
+ background-color: var(--color-danger-50);
16516
+ }
16517
+
16518
+ /* Responsive: stack vertically on narrow screens */
16519
+ @media (max-width: 640px) {
16520
+ .bc-date-range-select__pickers {
16521
+ flex-direction: column;
16522
+ }
16523
+ }
16524
+
16525
+ /* Dark mode */
16526
+ .dark .bc-date-range-select__panel {
16527
+ background-color: var(--bg-surface);
16528
+ border-color: var(--border-default);
16529
+ }
16530
+
16531
+ .dark .bc-date-range-select__clear-btn:hover {
16532
+ color: var(--color-danger-400);
16533
+ background-color: var(--color-danger-950);
16534
+ }
16535
+
16268
16536
  /* Range Slider Component */
16269
16537
  .bc-range-slider {
16270
16538
  --rs-color: var(--color-primary-500);
@@ -16418,6 +16686,45 @@ span.bc-sidebar-link {
16418
16686
  color: var(--text-muted);
16419
16687
  }
16420
16688
 
16689
+ /* Markers container */
16690
+ .bc-range-slider__markers {
16691
+ position: absolute;
16692
+ top: 0;
16693
+ left: 0;
16694
+ width: 100%;
16695
+ height: 100%;
16696
+ pointer-events: none;
16697
+ z-index: 1;
16698
+ }
16699
+
16700
+ /* Individual marker dot */
16701
+ .bc-range-slider__marker {
16702
+ position: absolute;
16703
+ top: 50%;
16704
+ transform: translate(-50%, -50%);
16705
+ display: flex;
16706
+ flex-direction: column;
16707
+ align-items: center;
16708
+ }
16709
+
16710
+ .bc-range-slider__marker::before {
16711
+ content: '';
16712
+ display: block;
16713
+ width: var(--spacing-sm);
16714
+ height: var(--spacing-sm);
16715
+ background-color: var(--color-white);
16716
+ border-radius: var(--radius-full);
16717
+ }
16718
+
16719
+ /* Marker label */
16720
+ .bc-range-slider__marker-label {
16721
+ position: absolute;
16722
+ top: calc(100% + var(--spacing-sm));
16723
+ white-space: nowrap;
16724
+ color: var(--text-muted);
16725
+ font-size: var(--font-size-xs);
16726
+ }
16727
+
16421
16728
  /* ── Size variants ── */
16422
16729
 
16423
16730
  /* xs */
@@ -16425,7 +16732,7 @@ span.bc-sidebar-link {
16425
16732
  padding: var(--spacing-lg) var(--spacing-smh) var(--spacing-md);
16426
16733
  }
16427
16734
  .bc-range-slider--size-xs .bc-range-slider__track {
16428
- height: var(--spacing-xs);
16735
+ height: var(--spacing-smh);
16429
16736
  }
16430
16737
  .bc-range-slider--size-xs .bc-range-slider__thumb {
16431
16738
  width: calc(var(--spacing-base) * 2.5);
@@ -16451,7 +16758,7 @@ span.bc-sidebar-link {
16451
16758
  padding: var(--spacing-xl) var(--spacing-md) var(--spacing-lg);
16452
16759
  }
16453
16760
  .bc-range-slider--size-sm .bc-range-slider__track {
16454
- height: calc(var(--spacing-base) * 0.75);
16761
+ height: var(--spacing-sm);
16455
16762
  }
16456
16763
  .bc-range-slider--size-sm .bc-range-slider__thumb {
16457
16764
  width: calc(var(--spacing-base) * 3.5);
@@ -16477,7 +16784,7 @@ span.bc-sidebar-link {
16477
16784
  padding: var(--spacing-2xl) calc(var(--spacing-base) * 2.5) var(--spacing-xl);
16478
16785
  }
16479
16786
  .bc-range-slider--size-md .bc-range-slider__track {
16480
- height: var(--spacing-sm);
16787
+ height: var(--spacing-smh);
16481
16788
  }
16482
16789
  .bc-range-slider--size-md .bc-range-slider__thumb {
16483
16790
  width: calc(var(--spacing-base) * 4.5);
@@ -16503,7 +16810,7 @@ span.bc-sidebar-link {
16503
16810
  padding: var(--spacing-3xl) var(--spacing-mdh) var(--spacing-2xl);
16504
16811
  }
16505
16812
  .bc-range-slider--size-lg .bc-range-slider__track {
16506
- height: var(--spacing-smh);
16813
+ height: var(--spacing-md);
16507
16814
  }
16508
16815
  .bc-range-slider--size-lg .bc-range-slider__thumb {
16509
16816
  width: calc(var(--spacing-base) * 5.5);
@@ -16529,7 +16836,7 @@ span.bc-sidebar-link {
16529
16836
  padding: var(--spacing-4xl) calc(var(--spacing-base) * 3.5) var(--spacing-3xl);
16530
16837
  }
16531
16838
  .bc-range-slider--size-xl .bc-range-slider__track {
16532
- height: var(--spacing-md);
16839
+ height: var(--spacing-mdh);
16533
16840
  }
16534
16841
  .bc-range-slider--size-xl .bc-range-slider__thumb {
16535
16842
  width: calc(var(--spacing-base) * 6.5);
@@ -16550,6 +16857,36 @@ span.bc-sidebar-link {
16550
16857
  font-size: var(--font-size-md);
16551
16858
  }
16552
16859
 
16860
+ /* Marker size overrides per size */
16861
+ .bc-range-slider--size-xs .bc-range-slider__marker::before {
16862
+ width: var(--spacing-xs);
16863
+ height: var(--spacing-xs);
16864
+ }
16865
+ .bc-range-slider--size-xs .bc-range-slider__marker-label {
16866
+ font-size: var(--font-size-2xs);
16867
+ }
16868
+ .bc-range-slider--size-sm .bc-range-slider__marker::before {
16869
+ width: var(--spacing-xs);
16870
+ height: var(--spacing-xs);
16871
+ }
16872
+ .bc-range-slider--size-sm .bc-range-slider__marker-label {
16873
+ font-size: var(--font-size-2xs);
16874
+ }
16875
+ .bc-range-slider--size-lg .bc-range-slider__marker::before {
16876
+ width: var(--spacing-smh);
16877
+ height: var(--spacing-smh);
16878
+ }
16879
+ .bc-range-slider--size-lg .bc-range-slider__marker-label {
16880
+ font-size: var(--font-size-sm);
16881
+ }
16882
+ .bc-range-slider--size-xl .bc-range-slider__marker::before {
16883
+ width: var(--spacing-md);
16884
+ height: var(--spacing-md);
16885
+ }
16886
+ .bc-range-slider--size-xl .bc-range-slider__marker-label {
16887
+ font-size: var(--font-size-md);
16888
+ }
16889
+
16553
16890
  /* ── Vertical orientation ── */
16554
16891
 
16555
16892
  .bc-range-slider--vertical {
@@ -16622,6 +16959,19 @@ span.bc-sidebar-link {
16622
16959
  left: calc(100% + var(--spacing-sm));
16623
16960
  }
16624
16961
 
16962
+ /* Markers: vertical positioning */
16963
+ .bc-range-slider--vertical .bc-range-slider__marker {
16964
+ left: 50%;
16965
+ top: auto;
16966
+ transform: translate(-50%, 50%);
16967
+ flex-direction: row;
16968
+ }
16969
+
16970
+ .bc-range-slider--vertical .bc-range-slider__marker-label {
16971
+ top: auto;
16972
+ left: calc(100% + var(--spacing-sm));
16973
+ }
16974
+
16625
16975
  /* Vertical size variants — swap track width/height, adjust padding */
16626
16976
 
16627
16977
  /* xs vertical */
@@ -16687,6 +17037,14 @@ span.bc-sidebar-link {
16687
17037
  background-color: var(--rs-color-dark);
16688
17038
  }
16689
17039
 
17040
+ .dark .bc-range-slider__marker::before {
17041
+ background-color: var(--color-gray-400);
17042
+ }
17043
+
17044
+ .dark .bc-range-slider__marker-label {
17045
+ color: var(--text-muted);
17046
+ }
17047
+
16690
17048
  .dark .bc-range-slider__tick::before {
16691
17049
  background-color: var(--color-gray-500);
16692
17050
  }
@@ -18028,6 +18386,59 @@ th.bc-data-table__header--drag-over {
18028
18386
  background-color: var(--interactive-hover);
18029
18387
  }
18030
18388
 
18389
+ /* Row Details: Toggle column */
18390
+ .bc-data-table__toggle-header {
18391
+ width: 2.5rem;
18392
+ min-width: 2.5rem;
18393
+ max-width: 2.5rem;
18394
+ padding: 0 !important;
18395
+ }
18396
+
18397
+ .bc-table > tbody > tr > td.bc-data-table__toggle-cell {
18398
+ width: 2.5rem;
18399
+ min-width: 2.5rem;
18400
+ max-width: 2.5rem;
18401
+ padding: 0 !important;
18402
+ text-align: center;
18403
+ vertical-align: middle;
18404
+ }
18405
+
18406
+ .bc-data-table__toggle-cell > button {
18407
+ display: inline-flex;
18408
+ align-items: center;
18409
+ justify-content: center;
18410
+ width: 1.75rem;
18411
+ height: 1.75rem;
18412
+ padding: 0;
18413
+ border: none;
18414
+ background: none;
18415
+ cursor: pointer;
18416
+ border-radius: var(--radius-sm);
18417
+ color: var(--text-muted);
18418
+ transition:
18419
+ color var(--motion-transition-fast) var(--motion-easing-standard),
18420
+ background-color var(--motion-transition-fast) var(--motion-easing-standard);
18421
+ }
18422
+
18423
+ .bc-data-table__toggle-cell > button:hover {
18424
+ background-color: var(--interactive-hover);
18425
+ color: var(--text-normal);
18426
+ }
18427
+
18428
+ /* Row Details: Detail row */
18429
+ .bc-data-table__detail-row > td {
18430
+ padding: 0 !important;
18431
+ border-top: none !important;
18432
+ }
18433
+
18434
+ .bc-data-table__detail-cell {
18435
+ padding: 0 !important;
18436
+ }
18437
+
18438
+ .bc-data-table__detail-cell > div {
18439
+ padding: var(--spacing-md) var(--spacing-lg);
18440
+ }
18441
+
18031
18442
  /* Reduced motion */
18032
18443
  @media (prefers-reduced-motion: reduce) {
18033
18444
  .bc-sortable-header,
@@ -18038,11 +18449,1536 @@ th.bc-data-table__header--drag-over {
18038
18449
  .bc-data-toolbar__action,
18039
18450
  .bc-data-toolbar__reset,
18040
18451
  .bc-data-table__column-toggle-btn,
18041
- .bc-data-table__group-toggle {
18452
+ .bc-data-table__group-toggle,
18453
+ .bc-data-table__toggle-cell > button {
18042
18454
  transition: none;
18043
18455
  }
18044
18456
  }
18045
18457
 
18458
+ /* DateTimeSelect — fit-content sizing */
18459
+ .bc-date-time-select {
18460
+ width: fit-content;
18461
+ max-width: 100%;
18462
+ }
18463
+
18464
+ .bc-date-time-select__trigger {
18465
+ cursor: pointer;
18466
+ user-select: none;
18467
+ }
18468
+
18469
+ /* Panel shown in the flyout */
18470
+ .bc-date-time-select__panel {
18471
+ background-color: var(--color-white);
18472
+ border: var(--border-width-default) solid var(--border-default);
18473
+ border-radius: var(--radius-lg);
18474
+ box-shadow: var(--shadow-lg);
18475
+ padding: var(--spacing-md);
18476
+ }
18477
+
18478
+ /* Side-by-side date + time pickers */
18479
+ .bc-date-time-select__pickers {
18480
+ display: flex;
18481
+ gap: var(--spacing-lg);
18482
+ align-items: flex-start;
18483
+ }
18484
+
18485
+ /* Vertical divider between date and time pickers */
18486
+ .bc-date-time-select__separator {
18487
+ width: var(--border-width-default);
18488
+ align-self: stretch;
18489
+ background-color: var(--border-default);
18490
+ flex-shrink: 0;
18491
+ }
18492
+
18493
+ /* Responsive: stack vertically on narrow screens */
18494
+ @media (max-width: 640px) {
18495
+ .bc-date-time-select__pickers {
18496
+ flex-direction: column;
18497
+ }
18498
+
18499
+ .bc-date-time-select__separator {
18500
+ width: auto;
18501
+ height: var(--border-width-default);
18502
+ align-self: stretch;
18503
+ }
18504
+ }
18505
+
18506
+ /* Dark mode */
18507
+ .dark .bc-date-time-select__panel {
18508
+ background-color: var(--bg-surface);
18509
+ border-color: var(--border-default);
18510
+ }
18511
+
18512
+ /* TimePicker Component */
18513
+ .bc-time-picker {
18514
+ display: inline-flex;
18515
+ flex-direction: column;
18516
+ background-color: var(--bg-background);
18517
+ border: var(--border-width-thin) solid var(--border-default);
18518
+ border-radius: var(--radius-md);
18519
+ padding: var(--spacing-sm);
18520
+ user-select: none;
18521
+ }
18522
+
18523
+ .bc-time-picker--disabled {
18524
+ opacity: 0.5;
18525
+ pointer-events: none;
18526
+ }
18527
+
18528
+ /* Header row */
18529
+ .bc-time-picker__header {
18530
+ display: flex;
18531
+ gap: var(--spacing-xs);
18532
+ padding-bottom: var(--spacing-xs);
18533
+ border-bottom: var(--border-width-thin) solid var(--border-default);
18534
+ margin-bottom: var(--spacing-xs);
18535
+ }
18536
+
18537
+ .bc-time-picker__header-label {
18538
+ flex: 1;
18539
+ text-align: center;
18540
+ font-size: var(--font-size-xs);
18541
+ font-weight: var(--font-weight-semibold);
18542
+ color: var(--text-muted);
18543
+ text-transform: uppercase;
18544
+ letter-spacing: 0.05em;
18545
+ }
18546
+
18547
+ /* Body containing columns */
18548
+ .bc-time-picker__body {
18549
+ display: flex;
18550
+ align-items: flex-start;
18551
+ gap: var(--spacing-xs);
18552
+ }
18553
+
18554
+ /* Columns */
18555
+ .bc-time-picker__columns {
18556
+ display: flex;
18557
+ flex-direction: column;
18558
+ }
18559
+
18560
+ .bc-time-picker__column {
18561
+ display: flex;
18562
+ flex-direction: column;
18563
+ max-height: 200px;
18564
+ overflow-y: auto;
18565
+ scrollbar-width: thin;
18566
+ scrollbar-color: var(--color-neutral-300) transparent;
18567
+ min-width: 44px;
18568
+ gap: 1px;
18569
+ }
18570
+
18571
+ .bc-time-picker__column::-webkit-scrollbar {
18572
+ width: 4px;
18573
+ }
18574
+
18575
+ .bc-time-picker__column::-webkit-scrollbar-track {
18576
+ background: transparent;
18577
+ }
18578
+
18579
+ .bc-time-picker__column::-webkit-scrollbar-thumb {
18580
+ background-color: var(--color-neutral-300);
18581
+ border-radius: var(--radius-full);
18582
+ }
18583
+
18584
+ /* Separator between columns */
18585
+ .bc-time-picker__separator {
18586
+ display: flex;
18587
+ align-items: center;
18588
+ font-weight: var(--font-weight-bold);
18589
+ color: var(--text-muted);
18590
+ padding: 0 var(--spacing-2xs);
18591
+ align-self: flex-start;
18592
+ margin-top: var(--spacing-xs);
18593
+ }
18594
+
18595
+ /* Individual time items */
18596
+ .bc-time-picker__item {
18597
+ display: flex;
18598
+ align-items: center;
18599
+ justify-content: center;
18600
+ background: none;
18601
+ border: none;
18602
+ border-radius: var(--radius-sm);
18603
+ cursor: pointer;
18604
+ color: var(--text-normal);
18605
+ font-family: inherit;
18606
+ font-variant-numeric: tabular-nums;
18607
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18608
+ padding: var(--spacing-2xs) var(--spacing-xs);
18609
+ min-width: 36px;
18610
+ }
18611
+
18612
+ .bc-time-picker__item:hover:not(:disabled) {
18613
+ background-color: var(--bg-subtle);
18614
+ }
18615
+
18616
+ .bc-time-picker__item:focus-visible {
18617
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18618
+ outline-offset: calc(-1 * var(--outline-width-focus));
18619
+ }
18620
+
18621
+ .bc-time-picker__item--selected {
18622
+ background-color: var(--tp-selected-bg, var(--color-primary-500));
18623
+ color: var(--color-white);
18624
+ font-weight: var(--font-weight-semibold);
18625
+ }
18626
+
18627
+ .bc-time-picker__item--selected:hover:not(:disabled) {
18628
+ filter: brightness(0.9);
18629
+ }
18630
+
18631
+ .bc-time-picker__item:disabled {
18632
+ cursor: not-allowed;
18633
+ opacity: 0.4;
18634
+ }
18635
+
18636
+ /* Footer with Now button */
18637
+ .bc-time-picker__footer {
18638
+ display: flex;
18639
+ justify-content: center;
18640
+ padding-top: var(--spacing-xs);
18641
+ border-top: var(--border-width-thin) solid var(--border-default);
18642
+ margin-top: var(--spacing-xs);
18643
+ }
18644
+
18645
+ .bc-time-picker__now-btn {
18646
+ background: none;
18647
+ border: var(--border-width-thin) solid var(--border-default);
18648
+ border-radius: var(--radius-sm);
18649
+ cursor: pointer;
18650
+ color: var(--color-primary-600);
18651
+ font-family: inherit;
18652
+ font-size: var(--font-size-sm);
18653
+ font-weight: var(--font-weight-medium);
18654
+ padding: var(--spacing-2xs) var(--spacing-md);
18655
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18656
+ }
18657
+
18658
+ .bc-time-picker__now-btn:hover:not(:disabled) {
18659
+ background-color: var(--color-primary-50);
18660
+ border-color: var(--color-primary-300);
18661
+ }
18662
+
18663
+ .bc-time-picker__now-btn:focus-visible {
18664
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18665
+ outline-offset: calc(-1 * var(--outline-width-focus));
18666
+ }
18667
+
18668
+ .bc-time-picker__now-btn:disabled {
18669
+ cursor: not-allowed;
18670
+ opacity: 0.4;
18671
+ }
18672
+
18673
+ /* Size variants */
18674
+ .bc-time-picker--size-xs {
18675
+ padding: var(--spacing-2xs);
18676
+ font-size: var(--font-size-xs);
18677
+ }
18678
+ .bc-time-picker--size-xs .bc-time-picker__column {
18679
+ max-height: 140px;
18680
+ min-width: 32px;
18681
+ }
18682
+ .bc-time-picker--size-xs .bc-time-picker__item {
18683
+ padding: 1px var(--spacing-2xs);
18684
+ min-width: 28px;
18685
+ font-size: var(--font-size-2xs);
18686
+ }
18687
+
18688
+ .bc-time-picker--size-sm {
18689
+ padding: var(--spacing-xs);
18690
+ font-size: var(--font-size-sm);
18691
+ }
18692
+ .bc-time-picker--size-sm .bc-time-picker__column {
18693
+ max-height: 170px;
18694
+ min-width: 36px;
18695
+ }
18696
+ .bc-time-picker--size-sm .bc-time-picker__item {
18697
+ padding: var(--spacing-2xs) var(--spacing-2xs);
18698
+ min-width: 32px;
18699
+ font-size: var(--font-size-xs);
18700
+ }
18701
+
18702
+ .bc-time-picker--size-md {
18703
+ padding: var(--spacing-sm);
18704
+ font-size: var(--font-size-md);
18705
+ }
18706
+ .bc-time-picker--size-md .bc-time-picker__column {
18707
+ max-height: 200px;
18708
+ }
18709
+ .bc-time-picker--size-md .bc-time-picker__item {
18710
+ font-size: var(--font-size-sm);
18711
+ }
18712
+
18713
+ .bc-time-picker--size-lg {
18714
+ padding: var(--spacing-md);
18715
+ font-size: var(--font-size-lg);
18716
+ }
18717
+ .bc-time-picker--size-lg .bc-time-picker__column {
18718
+ max-height: 240px;
18719
+ min-width: 52px;
18720
+ }
18721
+ .bc-time-picker--size-lg .bc-time-picker__item {
18722
+ padding: var(--spacing-xs) var(--spacing-sm);
18723
+ min-width: 44px;
18724
+ font-size: var(--font-size-md);
18725
+ }
18726
+
18727
+ .bc-time-picker--size-xl {
18728
+ padding: var(--spacing-lg);
18729
+ font-size: var(--font-size-xl);
18730
+ }
18731
+ .bc-time-picker--size-xl .bc-time-picker__column {
18732
+ max-height: 280px;
18733
+ min-width: 60px;
18734
+ }
18735
+ .bc-time-picker--size-xl .bc-time-picker__item {
18736
+ padding: var(--spacing-xs) var(--spacing-md);
18737
+ min-width: 52px;
18738
+ font-size: var(--font-size-lg);
18739
+ }
18740
+
18741
+ /* Dark mode */
18742
+ .dark .bc-time-picker {
18743
+ background-color: var(--bg-background);
18744
+ border-color: var(--border-default);
18745
+ }
18746
+
18747
+ .dark .bc-time-picker__header {
18748
+ border-bottom-color: var(--border-default);
18749
+ }
18750
+
18751
+ .dark .bc-time-picker__footer {
18752
+ border-top-color: var(--border-default);
18753
+ }
18754
+
18755
+ .dark .bc-time-picker__now-btn {
18756
+ color: var(--color-primary-400);
18757
+ border-color: var(--border-default);
18758
+ }
18759
+
18760
+ .dark .bc-time-picker__now-btn:hover:not(:disabled) {
18761
+ background-color: var(--color-primary-950);
18762
+ border-color: var(--color-primary-700);
18763
+ }
18764
+
18765
+ .dark .bc-time-picker__item {
18766
+ color: var(--text-normal);
18767
+ }
18768
+
18769
+ .dark .bc-time-picker__item:hover:not(:disabled) {
18770
+ background-color: var(--bg-subtle);
18771
+ }
18772
+
18773
+ .dark .bc-time-picker__item--selected {
18774
+ color: var(--color-white);
18775
+ }
18776
+
18777
+ .dark .bc-time-picker__column::-webkit-scrollbar-thumb {
18778
+ background-color: var(--color-neutral-600);
18779
+ }
18780
+
18781
+ .dark .bc-time-picker__column {
18782
+ scrollbar-color: var(--color-neutral-600) transparent;
18783
+ }
18784
+
18785
+ /* Reduced motion */
18786
+ @media (prefers-reduced-motion: reduce) {
18787
+ .bc-time-picker__item {
18788
+ transition: none;
18789
+ }
18790
+ }
18791
+
18792
+ /* Time Select — fit-content sizing like date-select */
18793
+ .bc-time-select {
18794
+ width: fit-content;
18795
+ max-width: 100%;
18796
+ }
18797
+
18798
+ .bc-time-select__trigger {
18799
+ cursor: pointer;
18800
+ user-select: none;
18801
+ }
18802
+
18803
+ /* Panel shown in the flyout */
18804
+ .bc-time-select__panel {
18805
+ background-color: var(--color-white);
18806
+ border: var(--border-width-default) solid var(--border-default);
18807
+ border-radius: var(--radius-lg);
18808
+ box-shadow: var(--shadow-lg);
18809
+ padding: var(--spacing-md);
18810
+ }
18811
+
18812
+ /* Dark mode */
18813
+ .dark .bc-time-select__panel {
18814
+ background-color: var(--bg-surface);
18815
+ border-color: var(--border-default);
18816
+ }
18817
+
18818
+ /* CopyButton Component */
18819
+ .bc-copy-button {
18820
+ display: inline-flex;
18821
+ position: relative;
18822
+ }
18823
+
18824
+ .bc-copy-button--copied .bc-button {
18825
+ color: var(--color-success-600);
18826
+ }
18827
+
18828
+ .dark .bc-copy-button--copied .bc-button {
18829
+ color: var(--color-success-400);
18830
+ }
18831
+
18832
+ /* Brief scale animation on copy */
18833
+ @keyframes bc-copy-pulse {
18834
+ 0% {
18835
+ transform: scale(1);
18836
+ }
18837
+ 50% {
18838
+ transform: scale(1.15);
18839
+ }
18840
+ 100% {
18841
+ transform: scale(1);
18842
+ }
18843
+ }
18844
+
18845
+ .bc-copy-button--copied .bc-button {
18846
+ animation: bc-copy-pulse var(--motion-duration-fast)
18847
+ var(--motion-easing-standard);
18848
+ }
18849
+
18850
+ @media (prefers-reduced-motion: reduce) {
18851
+ .bc-copy-button--copied .bc-button {
18852
+ animation: none;
18853
+ }
18854
+ }
18855
+
18856
+ /* NumberStepper Component */
18857
+ .bc-number-stepper {
18858
+ display: inline-flex;
18859
+ align-items: center;
18860
+ gap: var(--spacing-xs);
18861
+ user-select: none;
18862
+ }
18863
+
18864
+ .bc-number-stepper--disabled {
18865
+ opacity: 0.5;
18866
+ pointer-events: none;
18867
+ }
18868
+
18869
+ /* Vertical orientation */
18870
+ .bc-number-stepper--vertical {
18871
+ flex-direction: column;
18872
+ }
18873
+
18874
+ /* Value display */
18875
+ .bc-number-stepper__value {
18876
+ font-variant-numeric: tabular-nums;
18877
+ font-weight: var(--font-weight-semibold);
18878
+ font-size: var(--font-size-md);
18879
+ text-align: center;
18880
+ color: var(--text-normal);
18881
+ min-width: 2em;
18882
+ line-height: 1;
18883
+ }
18884
+
18885
+ /* Compact buttons — not full Button, just icon buttons */
18886
+ .bc-number-stepper__button {
18887
+ display: inline-flex;
18888
+ align-items: center;
18889
+ justify-content: center;
18890
+ background: none;
18891
+ border: var(--border-width-thin) solid var(--border-default);
18892
+ border-radius: var(--radius-sm);
18893
+ cursor: pointer;
18894
+ color: var(--text-normal);
18895
+ padding: var(--spacing-xs);
18896
+ line-height: 1;
18897
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18898
+ flex-shrink: 0;
18899
+ }
18900
+
18901
+ .bc-number-stepper__button:hover:not(:disabled) {
18902
+ background-color: var(--bg-subtle);
18903
+ border-color: var(--color-neutral-400);
18904
+ }
18905
+
18906
+ .bc-number-stepper__button:active:not(:disabled) {
18907
+ background-color: var(--color-neutral-200);
18908
+ }
18909
+
18910
+ .bc-number-stepper__button:focus-visible {
18911
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18912
+ outline-offset: calc(-1 * var(--outline-width-focus));
18913
+ }
18914
+
18915
+ .bc-number-stepper__button:disabled {
18916
+ cursor: not-allowed;
18917
+ opacity: 0.4;
18918
+ }
18919
+
18920
+ /* Size variants */
18921
+ .bc-number-stepper--size-xs {
18922
+ gap: var(--spacing-2xs);
18923
+ }
18924
+ .bc-number-stepper--size-xs .bc-number-stepper__value {
18925
+ font-size: var(--font-size-xs);
18926
+ min-width: 1.5em;
18927
+ }
18928
+ .bc-number-stepper--size-xs .bc-number-stepper__button {
18929
+ padding: var(--spacing-2xs);
18930
+ }
18931
+
18932
+ .bc-number-stepper--size-sm {
18933
+ gap: var(--spacing-2xs);
18934
+ }
18935
+ .bc-number-stepper--size-sm .bc-number-stepper__value {
18936
+ font-size: var(--font-size-sm);
18937
+ min-width: 1.8em;
18938
+ }
18939
+ .bc-number-stepper--size-sm .bc-number-stepper__button {
18940
+ padding: 3px;
18941
+ }
18942
+
18943
+ .bc-number-stepper--size-md .bc-number-stepper__button {
18944
+ padding: var(--spacing-xs);
18945
+ }
18946
+
18947
+ .bc-number-stepper--size-lg {
18948
+ gap: var(--spacing-sm);
18949
+ }
18950
+ .bc-number-stepper--size-lg .bc-number-stepper__value {
18951
+ font-size: var(--font-size-lg);
18952
+ min-width: 2.5em;
18953
+ }
18954
+ .bc-number-stepper--size-lg .bc-number-stepper__button {
18955
+ padding: var(--spacing-xs);
18956
+ }
18957
+
18958
+ .bc-number-stepper--size-xl {
18959
+ gap: var(--spacing-sm);
18960
+ }
18961
+ .bc-number-stepper--size-xl .bc-number-stepper__value {
18962
+ font-size: var(--font-size-xl);
18963
+ min-width: 3em;
18964
+ }
18965
+ .bc-number-stepper--size-xl .bc-number-stepper__button {
18966
+ padding: var(--spacing-xs);
18967
+ border-radius: var(--radius-md);
18968
+ }
18969
+
18970
+ /* Vertical: increment on top, value middle, decrement on bottom */
18971
+ .bc-number-stepper--vertical .bc-number-stepper__button {
18972
+ width: 100%;
18973
+ }
18974
+
18975
+ .bc-number-stepper--vertical .bc-number-stepper__button--increment {
18976
+ order: -1;
18977
+ }
18978
+
18979
+ .bc-number-stepper--vertical .bc-number-stepper__button--decrement {
18980
+ order: 1;
18981
+ }
18982
+
18983
+ .bc-number-stepper--vertical .bc-number-stepper__value {
18984
+ order: 0;
18985
+ }
18986
+
18987
+ /* Dark mode */
18988
+ .dark .bc-number-stepper__button {
18989
+ border-color: var(--border-default);
18990
+ color: var(--text-normal);
18991
+ }
18992
+
18993
+ .dark .bc-number-stepper__button:hover:not(:disabled) {
18994
+ background-color: var(--bg-subtle);
18995
+ border-color: var(--color-neutral-500);
18996
+ }
18997
+
18998
+ .dark .bc-number-stepper__button:active:not(:disabled) {
18999
+ background-color: var(--color-neutral-700);
19000
+ }
19001
+
19002
+ /* Reduced motion */
19003
+ @media (prefers-reduced-motion: reduce) {
19004
+ .bc-number-stepper__button {
19005
+ transition: none;
19006
+ }
19007
+ }
19008
+
19009
+ /* StatCard Component */
19010
+ .bc-stat-card {
19011
+ display: flex;
19012
+ flex-direction: column;
19013
+ gap: var(--spacing-sm);
19014
+ padding: var(--spacing-lg);
19015
+ background-color: var(--color-white);
19016
+ border: var(--border-width-thin) solid var(--border-default);
19017
+ border-radius: var(--radius-lg);
19018
+ }
19019
+
19020
+ /* Variants */
19021
+ .bc-stat-card--elevated {
19022
+ border: none;
19023
+ box-shadow: var(--shadow-md);
19024
+ }
19025
+
19026
+ .bc-stat-card--outlined {
19027
+ background-color: transparent;
19028
+ border: var(--border-width-default) solid var(--border-default);
19029
+ }
19030
+
19031
+ /* Padding + font sizes */
19032
+ .bc-stat-card--padding-xs {
19033
+ padding: var(--spacing-xs);
19034
+ gap: var(--spacing-xs);
19035
+ }
19036
+ .bc-stat-card--padding-xs .bc-stat-card__value {
19037
+ font-size: var(--font-size-lg);
19038
+ }
19039
+ .bc-stat-card--padding-xs .bc-stat-card__label,
19040
+ .bc-stat-card--padding-xs .bc-stat-card__trend {
19041
+ font-size: var(--font-size-xs);
19042
+ }
19043
+
19044
+ .bc-stat-card--padding-sm {
19045
+ padding: var(--spacing-sm);
19046
+ gap: var(--spacing-xs);
19047
+ }
19048
+ .bc-stat-card--padding-sm .bc-stat-card__value {
19049
+ font-size: var(--font-size-xl);
19050
+ }
19051
+ .bc-stat-card--padding-sm .bc-stat-card__label,
19052
+ .bc-stat-card--padding-sm .bc-stat-card__trend {
19053
+ font-size: var(--font-size-xs);
19054
+ }
19055
+
19056
+ .bc-stat-card--padding-lg {
19057
+ padding: var(--spacing-xl);
19058
+ gap: var(--spacing-md);
19059
+ }
19060
+ .bc-stat-card--padding-lg .bc-stat-card__value {
19061
+ font-size: var(--font-size-3xl);
19062
+ }
19063
+ .bc-stat-card--padding-lg .bc-stat-card__label,
19064
+ .bc-stat-card--padding-lg .bc-stat-card__trend {
19065
+ font-size: var(--font-size-md);
19066
+ }
19067
+
19068
+ .bc-stat-card--padding-xl {
19069
+ padding: var(--spacing-2xl);
19070
+ gap: var(--spacing-lg);
19071
+ }
19072
+ .bc-stat-card--padding-xl .bc-stat-card__value {
19073
+ font-size: var(--font-size-4xl);
19074
+ }
19075
+ .bc-stat-card--padding-xl .bc-stat-card__label,
19076
+ .bc-stat-card--padding-xl .bc-stat-card__trend {
19077
+ font-size: var(--font-size-lg);
19078
+ }
19079
+
19080
+ /* Value */
19081
+ .bc-stat-card__value {
19082
+ font-size: var(--font-size-2xl);
19083
+ font-weight: var(--font-weight-bold);
19084
+ color: var(--text-normal);
19085
+ line-height: var(--line-height-tight);
19086
+ font-variant-numeric: tabular-nums;
19087
+ }
19088
+
19089
+ /* Label */
19090
+ .bc-stat-card__label {
19091
+ font-size: var(--font-size-sm);
19092
+ color: var(--text-muted);
19093
+ font-weight: var(--font-weight-medium);
19094
+ }
19095
+
19096
+ /* Trend */
19097
+ .bc-stat-card__trend {
19098
+ display: inline-flex;
19099
+ align-items: center;
19100
+ gap: var(--spacing-md);
19101
+ font-size: var(--font-size-sm);
19102
+ font-weight: var(--font-weight-medium);
19103
+ color: var(--stat-card-trend-color, var(--text-muted));
19104
+ }
19105
+
19106
+ .bc-stat-card__trend-value {
19107
+ font-variant-numeric: tabular-nums;
19108
+ }
19109
+
19110
+ /* Icon */
19111
+ .bc-stat-card__icon {
19112
+ display: flex;
19113
+ align-items: center;
19114
+ justify-content: center;
19115
+ color: var(--stat-card-accent, var(--color-primary-500));
19116
+ }
19117
+
19118
+ /* Sparkline slot */
19119
+ .bc-stat-card__sparkline {
19120
+ margin-top: var(--spacing-sm);
19121
+ min-height: 32px;
19122
+ border-top: var(--border-width-thin) solid
19123
+ var(--border-subtle, var(--border-default));
19124
+ padding-top: var(--spacing-sm);
19125
+ }
19126
+
19127
+ /* Dark mode */
19128
+ .dark .bc-stat-card {
19129
+ background-color: var(--bg-surface);
19130
+ }
19131
+
19132
+ .dark .bc-stat-card--outlined {
19133
+ background-color: transparent;
19134
+ }
19135
+
19136
+ .dark .bc-stat-card--elevated {
19137
+ box-shadow: var(--shadow-lg);
19138
+ }
19139
+
19140
+ .dark .bc-stat-card__trend {
19141
+ color: var(--stat-card-trend-color-dark, var(--text-muted));
19142
+ }
19143
+
19144
+ .dark .bc-stat-card__icon {
19145
+ color: var(--stat-card-accent, var(--color-primary-400));
19146
+ }
19147
+
19148
+ /* Stepper Component */
19149
+ .bc-stepper {
19150
+ display: flex;
19151
+ flex-direction: column;
19152
+ gap: var(--spacing-lg);
19153
+ }
19154
+
19155
+ .bc-stepper--disabled {
19156
+ opacity: 0.5;
19157
+ pointer-events: none;
19158
+ }
19159
+
19160
+ /* Indicators row */
19161
+ .bc-stepper__indicators {
19162
+ display: flex;
19163
+ align-items: center;
19164
+ }
19165
+
19166
+ .bc-stepper--vertical .bc-stepper__indicators {
19167
+ flex-direction: column;
19168
+ align-items: flex-start;
19169
+ gap: var(--spacing-md);
19170
+ }
19171
+
19172
+ /* Individual step */
19173
+ .bc-stepper__step {
19174
+ display: flex;
19175
+ align-items: center;
19176
+ gap: var(--spacing-md);
19177
+ cursor: pointer;
19178
+ user-select: none;
19179
+ flex-shrink: 0;
19180
+ padding-right: var(--spacing-md);
19181
+ }
19182
+
19183
+ .bc-stepper__step:focus-visible {
19184
+ outline: var(--outline-width-focus) solid
19185
+ var(--stepper-color, var(--color-primary-500));
19186
+ outline-offset: var(--spacing-2xs);
19187
+ border-radius: var(--radius-sm);
19188
+ }
19189
+
19190
+ /* Step circle */
19191
+ .bc-stepper__circle {
19192
+ display: flex;
19193
+ align-items: center;
19194
+ justify-content: center;
19195
+ width: 32px;
19196
+ height: 32px;
19197
+ border-radius: var(--radius-full);
19198
+ border: var(--border-width-default) solid var(--border-default);
19199
+ background-color: var(--bg-background);
19200
+ color: var(--text-muted);
19201
+ font-size: var(--font-size-sm);
19202
+ font-weight: var(--font-weight-semibold);
19203
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
19204
+ flex-shrink: 0;
19205
+ }
19206
+
19207
+ .bc-stepper__step--active .bc-stepper__circle {
19208
+ border-color: var(--stepper-color, var(--color-primary-500));
19209
+ background-color: var(--stepper-color, var(--color-primary-500));
19210
+ color: var(--color-white);
19211
+ }
19212
+
19213
+ .bc-stepper__step--completed .bc-stepper__circle {
19214
+ border-color: var(--stepper-color, var(--color-primary-500));
19215
+ background-color: var(--stepper-color, var(--color-primary-500));
19216
+ color: var(--color-white);
19217
+ }
19218
+
19219
+ .bc-stepper__step--error .bc-stepper__circle {
19220
+ border-color: var(--color-danger-500);
19221
+ background-color: var(--color-danger-500);
19222
+ color: var(--color-white);
19223
+ }
19224
+
19225
+ /* Step label */
19226
+ .bc-stepper__label {
19227
+ display: flex;
19228
+ flex-direction: column;
19229
+ }
19230
+
19231
+ .bc-stepper__label-text {
19232
+ font-size: var(--font-size-sm);
19233
+ font-weight: var(--font-weight-medium);
19234
+ color: var(--text-normal);
19235
+ }
19236
+
19237
+ .bc-stepper__step--pending .bc-stepper__label-text {
19238
+ color: var(--text-muted);
19239
+ }
19240
+
19241
+ .bc-stepper__label-description {
19242
+ font-size: var(--font-size-xs);
19243
+ color: var(--text-muted);
19244
+ }
19245
+
19246
+ /* Connector line */
19247
+ .bc-stepper__connector {
19248
+ flex: 1;
19249
+ height: 2px;
19250
+ min-width: var(--spacing-lg);
19251
+ background-color: var(--border-default);
19252
+ transition: background-color var(--motion-transition-fast)
19253
+ var(--motion-easing-standard);
19254
+ }
19255
+
19256
+ .bc-stepper__connector--completed {
19257
+ background-color: var(--stepper-color, var(--color-primary-500));
19258
+ }
19259
+
19260
+ .bc-stepper--vertical .bc-stepper__connector {
19261
+ width: 2px;
19262
+ height: var(--spacing-lg);
19263
+ min-width: 0;
19264
+ margin-left: 15px; /* center under the 32px circle */
19265
+ flex: 0;
19266
+ }
19267
+
19268
+ /* Content area */
19269
+ .bc-stepper__content {
19270
+ min-height: 0;
19271
+ }
19272
+
19273
+ /* Navigation buttons */
19274
+ .bc-stepper__navigation {
19275
+ display: flex;
19276
+ align-items: center;
19277
+ gap: var(--spacing-sm);
19278
+ }
19279
+
19280
+ .bc-stepper__spacer {
19281
+ flex: 1;
19282
+ }
19283
+
19284
+ /* Size variants */
19285
+ .bc-stepper--size-xs .bc-stepper__circle {
19286
+ width: 24px;
19287
+ height: 24px;
19288
+ font-size: var(--font-size-xs);
19289
+ }
19290
+ .bc-stepper--size-xs .bc-stepper__label-text {
19291
+ font-size: var(--font-size-xs);
19292
+ }
19293
+ .bc-stepper--size-xs .bc-stepper__label-description {
19294
+ font-size: var(--font-size-2xs);
19295
+ }
19296
+ .bc-stepper--size-xs.bc-stepper--vertical .bc-stepper__connector {
19297
+ margin-left: 11px;
19298
+ }
19299
+
19300
+ .bc-stepper--size-sm .bc-stepper__circle {
19301
+ width: 28px;
19302
+ height: 28px;
19303
+ font-size: var(--font-size-xs);
19304
+ }
19305
+ .bc-stepper--size-sm .bc-stepper__label-text {
19306
+ font-size: var(--font-size-xs);
19307
+ }
19308
+
19309
+ .bc-stepper--size-lg .bc-stepper__circle {
19310
+ width: 40px;
19311
+ height: 40px;
19312
+ font-size: var(--font-size-md);
19313
+ }
19314
+ .bc-stepper--size-lg .bc-stepper__label-text {
19315
+ font-size: var(--font-size-md);
19316
+ }
19317
+
19318
+ .bc-stepper--size-xl .bc-stepper__circle {
19319
+ width: 48px;
19320
+ height: 48px;
19321
+ font-size: var(--font-size-lg);
19322
+ }
19323
+ .bc-stepper--size-xl .bc-stepper__label-text {
19324
+ font-size: var(--font-size-lg);
19325
+ }
19326
+
19327
+ /* Compact variant */
19328
+ .bc-stepper--compact .bc-stepper__label {
19329
+ display: none;
19330
+ }
19331
+
19332
+ /* Dark mode */
19333
+ .dark .bc-stepper__circle {
19334
+ background-color: var(--bg-background);
19335
+ border-color: var(--border-default);
19336
+ color: var(--text-muted);
19337
+ }
19338
+
19339
+ .dark .bc-stepper__step--active .bc-stepper__circle {
19340
+ border-color: var(--stepper-color-dark, var(--color-primary-400));
19341
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19342
+ }
19343
+
19344
+ .dark .bc-stepper__step--completed .bc-stepper__circle {
19345
+ border-color: var(--stepper-color-dark, var(--color-primary-400));
19346
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19347
+ }
19348
+
19349
+ .dark .bc-stepper__step--error .bc-stepper__circle {
19350
+ border-color: var(--color-danger-400);
19351
+ background-color: var(--color-danger-400);
19352
+ }
19353
+
19354
+ .dark .bc-stepper__connector--completed {
19355
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19356
+ }
19357
+
19358
+ /* Reduced motion */
19359
+ @media (prefers-reduced-motion: reduce) {
19360
+ .bc-stepper__circle,
19361
+ .bc-stepper__connector {
19362
+ transition: none;
19363
+ }
19364
+ }
19365
+
19366
+ /* SortableList Component */
19367
+ .bc-sortable-list {
19368
+ display: flex;
19369
+ flex-direction: column;
19370
+ }
19371
+
19372
+ .bc-sortable-list--disabled {
19373
+ opacity: 0.5;
19374
+ pointer-events: none;
19375
+ }
19376
+
19377
+ /* Gap variants */
19378
+ .bc-sortable-list--gap-xs {
19379
+ gap: var(--spacing-2xs);
19380
+ }
19381
+ .bc-sortable-list--gap-sm {
19382
+ gap: var(--spacing-xs);
19383
+ }
19384
+ .bc-sortable-list--gap-md {
19385
+ gap: var(--spacing-sm);
19386
+ }
19387
+ .bc-sortable-list--gap-lg {
19388
+ gap: var(--spacing-md);
19389
+ }
19390
+ .bc-sortable-list--gap-xl {
19391
+ gap: var(--spacing-lg);
19392
+ }
19393
+
19394
+ /* Items — base */
19395
+ .bc-sortable-list__item {
19396
+ display: flex;
19397
+ align-items: center;
19398
+ padding: var(--spacing-xs) var(--spacing-sm);
19399
+ border-radius: var(--radius-sm);
19400
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
19401
+ }
19402
+
19403
+ .bc-sortable-list__item--dragging {
19404
+ opacity: 0.4;
19405
+ }
19406
+
19407
+ .bc-sortable-list__item--drop-target {
19408
+ border-color: var(--color-primary-400);
19409
+ box-shadow: 0 -2px 0 0 var(--color-primary-500);
19410
+ }
19411
+
19412
+ /* Variant: bordered (default) */
19413
+ .bc-sortable-list--variant-bordered .bc-sortable-list__item {
19414
+ background-color: white;
19415
+ border: var(--border-width-thin) solid var(--border-default);
19416
+ }
19417
+
19418
+ /* Variant: card */
19419
+ .bc-sortable-list--variant-card .bc-sortable-list__item {
19420
+ background-color: var(--bg-background);
19421
+ border: var(--border-width-thin) solid var(--border-muted);
19422
+ box-shadow: var(--shadow-sm);
19423
+ }
19424
+
19425
+ .bc-sortable-list--variant-card .bc-sortable-list__item--drop-target {
19426
+ border-color: var(--color-primary-400);
19427
+ box-shadow:
19428
+ var(--shadow-sm),
19429
+ 0 -2px 0 0 var(--color-primary-500);
19430
+ }
19431
+
19432
+ /* Variant: plain */
19433
+ .bc-sortable-list--variant-plain .bc-sortable-list__item {
19434
+ background-color: transparent;
19435
+ border: var(--border-width-thin) solid transparent;
19436
+ }
19437
+
19438
+ .bc-sortable-list--variant-plain .bc-sortable-list__item:hover {
19439
+ background-color: var(--bg-muted);
19440
+ }
19441
+
19442
+ /* Handle */
19443
+ .bc-sortable-list__handle {
19444
+ display: flex;
19445
+ align-items: center;
19446
+ cursor: grab;
19447
+ color: var(--color-base-300);
19448
+ flex-shrink: 0;
19449
+ margin-right: var(--spacing-xs);
19450
+ }
19451
+
19452
+ .bc-sortable-list__handle:active {
19453
+ cursor: grabbing;
19454
+ }
19455
+
19456
+ /* Size variants */
19457
+ .bc-sortable-list--size-xs .bc-sortable-list__item {
19458
+ padding: var(--spacing-2xs) var(--spacing-xs);
19459
+ font-size: var(--font-size-xs);
19460
+ }
19461
+ .bc-sortable-list--size-sm .bc-sortable-list__item {
19462
+ padding: var(--spacing-2xs) var(--spacing-sm);
19463
+ font-size: var(--font-size-sm);
19464
+ }
19465
+ .bc-sortable-list--size-lg .bc-sortable-list__item {
19466
+ padding: var(--spacing-sm) var(--spacing-md);
19467
+ font-size: var(--font-size-lg);
19468
+ }
19469
+ .bc-sortable-list--size-xl .bc-sortable-list__item {
19470
+ padding: var(--spacing-md) var(--spacing-lg);
19471
+ font-size: var(--font-size-xl);
19472
+ }
19473
+
19474
+ /* Dark mode */
19475
+ .dark .bc-sortable-list--variant-bordered .bc-sortable-list__item {
19476
+ background-color: var(--color-neutral-900);
19477
+ border-color: var(--border-default);
19478
+ }
19479
+
19480
+ .dark .bc-sortable-list--variant-card .bc-sortable-list__item {
19481
+ background-color: var(--bg-background);
19482
+ }
19483
+
19484
+ .dark .bc-sortable-list--variant-plain .bc-sortable-list__item:hover {
19485
+ background-color: var(--bg-muted);
19486
+ }
19487
+
19488
+ .dark .bc-sortable-list__handle {
19489
+ color: var(--color-base-600);
19490
+ }
19491
+
19492
+ .dark .bc-sortable-list__item--drop-target {
19493
+ border-color: var(--color-primary-400);
19494
+ box-shadow: 0 -2px 0 0 var(--color-primary-400);
19495
+ }
19496
+
19497
+ .dark .bc-sortable-list--variant-card .bc-sortable-list__item--drop-target {
19498
+ box-shadow:
19499
+ var(--shadow-sm),
19500
+ 0 -2px 0 0 var(--color-primary-400);
19501
+ }
19502
+
19503
+ /* Reduced motion */
19504
+ @media (prefers-reduced-motion: reduce) {
19505
+ .bc-sortable-list__item {
19506
+ transition: none;
19507
+ }
19508
+ }
19509
+
19510
+ /* TransferList Component */
19511
+ .bc-transfer-list {
19512
+ display: flex;
19513
+ align-items: stretch;
19514
+ gap: var(--spacing-sm);
19515
+ }
19516
+
19517
+ .bc-transfer-list--disabled {
19518
+ opacity: 0.5;
19519
+ pointer-events: none;
19520
+ }
19521
+
19522
+ /* Panels */
19523
+ .bc-transfer-list__panel {
19524
+ flex: 1;
19525
+ display: flex;
19526
+ flex-direction: column;
19527
+ border: var(--border-width-thin) solid var(--border-default);
19528
+ border-radius: var(--radius-md);
19529
+ background-color: var(--bg-background);
19530
+ min-width: 180px;
19531
+ overflow: hidden;
19532
+ }
19533
+
19534
+ .bc-transfer-list__panel-header {
19535
+ display: flex;
19536
+ align-items: center;
19537
+ justify-content: space-between;
19538
+ padding: var(--spacing-xs) var(--spacing-sm);
19539
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19540
+ background-color: var(--bg-subtle);
19541
+ }
19542
+
19543
+ .bc-transfer-list__panel-title {
19544
+ font-size: var(--font-size-xs);
19545
+ font-weight: var(--font-weight-semibold);
19546
+ color: var(--text-muted);
19547
+ text-transform: uppercase;
19548
+ letter-spacing: 0.05em;
19549
+ }
19550
+
19551
+ /* Search */
19552
+ .bc-transfer-list__search {
19553
+ padding: var(--spacing-xs);
19554
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19555
+ }
19556
+
19557
+ /* Items list */
19558
+ .bc-transfer-list__items {
19559
+ flex: 1;
19560
+ overflow-y: auto;
19561
+ max-height: 240px;
19562
+ scrollbar-width: thin;
19563
+ }
19564
+
19565
+ /* Individual item */
19566
+ .bc-transfer-list__item {
19567
+ display: flex;
19568
+ align-items: center;
19569
+ gap: var(--spacing-xs);
19570
+ padding: var(--spacing-2xs) var(--spacing-sm);
19571
+ cursor: pointer;
19572
+ transition: background-color var(--motion-transition-fast)
19573
+ var(--motion-easing-standard);
19574
+ }
19575
+
19576
+ .bc-transfer-list__item:hover {
19577
+ background-color: var(--bg-subtle);
19578
+ }
19579
+
19580
+ .bc-transfer-list__item--selected {
19581
+ background-color: var(--color-primary-50);
19582
+ }
19583
+
19584
+ .bc-transfer-list__item-check {
19585
+ display: flex;
19586
+ align-items: center;
19587
+ flex-shrink: 0;
19588
+ color: var(--text-muted);
19589
+ }
19590
+
19591
+ .bc-transfer-list__item--selected .bc-transfer-list__item-check {
19592
+ color: var(--color-primary-500);
19593
+ }
19594
+
19595
+ .bc-transfer-list__item-content {
19596
+ flex: 1;
19597
+ font-size: var(--font-size-sm);
19598
+ color: var(--text-normal);
19599
+ overflow: hidden;
19600
+ text-overflow: ellipsis;
19601
+ white-space: nowrap;
19602
+ }
19603
+
19604
+ /* Action buttons column */
19605
+ .bc-transfer-list__actions {
19606
+ display: flex;
19607
+ flex-direction: column;
19608
+ align-items: center;
19609
+ justify-content: center;
19610
+ gap: var(--spacing-xs);
19611
+ padding: var(--spacing-xs);
19612
+ }
19613
+
19614
+ /* Size variants */
19615
+ .bc-transfer-list--size-xs .bc-transfer-list__items {
19616
+ max-height: 160px;
19617
+ }
19618
+ .bc-transfer-list--size-xs .bc-transfer-list__item {
19619
+ padding: 1px var(--spacing-xs);
19620
+ }
19621
+ .bc-transfer-list--size-xs .bc-transfer-list__item-content {
19622
+ font-size: var(--font-size-xs);
19623
+ }
19624
+ .bc-transfer-list--size-xs .bc-transfer-list__panel {
19625
+ min-width: 140px;
19626
+ }
19627
+
19628
+ .bc-transfer-list--size-sm .bc-transfer-list__items {
19629
+ max-height: 200px;
19630
+ }
19631
+ .bc-transfer-list--size-sm .bc-transfer-list__item-content {
19632
+ font-size: var(--font-size-xs);
19633
+ }
19634
+ .bc-transfer-list--size-sm .bc-transfer-list__panel {
19635
+ min-width: 160px;
19636
+ }
19637
+
19638
+ .bc-transfer-list--size-lg .bc-transfer-list__items {
19639
+ max-height: 320px;
19640
+ }
19641
+ .bc-transfer-list--size-lg .bc-transfer-list__item {
19642
+ padding: var(--spacing-xs) var(--spacing-md);
19643
+ }
19644
+ .bc-transfer-list--size-lg .bc-transfer-list__item-content {
19645
+ font-size: var(--font-size-md);
19646
+ }
19647
+
19648
+ .bc-transfer-list--size-xl .bc-transfer-list__items {
19649
+ max-height: 400px;
19650
+ }
19651
+ .bc-transfer-list--size-xl .bc-transfer-list__item {
19652
+ padding: var(--spacing-sm) var(--spacing-lg);
19653
+ }
19654
+ .bc-transfer-list--size-xl .bc-transfer-list__item-content {
19655
+ font-size: var(--font-size-lg);
19656
+ }
19657
+
19658
+ /* Responsive */
19659
+ @media (max-width: 640px) {
19660
+ .bc-transfer-list {
19661
+ flex-direction: column;
19662
+ }
19663
+
19664
+ .bc-transfer-list__actions {
19665
+ flex-direction: row;
19666
+ }
19667
+
19668
+ .bc-transfer-list__panel {
19669
+ min-width: 0;
19670
+ }
19671
+ }
19672
+
19673
+ /* Dark mode */
19674
+ .dark .bc-transfer-list__panel {
19675
+ background-color: var(--bg-background);
19676
+ border-color: var(--border-default);
19677
+ }
19678
+
19679
+ .dark .bc-transfer-list__panel-header {
19680
+ background-color: var(--bg-subtle);
19681
+ border-bottom-color: var(--border-default);
19682
+ }
19683
+
19684
+ .dark .bc-transfer-list__item:hover {
19685
+ background-color: var(--bg-subtle);
19686
+ }
19687
+
19688
+ .dark .bc-transfer-list__item--selected {
19689
+ background-color: var(--color-primary-950);
19690
+ }
19691
+
19692
+ /* Reduced motion */
19693
+ @media (prefers-reduced-motion: reduce) {
19694
+ .bc-transfer-list__item {
19695
+ transition: none;
19696
+ }
19697
+ }
19698
+
19699
+ /* ColorPicker Component */
19700
+
19701
+ .bc-color-picker__container {
19702
+ width: 100%;
19703
+ display: flex;
19704
+ flex-direction: column;
19705
+ gap: var(--spacing-sm);
19706
+ }
19707
+
19708
+ .bc-color-picker__field-container {
19709
+ width: 100%;
19710
+ aspect-ratio: 1 / 1;
19711
+ contain: size layout;
19712
+ }
19713
+
19714
+ .bc-color-picker__field {
19715
+ width: 100%;
19716
+ height: 100%;
19717
+ border-radius: var(--radius-sm);
19718
+ overflow: clip;
19719
+ }
19720
+
19721
+ .bc-color-picker__field-interactive {
19722
+ cursor: crosshair;
19723
+ }
19724
+
19725
+ /* Cursor on the 2D color field */
19726
+ .bc-color-picker__cursor {
19727
+ position: absolute;
19728
+ width: 13px;
19729
+ height: 13px;
19730
+ border-radius: var(--radius-full);
19731
+ border: 2px solid white;
19732
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
19733
+ transform: translate(-50%, -50%);
19734
+ pointer-events: none;
19735
+ }
19736
+
19737
+ /* Strip wrap (hue / alpha / channel strips) */
19738
+ .bc-color-picker__strip-wrap {
19739
+ position: relative;
19740
+ width: 100%;
19741
+ height: var(--spacing-lg);
19742
+ cursor: pointer;
19743
+ }
19744
+
19745
+ .bc-color-picker__strip-wrap .bc-color-picker__canvas {
19746
+ border-radius: var(--radius-md);
19747
+ }
19748
+
19749
+ .bc-color-picker__canvas-wrap {
19750
+ position: absolute;
19751
+ width: 100%;
19752
+ height: 100%;
19753
+ }
19754
+
19755
+ /* Handle on strips */
19756
+ .bc-color-picker__handle {
19757
+ pointer-events: none;
19758
+ position: absolute;
19759
+ top: 50%;
19760
+ width: var(--spacing-lg);
19761
+ height: var(--spacing-lg);
19762
+ border-radius: var(--radius-full);
19763
+ border: 2px solid white;
19764
+ outline: 1px solid black;
19765
+ transform: translate(-50%, -50%);
19766
+ }
19767
+
19768
+ /* Label for channels */
19769
+ .bc-color-picker__label {
19770
+ text-align: right;
19771
+ font-size: var(--font-size-sm);
19772
+ }
19773
+
19774
+ /* Channel grid layout (label | strip | input) */
19775
+ .bc-color-picker__channels {
19776
+ width: 100%;
19777
+ display: grid;
19778
+ grid-template-columns:
19779
+ calc(var(--spacing-md) * 10)
19780
+ 1fr
19781
+ calc(var(--spacing-md) * 8);
19782
+ gap: var(--spacing-xs) var(--spacing-mdh);
19783
+ align-items: center;
19784
+ }
19785
+
19786
+ .bc-color-picker__compact.bc-color-picker__channels {
19787
+ grid-template-columns:
19788
+ calc(var(--spacing-md) * 2)
19789
+ 1fr
19790
+ calc(var(--spacing-md) * 8);
19791
+ }
19792
+
19793
+ .bc-color-picker__channels-container {
19794
+ min-width: 0;
19795
+ }
19796
+
19797
+ .bc-color-picker__channel__strip {
19798
+ width: 100%;
19799
+ }
19800
+
19801
+ .bc-color-picker__channel__input {
19802
+ flex-shrink: 0;
19803
+ --spacing-scale: 0.6;
19804
+ --font-size-scale: 0.8;
19805
+ }
19806
+
19807
+ /* Controls: channels + swatch side by side */
19808
+ .bc-color-picker__controls {
19809
+ display: grid;
19810
+ grid-template-columns: 1fr auto;
19811
+ gap: var(--spacing-md);
19812
+ align-items: stretch;
19813
+ }
19814
+
19815
+ /* Color swatch preview */
19816
+ .bc-color-picker__swatch-container {
19817
+ aspect-ratio: 1 / 1;
19818
+ height: 100%;
19819
+ }
19820
+
19821
+ .bc-color-picker__swatch {
19822
+ width: 100%;
19823
+ height: 100%;
19824
+ border-radius: var(--radius-md);
19825
+ }
19826
+
19827
+ .bc-spotlight {
19828
+ display: flex;
19829
+ flex-direction: column;
19830
+ background: var(--bg-surface);
19831
+ border: var(--border-width-thin) solid var(--border-default);
19832
+ border-radius: var(--radius-lg);
19833
+ box-shadow: var(--shadow-xl);
19834
+ overflow: hidden;
19835
+ margin: 15vh auto 0;
19836
+ width: 90%;
19837
+ max-height: 60vh;
19838
+ }
19839
+
19840
+ .bc-spotlight--size-sm {
19841
+ max-width: 480px;
19842
+ }
19843
+
19844
+ .bc-spotlight--size-md {
19845
+ max-width: 600px;
19846
+ }
19847
+
19848
+ .bc-spotlight--size-lg {
19849
+ max-width: 720px;
19850
+ }
19851
+
19852
+ .bc-spotlight__header {
19853
+ display: flex;
19854
+ align-items: center;
19855
+ gap: var(--spacing-md);
19856
+ padding: var(--spacing-mdh) var(--spacing-lg);
19857
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19858
+ }
19859
+
19860
+ .bc-spotlight__search-icon {
19861
+ display: flex;
19862
+ color: var(--text-muted);
19863
+ flex-shrink: 0;
19864
+ }
19865
+
19866
+ .bc-spotlight__input {
19867
+ flex: 1;
19868
+ border: none;
19869
+ outline: none;
19870
+ background: transparent;
19871
+ font-size: var(--font-size-md);
19872
+ font-family: inherit;
19873
+ color: inherit;
19874
+ }
19875
+
19876
+ .bc-spotlight__input::placeholder {
19877
+ color: var(--text-muted);
19878
+ }
19879
+
19880
+ .bc-spotlight__close-hint {
19881
+ display: flex;
19882
+ align-items: center;
19883
+ flex-shrink: 0;
19884
+ opacity: 0.6;
19885
+ }
19886
+
19887
+ .bc-spotlight__results {
19888
+ overflow-y: auto;
19889
+ padding: var(--spacing-md);
19890
+ }
19891
+
19892
+ .bc-spotlight__empty {
19893
+ padding: var(--spacing-xl) var(--spacing-lg);
19894
+ text-align: center;
19895
+ color: var(--text-muted);
19896
+ font-size: var(--font-size-sm);
19897
+ }
19898
+
19899
+ .bc-spotlight__section + .bc-spotlight__section {
19900
+ margin-top: var(--spacing-md);
19901
+ }
19902
+
19903
+ .bc-spotlight__section-title {
19904
+ padding: var(--spacing-base) var(--spacing-md);
19905
+ font-size: var(--font-size-xs);
19906
+ font-weight: var(--font-weight-semibold);
19907
+ color: var(--text-muted);
19908
+ text-transform: uppercase;
19909
+ letter-spacing: 0.05em;
19910
+ }
19911
+
19912
+ .bc-spotlight__item {
19913
+ display: flex;
19914
+ align-items: center;
19915
+ gap: var(--spacing-md);
19916
+ padding: var(--spacing-md);
19917
+ border-radius: var(--radius-sm);
19918
+ cursor: pointer;
19919
+ transition: background-color var(--motion-transition-fast)
19920
+ var(--motion-easing-standard);
19921
+ }
19922
+
19923
+ .bc-spotlight__item:hover,
19924
+ .bc-spotlight__item--active {
19925
+ background-color: var(--interactive-hover);
19926
+ }
19927
+
19928
+ .bc-spotlight__item-icon {
19929
+ display: flex;
19930
+ flex-shrink: 0;
19931
+ color: var(--text-muted);
19932
+ }
19933
+
19934
+ .bc-spotlight__item-content {
19935
+ display: flex;
19936
+ flex-direction: column;
19937
+ flex: 1;
19938
+ min-width: 0;
19939
+ }
19940
+
19941
+ .bc-spotlight__item-label {
19942
+ font-size: var(--font-size-sm);
19943
+ }
19944
+
19945
+ .bc-spotlight__item-description {
19946
+ font-size: var(--font-size-xs);
19947
+ color: var(--text-muted);
19948
+ }
19949
+
19950
+ .bc-spotlight__item-shortcut {
19951
+ display: flex;
19952
+ gap: var(--spacing-base);
19953
+ flex-shrink: 0;
19954
+ }
19955
+
19956
+ @media (prefers-reduced-motion: reduce) {
19957
+ .bc-spotlight__item {
19958
+ transition: none;
19959
+ }
19960
+ }
19961
+
19962
+ .bc-virtual-list {
19963
+ position: relative;
19964
+ overflow: auto;
19965
+ box-sizing: border-box;
19966
+ }
19967
+
19968
+ .bc-virtual-list__spacer {
19969
+ position: relative;
19970
+ width: 100%;
19971
+ pointer-events: none;
19972
+ }
19973
+
19974
+ .bc-virtual-list__viewport {
19975
+ position: absolute;
19976
+ top: 0;
19977
+ left: 0;
19978
+ right: 0;
19979
+ will-change: transform;
19980
+ }
19981
+
18046
19982
  /* Shared flex modifiers for Stack and Group */
18047
19983
 
18048
19984
  /* Gap */