@tempots/beatui 1.5.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 (184) 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-BIATan1F.js → auth-divider-qnJuYK-x.js} +7 -7
  7. package/dist/beatui.css +1711 -132
  8. package/dist/beatui.tailwind.css +1711 -132
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +5 -5
  11. package/dist/{modal-BHlp4QeT.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-C5il_E0F.cjs → duration-input-4AQnQpyo.cjs} +1 -1
  18. package/dist/{duration-input-DoCCrqOG.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 +11548 -8326
  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 +10 -10
  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-BXKtBEiC.js → notice-B6ojfenv.js} +4 -4
  54. package/dist/{notice-BBnSXYUc.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/date-picker-shared.d.ts +2 -5
  87. package/dist/types/components/data/date-picker.d.ts +1 -1
  88. package/dist/types/components/data/date-range-picker.d.ts +1 -1
  89. package/dist/types/components/data/index.d.ts +3 -0
  90. package/dist/types/components/data/stat-card.d.ts +108 -0
  91. package/dist/types/components/data/time-picker.d.ts +54 -0
  92. package/dist/types/components/data/virtual-scrolling/index.d.ts +1 -0
  93. package/dist/types/components/data/virtual-scrolling/virtual-list.d.ts +91 -0
  94. package/dist/types/components/form/input/checkbox-input.d.ts +1 -1
  95. package/dist/types/components/form/input/color-input.d.ts +1 -1
  96. package/dist/types/components/form/input/color-picker/canvas-draw.d.ts +12 -0
  97. package/dist/types/components/form/input/color-picker/channel-picker.d.ts +71 -0
  98. package/dist/types/components/form/input/color-picker/hex-color-picker.d.ts +20 -0
  99. package/dist/types/components/form/input/color-picker/hsl-color-picker.d.ts +14 -0
  100. package/dist/types/components/form/input/color-picker/hwb-color-picker.d.ts +15 -0
  101. package/dist/types/components/form/input/color-picker/index.d.ts +7 -0
  102. package/dist/types/components/form/input/color-picker/oklch-color-picker.d.ts +15 -0
  103. package/dist/types/components/form/input/color-picker/rgb-color-picker.d.ts +17 -0
  104. package/dist/types/components/form/input/color-swatch-input.d.ts +1 -1
  105. package/dist/types/components/form/input/combobox-input.d.ts +1 -1
  106. package/dist/types/components/form/input/date-input.d.ts +1 -1
  107. package/dist/types/components/form/input/date-range-select-base.d.ts +23 -0
  108. package/dist/types/components/form/input/date-range-select.d.ts +64 -0
  109. package/dist/types/components/form/input/date-select.d.ts +52 -0
  110. package/dist/types/components/form/input/date-time-input.d.ts +1 -1
  111. package/dist/types/components/form/input/date-time-select-base.d.ts +23 -0
  112. package/dist/types/components/form/input/date-time-select.d.ts +66 -0
  113. package/dist/types/components/form/input/dropdown-input.d.ts +1 -1
  114. package/dist/types/components/form/input/email-input.d.ts +1 -1
  115. package/dist/types/components/form/input/index.d.ts +17 -0
  116. package/dist/types/components/form/input/nullable-date-select.d.ts +55 -0
  117. package/dist/types/components/form/input/nullable-date-time-select.d.ts +68 -0
  118. package/dist/types/components/form/input/nullable-time-select.d.ts +64 -0
  119. package/dist/types/components/form/input/number-input.d.ts +5 -40
  120. package/dist/types/components/form/input/number-stepper.d.ts +53 -0
  121. package/dist/types/components/form/input/open-date-range-select.d.ts +75 -0
  122. package/dist/types/components/form/input/otp-input.d.ts +2 -2
  123. package/dist/types/components/form/input/password-input.d.ts +1 -1
  124. package/dist/types/components/form/input/radio-group.d.ts +1 -1
  125. package/dist/types/components/form/input/range-slider.d.ts +4 -4
  126. package/dist/types/components/form/input/rating-input.d.ts +1 -1
  127. package/dist/types/components/form/input/segmented-input.d.ts +6 -2
  128. package/dist/types/components/form/input/segmented-select.d.ts +84 -0
  129. package/dist/types/components/form/input/slider-input.d.ts +2 -2
  130. package/dist/types/components/form/input/sortable-list.d.ts +68 -0
  131. package/dist/types/components/form/input/switch.d.ts +1 -1
  132. package/dist/types/components/form/input/text-area.d.ts +1 -1
  133. package/dist/types/components/form/input/text-input.d.ts +1 -1
  134. package/dist/types/components/form/input/time-format.d.ts +31 -0
  135. package/dist/types/components/form/input/time-select-base.d.ts +23 -0
  136. package/dist/types/components/form/input/time-select.d.ts +61 -0
  137. package/dist/types/components/form/input/transfer-list.d.ts +56 -0
  138. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +1 -1
  139. package/dist/types/components/form/input/url-input.d.ts +1 -1
  140. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +1 -1
  141. package/dist/types/components/navigation/index.d.ts +1 -0
  142. package/dist/types/components/navigation/stepper.d.ts +102 -0
  143. package/dist/types/components/overlay/index.d.ts +1 -1
  144. package/dist/types/components/overlay/spotlight.d.ts +62 -0
  145. package/dist/types/utils/index.d.ts +0 -1
  146. package/dist/ur-D9nLchps.cjs +1 -0
  147. package/dist/{ur-CdnwwnG_.js → ur-DBst-TXc.js} +154 -1
  148. package/dist/{use-form-CP6nftVl.cjs → use-form-Dcra7GeE.cjs} +1 -1
  149. package/dist/{use-form-CmQdxpOi.js → use-form-NfobsGNl.js} +2 -2
  150. package/dist/{vi-Bwvz1d_n.js → vi-DQOJp32U.js} +183 -30
  151. package/dist/vi-Dg1aiMr5.cjs +1 -0
  152. package/dist/widget-customization-BtkexHgm.js +1458 -0
  153. package/dist/widget-customization-pqmtsraC.cjs +1 -0
  154. package/dist/{zh-hy7Uw6c5.js → zh-DPK4HXl2.js} +154 -1
  155. package/dist/zh-tbwSTbmn.cjs +1 -0
  156. package/package.json +9 -9
  157. package/dist/ar-Dc56zcjW.cjs +0 -1
  158. package/dist/auth-divider-CVKfA8Cp.cjs +0 -1
  159. package/dist/de-DboQlEC4.cjs +0 -1
  160. package/dist/deep-merge-B33Qtlmw.cjs +0 -1
  161. package/dist/deep-merge-BUsrE2v4.js +0 -1704
  162. package/dist/es-CAmE_0Ph.cjs +0 -1
  163. package/dist/fa-D9LrFZdW.cjs +0 -1
  164. package/dist/fr-DKogQyss.cjs +0 -1
  165. package/dist/he-CVx91Jdr.cjs +0 -1
  166. package/dist/hi-BgrHV72l.cjs +0 -1
  167. package/dist/index-DFF7Uahh.cjs +0 -1
  168. package/dist/it-B1rA1F9l.cjs +0 -1
  169. package/dist/ja-DZnjjqoi.cjs +0 -1
  170. package/dist/ko-CDnYKYWU.cjs +0 -1
  171. package/dist/modal-BmpfNL48.cjs +0 -1
  172. package/dist/nl-Bj8QnDEY.cjs +0 -1
  173. package/dist/pl-BmuuxxVd.cjs +0 -1
  174. package/dist/pt-RiC0yeVA.cjs +0 -1
  175. package/dist/ru-pRqtOQHF.cjs +0 -1
  176. package/dist/tr-B9JhBJeL.cjs +0 -1
  177. package/dist/translations-qefRsdGi.cjs +0 -1
  178. package/dist/types/components/overlay/command-palette.d.ts +0 -17
  179. package/dist/types/utils/color.d.ts +0 -346
  180. package/dist/ur-BZakU0iv.cjs +0 -1
  181. package/dist/vi-D1nly0nb.cjs +0 -1
  182. package/dist/widget-customization-B0y-eesp.cjs +0 -1
  183. package/dist/widget-customization-CKbR4Dsg.js +0 -1066
  184. 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;
@@ -8077,7 +7953,7 @@ a:focus-visible {
8077
7953
  }
8078
7954
 
8079
7955
  .bc-label {
8080
- font-size: var(--font-size-sm);
7956
+ --font-size-scale: 0.875;
8081
7957
  line-height: var(--line-height-normal);
8082
7958
  font-family: var(
8083
7959
  --font-family-default-ui,
@@ -10764,6 +10640,74 @@ a:focus-visible {
10764
10640
  -moz-appearance: textfield;
10765
10641
  }
10766
10642
 
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
+
10767
10711
  /* Number Input Steppers */
10768
10712
  .bc-number-input-steppers {
10769
10713
  display: flex;
@@ -10786,7 +10730,7 @@ a:focus-visible {
10786
10730
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10787
10731
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10788
10732
 
10789
- width: var(--spacing-lg);
10733
+ width: var(--spacing-lgh);
10790
10734
  height: 50%;
10791
10735
  }
10792
10736
 
@@ -10802,6 +10746,30 @@ a:focus-visible {
10802
10746
  transform: none;
10803
10747
  }
10804
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
+
10805
10773
  /* Dark mode */
10806
10774
  .dark .bc-number-input-steppers-button {
10807
10775
  outline-color: var(--color-base-600);
@@ -16478,6 +16446,93 @@ span.bc-sidebar-link {
16478
16446
  }
16479
16447
  }
16480
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
+
16481
16536
  /* Range Slider Component */
16482
16537
  .bc-range-slider {
16483
16538
  --rs-color: var(--color-primary-500);
@@ -18400,6 +18455,1530 @@ th.bc-data-table__header--drag-over {
18400
18455
  }
18401
18456
  }
18402
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
+
18403
19982
  /* Shared flex modifiers for Stack and Group */
18404
19983
 
18405
19984
  /* Gap */