@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
@@ -249,11 +249,13 @@
249
249
  --color-stone-800: oklch(0.268 0.007 34.298);
250
250
  --color-stone-900: oklch(0.216 0.006 56.043);
251
251
  --color-stone-950: oklch(0.147 0.004 49.25);
252
+ --spacing-base-raw: 0.25rem;
253
+ --spacing-scale: 1;
252
254
  --spacing-none: 0;
253
255
  --spacing-px: 1px;
254
- --spacing-base: 0.25rem;
255
256
  --spacing-full: 2000px;
256
- --font-size-base: 1rem;
257
+ --font-size-base-raw: 1rem;
258
+ --font-size-scale: 1;
257
259
  --font-size-5xl-lh: 1;
258
260
  --font-size-6xl-lh: 1;
259
261
  --font-size-7xl-lh: 1;
@@ -347,6 +349,7 @@
347
349
  }
348
350
 
349
351
  *, ::before, ::after {
352
+ --spacing-base: calc(var(--spacing-base-raw) * var(--spacing-scale));
350
353
  --spacing-xs: calc(var(--spacing-base) / 2);
351
354
  --spacing-sm: var(--spacing-base);
352
355
  --spacing-smh: calc(var(--spacing-base) * 1.5);
@@ -359,6 +362,7 @@
359
362
  --spacing-2xlh: calc(var(--spacing-base) * 10);
360
363
  --spacing-3xl: calc(var(--spacing-base) * 12);
361
364
  --spacing-4xl: calc(var(--spacing-base) * 16);
365
+ --font-size-base: calc(var(--font-size-base-raw) * var(--font-size-scale));
362
366
  --font-size-3xs: calc(var(--font-size-base) * 0.5);
363
367
  --font-size-3xs-lh: calc(var(--font-size-base) * 0.75);
364
368
  --font-size-2xs: calc(var(--font-size-base) * 0.625);
@@ -3406,134 +3410,6 @@ a:focus-visible {
3406
3410
  outline: var(--outline-width-focus) solid var(--color-danger-400);
3407
3411
  }
3408
3412
 
3409
- .bc-command-palette {
3410
- display: flex;
3411
- flex-direction: column;
3412
- background: var(--bg-surface);
3413
- border: var(--border-width-thin) solid var(--border-default);
3414
- border-radius: var(--radius-lg);
3415
- box-shadow: var(--shadow-xl);
3416
- overflow: hidden;
3417
- margin: 15vh auto 0;
3418
- width: 90%;
3419
- max-height: 60vh;
3420
- }
3421
-
3422
- .bc-command-palette--size-sm {
3423
- max-width: 480px;
3424
- }
3425
-
3426
- .bc-command-palette--size-md {
3427
- max-width: 600px;
3428
- }
3429
-
3430
- .bc-command-palette--size-lg {
3431
- max-width: 720px;
3432
- }
3433
-
3434
- .bc-command-palette__header {
3435
- display: flex;
3436
- align-items: center;
3437
- gap: var(--spacing-md);
3438
- padding: var(--spacing-mdh) var(--spacing-lg);
3439
- border-bottom: var(--border-width-thin) solid var(--border-default);
3440
- }
3441
-
3442
- .bc-command-palette__search-icon {
3443
- display: flex;
3444
- color: var(--text-muted);
3445
- flex-shrink: 0;
3446
- }
3447
-
3448
- .bc-command-palette__input {
3449
- flex: 1;
3450
- border: none;
3451
- outline: none;
3452
- background: transparent;
3453
- font-size: var(--font-size-md);
3454
- font-family: inherit;
3455
- color: inherit;
3456
- }
3457
-
3458
- .bc-command-palette__input::placeholder {
3459
- color: var(--text-muted);
3460
- }
3461
-
3462
- .bc-command-palette__body {
3463
- overflow-y: auto;
3464
- padding: var(--spacing-md);
3465
- }
3466
-
3467
- .bc-command-palette__empty {
3468
- padding: var(--spacing-xl) var(--spacing-lg);
3469
- text-align: center;
3470
- color: var(--text-muted);
3471
- font-size: var(--font-size-sm);
3472
- }
3473
-
3474
- .bc-command-palette__section + .bc-command-palette__section {
3475
- margin-top: var(--spacing-md);
3476
- }
3477
-
3478
- .bc-command-palette__section-title {
3479
- padding: var(--spacing-base) var(--spacing-md);
3480
- font-size: var(--font-size-xs);
3481
- font-weight: var(--font-weight-semibold);
3482
- color: var(--text-muted);
3483
- text-transform: uppercase;
3484
- letter-spacing: 0.05em;
3485
- }
3486
-
3487
- .bc-command-palette__item {
3488
- display: flex;
3489
- align-items: center;
3490
- gap: var(--spacing-md);
3491
- padding: var(--spacing-md);
3492
- border-radius: var(--radius-sm);
3493
- cursor: pointer;
3494
- transition: background-color var(--motion-transition-fast)
3495
- var(--motion-easing-standard);
3496
- }
3497
-
3498
- .bc-command-palette__item:hover,
3499
- .bc-command-palette__item--selected {
3500
- background-color: var(--interactive-hover);
3501
- }
3502
-
3503
- .bc-command-palette__item-icon {
3504
- display: flex;
3505
- flex-shrink: 0;
3506
- color: var(--text-muted);
3507
- }
3508
-
3509
- .bc-command-palette__item-content {
3510
- display: flex;
3511
- flex-direction: column;
3512
- flex: 1;
3513
- min-width: 0;
3514
- }
3515
-
3516
- .bc-command-palette__item-label {
3517
- font-size: var(--font-size-sm);
3518
- }
3519
-
3520
- .bc-command-palette__item-description {
3521
- font-size: var(--font-size-xs);
3522
- color: var(--text-muted);
3523
- }
3524
-
3525
- .bc-command-palette__item-shortcut {
3526
- display: flex;
3527
- gap: var(--spacing-base);
3528
- flex-shrink: 0;
3529
- }
3530
-
3531
- @media (prefers-reduced-motion: reduce) {
3532
- .bc-command-palette__item {
3533
- transition: none;
3534
- }
3535
- }
3536
-
3537
3413
  .bc-dropdown__search-input {
3538
3414
  width: 100%;
3539
3415
  background: transparent;
@@ -7743,7 +7619,7 @@ a:focus-visible {
7743
7619
  }
7744
7620
 
7745
7621
  .bc-label {
7746
- font-size: var(--font-size-sm);
7622
+ --font-size-scale: 0.875;
7747
7623
  line-height: var(--line-height-normal);
7748
7624
  font-family: var(
7749
7625
  --font-family-default-ui,
@@ -10430,6 +10306,74 @@ a:focus-visible {
10430
10306
  -moz-appearance: textfield;
10431
10307
  }
10432
10308
 
10309
+ /* Number Input Formatted Overlay */
10310
+ .bc-number-input--hidden {
10311
+ opacity: 0;
10312
+ }
10313
+
10314
+ .bc-input-container__input:has(.bc-number-input-formatted) {
10315
+ display: grid;
10316
+ }
10317
+
10318
+ .bc-input-container__input:has(.bc-number-input-formatted) > * {
10319
+ grid-area: 1 / 1;
10320
+ }
10321
+
10322
+ .bc-number-input-formatted {
10323
+ text-align: end;
10324
+ font: inherit;
10325
+ color: inherit;
10326
+ line-height: 1.1;
10327
+ display: flex;
10328
+ align-items: center;
10329
+ justify-content: flex-end;
10330
+ pointer-events: none;
10331
+ white-space: nowrap;
10332
+ overflow: hidden;
10333
+ }
10334
+
10335
+ /* Number Input Unit Label */
10336
+ .bc-number-input-unit {
10337
+ display: flex;
10338
+ align-items: center;
10339
+ padding-inline-start: 0;
10340
+ margin-left: calc(-1 * var(--spacing-md));
10341
+ padding-inline-end: var(--spacing-md);
10342
+ color: var(--color-neutral-500);
10343
+ font-size: var(--font-size-sm);
10344
+ white-space: nowrap;
10345
+ user-select: none;
10346
+ }
10347
+
10348
+ .bc-control--padding-xs ~ .bc-input-container__after .bc-number-input-unit {
10349
+ margin-left: calc(-1 * var(--spacing-xs));
10350
+ padding-inline-end: var(--spacing-xs);
10351
+ }
10352
+
10353
+ .bc-control--padding-sm ~ .bc-input-container__after .bc-number-input-unit {
10354
+ margin-left: calc(-1 * var(--spacing-sm));
10355
+ padding-inline-end: var(--spacing-sm);
10356
+ }
10357
+
10358
+ .bc-control--padding-md ~ .bc-input-container__after .bc-number-input-unit {
10359
+ margin-left: calc(-1 * var(--spacing-md));
10360
+ padding-inline-end: var(--spacing-md);
10361
+ }
10362
+
10363
+ .bc-control--padding-lg ~ .bc-input-container__after .bc-number-input-unit {
10364
+ margin-left: calc(-1 * var(--spacing-lg));
10365
+ padding-inline-end: var(--spacing-lg);
10366
+ }
10367
+
10368
+ .bc-control--padding-xl ~ .bc-input-container__after .bc-number-input-unit {
10369
+ margin-left: calc(-1 * var(--spacing-xl));
10370
+ padding-inline-end: var(--spacing-xl);
10371
+ }
10372
+
10373
+ .dark .bc-number-input-unit {
10374
+ color: var(--color-neutral-400);
10375
+ }
10376
+
10433
10377
  /* Number Input Steppers */
10434
10378
  .bc-number-input-steppers {
10435
10379
  display: flex;
@@ -10452,7 +10396,7 @@ a:focus-visible {
10452
10396
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10453
10397
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10454
10398
 
10455
- width: var(--spacing-lg);
10399
+ width: var(--spacing-lgh);
10456
10400
  height: 50%;
10457
10401
  }
10458
10402
 
@@ -10468,6 +10412,30 @@ a:focus-visible {
10468
10412
  transform: none;
10469
10413
  }
10470
10414
 
10415
+ .bc-control--padding-xs
10416
+ ~ .bc-input-container__after
10417
+ .bc-number-input-steppers-button {
10418
+ width: var(--spacing-mdh);
10419
+ }
10420
+
10421
+ .bc-control--padding-sm
10422
+ ~ .bc-input-container__after
10423
+ .bc-number-input-steppers-button {
10424
+ width: var(--spacing-lg);
10425
+ }
10426
+
10427
+ .bc-control--padding-lg
10428
+ ~ .bc-input-container__after
10429
+ .bc-number-input-steppers-button {
10430
+ width: var(--spacing-xl);
10431
+ }
10432
+
10433
+ .bc-control--padding-xl
10434
+ ~ .bc-input-container__after
10435
+ .bc-number-input-steppers-button {
10436
+ width: var(--spacing-2xl);
10437
+ }
10438
+
10471
10439
  /* Dark mode */
10472
10440
  .dark .bc-number-input-steppers-button {
10473
10441
  outline-color: var(--color-base-600);
@@ -16144,6 +16112,93 @@ span.bc-sidebar-link {
16144
16112
  }
16145
16113
  }
16146
16114
 
16115
+ /* Date Select / Date Range Select — fit-content sizing like UUID input */
16116
+ .bc-date-select {
16117
+ width: fit-content;
16118
+ max-width: 100%;
16119
+ }
16120
+
16121
+ .bc-date-range-select {
16122
+ cursor: pointer;
16123
+ user-select: none;
16124
+ }
16125
+
16126
+ /* Panel shown in the flyout */
16127
+ .bc-date-range-select__panel {
16128
+ background-color: var(--color-white);
16129
+ border: var(--border-width-default) solid var(--border-default);
16130
+ border-radius: var(--radius-lg);
16131
+ box-shadow: var(--shadow-lg);
16132
+ padding: var(--spacing-md);
16133
+ }
16134
+
16135
+ /* Side-by-side pickers container */
16136
+ .bc-date-range-select__pickers {
16137
+ display: flex;
16138
+ gap: var(--spacing-lg);
16139
+ }
16140
+
16141
+ /* Individual picker wrapper */
16142
+ .bc-date-range-select__picker {
16143
+ display: flex;
16144
+ flex-direction: column;
16145
+ gap: var(--spacing-xs);
16146
+ }
16147
+
16148
+ /* Header row: label + optional clear button */
16149
+ .bc-date-range-select__picker-header {
16150
+ display: flex;
16151
+ align-items: center;
16152
+ justify-content: space-between;
16153
+ gap: var(--spacing-xs);
16154
+ }
16155
+
16156
+ /* Label above each picker */
16157
+ .bc-date-range-select__picker-label {
16158
+ font-size: var(--font-size-sm);
16159
+ font-weight: var(--font-weight-semibold);
16160
+ color: var(--text-muted);
16161
+ padding: 0 var(--spacing-xs);
16162
+ }
16163
+
16164
+ /* Clear button inside picker header */
16165
+ .bc-date-range-select__clear-btn {
16166
+ font-size: var(--font-size-xs);
16167
+ color: var(--text-muted);
16168
+ background: none;
16169
+ border: none;
16170
+ cursor: pointer;
16171
+ padding: var(--spacing-xxs) var(--spacing-xs);
16172
+ border-radius: var(--radius-sm);
16173
+ transition:
16174
+ color var(--motion-transition-fast) var(--motion-easing-standard),
16175
+ background-color var(--motion-transition-fast) var(--motion-easing-standard);
16176
+ white-space: nowrap;
16177
+ }
16178
+
16179
+ .bc-date-range-select__clear-btn:hover {
16180
+ color: var(--color-danger-600);
16181
+ background-color: var(--color-danger-50);
16182
+ }
16183
+
16184
+ /* Responsive: stack vertically on narrow screens */
16185
+ @media (max-width: 640px) {
16186
+ .bc-date-range-select__pickers {
16187
+ flex-direction: column;
16188
+ }
16189
+ }
16190
+
16191
+ /* Dark mode */
16192
+ .dark .bc-date-range-select__panel {
16193
+ background-color: var(--bg-surface);
16194
+ border-color: var(--border-default);
16195
+ }
16196
+
16197
+ .dark .bc-date-range-select__clear-btn:hover {
16198
+ color: var(--color-danger-400);
16199
+ background-color: var(--color-danger-950);
16200
+ }
16201
+
16147
16202
  /* Range Slider Component */
16148
16203
  .bc-range-slider {
16149
16204
  --rs-color: var(--color-primary-500);
@@ -18066,6 +18121,1530 @@ th.bc-data-table__header--drag-over {
18066
18121
  }
18067
18122
  }
18068
18123
 
18124
+ /* DateTimeSelect — fit-content sizing */
18125
+ .bc-date-time-select {
18126
+ width: fit-content;
18127
+ max-width: 100%;
18128
+ }
18129
+
18130
+ .bc-date-time-select__trigger {
18131
+ cursor: pointer;
18132
+ user-select: none;
18133
+ }
18134
+
18135
+ /* Panel shown in the flyout */
18136
+ .bc-date-time-select__panel {
18137
+ background-color: var(--color-white);
18138
+ border: var(--border-width-default) solid var(--border-default);
18139
+ border-radius: var(--radius-lg);
18140
+ box-shadow: var(--shadow-lg);
18141
+ padding: var(--spacing-md);
18142
+ }
18143
+
18144
+ /* Side-by-side date + time pickers */
18145
+ .bc-date-time-select__pickers {
18146
+ display: flex;
18147
+ gap: var(--spacing-lg);
18148
+ align-items: flex-start;
18149
+ }
18150
+
18151
+ /* Vertical divider between date and time pickers */
18152
+ .bc-date-time-select__separator {
18153
+ width: var(--border-width-default);
18154
+ align-self: stretch;
18155
+ background-color: var(--border-default);
18156
+ flex-shrink: 0;
18157
+ }
18158
+
18159
+ /* Responsive: stack vertically on narrow screens */
18160
+ @media (max-width: 640px) {
18161
+ .bc-date-time-select__pickers {
18162
+ flex-direction: column;
18163
+ }
18164
+
18165
+ .bc-date-time-select__separator {
18166
+ width: auto;
18167
+ height: var(--border-width-default);
18168
+ align-self: stretch;
18169
+ }
18170
+ }
18171
+
18172
+ /* Dark mode */
18173
+ .dark .bc-date-time-select__panel {
18174
+ background-color: var(--bg-surface);
18175
+ border-color: var(--border-default);
18176
+ }
18177
+
18178
+ /* TimePicker Component */
18179
+ .bc-time-picker {
18180
+ display: inline-flex;
18181
+ flex-direction: column;
18182
+ background-color: var(--bg-background);
18183
+ border: var(--border-width-thin) solid var(--border-default);
18184
+ border-radius: var(--radius-md);
18185
+ padding: var(--spacing-sm);
18186
+ user-select: none;
18187
+ }
18188
+
18189
+ .bc-time-picker--disabled {
18190
+ opacity: 0.5;
18191
+ pointer-events: none;
18192
+ }
18193
+
18194
+ /* Header row */
18195
+ .bc-time-picker__header {
18196
+ display: flex;
18197
+ gap: var(--spacing-xs);
18198
+ padding-bottom: var(--spacing-xs);
18199
+ border-bottom: var(--border-width-thin) solid var(--border-default);
18200
+ margin-bottom: var(--spacing-xs);
18201
+ }
18202
+
18203
+ .bc-time-picker__header-label {
18204
+ flex: 1;
18205
+ text-align: center;
18206
+ font-size: var(--font-size-xs);
18207
+ font-weight: var(--font-weight-semibold);
18208
+ color: var(--text-muted);
18209
+ text-transform: uppercase;
18210
+ letter-spacing: 0.05em;
18211
+ }
18212
+
18213
+ /* Body containing columns */
18214
+ .bc-time-picker__body {
18215
+ display: flex;
18216
+ align-items: flex-start;
18217
+ gap: var(--spacing-xs);
18218
+ }
18219
+
18220
+ /* Columns */
18221
+ .bc-time-picker__columns {
18222
+ display: flex;
18223
+ flex-direction: column;
18224
+ }
18225
+
18226
+ .bc-time-picker__column {
18227
+ display: flex;
18228
+ flex-direction: column;
18229
+ max-height: 200px;
18230
+ overflow-y: auto;
18231
+ scrollbar-width: thin;
18232
+ scrollbar-color: var(--color-neutral-300) transparent;
18233
+ min-width: 44px;
18234
+ gap: 1px;
18235
+ }
18236
+
18237
+ .bc-time-picker__column::-webkit-scrollbar {
18238
+ width: 4px;
18239
+ }
18240
+
18241
+ .bc-time-picker__column::-webkit-scrollbar-track {
18242
+ background: transparent;
18243
+ }
18244
+
18245
+ .bc-time-picker__column::-webkit-scrollbar-thumb {
18246
+ background-color: var(--color-neutral-300);
18247
+ border-radius: var(--radius-full);
18248
+ }
18249
+
18250
+ /* Separator between columns */
18251
+ .bc-time-picker__separator {
18252
+ display: flex;
18253
+ align-items: center;
18254
+ font-weight: var(--font-weight-bold);
18255
+ color: var(--text-muted);
18256
+ padding: 0 var(--spacing-2xs);
18257
+ align-self: flex-start;
18258
+ margin-top: var(--spacing-xs);
18259
+ }
18260
+
18261
+ /* Individual time items */
18262
+ .bc-time-picker__item {
18263
+ display: flex;
18264
+ align-items: center;
18265
+ justify-content: center;
18266
+ background: none;
18267
+ border: none;
18268
+ border-radius: var(--radius-sm);
18269
+ cursor: pointer;
18270
+ color: var(--text-normal);
18271
+ font-family: inherit;
18272
+ font-variant-numeric: tabular-nums;
18273
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18274
+ padding: var(--spacing-2xs) var(--spacing-xs);
18275
+ min-width: 36px;
18276
+ }
18277
+
18278
+ .bc-time-picker__item:hover:not(:disabled) {
18279
+ background-color: var(--bg-subtle);
18280
+ }
18281
+
18282
+ .bc-time-picker__item:focus-visible {
18283
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18284
+ outline-offset: calc(-1 * var(--outline-width-focus));
18285
+ }
18286
+
18287
+ .bc-time-picker__item--selected {
18288
+ background-color: var(--tp-selected-bg, var(--color-primary-500));
18289
+ color: var(--color-white);
18290
+ font-weight: var(--font-weight-semibold);
18291
+ }
18292
+
18293
+ .bc-time-picker__item--selected:hover:not(:disabled) {
18294
+ filter: brightness(0.9);
18295
+ }
18296
+
18297
+ .bc-time-picker__item:disabled {
18298
+ cursor: not-allowed;
18299
+ opacity: 0.4;
18300
+ }
18301
+
18302
+ /* Footer with Now button */
18303
+ .bc-time-picker__footer {
18304
+ display: flex;
18305
+ justify-content: center;
18306
+ padding-top: var(--spacing-xs);
18307
+ border-top: var(--border-width-thin) solid var(--border-default);
18308
+ margin-top: var(--spacing-xs);
18309
+ }
18310
+
18311
+ .bc-time-picker__now-btn {
18312
+ background: none;
18313
+ border: var(--border-width-thin) solid var(--border-default);
18314
+ border-radius: var(--radius-sm);
18315
+ cursor: pointer;
18316
+ color: var(--color-primary-600);
18317
+ font-family: inherit;
18318
+ font-size: var(--font-size-sm);
18319
+ font-weight: var(--font-weight-medium);
18320
+ padding: var(--spacing-2xs) var(--spacing-md);
18321
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18322
+ }
18323
+
18324
+ .bc-time-picker__now-btn:hover:not(:disabled) {
18325
+ background-color: var(--color-primary-50);
18326
+ border-color: var(--color-primary-300);
18327
+ }
18328
+
18329
+ .bc-time-picker__now-btn:focus-visible {
18330
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18331
+ outline-offset: calc(-1 * var(--outline-width-focus));
18332
+ }
18333
+
18334
+ .bc-time-picker__now-btn:disabled {
18335
+ cursor: not-allowed;
18336
+ opacity: 0.4;
18337
+ }
18338
+
18339
+ /* Size variants */
18340
+ .bc-time-picker--size-xs {
18341
+ padding: var(--spacing-2xs);
18342
+ font-size: var(--font-size-xs);
18343
+ }
18344
+ .bc-time-picker--size-xs .bc-time-picker__column {
18345
+ max-height: 140px;
18346
+ min-width: 32px;
18347
+ }
18348
+ .bc-time-picker--size-xs .bc-time-picker__item {
18349
+ padding: 1px var(--spacing-2xs);
18350
+ min-width: 28px;
18351
+ font-size: var(--font-size-2xs);
18352
+ }
18353
+
18354
+ .bc-time-picker--size-sm {
18355
+ padding: var(--spacing-xs);
18356
+ font-size: var(--font-size-sm);
18357
+ }
18358
+ .bc-time-picker--size-sm .bc-time-picker__column {
18359
+ max-height: 170px;
18360
+ min-width: 36px;
18361
+ }
18362
+ .bc-time-picker--size-sm .bc-time-picker__item {
18363
+ padding: var(--spacing-2xs) var(--spacing-2xs);
18364
+ min-width: 32px;
18365
+ font-size: var(--font-size-xs);
18366
+ }
18367
+
18368
+ .bc-time-picker--size-md {
18369
+ padding: var(--spacing-sm);
18370
+ font-size: var(--font-size-md);
18371
+ }
18372
+ .bc-time-picker--size-md .bc-time-picker__column {
18373
+ max-height: 200px;
18374
+ }
18375
+ .bc-time-picker--size-md .bc-time-picker__item {
18376
+ font-size: var(--font-size-sm);
18377
+ }
18378
+
18379
+ .bc-time-picker--size-lg {
18380
+ padding: var(--spacing-md);
18381
+ font-size: var(--font-size-lg);
18382
+ }
18383
+ .bc-time-picker--size-lg .bc-time-picker__column {
18384
+ max-height: 240px;
18385
+ min-width: 52px;
18386
+ }
18387
+ .bc-time-picker--size-lg .bc-time-picker__item {
18388
+ padding: var(--spacing-xs) var(--spacing-sm);
18389
+ min-width: 44px;
18390
+ font-size: var(--font-size-md);
18391
+ }
18392
+
18393
+ .bc-time-picker--size-xl {
18394
+ padding: var(--spacing-lg);
18395
+ font-size: var(--font-size-xl);
18396
+ }
18397
+ .bc-time-picker--size-xl .bc-time-picker__column {
18398
+ max-height: 280px;
18399
+ min-width: 60px;
18400
+ }
18401
+ .bc-time-picker--size-xl .bc-time-picker__item {
18402
+ padding: var(--spacing-xs) var(--spacing-md);
18403
+ min-width: 52px;
18404
+ font-size: var(--font-size-lg);
18405
+ }
18406
+
18407
+ /* Dark mode */
18408
+ .dark .bc-time-picker {
18409
+ background-color: var(--bg-background);
18410
+ border-color: var(--border-default);
18411
+ }
18412
+
18413
+ .dark .bc-time-picker__header {
18414
+ border-bottom-color: var(--border-default);
18415
+ }
18416
+
18417
+ .dark .bc-time-picker__footer {
18418
+ border-top-color: var(--border-default);
18419
+ }
18420
+
18421
+ .dark .bc-time-picker__now-btn {
18422
+ color: var(--color-primary-400);
18423
+ border-color: var(--border-default);
18424
+ }
18425
+
18426
+ .dark .bc-time-picker__now-btn:hover:not(:disabled) {
18427
+ background-color: var(--color-primary-950);
18428
+ border-color: var(--color-primary-700);
18429
+ }
18430
+
18431
+ .dark .bc-time-picker__item {
18432
+ color: var(--text-normal);
18433
+ }
18434
+
18435
+ .dark .bc-time-picker__item:hover:not(:disabled) {
18436
+ background-color: var(--bg-subtle);
18437
+ }
18438
+
18439
+ .dark .bc-time-picker__item--selected {
18440
+ color: var(--color-white);
18441
+ }
18442
+
18443
+ .dark .bc-time-picker__column::-webkit-scrollbar-thumb {
18444
+ background-color: var(--color-neutral-600);
18445
+ }
18446
+
18447
+ .dark .bc-time-picker__column {
18448
+ scrollbar-color: var(--color-neutral-600) transparent;
18449
+ }
18450
+
18451
+ /* Reduced motion */
18452
+ @media (prefers-reduced-motion: reduce) {
18453
+ .bc-time-picker__item {
18454
+ transition: none;
18455
+ }
18456
+ }
18457
+
18458
+ /* Time Select — fit-content sizing like date-select */
18459
+ .bc-time-select {
18460
+ width: fit-content;
18461
+ max-width: 100%;
18462
+ }
18463
+
18464
+ .bc-time-select__trigger {
18465
+ cursor: pointer;
18466
+ user-select: none;
18467
+ }
18468
+
18469
+ /* Panel shown in the flyout */
18470
+ .bc-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
+ /* Dark mode */
18479
+ .dark .bc-time-select__panel {
18480
+ background-color: var(--bg-surface);
18481
+ border-color: var(--border-default);
18482
+ }
18483
+
18484
+ /* CopyButton Component */
18485
+ .bc-copy-button {
18486
+ display: inline-flex;
18487
+ position: relative;
18488
+ }
18489
+
18490
+ .bc-copy-button--copied .bc-button {
18491
+ color: var(--color-success-600);
18492
+ }
18493
+
18494
+ .dark .bc-copy-button--copied .bc-button {
18495
+ color: var(--color-success-400);
18496
+ }
18497
+
18498
+ /* Brief scale animation on copy */
18499
+ @keyframes bc-copy-pulse {
18500
+ 0% {
18501
+ transform: scale(1);
18502
+ }
18503
+ 50% {
18504
+ transform: scale(1.15);
18505
+ }
18506
+ 100% {
18507
+ transform: scale(1);
18508
+ }
18509
+ }
18510
+
18511
+ .bc-copy-button--copied .bc-button {
18512
+ animation: bc-copy-pulse var(--motion-duration-fast)
18513
+ var(--motion-easing-standard);
18514
+ }
18515
+
18516
+ @media (prefers-reduced-motion: reduce) {
18517
+ .bc-copy-button--copied .bc-button {
18518
+ animation: none;
18519
+ }
18520
+ }
18521
+
18522
+ /* NumberStepper Component */
18523
+ .bc-number-stepper {
18524
+ display: inline-flex;
18525
+ align-items: center;
18526
+ gap: var(--spacing-xs);
18527
+ user-select: none;
18528
+ }
18529
+
18530
+ .bc-number-stepper--disabled {
18531
+ opacity: 0.5;
18532
+ pointer-events: none;
18533
+ }
18534
+
18535
+ /* Vertical orientation */
18536
+ .bc-number-stepper--vertical {
18537
+ flex-direction: column;
18538
+ }
18539
+
18540
+ /* Value display */
18541
+ .bc-number-stepper__value {
18542
+ font-variant-numeric: tabular-nums;
18543
+ font-weight: var(--font-weight-semibold);
18544
+ font-size: var(--font-size-md);
18545
+ text-align: center;
18546
+ color: var(--text-normal);
18547
+ min-width: 2em;
18548
+ line-height: 1;
18549
+ }
18550
+
18551
+ /* Compact buttons — not full Button, just icon buttons */
18552
+ .bc-number-stepper__button {
18553
+ display: inline-flex;
18554
+ align-items: center;
18555
+ justify-content: center;
18556
+ background: none;
18557
+ border: var(--border-width-thin) solid var(--border-default);
18558
+ border-radius: var(--radius-sm);
18559
+ cursor: pointer;
18560
+ color: var(--text-normal);
18561
+ padding: var(--spacing-xs);
18562
+ line-height: 1;
18563
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18564
+ flex-shrink: 0;
18565
+ }
18566
+
18567
+ .bc-number-stepper__button:hover:not(:disabled) {
18568
+ background-color: var(--bg-subtle);
18569
+ border-color: var(--color-neutral-400);
18570
+ }
18571
+
18572
+ .bc-number-stepper__button:active:not(:disabled) {
18573
+ background-color: var(--color-neutral-200);
18574
+ }
18575
+
18576
+ .bc-number-stepper__button:focus-visible {
18577
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
18578
+ outline-offset: calc(-1 * var(--outline-width-focus));
18579
+ }
18580
+
18581
+ .bc-number-stepper__button:disabled {
18582
+ cursor: not-allowed;
18583
+ opacity: 0.4;
18584
+ }
18585
+
18586
+ /* Size variants */
18587
+ .bc-number-stepper--size-xs {
18588
+ gap: var(--spacing-2xs);
18589
+ }
18590
+ .bc-number-stepper--size-xs .bc-number-stepper__value {
18591
+ font-size: var(--font-size-xs);
18592
+ min-width: 1.5em;
18593
+ }
18594
+ .bc-number-stepper--size-xs .bc-number-stepper__button {
18595
+ padding: var(--spacing-2xs);
18596
+ }
18597
+
18598
+ .bc-number-stepper--size-sm {
18599
+ gap: var(--spacing-2xs);
18600
+ }
18601
+ .bc-number-stepper--size-sm .bc-number-stepper__value {
18602
+ font-size: var(--font-size-sm);
18603
+ min-width: 1.8em;
18604
+ }
18605
+ .bc-number-stepper--size-sm .bc-number-stepper__button {
18606
+ padding: 3px;
18607
+ }
18608
+
18609
+ .bc-number-stepper--size-md .bc-number-stepper__button {
18610
+ padding: var(--spacing-xs);
18611
+ }
18612
+
18613
+ .bc-number-stepper--size-lg {
18614
+ gap: var(--spacing-sm);
18615
+ }
18616
+ .bc-number-stepper--size-lg .bc-number-stepper__value {
18617
+ font-size: var(--font-size-lg);
18618
+ min-width: 2.5em;
18619
+ }
18620
+ .bc-number-stepper--size-lg .bc-number-stepper__button {
18621
+ padding: var(--spacing-xs);
18622
+ }
18623
+
18624
+ .bc-number-stepper--size-xl {
18625
+ gap: var(--spacing-sm);
18626
+ }
18627
+ .bc-number-stepper--size-xl .bc-number-stepper__value {
18628
+ font-size: var(--font-size-xl);
18629
+ min-width: 3em;
18630
+ }
18631
+ .bc-number-stepper--size-xl .bc-number-stepper__button {
18632
+ padding: var(--spacing-xs);
18633
+ border-radius: var(--radius-md);
18634
+ }
18635
+
18636
+ /* Vertical: increment on top, value middle, decrement on bottom */
18637
+ .bc-number-stepper--vertical .bc-number-stepper__button {
18638
+ width: 100%;
18639
+ }
18640
+
18641
+ .bc-number-stepper--vertical .bc-number-stepper__button--increment {
18642
+ order: -1;
18643
+ }
18644
+
18645
+ .bc-number-stepper--vertical .bc-number-stepper__button--decrement {
18646
+ order: 1;
18647
+ }
18648
+
18649
+ .bc-number-stepper--vertical .bc-number-stepper__value {
18650
+ order: 0;
18651
+ }
18652
+
18653
+ /* Dark mode */
18654
+ .dark .bc-number-stepper__button {
18655
+ border-color: var(--border-default);
18656
+ color: var(--text-normal);
18657
+ }
18658
+
18659
+ .dark .bc-number-stepper__button:hover:not(:disabled) {
18660
+ background-color: var(--bg-subtle);
18661
+ border-color: var(--color-neutral-500);
18662
+ }
18663
+
18664
+ .dark .bc-number-stepper__button:active:not(:disabled) {
18665
+ background-color: var(--color-neutral-700);
18666
+ }
18667
+
18668
+ /* Reduced motion */
18669
+ @media (prefers-reduced-motion: reduce) {
18670
+ .bc-number-stepper__button {
18671
+ transition: none;
18672
+ }
18673
+ }
18674
+
18675
+ /* StatCard Component */
18676
+ .bc-stat-card {
18677
+ display: flex;
18678
+ flex-direction: column;
18679
+ gap: var(--spacing-sm);
18680
+ padding: var(--spacing-lg);
18681
+ background-color: var(--color-white);
18682
+ border: var(--border-width-thin) solid var(--border-default);
18683
+ border-radius: var(--radius-lg);
18684
+ }
18685
+
18686
+ /* Variants */
18687
+ .bc-stat-card--elevated {
18688
+ border: none;
18689
+ box-shadow: var(--shadow-md);
18690
+ }
18691
+
18692
+ .bc-stat-card--outlined {
18693
+ background-color: transparent;
18694
+ border: var(--border-width-default) solid var(--border-default);
18695
+ }
18696
+
18697
+ /* Padding + font sizes */
18698
+ .bc-stat-card--padding-xs {
18699
+ padding: var(--spacing-xs);
18700
+ gap: var(--spacing-xs);
18701
+ }
18702
+ .bc-stat-card--padding-xs .bc-stat-card__value {
18703
+ font-size: var(--font-size-lg);
18704
+ }
18705
+ .bc-stat-card--padding-xs .bc-stat-card__label,
18706
+ .bc-stat-card--padding-xs .bc-stat-card__trend {
18707
+ font-size: var(--font-size-xs);
18708
+ }
18709
+
18710
+ .bc-stat-card--padding-sm {
18711
+ padding: var(--spacing-sm);
18712
+ gap: var(--spacing-xs);
18713
+ }
18714
+ .bc-stat-card--padding-sm .bc-stat-card__value {
18715
+ font-size: var(--font-size-xl);
18716
+ }
18717
+ .bc-stat-card--padding-sm .bc-stat-card__label,
18718
+ .bc-stat-card--padding-sm .bc-stat-card__trend {
18719
+ font-size: var(--font-size-xs);
18720
+ }
18721
+
18722
+ .bc-stat-card--padding-lg {
18723
+ padding: var(--spacing-xl);
18724
+ gap: var(--spacing-md);
18725
+ }
18726
+ .bc-stat-card--padding-lg .bc-stat-card__value {
18727
+ font-size: var(--font-size-3xl);
18728
+ }
18729
+ .bc-stat-card--padding-lg .bc-stat-card__label,
18730
+ .bc-stat-card--padding-lg .bc-stat-card__trend {
18731
+ font-size: var(--font-size-md);
18732
+ }
18733
+
18734
+ .bc-stat-card--padding-xl {
18735
+ padding: var(--spacing-2xl);
18736
+ gap: var(--spacing-lg);
18737
+ }
18738
+ .bc-stat-card--padding-xl .bc-stat-card__value {
18739
+ font-size: var(--font-size-4xl);
18740
+ }
18741
+ .bc-stat-card--padding-xl .bc-stat-card__label,
18742
+ .bc-stat-card--padding-xl .bc-stat-card__trend {
18743
+ font-size: var(--font-size-lg);
18744
+ }
18745
+
18746
+ /* Value */
18747
+ .bc-stat-card__value {
18748
+ font-size: var(--font-size-2xl);
18749
+ font-weight: var(--font-weight-bold);
18750
+ color: var(--text-normal);
18751
+ line-height: var(--line-height-tight);
18752
+ font-variant-numeric: tabular-nums;
18753
+ }
18754
+
18755
+ /* Label */
18756
+ .bc-stat-card__label {
18757
+ font-size: var(--font-size-sm);
18758
+ color: var(--text-muted);
18759
+ font-weight: var(--font-weight-medium);
18760
+ }
18761
+
18762
+ /* Trend */
18763
+ .bc-stat-card__trend {
18764
+ display: inline-flex;
18765
+ align-items: center;
18766
+ gap: var(--spacing-md);
18767
+ font-size: var(--font-size-sm);
18768
+ font-weight: var(--font-weight-medium);
18769
+ color: var(--stat-card-trend-color, var(--text-muted));
18770
+ }
18771
+
18772
+ .bc-stat-card__trend-value {
18773
+ font-variant-numeric: tabular-nums;
18774
+ }
18775
+
18776
+ /* Icon */
18777
+ .bc-stat-card__icon {
18778
+ display: flex;
18779
+ align-items: center;
18780
+ justify-content: center;
18781
+ color: var(--stat-card-accent, var(--color-primary-500));
18782
+ }
18783
+
18784
+ /* Sparkline slot */
18785
+ .bc-stat-card__sparkline {
18786
+ margin-top: var(--spacing-sm);
18787
+ min-height: 32px;
18788
+ border-top: var(--border-width-thin) solid
18789
+ var(--border-subtle, var(--border-default));
18790
+ padding-top: var(--spacing-sm);
18791
+ }
18792
+
18793
+ /* Dark mode */
18794
+ .dark .bc-stat-card {
18795
+ background-color: var(--bg-surface);
18796
+ }
18797
+
18798
+ .dark .bc-stat-card--outlined {
18799
+ background-color: transparent;
18800
+ }
18801
+
18802
+ .dark .bc-stat-card--elevated {
18803
+ box-shadow: var(--shadow-lg);
18804
+ }
18805
+
18806
+ .dark .bc-stat-card__trend {
18807
+ color: var(--stat-card-trend-color-dark, var(--text-muted));
18808
+ }
18809
+
18810
+ .dark .bc-stat-card__icon {
18811
+ color: var(--stat-card-accent, var(--color-primary-400));
18812
+ }
18813
+
18814
+ /* Stepper Component */
18815
+ .bc-stepper {
18816
+ display: flex;
18817
+ flex-direction: column;
18818
+ gap: var(--spacing-lg);
18819
+ }
18820
+
18821
+ .bc-stepper--disabled {
18822
+ opacity: 0.5;
18823
+ pointer-events: none;
18824
+ }
18825
+
18826
+ /* Indicators row */
18827
+ .bc-stepper__indicators {
18828
+ display: flex;
18829
+ align-items: center;
18830
+ }
18831
+
18832
+ .bc-stepper--vertical .bc-stepper__indicators {
18833
+ flex-direction: column;
18834
+ align-items: flex-start;
18835
+ gap: var(--spacing-md);
18836
+ }
18837
+
18838
+ /* Individual step */
18839
+ .bc-stepper__step {
18840
+ display: flex;
18841
+ align-items: center;
18842
+ gap: var(--spacing-md);
18843
+ cursor: pointer;
18844
+ user-select: none;
18845
+ flex-shrink: 0;
18846
+ padding-right: var(--spacing-md);
18847
+ }
18848
+
18849
+ .bc-stepper__step:focus-visible {
18850
+ outline: var(--outline-width-focus) solid
18851
+ var(--stepper-color, var(--color-primary-500));
18852
+ outline-offset: var(--spacing-2xs);
18853
+ border-radius: var(--radius-sm);
18854
+ }
18855
+
18856
+ /* Step circle */
18857
+ .bc-stepper__circle {
18858
+ display: flex;
18859
+ align-items: center;
18860
+ justify-content: center;
18861
+ width: 32px;
18862
+ height: 32px;
18863
+ border-radius: var(--radius-full);
18864
+ border: var(--border-width-default) solid var(--border-default);
18865
+ background-color: var(--bg-background);
18866
+ color: var(--text-muted);
18867
+ font-size: var(--font-size-sm);
18868
+ font-weight: var(--font-weight-semibold);
18869
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
18870
+ flex-shrink: 0;
18871
+ }
18872
+
18873
+ .bc-stepper__step--active .bc-stepper__circle {
18874
+ border-color: var(--stepper-color, var(--color-primary-500));
18875
+ background-color: var(--stepper-color, var(--color-primary-500));
18876
+ color: var(--color-white);
18877
+ }
18878
+
18879
+ .bc-stepper__step--completed .bc-stepper__circle {
18880
+ border-color: var(--stepper-color, var(--color-primary-500));
18881
+ background-color: var(--stepper-color, var(--color-primary-500));
18882
+ color: var(--color-white);
18883
+ }
18884
+
18885
+ .bc-stepper__step--error .bc-stepper__circle {
18886
+ border-color: var(--color-danger-500);
18887
+ background-color: var(--color-danger-500);
18888
+ color: var(--color-white);
18889
+ }
18890
+
18891
+ /* Step label */
18892
+ .bc-stepper__label {
18893
+ display: flex;
18894
+ flex-direction: column;
18895
+ }
18896
+
18897
+ .bc-stepper__label-text {
18898
+ font-size: var(--font-size-sm);
18899
+ font-weight: var(--font-weight-medium);
18900
+ color: var(--text-normal);
18901
+ }
18902
+
18903
+ .bc-stepper__step--pending .bc-stepper__label-text {
18904
+ color: var(--text-muted);
18905
+ }
18906
+
18907
+ .bc-stepper__label-description {
18908
+ font-size: var(--font-size-xs);
18909
+ color: var(--text-muted);
18910
+ }
18911
+
18912
+ /* Connector line */
18913
+ .bc-stepper__connector {
18914
+ flex: 1;
18915
+ height: 2px;
18916
+ min-width: var(--spacing-lg);
18917
+ background-color: var(--border-default);
18918
+ transition: background-color var(--motion-transition-fast)
18919
+ var(--motion-easing-standard);
18920
+ }
18921
+
18922
+ .bc-stepper__connector--completed {
18923
+ background-color: var(--stepper-color, var(--color-primary-500));
18924
+ }
18925
+
18926
+ .bc-stepper--vertical .bc-stepper__connector {
18927
+ width: 2px;
18928
+ height: var(--spacing-lg);
18929
+ min-width: 0;
18930
+ margin-left: 15px; /* center under the 32px circle */
18931
+ flex: 0;
18932
+ }
18933
+
18934
+ /* Content area */
18935
+ .bc-stepper__content {
18936
+ min-height: 0;
18937
+ }
18938
+
18939
+ /* Navigation buttons */
18940
+ .bc-stepper__navigation {
18941
+ display: flex;
18942
+ align-items: center;
18943
+ gap: var(--spacing-sm);
18944
+ }
18945
+
18946
+ .bc-stepper__spacer {
18947
+ flex: 1;
18948
+ }
18949
+
18950
+ /* Size variants */
18951
+ .bc-stepper--size-xs .bc-stepper__circle {
18952
+ width: 24px;
18953
+ height: 24px;
18954
+ font-size: var(--font-size-xs);
18955
+ }
18956
+ .bc-stepper--size-xs .bc-stepper__label-text {
18957
+ font-size: var(--font-size-xs);
18958
+ }
18959
+ .bc-stepper--size-xs .bc-stepper__label-description {
18960
+ font-size: var(--font-size-2xs);
18961
+ }
18962
+ .bc-stepper--size-xs.bc-stepper--vertical .bc-stepper__connector {
18963
+ margin-left: 11px;
18964
+ }
18965
+
18966
+ .bc-stepper--size-sm .bc-stepper__circle {
18967
+ width: 28px;
18968
+ height: 28px;
18969
+ font-size: var(--font-size-xs);
18970
+ }
18971
+ .bc-stepper--size-sm .bc-stepper__label-text {
18972
+ font-size: var(--font-size-xs);
18973
+ }
18974
+
18975
+ .bc-stepper--size-lg .bc-stepper__circle {
18976
+ width: 40px;
18977
+ height: 40px;
18978
+ font-size: var(--font-size-md);
18979
+ }
18980
+ .bc-stepper--size-lg .bc-stepper__label-text {
18981
+ font-size: var(--font-size-md);
18982
+ }
18983
+
18984
+ .bc-stepper--size-xl .bc-stepper__circle {
18985
+ width: 48px;
18986
+ height: 48px;
18987
+ font-size: var(--font-size-lg);
18988
+ }
18989
+ .bc-stepper--size-xl .bc-stepper__label-text {
18990
+ font-size: var(--font-size-lg);
18991
+ }
18992
+
18993
+ /* Compact variant */
18994
+ .bc-stepper--compact .bc-stepper__label {
18995
+ display: none;
18996
+ }
18997
+
18998
+ /* Dark mode */
18999
+ .dark .bc-stepper__circle {
19000
+ background-color: var(--bg-background);
19001
+ border-color: var(--border-default);
19002
+ color: var(--text-muted);
19003
+ }
19004
+
19005
+ .dark .bc-stepper__step--active .bc-stepper__circle {
19006
+ border-color: var(--stepper-color-dark, var(--color-primary-400));
19007
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19008
+ }
19009
+
19010
+ .dark .bc-stepper__step--completed .bc-stepper__circle {
19011
+ border-color: var(--stepper-color-dark, var(--color-primary-400));
19012
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19013
+ }
19014
+
19015
+ .dark .bc-stepper__step--error .bc-stepper__circle {
19016
+ border-color: var(--color-danger-400);
19017
+ background-color: var(--color-danger-400);
19018
+ }
19019
+
19020
+ .dark .bc-stepper__connector--completed {
19021
+ background-color: var(--stepper-color-dark, var(--color-primary-400));
19022
+ }
19023
+
19024
+ /* Reduced motion */
19025
+ @media (prefers-reduced-motion: reduce) {
19026
+ .bc-stepper__circle,
19027
+ .bc-stepper__connector {
19028
+ transition: none;
19029
+ }
19030
+ }
19031
+
19032
+ /* SortableList Component */
19033
+ .bc-sortable-list {
19034
+ display: flex;
19035
+ flex-direction: column;
19036
+ }
19037
+
19038
+ .bc-sortable-list--disabled {
19039
+ opacity: 0.5;
19040
+ pointer-events: none;
19041
+ }
19042
+
19043
+ /* Gap variants */
19044
+ .bc-sortable-list--gap-xs {
19045
+ gap: var(--spacing-2xs);
19046
+ }
19047
+ .bc-sortable-list--gap-sm {
19048
+ gap: var(--spacing-xs);
19049
+ }
19050
+ .bc-sortable-list--gap-md {
19051
+ gap: var(--spacing-sm);
19052
+ }
19053
+ .bc-sortable-list--gap-lg {
19054
+ gap: var(--spacing-md);
19055
+ }
19056
+ .bc-sortable-list--gap-xl {
19057
+ gap: var(--spacing-lg);
19058
+ }
19059
+
19060
+ /* Items — base */
19061
+ .bc-sortable-list__item {
19062
+ display: flex;
19063
+ align-items: center;
19064
+ padding: var(--spacing-xs) var(--spacing-sm);
19065
+ border-radius: var(--radius-sm);
19066
+ transition: all var(--motion-transition-fast) var(--motion-easing-standard);
19067
+ }
19068
+
19069
+ .bc-sortable-list__item--dragging {
19070
+ opacity: 0.4;
19071
+ }
19072
+
19073
+ .bc-sortable-list__item--drop-target {
19074
+ border-color: var(--color-primary-400);
19075
+ box-shadow: 0 -2px 0 0 var(--color-primary-500);
19076
+ }
19077
+
19078
+ /* Variant: bordered (default) */
19079
+ .bc-sortable-list--variant-bordered .bc-sortable-list__item {
19080
+ background-color: white;
19081
+ border: var(--border-width-thin) solid var(--border-default);
19082
+ }
19083
+
19084
+ /* Variant: card */
19085
+ .bc-sortable-list--variant-card .bc-sortable-list__item {
19086
+ background-color: var(--bg-background);
19087
+ border: var(--border-width-thin) solid var(--border-muted);
19088
+ box-shadow: var(--shadow-sm);
19089
+ }
19090
+
19091
+ .bc-sortable-list--variant-card .bc-sortable-list__item--drop-target {
19092
+ border-color: var(--color-primary-400);
19093
+ box-shadow:
19094
+ var(--shadow-sm),
19095
+ 0 -2px 0 0 var(--color-primary-500);
19096
+ }
19097
+
19098
+ /* Variant: plain */
19099
+ .bc-sortable-list--variant-plain .bc-sortable-list__item {
19100
+ background-color: transparent;
19101
+ border: var(--border-width-thin) solid transparent;
19102
+ }
19103
+
19104
+ .bc-sortable-list--variant-plain .bc-sortable-list__item:hover {
19105
+ background-color: var(--bg-muted);
19106
+ }
19107
+
19108
+ /* Handle */
19109
+ .bc-sortable-list__handle {
19110
+ display: flex;
19111
+ align-items: center;
19112
+ cursor: grab;
19113
+ color: var(--color-base-300);
19114
+ flex-shrink: 0;
19115
+ margin-right: var(--spacing-xs);
19116
+ }
19117
+
19118
+ .bc-sortable-list__handle:active {
19119
+ cursor: grabbing;
19120
+ }
19121
+
19122
+ /* Size variants */
19123
+ .bc-sortable-list--size-xs .bc-sortable-list__item {
19124
+ padding: var(--spacing-2xs) var(--spacing-xs);
19125
+ font-size: var(--font-size-xs);
19126
+ }
19127
+ .bc-sortable-list--size-sm .bc-sortable-list__item {
19128
+ padding: var(--spacing-2xs) var(--spacing-sm);
19129
+ font-size: var(--font-size-sm);
19130
+ }
19131
+ .bc-sortable-list--size-lg .bc-sortable-list__item {
19132
+ padding: var(--spacing-sm) var(--spacing-md);
19133
+ font-size: var(--font-size-lg);
19134
+ }
19135
+ .bc-sortable-list--size-xl .bc-sortable-list__item {
19136
+ padding: var(--spacing-md) var(--spacing-lg);
19137
+ font-size: var(--font-size-xl);
19138
+ }
19139
+
19140
+ /* Dark mode */
19141
+ .dark .bc-sortable-list--variant-bordered .bc-sortable-list__item {
19142
+ background-color: var(--color-neutral-900);
19143
+ border-color: var(--border-default);
19144
+ }
19145
+
19146
+ .dark .bc-sortable-list--variant-card .bc-sortable-list__item {
19147
+ background-color: var(--bg-background);
19148
+ }
19149
+
19150
+ .dark .bc-sortable-list--variant-plain .bc-sortable-list__item:hover {
19151
+ background-color: var(--bg-muted);
19152
+ }
19153
+
19154
+ .dark .bc-sortable-list__handle {
19155
+ color: var(--color-base-600);
19156
+ }
19157
+
19158
+ .dark .bc-sortable-list__item--drop-target {
19159
+ border-color: var(--color-primary-400);
19160
+ box-shadow: 0 -2px 0 0 var(--color-primary-400);
19161
+ }
19162
+
19163
+ .dark .bc-sortable-list--variant-card .bc-sortable-list__item--drop-target {
19164
+ box-shadow:
19165
+ var(--shadow-sm),
19166
+ 0 -2px 0 0 var(--color-primary-400);
19167
+ }
19168
+
19169
+ /* Reduced motion */
19170
+ @media (prefers-reduced-motion: reduce) {
19171
+ .bc-sortable-list__item {
19172
+ transition: none;
19173
+ }
19174
+ }
19175
+
19176
+ /* TransferList Component */
19177
+ .bc-transfer-list {
19178
+ display: flex;
19179
+ align-items: stretch;
19180
+ gap: var(--spacing-sm);
19181
+ }
19182
+
19183
+ .bc-transfer-list--disabled {
19184
+ opacity: 0.5;
19185
+ pointer-events: none;
19186
+ }
19187
+
19188
+ /* Panels */
19189
+ .bc-transfer-list__panel {
19190
+ flex: 1;
19191
+ display: flex;
19192
+ flex-direction: column;
19193
+ border: var(--border-width-thin) solid var(--border-default);
19194
+ border-radius: var(--radius-md);
19195
+ background-color: var(--bg-background);
19196
+ min-width: 180px;
19197
+ overflow: hidden;
19198
+ }
19199
+
19200
+ .bc-transfer-list__panel-header {
19201
+ display: flex;
19202
+ align-items: center;
19203
+ justify-content: space-between;
19204
+ padding: var(--spacing-xs) var(--spacing-sm);
19205
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19206
+ background-color: var(--bg-subtle);
19207
+ }
19208
+
19209
+ .bc-transfer-list__panel-title {
19210
+ font-size: var(--font-size-xs);
19211
+ font-weight: var(--font-weight-semibold);
19212
+ color: var(--text-muted);
19213
+ text-transform: uppercase;
19214
+ letter-spacing: 0.05em;
19215
+ }
19216
+
19217
+ /* Search */
19218
+ .bc-transfer-list__search {
19219
+ padding: var(--spacing-xs);
19220
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19221
+ }
19222
+
19223
+ /* Items list */
19224
+ .bc-transfer-list__items {
19225
+ flex: 1;
19226
+ overflow-y: auto;
19227
+ max-height: 240px;
19228
+ scrollbar-width: thin;
19229
+ }
19230
+
19231
+ /* Individual item */
19232
+ .bc-transfer-list__item {
19233
+ display: flex;
19234
+ align-items: center;
19235
+ gap: var(--spacing-xs);
19236
+ padding: var(--spacing-2xs) var(--spacing-sm);
19237
+ cursor: pointer;
19238
+ transition: background-color var(--motion-transition-fast)
19239
+ var(--motion-easing-standard);
19240
+ }
19241
+
19242
+ .bc-transfer-list__item:hover {
19243
+ background-color: var(--bg-subtle);
19244
+ }
19245
+
19246
+ .bc-transfer-list__item--selected {
19247
+ background-color: var(--color-primary-50);
19248
+ }
19249
+
19250
+ .bc-transfer-list__item-check {
19251
+ display: flex;
19252
+ align-items: center;
19253
+ flex-shrink: 0;
19254
+ color: var(--text-muted);
19255
+ }
19256
+
19257
+ .bc-transfer-list__item--selected .bc-transfer-list__item-check {
19258
+ color: var(--color-primary-500);
19259
+ }
19260
+
19261
+ .bc-transfer-list__item-content {
19262
+ flex: 1;
19263
+ font-size: var(--font-size-sm);
19264
+ color: var(--text-normal);
19265
+ overflow: hidden;
19266
+ text-overflow: ellipsis;
19267
+ white-space: nowrap;
19268
+ }
19269
+
19270
+ /* Action buttons column */
19271
+ .bc-transfer-list__actions {
19272
+ display: flex;
19273
+ flex-direction: column;
19274
+ align-items: center;
19275
+ justify-content: center;
19276
+ gap: var(--spacing-xs);
19277
+ padding: var(--spacing-xs);
19278
+ }
19279
+
19280
+ /* Size variants */
19281
+ .bc-transfer-list--size-xs .bc-transfer-list__items {
19282
+ max-height: 160px;
19283
+ }
19284
+ .bc-transfer-list--size-xs .bc-transfer-list__item {
19285
+ padding: 1px var(--spacing-xs);
19286
+ }
19287
+ .bc-transfer-list--size-xs .bc-transfer-list__item-content {
19288
+ font-size: var(--font-size-xs);
19289
+ }
19290
+ .bc-transfer-list--size-xs .bc-transfer-list__panel {
19291
+ min-width: 140px;
19292
+ }
19293
+
19294
+ .bc-transfer-list--size-sm .bc-transfer-list__items {
19295
+ max-height: 200px;
19296
+ }
19297
+ .bc-transfer-list--size-sm .bc-transfer-list__item-content {
19298
+ font-size: var(--font-size-xs);
19299
+ }
19300
+ .bc-transfer-list--size-sm .bc-transfer-list__panel {
19301
+ min-width: 160px;
19302
+ }
19303
+
19304
+ .bc-transfer-list--size-lg .bc-transfer-list__items {
19305
+ max-height: 320px;
19306
+ }
19307
+ .bc-transfer-list--size-lg .bc-transfer-list__item {
19308
+ padding: var(--spacing-xs) var(--spacing-md);
19309
+ }
19310
+ .bc-transfer-list--size-lg .bc-transfer-list__item-content {
19311
+ font-size: var(--font-size-md);
19312
+ }
19313
+
19314
+ .bc-transfer-list--size-xl .bc-transfer-list__items {
19315
+ max-height: 400px;
19316
+ }
19317
+ .bc-transfer-list--size-xl .bc-transfer-list__item {
19318
+ padding: var(--spacing-sm) var(--spacing-lg);
19319
+ }
19320
+ .bc-transfer-list--size-xl .bc-transfer-list__item-content {
19321
+ font-size: var(--font-size-lg);
19322
+ }
19323
+
19324
+ /* Responsive */
19325
+ @media (max-width: 640px) {
19326
+ .bc-transfer-list {
19327
+ flex-direction: column;
19328
+ }
19329
+
19330
+ .bc-transfer-list__actions {
19331
+ flex-direction: row;
19332
+ }
19333
+
19334
+ .bc-transfer-list__panel {
19335
+ min-width: 0;
19336
+ }
19337
+ }
19338
+
19339
+ /* Dark mode */
19340
+ .dark .bc-transfer-list__panel {
19341
+ background-color: var(--bg-background);
19342
+ border-color: var(--border-default);
19343
+ }
19344
+
19345
+ .dark .bc-transfer-list__panel-header {
19346
+ background-color: var(--bg-subtle);
19347
+ border-bottom-color: var(--border-default);
19348
+ }
19349
+
19350
+ .dark .bc-transfer-list__item:hover {
19351
+ background-color: var(--bg-subtle);
19352
+ }
19353
+
19354
+ .dark .bc-transfer-list__item--selected {
19355
+ background-color: var(--color-primary-950);
19356
+ }
19357
+
19358
+ /* Reduced motion */
19359
+ @media (prefers-reduced-motion: reduce) {
19360
+ .bc-transfer-list__item {
19361
+ transition: none;
19362
+ }
19363
+ }
19364
+
19365
+ /* ColorPicker Component */
19366
+
19367
+ .bc-color-picker__container {
19368
+ width: 100%;
19369
+ display: flex;
19370
+ flex-direction: column;
19371
+ gap: var(--spacing-sm);
19372
+ }
19373
+
19374
+ .bc-color-picker__field-container {
19375
+ width: 100%;
19376
+ aspect-ratio: 1 / 1;
19377
+ contain: size layout;
19378
+ }
19379
+
19380
+ .bc-color-picker__field {
19381
+ width: 100%;
19382
+ height: 100%;
19383
+ border-radius: var(--radius-sm);
19384
+ overflow: clip;
19385
+ }
19386
+
19387
+ .bc-color-picker__field-interactive {
19388
+ cursor: crosshair;
19389
+ }
19390
+
19391
+ /* Cursor on the 2D color field */
19392
+ .bc-color-picker__cursor {
19393
+ position: absolute;
19394
+ width: 13px;
19395
+ height: 13px;
19396
+ border-radius: var(--radius-full);
19397
+ border: 2px solid white;
19398
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
19399
+ transform: translate(-50%, -50%);
19400
+ pointer-events: none;
19401
+ }
19402
+
19403
+ /* Strip wrap (hue / alpha / channel strips) */
19404
+ .bc-color-picker__strip-wrap {
19405
+ position: relative;
19406
+ width: 100%;
19407
+ height: var(--spacing-lg);
19408
+ cursor: pointer;
19409
+ }
19410
+
19411
+ .bc-color-picker__strip-wrap .bc-color-picker__canvas {
19412
+ border-radius: var(--radius-md);
19413
+ }
19414
+
19415
+ .bc-color-picker__canvas-wrap {
19416
+ position: absolute;
19417
+ width: 100%;
19418
+ height: 100%;
19419
+ }
19420
+
19421
+ /* Handle on strips */
19422
+ .bc-color-picker__handle {
19423
+ pointer-events: none;
19424
+ position: absolute;
19425
+ top: 50%;
19426
+ width: var(--spacing-lg);
19427
+ height: var(--spacing-lg);
19428
+ border-radius: var(--radius-full);
19429
+ border: 2px solid white;
19430
+ outline: 1px solid black;
19431
+ transform: translate(-50%, -50%);
19432
+ }
19433
+
19434
+ /* Label for channels */
19435
+ .bc-color-picker__label {
19436
+ text-align: right;
19437
+ font-size: var(--font-size-sm);
19438
+ }
19439
+
19440
+ /* Channel grid layout (label | strip | input) */
19441
+ .bc-color-picker__channels {
19442
+ width: 100%;
19443
+ display: grid;
19444
+ grid-template-columns:
19445
+ calc(var(--spacing-md) * 10)
19446
+ 1fr
19447
+ calc(var(--spacing-md) * 8);
19448
+ gap: var(--spacing-xs) var(--spacing-mdh);
19449
+ align-items: center;
19450
+ }
19451
+
19452
+ .bc-color-picker__compact.bc-color-picker__channels {
19453
+ grid-template-columns:
19454
+ calc(var(--spacing-md) * 2)
19455
+ 1fr
19456
+ calc(var(--spacing-md) * 8);
19457
+ }
19458
+
19459
+ .bc-color-picker__channels-container {
19460
+ min-width: 0;
19461
+ }
19462
+
19463
+ .bc-color-picker__channel__strip {
19464
+ width: 100%;
19465
+ }
19466
+
19467
+ .bc-color-picker__channel__input {
19468
+ flex-shrink: 0;
19469
+ --spacing-scale: 0.6;
19470
+ --font-size-scale: 0.8;
19471
+ }
19472
+
19473
+ /* Controls: channels + swatch side by side */
19474
+ .bc-color-picker__controls {
19475
+ display: grid;
19476
+ grid-template-columns: 1fr auto;
19477
+ gap: var(--spacing-md);
19478
+ align-items: stretch;
19479
+ }
19480
+
19481
+ /* Color swatch preview */
19482
+ .bc-color-picker__swatch-container {
19483
+ aspect-ratio: 1 / 1;
19484
+ height: 100%;
19485
+ }
19486
+
19487
+ .bc-color-picker__swatch {
19488
+ width: 100%;
19489
+ height: 100%;
19490
+ border-radius: var(--radius-md);
19491
+ }
19492
+
19493
+ .bc-spotlight {
19494
+ display: flex;
19495
+ flex-direction: column;
19496
+ background: var(--bg-surface);
19497
+ border: var(--border-width-thin) solid var(--border-default);
19498
+ border-radius: var(--radius-lg);
19499
+ box-shadow: var(--shadow-xl);
19500
+ overflow: hidden;
19501
+ margin: 15vh auto 0;
19502
+ width: 90%;
19503
+ max-height: 60vh;
19504
+ }
19505
+
19506
+ .bc-spotlight--size-sm {
19507
+ max-width: 480px;
19508
+ }
19509
+
19510
+ .bc-spotlight--size-md {
19511
+ max-width: 600px;
19512
+ }
19513
+
19514
+ .bc-spotlight--size-lg {
19515
+ max-width: 720px;
19516
+ }
19517
+
19518
+ .bc-spotlight__header {
19519
+ display: flex;
19520
+ align-items: center;
19521
+ gap: var(--spacing-md);
19522
+ padding: var(--spacing-mdh) var(--spacing-lg);
19523
+ border-bottom: var(--border-width-thin) solid var(--border-default);
19524
+ }
19525
+
19526
+ .bc-spotlight__search-icon {
19527
+ display: flex;
19528
+ color: var(--text-muted);
19529
+ flex-shrink: 0;
19530
+ }
19531
+
19532
+ .bc-spotlight__input {
19533
+ flex: 1;
19534
+ border: none;
19535
+ outline: none;
19536
+ background: transparent;
19537
+ font-size: var(--font-size-md);
19538
+ font-family: inherit;
19539
+ color: inherit;
19540
+ }
19541
+
19542
+ .bc-spotlight__input::placeholder {
19543
+ color: var(--text-muted);
19544
+ }
19545
+
19546
+ .bc-spotlight__close-hint {
19547
+ display: flex;
19548
+ align-items: center;
19549
+ flex-shrink: 0;
19550
+ opacity: 0.6;
19551
+ }
19552
+
19553
+ .bc-spotlight__results {
19554
+ overflow-y: auto;
19555
+ padding: var(--spacing-md);
19556
+ }
19557
+
19558
+ .bc-spotlight__empty {
19559
+ padding: var(--spacing-xl) var(--spacing-lg);
19560
+ text-align: center;
19561
+ color: var(--text-muted);
19562
+ font-size: var(--font-size-sm);
19563
+ }
19564
+
19565
+ .bc-spotlight__section + .bc-spotlight__section {
19566
+ margin-top: var(--spacing-md);
19567
+ }
19568
+
19569
+ .bc-spotlight__section-title {
19570
+ padding: var(--spacing-base) var(--spacing-md);
19571
+ font-size: var(--font-size-xs);
19572
+ font-weight: var(--font-weight-semibold);
19573
+ color: var(--text-muted);
19574
+ text-transform: uppercase;
19575
+ letter-spacing: 0.05em;
19576
+ }
19577
+
19578
+ .bc-spotlight__item {
19579
+ display: flex;
19580
+ align-items: center;
19581
+ gap: var(--spacing-md);
19582
+ padding: var(--spacing-md);
19583
+ border-radius: var(--radius-sm);
19584
+ cursor: pointer;
19585
+ transition: background-color var(--motion-transition-fast)
19586
+ var(--motion-easing-standard);
19587
+ }
19588
+
19589
+ .bc-spotlight__item:hover,
19590
+ .bc-spotlight__item--active {
19591
+ background-color: var(--interactive-hover);
19592
+ }
19593
+
19594
+ .bc-spotlight__item-icon {
19595
+ display: flex;
19596
+ flex-shrink: 0;
19597
+ color: var(--text-muted);
19598
+ }
19599
+
19600
+ .bc-spotlight__item-content {
19601
+ display: flex;
19602
+ flex-direction: column;
19603
+ flex: 1;
19604
+ min-width: 0;
19605
+ }
19606
+
19607
+ .bc-spotlight__item-label {
19608
+ font-size: var(--font-size-sm);
19609
+ }
19610
+
19611
+ .bc-spotlight__item-description {
19612
+ font-size: var(--font-size-xs);
19613
+ color: var(--text-muted);
19614
+ }
19615
+
19616
+ .bc-spotlight__item-shortcut {
19617
+ display: flex;
19618
+ gap: var(--spacing-base);
19619
+ flex-shrink: 0;
19620
+ }
19621
+
19622
+ @media (prefers-reduced-motion: reduce) {
19623
+ .bc-spotlight__item {
19624
+ transition: none;
19625
+ }
19626
+ }
19627
+
19628
+ .bc-virtual-list {
19629
+ position: relative;
19630
+ overflow: auto;
19631
+ box-sizing: border-box;
19632
+ }
19633
+
19634
+ .bc-virtual-list__spacer {
19635
+ position: relative;
19636
+ width: 100%;
19637
+ pointer-events: none;
19638
+ }
19639
+
19640
+ .bc-virtual-list__viewport {
19641
+ position: absolute;
19642
+ top: 0;
19643
+ left: 0;
19644
+ right: 0;
19645
+ will-change: transform;
19646
+ }
19647
+
18069
19648
  /* Shared flex modifiers for Stack and Group */
18070
19649
 
18071
19650
  /* Gap */