@tempots/beatui 0.37.0 → 0.39.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 (96) hide show
  1. package/dist/{2019-B1QESOSc.cjs → 2019-1S9vgvv2.cjs} +1 -1
  2. package/dist/{2019-RaU4YQ5c.js → 2019-DPD_eCKE.js} +2 -2
  3. package/dist/{2020-BI-SxTSK.cjs → 2020-CGrbEEmD.cjs} +1 -1
  4. package/dist/{2020-BAomdSE8.js → 2020-aLm9VmDL.js} +2 -2
  5. package/dist/{ar-CqAHPRKu.cjs → ar-B0vT_MPe.cjs} +1 -1
  6. package/dist/{ar-avevuYiW.js → ar-CbM09z5P.js} +1 -1
  7. package/dist/auth/index.cjs.js +1 -1
  8. package/dist/auth/index.es.js +4 -4
  9. package/dist/beatui.css +447 -83
  10. package/dist/beatui.tailwind.css +447 -83
  11. package/dist/{de-Cz7ah611.js → de-Dd907tZQ.js} +1 -1
  12. package/dist/{de--4OtRESW.cjs → de-tK36cL_u.cjs} +1 -1
  13. package/dist/{es-CiNQQzF1.js → es-BkJxjMdG.js} +1 -1
  14. package/dist/{es-CE1wRgxl.cjs → es-K35LRZa-.cjs} +1 -1
  15. package/dist/{fa-DjuJZNLK.cjs → fa-BBikwwku.cjs} +1 -1
  16. package/dist/{fa-Gkt0b9XN.js → fa-DBTUBsw_.js} +1 -1
  17. package/dist/{fr-DotyzMGL.cjs → fr-DMtXrrnJ.cjs} +1 -1
  18. package/dist/{fr-xM9p9Q6G.js → fr-Fmupo556.js} +1 -1
  19. package/dist/{he-CoO6PsiS.js → he-DkI64oaY.js} +1 -1
  20. package/dist/{he-BQ6ygVEQ.cjs → he-on3Ivp8g.cjs} +1 -1
  21. package/dist/{hi-BCfJ0mRh.cjs → hi-CNFV8ITE.cjs} +1 -1
  22. package/dist/{hi-DA3-4Cdo.js → hi-GdD5MihT.js} +1 -1
  23. package/dist/{index-CesoPnvj.cjs → index-B-SyWyCc.cjs} +1 -1
  24. package/dist/{index-DJJ67-RV.js → index-B-pudlMv.js} +58 -58
  25. package/dist/{index-CCu0qfNP.cjs → index-BA93M8Ux.cjs} +1 -1
  26. package/dist/{index-C2rz3G1d.js → index-BK8t6gqu.js} +3 -3
  27. package/dist/{index-C_nSdynJ.js → index-BfFlhmAq.js} +1 -1
  28. package/dist/{index-BS0NyhvV.js → index-BkQ7xHgi.js} +5 -5
  29. package/dist/{index-CZQHL_pf.cjs → index-CPBlySmE.cjs} +1 -1
  30. package/dist/{index-Dc9UNC8n.js → index-LUItEwlw.js} +1 -1
  31. package/dist/{index-BKjL6RO2.cjs → index-e8oQ-k0x.cjs} +2 -2
  32. package/dist/{index-BzApzJXc.cjs → index-wdi93sK4.cjs} +1 -1
  33. package/dist/index.cjs.js +4 -4
  34. package/dist/index.es.js +3075 -2812
  35. package/dist/{it-pv2Gm3jb.cjs → it-BDOzBRkQ.cjs} +1 -1
  36. package/dist/{it-EdPuWBJR.js → it-Bpnfd60V.js} +1 -1
  37. package/dist/{ja-CuRaPMgh.cjs → ja-N-7c7zD7.cjs} +1 -1
  38. package/dist/{ja-BSRCR430.js → ja-SjlGNgs9.js} +1 -1
  39. package/dist/json-schema/index.cjs.js +1 -1
  40. package/dist/json-schema/index.es.js +1 -1
  41. package/dist/{ko-C7YP1PL4.cjs → ko-BBeTXIlY.cjs} +1 -1
  42. package/dist/{ko-Dm4oD1fh.js → ko-CH69ZNts.js} +1 -1
  43. package/dist/modal-BD76Rve3.js +633 -0
  44. package/dist/modal-DQycMZ8_.cjs +1 -0
  45. package/dist/{nl-ClCD6lP-.cjs → nl-C2C9QDH2.cjs} +1 -1
  46. package/dist/{nl-B0l1kdfd.js → nl-DnvMlW8v.js} +1 -1
  47. package/dist/notice-CFoc4PJe.cjs +2 -0
  48. package/dist/{notice-C7o5d8Jw.js → notice-CQZseCQs.js} +388 -378
  49. package/dist/{pl-DVKneBSY.js → pl-CBEX2qN1.js} +1 -1
  50. package/dist/{pl-fyCkqVrr.cjs → pl-sNBCzEUd.cjs} +1 -1
  51. package/dist/prosemirror/index.cjs.js +1 -1
  52. package/dist/prosemirror/index.es.js +1 -1
  53. package/dist/{pt-BHExG3lf.cjs → pt-Bvxg9VEA.cjs} +1 -1
  54. package/dist/{pt-Bw0sTDOX.js → pt-ByFqFAdQ.js} +1 -1
  55. package/dist/{ru-B26VQ4f9.js → ru-6d5JfoDw.js} +1 -1
  56. package/dist/{ru-PuEOLDw1.cjs → ru-CPAdsn4m.cjs} +1 -1
  57. package/dist/tailwind/index.cjs.js +1 -1
  58. package/dist/tailwind/index.es.js +1 -1
  59. package/dist/tailwind/preset.cjs.js +1 -1
  60. package/dist/tailwind/preset.es.js +1 -1
  61. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  62. package/dist/tailwind/vite-plugin.es.js +1 -1
  63. package/dist/{toolbar-ClJbaKID.js → toolbar-Cl_TAa3r.js} +1 -1
  64. package/dist/{toolbar-kwkvH3nX.cjs → toolbar-Dw2VQD9y.cjs} +1 -1
  65. package/dist/{tr-CI97fTpD.cjs → tr-IKZtCQQR.cjs} +1 -1
  66. package/dist/{tr-DQMivdvy.js → tr-gv4vJfm8.js} +1 -1
  67. package/dist/{translations-ZB5oDFId.cjs → translations-CK426qyd.cjs} +1 -1
  68. package/dist/translations-DJR65Jii.cjs +1 -0
  69. package/dist/{translations-1yD6Rm5l.js → translations-DXLmnUiB.js} +1 -1
  70. package/dist/{translations-iam7PITs.js → translations-djDSPqdb.js} +56 -73
  71. package/dist/types/components/beatui.d.ts +4 -1
  72. package/dist/types/components/button/button.d.ts +4 -3
  73. package/dist/types/components/form/input/input-wrapper.d.ts +2 -1
  74. package/dist/types/components/form/use-form.d.ts +1 -1
  75. package/dist/types/components/misc/index.d.ts +4 -0
  76. package/dist/types/components/misc/notification-provider.d.ts +47 -0
  77. package/dist/types/components/misc/notification.d.ts +17 -0
  78. package/dist/types/components/misc/opengraph.d.ts +111 -0
  79. package/dist/types/components/navigation/link/button-link.d.ts +2 -0
  80. package/dist/types/components/overlay/lightbox.d.ts +1 -1
  81. package/dist/types/components/overlay/modal.d.ts +2 -2
  82. package/dist/types/components/overlay/ribbon.d.ts +2 -2
  83. package/dist/types/utils/use-animated-toggle.d.ts +30 -9
  84. package/dist/{ur-B3CiO8KH.cjs → ur-Bgq_2yjr.cjs} +1 -1
  85. package/dist/{ur-o3rog5MJ.js → ur-Bo6bjEBS.js} +1 -1
  86. package/dist/{utils-BcIRhDH0.cjs → utils-Bsrfm-0d.cjs} +1 -1
  87. package/dist/{utils-C7619Rp3.js → utils-Bw911Eo4.js} +2 -2
  88. package/dist/{vi-FibsLfdk.cjs → vi-BrUQnj-8.cjs} +1 -1
  89. package/dist/{vi-C7cb2K_B.js → vi-xDLJ3TIx.js} +1 -1
  90. package/dist/{zh-NGrfqAHM.js → zh-BivWxJJh.js} +1 -1
  91. package/dist/{zh-BtSj_Euh.cjs → zh-BqH1Cioq.cjs} +1 -1
  92. package/package.json +3 -3
  93. package/dist/modal-CxG-RO9B.js +0 -601
  94. package/dist/modal-OMSAbIg1.cjs +0 -1
  95. package/dist/notice-0Xhzr7qR.cjs +0 -2
  96. package/dist/translations-DQxg-W9w.cjs +0 -1
@@ -916,6 +916,205 @@ a:focus-visible {
916
916
  }
917
917
  }
918
918
 
919
+ /* Animated Toggle Component */
920
+ .bc-animated-toggle {
921
+ transition-property: all;
922
+ transition-duration: 1s;
923
+ transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
924
+ }
925
+
926
+ /* Status: closed and start-closing - element is hidden */
927
+ .bc-animated-toggle--closed {
928
+ display: none;
929
+ }
930
+
931
+ /* Status: start-opening - element becomes visible but hasn't started animating */
932
+ .bc-animated-toggle--start-opening {
933
+ display: initial;
934
+ }
935
+
936
+ /* Animation: NONE - no animation, just show/hide */
937
+ .bc-animated-toggle--none {
938
+ transition-property: none;
939
+ }
940
+
941
+ /* Animation: FADE */
942
+ .bc-animated-toggle--fade.bc-animated-toggle--closing,
943
+ .bc-animated-toggle--fade.bc-animated-toggle--start-opening,
944
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--closing,
945
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--start-opening,
946
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--closing,
947
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--start-opening,
948
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--closing,
949
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--start-opening,
950
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--closing,
951
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--start-opening,
952
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--closing,
953
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--start-opening,
954
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--closing,
955
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--start-opening,
956
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--closing,
957
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--start-opening,
958
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--closing,
959
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--start-opening,
960
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--closing,
961
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--start-opening {
962
+ opacity: 0;
963
+ }
964
+
965
+ .bc-animated-toggle--fade.bc-animated-toggle--opening,
966
+ .bc-animated-toggle--fade.bc-animated-toggle--start-closing,
967
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--opening,
968
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--start-closing,
969
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--opening,
970
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--start-closing,
971
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--opening,
972
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--start-closing,
973
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--opening,
974
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--start-closing,
975
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--opening,
976
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--start-closing,
977
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--opening,
978
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--start-closing,
979
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--opening,
980
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--start-closing,
981
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--opening,
982
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--start-closing,
983
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--opening,
984
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--start-closing {
985
+ opacity: 1;
986
+ }
987
+
988
+ /* Animation: slide-right */
989
+ .bc-animated-toggle--slide-right.bc-animated-toggle--closing,
990
+ .bc-animated-toggle--slide-right.bc-animated-toggle--start-opening,
991
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--closing,
992
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--start-opening {
993
+ transform: translateX(-100%);
994
+ }
995
+
996
+ .bc-animated-toggle--slide-right.bc-animated-toggle--opening,
997
+ .bc-animated-toggle--slide-right.bc-animated-toggle--start-closing,
998
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--opening,
999
+ .bc-animated-toggle--fade-slide-right.bc-animated-toggle--start-closing {
1000
+ transform: translateX(0);
1001
+ }
1002
+
1003
+ /* Animation: slide-left */
1004
+ .bc-animated-toggle--slide-left.bc-animated-toggle--closing,
1005
+ .bc-animated-toggle--slide-left.bc-animated-toggle--start-opening,
1006
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--closing,
1007
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--start-opening {
1008
+ transform: translateX(100%);
1009
+ }
1010
+
1011
+ .bc-animated-toggle--slide-left.bc-animated-toggle--opening,
1012
+ .bc-animated-toggle--slide-left.bc-animated-toggle--start-closing,
1013
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--opening,
1014
+ .bc-animated-toggle--fade-slide-left.bc-animated-toggle--start-closing {
1015
+ transform: translateX(0);
1016
+ }
1017
+
1018
+ /* Animation: slide-up */
1019
+ .bc-animated-toggle--slide-up.bc-animated-toggle--closing,
1020
+ .bc-animated-toggle--slide-up.bc-animated-toggle--start-opening,
1021
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--closing,
1022
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--start-opening {
1023
+ transform: translateY(100%);
1024
+ }
1025
+
1026
+ .bc-animated-toggle--slide-up.bc-animated-toggle--opening,
1027
+ .bc-animated-toggle--slide-up.bc-animated-toggle--start-closing,
1028
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--opening,
1029
+ .bc-animated-toggle--fade-slide-up.bc-animated-toggle--start-closing {
1030
+ transform: translateY(0);
1031
+ }
1032
+
1033
+ /* Animation: slide-down */
1034
+ .bc-animated-toggle--slide-down.bc-animated-toggle--closing,
1035
+ .bc-animated-toggle--slide-down.bc-animated-toggle--start-opening,
1036
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--closing,
1037
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--start-opening {
1038
+ transform: translateY(-100%);
1039
+ }
1040
+
1041
+ .bc-animated-toggle--slide-down.bc-animated-toggle--opening,
1042
+ .bc-animated-toggle--slide-down.bc-animated-toggle--start-closing,
1043
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--opening,
1044
+ .bc-animated-toggle--fade-slide-down.bc-animated-toggle--start-closing {
1045
+ transform: translateY(0);
1046
+ }
1047
+
1048
+ /* Animation: scale */
1049
+ .bc-animated-toggle--scale.bc-animated-toggle--closing,
1050
+ .bc-animated-toggle--scale.bc-animated-toggle--start-opening,
1051
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--closing,
1052
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--start-opening {
1053
+ transform: scale(0.8);
1054
+ }
1055
+
1056
+ .bc-animated-toggle--scale.bc-animated-toggle--opening,
1057
+ .bc-animated-toggle--scale.bc-animated-toggle--start-closing,
1058
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--opening,
1059
+ .bc-animated-toggle--scale-fade.bc-animated-toggle--start-closing {
1060
+ transform: scale(1);
1061
+ }
1062
+
1063
+ /* Animation: flyout-top */
1064
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--closing,
1065
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--start-opening {
1066
+ transform: translateY(-1rem) scale(0.95);
1067
+ }
1068
+
1069
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--opening,
1070
+ .bc-animated-toggle--flyout-top.bc-animated-toggle--start-closing {
1071
+ transform: translateY(0) scale(1);
1072
+ }
1073
+
1074
+ /* Animation: flyout-bottom */
1075
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--closing,
1076
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--start-opening {
1077
+ transform: translateY(1rem) scale(0.95);
1078
+ }
1079
+
1080
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--opening,
1081
+ .bc-animated-toggle--flyout-bottom.bc-animated-toggle--start-closing {
1082
+ transform: translateY(0) scale(1);
1083
+ }
1084
+
1085
+ /* Animation: flyout-left */
1086
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--closing,
1087
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--start-opening {
1088
+ opacity: 0;
1089
+ transform: translateX(-1rem) scale(0.95);
1090
+ }
1091
+
1092
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--opening,
1093
+ .bc-animated-toggle--flyout-left.bc-animated-toggle--start-closing {
1094
+ opacity: 1;
1095
+ transform: translateX(0) scale(1);
1096
+ }
1097
+
1098
+ /* Animation: flyout-right */
1099
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--closing,
1100
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--start-opening {
1101
+ opacity: 0;
1102
+ transform: translateX(1rem) scale(0.95);
1103
+ }
1104
+
1105
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--opening,
1106
+ .bc-animated-toggle--flyout-right.bc-animated-toggle--start-closing {
1107
+ opacity: 1;
1108
+ transform: translateX(0) scale(1);
1109
+ }
1110
+
1111
+ /* Accessibility: Reduced motion */
1112
+ @media (prefers-reduced-motion: reduce) {
1113
+ .bc-animated-toggle {
1114
+ transition: none;
1115
+ }
1116
+ }
1117
+
919
1118
  /* Auth Container Component */
920
1119
  .bc-auth-container--styled {
921
1120
  display: flex;
@@ -1276,7 +1475,6 @@ a:focus-visible {
1276
1475
  align-items: center;
1277
1476
  justify-content: center;
1278
1477
  border: 1.5px solid var(--badge-border);
1279
- font-weight: var(--font-weight-semibold);
1280
1478
  font-family: var(
1281
1479
  --default-ui-font-family,
1282
1480
  var(--font-ui, var(--font-body, var(--font-family-sans)))
@@ -1289,6 +1487,7 @@ a:focus-visible {
1289
1487
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
1290
1488
  background-color: var(--badge-bg);
1291
1489
  color: var(--badge-text);
1490
+ white-space: nowrap;
1292
1491
  }
1293
1492
 
1294
1493
  .bc-badge__content {
@@ -1429,6 +1628,10 @@ a:focus-visible {
1429
1628
  text-shadow: var(--button-text-shadow, var(--text-shadow-none));
1430
1629
  }
1431
1630
 
1631
+ .bc-button--full-width {
1632
+ width: 100%;
1633
+ }
1634
+
1432
1635
  .bc-button > span {
1433
1636
  min-height: 10px;
1434
1637
  }
@@ -3533,6 +3736,9 @@ a:focus-visible {
3533
3736
  .bc-input-wrapper {
3534
3737
  display: flex;
3535
3738
  flex-direction: column;
3739
+ }
3740
+
3741
+ .bc-input-wrapper--full-width {
3536
3742
  width: 100%;
3537
3743
  }
3538
3744
 
@@ -4433,45 +4639,45 @@ a:focus-visible {
4433
4639
  }
4434
4640
 
4435
4641
  /* Modal positioning - Top Left */
4436
- .bc-modal--position-top-left.bc-modal--container-body {
4642
+ .bc-modal--position-top-start.bc-modal--container-body {
4437
4643
  top: 2rem;
4438
4644
  left: 2rem;
4439
4645
  }
4440
4646
 
4441
- .bc-modal--position-top-left.bc-modal--container-element {
4647
+ .bc-modal--position-top-start.bc-modal--container-element {
4442
4648
  top: 5%;
4443
4649
  left: 5%;
4444
4650
  }
4445
4651
 
4446
4652
  /* Modal positioning - Top Right */
4447
- .bc-modal--position-top-right.bc-modal--container-body {
4653
+ .bc-modal--position-top-end.bc-modal--container-body {
4448
4654
  top: 2rem;
4449
4655
  right: 2rem;
4450
4656
  }
4451
4657
 
4452
- .bc-modal--position-top-right.bc-modal--container-element {
4658
+ .bc-modal--position-top-end.bc-modal--container-element {
4453
4659
  top: 5%;
4454
4660
  right: 5%;
4455
4661
  }
4456
4662
 
4457
4663
  /* Modal positioning - Bottom Left */
4458
- .bc-modal--position-bottom-left.bc-modal--container-body {
4664
+ .bc-modal--position-bottom-start.bc-modal--container-body {
4459
4665
  bottom: 2rem;
4460
4666
  left: 2rem;
4461
4667
  }
4462
4668
 
4463
- .bc-modal--position-bottom-left.bc-modal--container-element {
4669
+ .bc-modal--position-bottom-start.bc-modal--container-element {
4464
4670
  bottom: 5%;
4465
4671
  left: 5%;
4466
4672
  }
4467
4673
 
4468
4674
  /* Modal positioning - Bottom Right */
4469
- .bc-modal--position-bottom-right.bc-modal--container-body {
4675
+ .bc-modal--position-bottom-end.bc-modal--container-body {
4470
4676
  bottom: 2rem;
4471
4677
  right: 2rem;
4472
4678
  }
4473
4679
 
4474
- .bc-modal--position-bottom-right.bc-modal--container-element {
4680
+ .bc-modal--position-bottom-end.bc-modal--container-element {
4475
4681
  bottom: 5%;
4476
4682
  right: 5%;
4477
4683
  }
@@ -4669,26 +4875,26 @@ a:focus-visible {
4669
4875
  }
4670
4876
 
4671
4877
  /* Animation states - Corner positions */
4672
- .bc-overlay[data-status='start-opening'] .bc-modal--position-top-left,
4673
- .bc-overlay[data-status='closing'] .bc-modal--position-top-left,
4674
- .bc-overlay[data-status='start-opening'] .bc-modal--position-top-right,
4675
- .bc-overlay[data-status='closing'] .bc-modal--position-top-right,
4676
- .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-left,
4677
- .bc-overlay[data-status='closing'] .bc-modal--position-bottom-left,
4678
- .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-right,
4679
- .bc-overlay[data-status='closing'] .bc-modal--position-bottom-right {
4878
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-top-start,
4879
+ .bc-overlay[data-status='closing'] .bc-modal--position-top-start,
4880
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-top-end,
4881
+ .bc-overlay[data-status='closing'] .bc-modal--position-top-end,
4882
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-start,
4883
+ .bc-overlay[data-status='closing'] .bc-modal--position-bottom-start,
4884
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-end,
4885
+ .bc-overlay[data-status='closing'] .bc-modal--position-bottom-end {
4680
4886
  opacity: 0;
4681
4887
  transform: scale(0.95);
4682
4888
  }
4683
4889
 
4684
- .bc-overlay[data-status='opened'] .bc-modal--position-top-left,
4685
- .bc-overlay[data-status='opening'] .bc-modal--position-top-left,
4686
- .bc-overlay[data-status='opened'] .bc-modal--position-top-right,
4687
- .bc-overlay[data-status='opening'] .bc-modal--position-top-right,
4688
- .bc-overlay[data-status='opened'] .bc-modal--position-bottom-left,
4689
- .bc-overlay[data-status='opening'] .bc-modal--position-bottom-left,
4690
- .bc-overlay[data-status='opened'] .bc-modal--position-bottom-right,
4691
- .bc-overlay[data-status='opening'] .bc-modal--position-bottom-right {
4890
+ .bc-overlay[data-status='opened'] .bc-modal--position-top-start,
4891
+ .bc-overlay[data-status='opening'] .bc-modal--position-top-start,
4892
+ .bc-overlay[data-status='opened'] .bc-modal--position-top-end,
4893
+ .bc-overlay[data-status='opening'] .bc-modal--position-top-end,
4894
+ .bc-overlay[data-status='opened'] .bc-modal--position-bottom-start,
4895
+ .bc-overlay[data-status='opening'] .bc-modal--position-bottom-start,
4896
+ .bc-overlay[data-status='opened'] .bc-modal--position-bottom-end,
4897
+ .bc-overlay[data-status='opening'] .bc-modal--position-bottom-end {
4692
4898
  opacity: 1;
4693
4899
  transform: scale(1);
4694
4900
  }
@@ -4844,22 +5050,22 @@ a:focus-visible {
4844
5050
  }
4845
5051
 
4846
5052
  /* Corner positions */
4847
- .bc-overlay[data-status='start-opening'] .bc-modal--position-top-left,
4848
- .bc-overlay[data-status='closing'] .bc-modal--position-top-left,
4849
- .bc-overlay[data-status='opened'] .bc-modal--position-top-left,
4850
- .bc-overlay[data-status='opening'] .bc-modal--position-top-left,
4851
- .bc-overlay[data-status='start-opening'] .bc-modal--position-top-right,
4852
- .bc-overlay[data-status='closing'] .bc-modal--position-top-right,
4853
- .bc-overlay[data-status='opened'] .bc-modal--position-top-right,
4854
- .bc-overlay[data-status='opening'] .bc-modal--position-top-right,
4855
- .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-left,
4856
- .bc-overlay[data-status='closing'] .bc-modal--position-bottom-left,
4857
- .bc-overlay[data-status='opened'] .bc-modal--position-bottom-left,
4858
- .bc-overlay[data-status='opening'] .bc-modal--position-bottom-left,
4859
- .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-right,
4860
- .bc-overlay[data-status='closing'] .bc-modal--position-bottom-right,
4861
- .bc-overlay[data-status='opened'] .bc-modal--position-bottom-right,
4862
- .bc-overlay[data-status='opening'] .bc-modal--position-bottom-right {
5053
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-top-start,
5054
+ .bc-overlay[data-status='closing'] .bc-modal--position-top-start,
5055
+ .bc-overlay[data-status='opened'] .bc-modal--position-top-start,
5056
+ .bc-overlay[data-status='opening'] .bc-modal--position-top-start,
5057
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-top-end,
5058
+ .bc-overlay[data-status='closing'] .bc-modal--position-top-end,
5059
+ .bc-overlay[data-status='opened'] .bc-modal--position-top-end,
5060
+ .bc-overlay[data-status='opening'] .bc-modal--position-top-end,
5061
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-start,
5062
+ .bc-overlay[data-status='closing'] .bc-modal--position-bottom-start,
5063
+ .bc-overlay[data-status='opened'] .bc-modal--position-bottom-start,
5064
+ .bc-overlay[data-status='opening'] .bc-modal--position-bottom-start,
5065
+ .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom-end,
5066
+ .bc-overlay[data-status='closing'] .bc-modal--position-bottom-end,
5067
+ .bc-overlay[data-status='opened'] .bc-modal--position-bottom-end,
5068
+ .bc-overlay[data-status='opening'] .bc-modal--position-bottom-end {
4863
5069
  transform: none;
4864
5070
  }
4865
5071
  }
@@ -6556,15 +6762,15 @@ span.bc-sidebar-link {
6556
6762
  }
6557
6763
 
6558
6764
  /* Table header */
6559
- .bc-table thead,
6560
- .bc-table tfoot {
6765
+ .bc-table > thead,
6766
+ .bc-table > tfoot {
6561
6767
  background-color: var(--table-header-bg);
6562
6768
  color: var(--table-header-text);
6563
6769
  font-weight: var(--font-weight-semibold);
6564
6770
  }
6565
6771
 
6566
6772
  /* Sticky header */
6567
- .bc-table--sticky-header thead {
6773
+ .bc-table--sticky-header > thead {
6568
6774
  position: sticky;
6569
6775
  top: 0;
6570
6776
  z-index: var(--z-index-sticky, 10);
@@ -6572,7 +6778,7 @@ span.bc-sidebar-link {
6572
6778
  }
6573
6779
 
6574
6780
  /* Sticky footer */
6575
- .bc-table--sticky-header tfoot {
6781
+ .bc-table--sticky-header > tfoot {
6576
6782
  position: sticky;
6577
6783
  bottom: 0;
6578
6784
  z-index: var(--z-index-sticky, 10);
@@ -6580,15 +6786,21 @@ span.bc-sidebar-link {
6580
6786
  }
6581
6787
 
6582
6788
  /* Table cells */
6583
- .bc-table th,
6584
- .bc-table td {
6789
+ .bc-table > thead > tr > th,
6790
+ .bc-table > thead > tr > td,
6791
+ .bc-table > tbody > tr > th,
6792
+ .bc-table > tbody > tr > td,
6793
+ .bc-table > tfoot > tr > th,
6794
+ .bc-table > tfoot > tr > td {
6585
6795
  text-align: left;
6586
6796
  vertical-align: middle;
6587
6797
  padding: var(--spacing-md);
6588
6798
  border: none;
6589
6799
  }
6590
6800
 
6591
- .bc-table th {
6801
+ .bc-table > thead > tr > th,
6802
+ .bc-table > tbody > tr > th,
6803
+ .bc-table > tfoot > tr > th {
6592
6804
  font-weight: var(--font-weight-semibold);
6593
6805
  white-space: nowrap;
6594
6806
  }
@@ -6599,68 +6811,96 @@ span.bc-sidebar-link {
6599
6811
  }
6600
6812
 
6601
6813
  /* With row borders */
6602
- .bc-table--with-row-borders th,
6603
- .bc-table--with-row-borders td {
6814
+ .bc-table--with-row-borders > thead > tr > th,
6815
+ .bc-table--with-row-borders > thead > tr > td,
6816
+ .bc-table--with-row-borders > tbody > tr > th,
6817
+ .bc-table--with-row-borders > tbody > tr > td,
6818
+ .bc-table--with-row-borders > tfoot > tr > th,
6819
+ .bc-table--with-row-borders > tfoot > tr > td {
6604
6820
  border-bottom: 1px solid var(--table-border);
6605
6821
  }
6606
6822
 
6607
6823
  /* With column borders */
6608
- .bc-table--with-column-borders th,
6609
- .bc-table--with-column-borders td {
6824
+ .bc-table--with-column-borders > thead > tr > th,
6825
+ .bc-table--with-column-borders > thead > tr > td,
6826
+ .bc-table--with-column-borders > tbody > tr > th,
6827
+ .bc-table--with-column-borders > tbody > tr > td,
6828
+ .bc-table--with-column-borders > tfoot > tr > th,
6829
+ .bc-table--with-column-borders > tfoot > tr > td {
6610
6830
  border-right: 1px solid var(--table-border);
6611
6831
  }
6612
6832
 
6613
- .bc-table--with-column-borders th:last-child,
6614
- .bc-table--with-column-borders td:last-child {
6833
+ .bc-table--with-column-borders > thead > tr > th:last-child,
6834
+ .bc-table--with-column-borders > thead > tr > td:last-child,
6835
+ .bc-table--with-column-borders > tbody > tr > th:last-child,
6836
+ .bc-table--with-column-borders > tbody > tr > td:last-child,
6837
+ .bc-table--with-column-borders > tfoot > tr > th:last-child,
6838
+ .bc-table--with-column-borders > tfoot > tr > td:last-child {
6615
6839
  border-right: none;
6616
6840
  }
6617
6841
 
6618
6842
  /* With striped rows */
6619
- .bc-table--with-striped-rows tbody tr:nth-child(even) {
6843
+ .bc-table--with-striped-rows > tbody > tr:nth-child(even) {
6620
6844
  background-color: var(--table-stripe-bg);
6621
6845
  }
6622
6846
 
6623
6847
  /* Hoverable striped rows - darker stripe on hover */
6624
6848
  .bc-table--hoverable.bc-table--with-striped-rows
6625
- tbody
6626
- tr:nth-child(even):hover {
6849
+ > tbody
6850
+ > tr:nth-child(even):hover {
6627
6851
  background-color: var(--table-hover-bg);
6628
6852
  filter: brightness(0.95);
6629
6853
  }
6630
6854
 
6631
6855
  /* Size variants */
6632
- .bc-table--size-xs th,
6633
- .bc-table--size-xs td {
6856
+ .bc-table--size-xs > thead > tr > th,
6857
+ .bc-table--size-xs > thead > tr > td,
6858
+ .bc-table--size-xs > tbody > tr > th,
6859
+ .bc-table--size-xs > tbody > tr > td,
6860
+ .bc-table--size-xs > tfoot > tr > th,
6861
+ .bc-table--size-xs > tfoot > tr > td {
6634
6862
  padding: var(--spacing-xs);
6635
6863
  font-size: var(--font-size-sm);
6636
6864
  }
6637
6865
 
6638
- .bc-table--size-sm th,
6639
- .bc-table--size-sm td {
6866
+ .bc-table--size-sm > thead > tr > th,
6867
+ .bc-table--size-sm > thead > tr > td,
6868
+ .bc-table--size-sm > tbody > tr > th,
6869
+ .bc-table--size-sm > tbody > tr > td,
6870
+ .bc-table--size-sm > tfoot > tr > th,
6871
+ .bc-table--size-sm > tfoot > tr > td {
6640
6872
  padding: calc(var(--spacing-base) * 1.5);
6641
6873
  font-size: var(--font-size-sm);
6642
6874
  }
6643
6875
 
6644
- .bc-table--size-lg th,
6645
- .bc-table--size-lg td {
6876
+ .bc-table--size-lg > thead > tr > th,
6877
+ .bc-table--size-lg > thead > tr > td,
6878
+ .bc-table--size-lg > tbody > tr > th,
6879
+ .bc-table--size-lg > tbody > tr > td,
6880
+ .bc-table--size-lg > tfoot > tr > th,
6881
+ .bc-table--size-lg > tfoot > tr > td {
6646
6882
  padding: var(--spacing-lg);
6647
6883
  }
6648
6884
 
6649
- .bc-table--size-xl th,
6650
- .bc-table--size-xl td {
6885
+ .bc-table--size-xl > thead > tr > th,
6886
+ .bc-table--size-xl > thead > tr > td,
6887
+ .bc-table--size-xl > tbody > tr > th,
6888
+ .bc-table--size-xl > tbody > tr > td,
6889
+ .bc-table--size-xl > tfoot > tr > th,
6890
+ .bc-table--size-xl > tfoot > tr > td {
6651
6891
  padding: calc(var(--spacing-base) * 5);
6652
6892
  font-size: var(--font-size-lg);
6653
6893
  }
6654
6894
 
6655
6895
  /* Hoverable rows */
6656
- .bc-table--hoverable tbody tr {
6896
+ .bc-table--hoverable > tbody > tr {
6657
6897
  transition: background-color
6658
6898
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
6659
6899
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
6660
6900
  cursor: pointer;
6661
6901
  }
6662
6902
 
6663
- .bc-table--hoverable tbody tr:hover {
6903
+ .bc-table--hoverable > tbody > tr:hover {
6664
6904
  background-color: var(--table-hover-bg);
6665
6905
  }
6666
6906
 
@@ -6684,7 +6924,7 @@ span.bc-sidebar-link {
6684
6924
 
6685
6925
  /* Accessibility */
6686
6926
  @media (prefers-reduced-motion: reduce) {
6687
- .bc-table--hoverable tbody tr {
6927
+ .bc-table--hoverable > tbody > tr {
6688
6928
  transition: none;
6689
6929
  }
6690
6930
  }
@@ -7017,16 +7257,16 @@ span.bc-sidebar-link {
7017
7257
  }
7018
7258
  /* Corner rounding rules */
7019
7259
  .bc-tabs--variant-filled.bc-tabs--horizontal .bc-tab:first-child {
7020
- border-top-left-radius: var(--radius-control-sm, var(--radius-sm));
7260
+ border-top-start-radius: var(--radius-control-sm, var(--radius-sm));
7021
7261
  }
7022
7262
  .bc-tabs--variant-filled.bc-tabs--horizontal .bc-tab:last-child {
7023
- border-top-right-radius: var(--radius-control-sm, var(--radius-sm));
7263
+ border-top-end-radius: var(--radius-control-sm, var(--radius-sm));
7024
7264
  }
7025
7265
  .bc-tabs--variant-filled.bc-tabs--vertical .bc-tab:first-child {
7026
- border-top-left-radius: var(--radius-control-sm, var(--radius-sm));
7266
+ border-top-start-radius: var(--radius-control-sm, var(--radius-sm));
7027
7267
  }
7028
7268
  .bc-tabs--variant-filled.bc-tabs--vertical .bc-tab:last-child {
7029
- border-bottom-left-radius: var(--radius-control-sm, var(--radius-sm));
7269
+ border-bottom-start-radius: var(--radius-control-sm, var(--radius-sm));
7030
7270
  }
7031
7271
 
7032
7272
  /* Outline variant: tabs look like segmented buttons */
@@ -7291,14 +7531,14 @@ span.bc-sidebar-link {
7291
7531
 
7292
7532
  /* Toolbar group button blending */
7293
7533
  .bc-toolbar__group > :not(:last-child) {
7294
- border-top-right-radius: 0;
7295
- border-bottom-right-radius: 0;
7534
+ border-top-end-radius: 0;
7535
+ border-bottom-end-radius: 0;
7296
7536
  margin-left: -1px;
7297
7537
  }
7298
7538
 
7299
7539
  .bc-toolbar__group > :not(:first-child) {
7300
- border-top-left-radius: 0;
7301
- border-bottom-left-radius: 0;
7540
+ border-top-start-radius: 0;
7541
+ border-bottom-start-radius: 0;
7302
7542
  margin-left: -1px;
7303
7543
  }
7304
7544
 
@@ -7432,6 +7672,130 @@ span.bc-sidebar-link {
7432
7672
  flex-shrink: 0;
7433
7673
  }
7434
7674
 
7675
+ @layer components {
7676
+ .bc-notification {
7677
+ --notification-accent-color: var(--color-primary-500);
7678
+ --notification-radius: var(--radius-lg);
7679
+ --notification-bg: #fff;
7680
+ --notification-border-color: var(--border-divider-light);
7681
+ --notification-text-color: var(--text-normal-light);
7682
+ --notification-muted-color: var(--text-muted-light);
7683
+ --notification-accent-width: 6px;
7684
+
7685
+ display: flex;
7686
+ gap: var(--spacing-md);
7687
+ align-items: center;
7688
+ padding: var(--spacing-md);
7689
+ border-radius: var(--notification-radius);
7690
+ background-color: var(--notification-bg);
7691
+ color: var(--notification-text-color);
7692
+ border: 1px solid transparent;
7693
+ box-shadow: var(--shadow-lg);
7694
+ }
7695
+
7696
+ .bc-notification--bordered {
7697
+ border-color: var(--notification-border-color);
7698
+ }
7699
+
7700
+ .bc-notification__accent {
7701
+ margin: 0 var(--spacing-md) 0 0;
7702
+ min-width: var(--notification-accent-width);
7703
+ min-height: 100%;
7704
+ border-radius: var(--radius-pill, var(--radius-full));
7705
+ background-color: var(--notification-accent-color);
7706
+ align-self: stretch;
7707
+ }
7708
+
7709
+ .bc-notification__body {
7710
+ flex: 1;
7711
+ display: flex;
7712
+ flex-direction: column;
7713
+ gap: var(--spacing-xs);
7714
+ }
7715
+
7716
+ .bc-notification__title {
7717
+ font-size: var(--font-size-md);
7718
+ font-weight: var(--font-weight-semibold);
7719
+ line-height: var(--line-height-tight);
7720
+ margin: 0;
7721
+ }
7722
+
7723
+ .bc-notification__content {
7724
+ color: var(--notification-muted-color);
7725
+ line-height: var(--line-height-normal);
7726
+ }
7727
+
7728
+ .bc-notification__meta {
7729
+ flex-shrink: 0;
7730
+ display: inline-flex;
7731
+ align-items: center;
7732
+ gap: var(--spacing-xs);
7733
+ }
7734
+
7735
+ .bc-notification-viewport {
7736
+ position: fixed;
7737
+ display: flex;
7738
+ gap: var(--spacing-md);
7739
+ width: min(420px, calc(100vw - var(--spacing-2xl)));
7740
+ z-index: var(--z-index-notification, 90);
7741
+ pointer-events: none;
7742
+ }
7743
+
7744
+ .bc-notification-viewport > * {
7745
+ pointer-events: auto;
7746
+ }
7747
+
7748
+ .bc-notification-viewport--top-end {
7749
+ top: var(--spacing-xl);
7750
+ right: var(--spacing-xl);
7751
+ flex-direction: column;
7752
+ align-items: flex-end;
7753
+ }
7754
+
7755
+ .bc-notification-viewport--top-start {
7756
+ top: var(--spacing-xl);
7757
+ left: var(--spacing-xl);
7758
+ flex-direction: column;
7759
+ align-items: flex-start;
7760
+ }
7761
+
7762
+ .bc-notification-viewport--bottom-end {
7763
+ bottom: var(--spacing-xl);
7764
+ right: var(--spacing-xl);
7765
+ flex-direction: column-reverse;
7766
+ align-items: flex-end;
7767
+ }
7768
+
7769
+ .bc-notification-viewport--bottom-start {
7770
+ bottom: var(--spacing-xl);
7771
+ left: var(--spacing-xl);
7772
+ flex-direction: column-reverse;
7773
+ align-items: flex-start;
7774
+ }
7775
+
7776
+ .b-dark .bc-notification {
7777
+ --notification-bg: var(--bg-surface-dark);
7778
+ --notification-border-color: var(--border-border-dark);
7779
+ --notification-text-color: var(--text-normal-dark);
7780
+ --notification-muted-color: var(--text-muted-dark);
7781
+ box-shadow: var(--shadow-lg);
7782
+ }
7783
+
7784
+ @media (max-width: 640px) {
7785
+ .bc-notification-viewport {
7786
+ left: var(--spacing-md);
7787
+ right: var(--spacing-md);
7788
+ width: auto;
7789
+ }
7790
+ }
7791
+
7792
+ @media (prefers-reduced-motion: reduce) {
7793
+ .bc-notification {
7794
+ transition: none;
7795
+ }
7796
+ }
7797
+ }
7798
+
7435
7799
  /* Minimal optional controls for VideoPlayer wrapper */
7436
7800
 
7437
7801
  .bc-video-player {
@@ -7495,7 +7859,7 @@ span.bc-sidebar-link {
7495
7859
  height: max-content;
7496
7860
  }
7497
7861
 
7498
- /* Top-right corner (default) */
7862
+ /* top-end corner (default) */
7499
7863
  .bc-ribbon {
7500
7864
  top: 0;
7501
7865
  left: 100%;
@@ -7503,24 +7867,24 @@ span.bc-sidebar-link {
7503
7867
  translate(var(--ribbon-inset, 0px), var(--ribbon-offset, 0px));
7504
7868
  }
7505
7869
 
7506
- /* Top-left corner */
7507
- .bc-ribbon[style*='--ribbon-corner: top-left'] {
7870
+ /* top-start corner */
7871
+ .bc-ribbon[style*='--ribbon-corner: top-start'] {
7508
7872
  top: 0;
7509
7873
  left: 0;
7510
7874
  transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7511
7875
  translate(calc(var(--ribbon-inset, 0px) * -1), var(--ribbon-offset, 0px));
7512
7876
  }
7513
7877
 
7514
- /* Bottom-right corner */
7515
- .bc-ribbon[style*='--ribbon-corner: bottom-right'] {
7878
+ /* bottom-end corner */
7879
+ .bc-ribbon[style*='--ribbon-corner: bottom-end'] {
7516
7880
  top: 100%;
7517
7881
  left: 100%;
7518
7882
  transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7519
7883
  translate(var(--ribbon-inset, 0px), calc(var(--ribbon-offset, 0px) * -1));
7520
7884
  }
7521
7885
 
7522
- /* Bottom-left corner */
7523
- .bc-ribbon[style*='--ribbon-corner: bottom-left'] {
7886
+ /* bottom-start corner */
7887
+ .bc-ribbon[style*='--ribbon-corner: bottom-start'] {
7524
7888
  top: 100%;
7525
7889
  left: 0;
7526
7890
  transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))