@tempots/beatui 0.34.0 → 0.36.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 (40) hide show
  1. package/dist/{2019-DJeW9RI7.cjs → 2019-B1QESOSc.cjs} +1 -1
  2. package/dist/{2019-Dmseo7Cq.js → 2019-RaU4YQ5c.js} +2 -2
  3. package/dist/{2020-I1mnGGtD.js → 2020-BAomdSE8.js} +2 -2
  4. package/dist/{2020-BySxLQc5.cjs → 2020-BI-SxTSK.cjs} +1 -1
  5. package/dist/auth/index.cjs.js +1 -1
  6. package/dist/auth/index.es.js +2 -2
  7. package/dist/beatui.css +428 -13
  8. package/dist/beatui.tailwind.css +428 -13
  9. package/dist/{index-CBc0q0zl.cjs → index-BKjL6RO2.cjs} +2 -2
  10. package/dist/{index-D-CBfcZj.js → index-BS0NyhvV.js} +192 -189
  11. package/dist/{index-Ct2_ulan.cjs → index-BzApzJXc.cjs} +1 -1
  12. package/dist/{index-BXjEbt8G.js → index-C2rz3G1d.js} +1886 -1874
  13. package/dist/{index-BBIdmCak.cjs → index-CCu0qfNP.cjs} +1 -1
  14. package/dist/{index-HIb25Ti2.cjs → index-CZQHL_pf.cjs} +21 -21
  15. package/dist/{index-xdCnysNz.js → index-C_nSdynJ.js} +1 -1
  16. package/dist/{index-DbQzJti7.js → index-Dc9UNC8n.js} +1 -1
  17. package/dist/index.cjs.js +4 -4
  18. package/dist/index.es.js +1592 -1435
  19. package/dist/json-schema/index.cjs.js +1 -1
  20. package/dist/json-schema/index.es.js +1 -1
  21. package/dist/{modal-Dm61yY5i.js → modal-CxG-RO9B.js} +1 -1
  22. package/dist/{modal-AFhB4rIq.cjs → modal-OMSAbIg1.cjs} +1 -1
  23. package/dist/notice-0Xhzr7qR.cjs +2 -0
  24. package/dist/{notice-Cd9ElXwb.js → notice-C7o5d8Jw.js} +390 -375
  25. package/dist/prosemirror/index.cjs.js +1 -1
  26. package/dist/prosemirror/index.es.js +1 -1
  27. package/dist/types/components/content/native-pdf-preview.d.ts +12 -2
  28. package/dist/types/components/data/index.d.ts +1 -0
  29. package/dist/types/components/data/table.d.ts +27 -0
  30. package/dist/types/components/form/input/input-wrapper.d.ts +4 -2
  31. package/dist/types/components/form/input/switch.d.ts +4 -3
  32. package/dist/types/components/layout/action-card.d.ts +19 -0
  33. package/dist/types/components/layout/index.d.ts +1 -0
  34. package/dist/types/components/overlay/ribbon.d.ts +5 -2
  35. package/dist/types/components/prosemirror/prosemirror-markdown-input.d.ts +2 -1
  36. package/dist/utils-BcIRhDH0.cjs +1 -0
  37. package/dist/{utils-g5YCiiS6.js → utils-C7619Rp3.js} +392 -398
  38. package/package.json +1 -1
  39. package/dist/notice-len8sDjL.cjs +0 -2
  40. package/dist/utils-BetBqtiV.cjs +0 -1
package/dist/beatui.css CHANGED
@@ -1067,6 +1067,180 @@ a:focus-visible {
1067
1067
 
1068
1068
  }
1069
1069
  @layer components {
1070
+ @layer components {
1071
+ .bc-action-card {
1072
+ /* Default CSS variables - can be overridden by inline styles or hover states */
1073
+ --action-card-bg: var(--bg-background-light);
1074
+ --action-card-border: var(--border-divider-light);
1075
+ --action-card-title-color: var(--text-normal-light);
1076
+ --action-card-description-color: var(--text-muted-light);
1077
+
1078
+ /* Layout */
1079
+ display: flex;
1080
+ align-items: flex-start;
1081
+ gap: var(--spacing-md);
1082
+
1083
+ /* Spacing */
1084
+ padding: var(--spacing-md);
1085
+
1086
+ /* Border */
1087
+ border: 2px solid var(--action-card-border);
1088
+ border-radius: var(--radius-lg);
1089
+
1090
+ /* Background */
1091
+ background-color: var(--action-card-bg);
1092
+
1093
+ /* Transitions */
1094
+ transition:
1095
+ border-color 0.2s ease,
1096
+ background-color 0.2s ease,
1097
+ box-shadow 0.2s ease;
1098
+ }
1099
+
1100
+ /* Icon container */
1101
+ .bc-action-card__icon {
1102
+ flex-shrink: 0;
1103
+ display: flex;
1104
+ align-items: center;
1105
+ justify-content: center;
1106
+ }
1107
+
1108
+ /* Content container */
1109
+ .bc-action-card__content {
1110
+ flex: 1;
1111
+ min-width: 0; /* Allow text truncation */
1112
+ display: flex;
1113
+ flex-direction: column;
1114
+ gap: var(--spacing-xs);
1115
+ }
1116
+
1117
+ /* Title */
1118
+ .bc-action-card__title {
1119
+ font-size: var(--font-size-lg);
1120
+ font-weight: var(--font-weight-semibold);
1121
+ color: var(--action-card-title-color);
1122
+ line-height: var(--line-height-tight);
1123
+ }
1124
+
1125
+ /* Description */
1126
+ .bc-action-card__description {
1127
+ font-size: var(--font-size-md);
1128
+ font-weight: var(--font-weight-normal);
1129
+ color: var(--action-card-description-color);
1130
+ line-height: var(--line-height-normal);
1131
+ }
1132
+
1133
+ /* Clickable state */
1134
+ .bc-action-card--clickable {
1135
+ cursor: pointer;
1136
+ user-select: none;
1137
+ }
1138
+
1139
+ .bc-action-card--clickable:hover {
1140
+ --action-card-bg: var(--bg-surface-light);
1141
+ box-shadow: var(--shadow-md);
1142
+ }
1143
+
1144
+ .bc-action-card--clickable:active {
1145
+ transform: translateY(1px);
1146
+ }
1147
+
1148
+ /* Active state */
1149
+ .bc-action-card--active {
1150
+ --action-card-border: var(--color-primary-500);
1151
+ box-shadow: var(--shadow-sm);
1152
+ }
1153
+
1154
+ .bc-action-card--active:hover {
1155
+ --action-card-border: var(--color-primary-600);
1156
+ }
1157
+
1158
+ .b-dark .bc-action-card--active {
1159
+ --action-card-border: var(--color-primary-400);
1160
+ }
1161
+
1162
+ .b-dark .bc-action-card--active:hover {
1163
+ --action-card-border: var(--color-primary-300);
1164
+ }
1165
+
1166
+ /* Disabled state */
1167
+ .bc-action-card--disabled {
1168
+ opacity: 0.5;
1169
+ cursor: not-allowed;
1170
+ pointer-events: none;
1171
+ }
1172
+
1173
+ /* Size variants */
1174
+ .bc-action-card--xs {
1175
+ padding: var(--spacing-xs);
1176
+ gap: var(--spacing-xs);
1177
+ }
1178
+
1179
+ .bc-action-card--xs .bc-action-card__title {
1180
+ font-size: var(--font-size-sm);
1181
+ }
1182
+
1183
+ .bc-action-card--xs .bc-action-card__description {
1184
+ font-size: var(--font-size-xs);
1185
+ }
1186
+
1187
+ .bc-action-card--sm {
1188
+ padding: var(--spacing-sm);
1189
+ gap: var(--spacing-sm);
1190
+ }
1191
+
1192
+ .bc-action-card--sm .bc-action-card__title {
1193
+ font-size: var(--font-size-md);
1194
+ }
1195
+
1196
+ .bc-action-card--sm .bc-action-card__description {
1197
+ font-size: var(--font-size-sm);
1198
+ }
1199
+
1200
+ .bc-action-card--lg {
1201
+ padding: var(--spacing-xl);
1202
+ gap: var(--spacing-lg);
1203
+ }
1204
+
1205
+ .bc-action-card--lg .bc-action-card__title {
1206
+ font-size: var(--font-size-xl);
1207
+ }
1208
+
1209
+ .bc-action-card--lg .bc-action-card__description {
1210
+ font-size: var(--font-size-lg);
1211
+ }
1212
+
1213
+ .bc-action-card--xl {
1214
+ padding: var(--spacing-2xl);
1215
+ gap: var(--spacing-xl);
1216
+ }
1217
+
1218
+ .bc-action-card--xl .bc-action-card__title {
1219
+ font-size: var(--font-size-2xl);
1220
+ }
1221
+
1222
+ .bc-action-card--xl .bc-action-card__description {
1223
+ font-size: var(--font-size-xl);
1224
+ }
1225
+
1226
+ /* Focus styles for accessibility */
1227
+ .bc-action-card--clickable:focus-visible {
1228
+ outline: 2px solid var(--color-primary-500);
1229
+ outline-offset: 2px;
1230
+ }
1231
+
1232
+ /* Reduced motion */
1233
+ @media (prefers-reduced-motion: reduce) {
1234
+ .bc-action-card {
1235
+ transition: none;
1236
+ }
1237
+
1238
+ .bc-action-card--clickable:active {
1239
+ transform: none;
1240
+ }
1241
+ }
1242
+ }
1243
+
1070
1244
  /* Auth Container Component */
1071
1245
  .bc-auth-container--styled {
1072
1246
  display: flex;
@@ -3555,13 +3729,26 @@ a:focus-visible {
3555
3729
  width: 100%;
3556
3730
  }
3557
3731
 
3558
- /* Horizontal layout variant */
3559
- .bc-input-wrapper--horizontal {
3732
+ /* Horizontal layout variants */
3733
+ .bc-input-wrapper--horizontal,
3734
+ .bc-input-wrapper--horizontal-label-right,
3735
+ .bc-input-wrapper--horizontal-fixed {
3560
3736
  flex-direction: row;
3561
3737
  align-items: center;
3562
3738
  gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
3563
3739
  }
3564
3740
 
3741
+ /* Horizontal with label on right */
3742
+ .bc-input-wrapper--horizontal-label-right {
3743
+ flex-direction: row-reverse;
3744
+ }
3745
+
3746
+ /* Horizontal with fixed-width label */
3747
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__header {
3748
+ width: var(--input-wrapper-label-width, 12rem);
3749
+ flex-shrink: 0;
3750
+ }
3751
+
3565
3752
  /* Label header container */
3566
3753
  .bc-input-wrapper__header {
3567
3754
  display: flex;
@@ -3613,23 +3800,32 @@ a:focus-visible {
3613
3800
  vertical-align: top;
3614
3801
  }
3615
3802
 
3616
- /* Horizontal layout adjustments */
3617
- .bc-input-wrapper--horizontal .bc-input-wrapper__header {
3803
+ /* Horizontal layout adjustments (all variants) */
3804
+ .bc-input-wrapper--horizontal .bc-input-wrapper__header,
3805
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
3618
3806
  flex-shrink: 0;
3619
3807
  min-width: 0;
3620
3808
  /* Allow text to wrap if needed */
3621
3809
  }
3622
3810
 
3623
- .bc-input-wrapper--horizontal .bc-input-wrapper__content {
3811
+ .bc-input-wrapper--horizontal .bc-input-wrapper__content,
3812
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content,
3813
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__content {
3624
3814
  flex: 1;
3625
3815
  min-width: 0; /* Prevent overflow issues */
3626
3816
  }
3627
3817
 
3628
3818
  /* Error messages in horizontal mode should align with content */
3629
- .bc-input-wrapper--horizontal .bc-input-wrapper__error {
3819
+ .bc-input-wrapper--horizontal .bc-input-wrapper__error,
3820
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__error {
3630
3821
  margin-left: calc(var(--spacing-base) * 4); /* Align with content */
3631
3822
  }
3632
3823
 
3824
+ /* Error messages in horizontal-label-right mode should align with content on the right */
3825
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error {
3826
+ margin-right: calc(var(--spacing-base) * 4); /* Align with content */
3827
+ }
3828
+
3633
3829
  /* Description text */
3634
3830
  .bc-input-wrapper__description {
3635
3831
  font-size: var(--font-size-sm);
@@ -6508,6 +6704,195 @@ span.bc-sidebar-link {
6508
6704
  box-shadow: var(--shadow-switch-thumb-dark, var(--shadow-md));
6509
6705
  }
6510
6706
 
6707
+ /* Table Container */
6708
+ .bc-table-container {
6709
+ --table-bg: #fff;
6710
+ --table-text: var(--text-normal-light);
6711
+ --table-border: var(--border-border-light);
6712
+ --table-header-bg: var(--bg-surface-light);
6713
+ --table-header-text: var(--text-normal-light);
6714
+ --table-stripe-bg: var(--bg-background-light);
6715
+ --table-hover-bg: var(--interactive-hover-light);
6716
+ --table-border-radius: var(--radius-surface, var(--radius-lg));
6717
+
6718
+ display: inline-block;
6719
+ max-width: 100%;
6720
+ overflow: hidden;
6721
+ border-radius: var(--table-border-radius);
6722
+ }
6723
+
6724
+ /* Container for sticky header - needs to be scrollable */
6725
+ .bc-table-container--sticky {
6726
+ max-height: 100%;
6727
+ overflow: auto;
6728
+ }
6729
+
6730
+ /* Full width container */
6731
+ .bc-table-container--full-width {
6732
+ display: block;
6733
+ width: 100%;
6734
+ }
6735
+
6736
+ /* Table Component */
6737
+ .bc-table {
6738
+ width: 100%;
6739
+ border-collapse: collapse;
6740
+ background-color: var(--table-bg);
6741
+ color: var(--table-text);
6742
+ font-family: var(
6743
+ --default-ui-font-family,
6744
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
6745
+ );
6746
+ font-size: var(--font-size-base);
6747
+ line-height: var(--line-height-normal);
6748
+ border: none;
6749
+ }
6750
+
6751
+ /* Table header */
6752
+ .bc-table thead,
6753
+ .bc-table tfoot {
6754
+ background-color: var(--table-header-bg);
6755
+ color: var(--table-header-text);
6756
+ font-weight: var(--font-weight-semibold);
6757
+ }
6758
+
6759
+ /* Sticky header */
6760
+ .bc-table--sticky-header thead {
6761
+ position: sticky;
6762
+ top: 0;
6763
+ z-index: var(--z-index-sticky, 10);
6764
+ box-shadow: var(--shadow-sm);
6765
+ }
6766
+
6767
+ /* Sticky footer */
6768
+ .bc-table--sticky-header tfoot {
6769
+ position: sticky;
6770
+ bottom: 0;
6771
+ z-index: var(--z-index-sticky, 10);
6772
+ box-shadow: var(--shadow-sm);
6773
+ }
6774
+
6775
+ /* Table cells */
6776
+ .bc-table th,
6777
+ .bc-table td {
6778
+ text-align: left;
6779
+ vertical-align: middle;
6780
+ padding: var(--spacing-md);
6781
+ border: none;
6782
+ }
6783
+
6784
+ .bc-table th {
6785
+ font-weight: var(--font-weight-semibold);
6786
+ white-space: nowrap;
6787
+ }
6788
+
6789
+ /* With table border */
6790
+ .bc-table-container--with-table-border {
6791
+ border: 1px solid var(--table-border);
6792
+ }
6793
+
6794
+ /* With row borders */
6795
+ .bc-table--with-row-borders th,
6796
+ .bc-table--with-row-borders td {
6797
+ border-bottom: 1px solid var(--table-border);
6798
+ }
6799
+
6800
+ /* With column borders */
6801
+ .bc-table--with-column-borders th,
6802
+ .bc-table--with-column-borders td {
6803
+ border-right: 1px solid var(--table-border);
6804
+ }
6805
+
6806
+ .bc-table--with-column-borders th:last-child,
6807
+ .bc-table--with-column-borders td:last-child {
6808
+ border-right: none;
6809
+ }
6810
+
6811
+ /* With striped rows */
6812
+ .bc-table--with-striped-rows tbody tr:nth-child(even) {
6813
+ background-color: var(--table-stripe-bg);
6814
+ }
6815
+
6816
+ /* Hoverable striped rows - darker stripe on hover */
6817
+ .bc-table--hoverable.bc-table--with-striped-rows
6818
+ tbody
6819
+ tr:nth-child(even):hover {
6820
+ background-color: var(--table-hover-bg);
6821
+ filter: brightness(0.95);
6822
+ }
6823
+
6824
+ /* Size variants */
6825
+ .bc-table--size-xs th,
6826
+ .bc-table--size-xs td {
6827
+ padding: var(--spacing-xs);
6828
+ font-size: var(--font-size-sm);
6829
+ }
6830
+
6831
+ .bc-table--size-sm th,
6832
+ .bc-table--size-sm td {
6833
+ padding: calc(var(--spacing-base) * 1.5);
6834
+ font-size: var(--font-size-sm);
6835
+ }
6836
+
6837
+ .bc-table--size-lg th,
6838
+ .bc-table--size-lg td {
6839
+ padding: var(--spacing-lg);
6840
+ }
6841
+
6842
+ .bc-table--size-xl th,
6843
+ .bc-table--size-xl td {
6844
+ padding: calc(var(--spacing-base) * 5);
6845
+ font-size: var(--font-size-lg);
6846
+ }
6847
+
6848
+ /* Hoverable rows */
6849
+ .bc-table--hoverable tbody tr {
6850
+ transition: background-color
6851
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
6852
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
6853
+ cursor: pointer;
6854
+ }
6855
+
6856
+ .bc-table--hoverable tbody tr:hover {
6857
+ background-color: var(--table-hover-bg);
6858
+ }
6859
+
6860
+ /* Footer */
6861
+ .bc-table__footer {
6862
+ background-color: var(--table-header-bg);
6863
+ font-weight: var(--font-weight-semibold);
6864
+ border-top: 2px solid var(--table-border);
6865
+ }
6866
+
6867
+ /* Dark mode styles */
6868
+ .b-dark .bc-table-container {
6869
+ --table-bg: var(--bg-background-dark);
6870
+ --table-text: var(--text-normal-dark);
6871
+ --table-border: var(--border-border-dark);
6872
+ --table-header-bg: var(--bg-surface-dark);
6873
+ --table-header-text: var(--text-normal-dark);
6874
+ --table-stripe-bg: var(--bg-surface-dark);
6875
+ --table-hover-bg: var(--interactive-hover-dark);
6876
+ }
6877
+
6878
+ /* Accessibility */
6879
+ @media (prefers-reduced-motion: reduce) {
6880
+ .bc-table--hoverable tbody tr {
6881
+ transition: none;
6882
+ }
6883
+ }
6884
+
6885
+ /* Responsive behavior - allow horizontal scroll on small screens */
6886
+ @media (width < 48rem) {
6887
+ .bc-table-container {
6888
+ overflow-x: auto;
6889
+ }
6890
+
6891
+ .bc-table {
6892
+ white-space: nowrap;
6893
+ }
6894
+ }
6895
+
6511
6896
  /* Tabs Component */
6512
6897
  .bc-tabs {
6513
6898
  display: flex;
@@ -7275,7 +7660,7 @@ span.bc-sidebar-link {
7275
7660
  }
7276
7661
 
7277
7662
 
7278
- /* Ribbon component - diagonal label on the top-right corner */
7663
+ /* Ribbon component - diagonal label at specified corner */
7279
7664
 
7280
7665
  .bc-ribbon {
7281
7666
  position: absolute;
@@ -7285,14 +7670,9 @@ span.bc-sidebar-link {
7285
7670
  height: 0;
7286
7671
  }
7287
7672
 
7288
- /* The diagonal band */
7673
+ /* The diagonal band - base styles */
7289
7674
  .bc-ribbon {
7290
7675
  position: absolute;
7291
- top: 0;
7292
- left: 100%;
7293
- /* Keep the band centerline on the corner regardless of width */
7294
- transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7295
- translate(var(--ribbon-inset, 0px), var(--ribbon-offset, 0px));
7296
7676
  display: flex;
7297
7677
  justify-content: center;
7298
7678
  background: var(--ribbon-bg);
@@ -7308,6 +7688,41 @@ span.bc-sidebar-link {
7308
7688
  height: max-content;
7309
7689
  }
7310
7690
 
7691
+ /* Top-right corner (default) */
7692
+ .bc-ribbon {
7693
+ top: 0;
7694
+ left: 100%;
7695
+ transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7696
+ translate(var(--ribbon-inset, 0px), var(--ribbon-offset, 0px));
7697
+ }
7698
+
7699
+ /* Top-left corner */
7700
+ .bc-ribbon[style*='--ribbon-corner: top-left'] {
7701
+ top: 0;
7702
+ left: 0;
7703
+ transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7704
+ translate(calc(var(--ribbon-inset, 0px) * -1), var(--ribbon-offset, 0px));
7705
+ }
7706
+
7707
+ /* Bottom-right corner */
7708
+ .bc-ribbon[style*='--ribbon-corner: bottom-right'] {
7709
+ top: 100%;
7710
+ left: 100%;
7711
+ transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7712
+ translate(var(--ribbon-inset, 0px), calc(var(--ribbon-offset, 0px) * -1));
7713
+ }
7714
+
7715
+ /* Bottom-left corner */
7716
+ .bc-ribbon[style*='--ribbon-corner: bottom-left'] {
7717
+ top: 100%;
7718
+ left: 0;
7719
+ transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7720
+ translate(
7721
+ calc(var(--ribbon-inset, 0px) * -1),
7722
+ calc(var(--ribbon-offset, 0px) * -1)
7723
+ );
7724
+ }
7725
+
7311
7726
  /* Dark mode overrides */
7312
7727
  .b-dark .bc-ribbon {
7313
7728
  background: var(--ribbon-bg-dark);