@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
@@ -742,6 +742,180 @@ a:focus-visible {
742
742
 
743
743
  }
744
744
  @layer components {
745
+ @layer components {
746
+ .bc-action-card {
747
+ /* Default CSS variables - can be overridden by inline styles or hover states */
748
+ --action-card-bg: var(--bg-background-light);
749
+ --action-card-border: var(--border-divider-light);
750
+ --action-card-title-color: var(--text-normal-light);
751
+ --action-card-description-color: var(--text-muted-light);
752
+
753
+ /* Layout */
754
+ display: flex;
755
+ align-items: flex-start;
756
+ gap: var(--spacing-md);
757
+
758
+ /* Spacing */
759
+ padding: var(--spacing-md);
760
+
761
+ /* Border */
762
+ border: 2px solid var(--action-card-border);
763
+ border-radius: var(--radius-lg);
764
+
765
+ /* Background */
766
+ background-color: var(--action-card-bg);
767
+
768
+ /* Transitions */
769
+ transition:
770
+ border-color 0.2s ease,
771
+ background-color 0.2s ease,
772
+ box-shadow 0.2s ease;
773
+ }
774
+
775
+ /* Icon container */
776
+ .bc-action-card__icon {
777
+ flex-shrink: 0;
778
+ display: flex;
779
+ align-items: center;
780
+ justify-content: center;
781
+ }
782
+
783
+ /* Content container */
784
+ .bc-action-card__content {
785
+ flex: 1;
786
+ min-width: 0; /* Allow text truncation */
787
+ display: flex;
788
+ flex-direction: column;
789
+ gap: var(--spacing-xs);
790
+ }
791
+
792
+ /* Title */
793
+ .bc-action-card__title {
794
+ font-size: var(--font-size-lg);
795
+ font-weight: var(--font-weight-semibold);
796
+ color: var(--action-card-title-color);
797
+ line-height: var(--line-height-tight);
798
+ }
799
+
800
+ /* Description */
801
+ .bc-action-card__description {
802
+ font-size: var(--font-size-md);
803
+ font-weight: var(--font-weight-normal);
804
+ color: var(--action-card-description-color);
805
+ line-height: var(--line-height-normal);
806
+ }
807
+
808
+ /* Clickable state */
809
+ .bc-action-card--clickable {
810
+ cursor: pointer;
811
+ user-select: none;
812
+ }
813
+
814
+ .bc-action-card--clickable:hover {
815
+ --action-card-bg: var(--bg-surface-light);
816
+ box-shadow: var(--shadow-md);
817
+ }
818
+
819
+ .bc-action-card--clickable:active {
820
+ transform: translateY(1px);
821
+ }
822
+
823
+ /* Active state */
824
+ .bc-action-card--active {
825
+ --action-card-border: var(--color-primary-500);
826
+ box-shadow: var(--shadow-sm);
827
+ }
828
+
829
+ .bc-action-card--active:hover {
830
+ --action-card-border: var(--color-primary-600);
831
+ }
832
+
833
+ .b-dark .bc-action-card--active {
834
+ --action-card-border: var(--color-primary-400);
835
+ }
836
+
837
+ .b-dark .bc-action-card--active:hover {
838
+ --action-card-border: var(--color-primary-300);
839
+ }
840
+
841
+ /* Disabled state */
842
+ .bc-action-card--disabled {
843
+ opacity: 0.5;
844
+ cursor: not-allowed;
845
+ pointer-events: none;
846
+ }
847
+
848
+ /* Size variants */
849
+ .bc-action-card--xs {
850
+ padding: var(--spacing-xs);
851
+ gap: var(--spacing-xs);
852
+ }
853
+
854
+ .bc-action-card--xs .bc-action-card__title {
855
+ font-size: var(--font-size-sm);
856
+ }
857
+
858
+ .bc-action-card--xs .bc-action-card__description {
859
+ font-size: var(--font-size-xs);
860
+ }
861
+
862
+ .bc-action-card--sm {
863
+ padding: var(--spacing-sm);
864
+ gap: var(--spacing-sm);
865
+ }
866
+
867
+ .bc-action-card--sm .bc-action-card__title {
868
+ font-size: var(--font-size-md);
869
+ }
870
+
871
+ .bc-action-card--sm .bc-action-card__description {
872
+ font-size: var(--font-size-sm);
873
+ }
874
+
875
+ .bc-action-card--lg {
876
+ padding: var(--spacing-xl);
877
+ gap: var(--spacing-lg);
878
+ }
879
+
880
+ .bc-action-card--lg .bc-action-card__title {
881
+ font-size: var(--font-size-xl);
882
+ }
883
+
884
+ .bc-action-card--lg .bc-action-card__description {
885
+ font-size: var(--font-size-lg);
886
+ }
887
+
888
+ .bc-action-card--xl {
889
+ padding: var(--spacing-2xl);
890
+ gap: var(--spacing-xl);
891
+ }
892
+
893
+ .bc-action-card--xl .bc-action-card__title {
894
+ font-size: var(--font-size-2xl);
895
+ }
896
+
897
+ .bc-action-card--xl .bc-action-card__description {
898
+ font-size: var(--font-size-xl);
899
+ }
900
+
901
+ /* Focus styles for accessibility */
902
+ .bc-action-card--clickable:focus-visible {
903
+ outline: 2px solid var(--color-primary-500);
904
+ outline-offset: 2px;
905
+ }
906
+
907
+ /* Reduced motion */
908
+ @media (prefers-reduced-motion: reduce) {
909
+ .bc-action-card {
910
+ transition: none;
911
+ }
912
+
913
+ .bc-action-card--clickable:active {
914
+ transform: none;
915
+ }
916
+ }
917
+ }
918
+
745
919
  /* Auth Container Component */
746
920
  .bc-auth-container--styled {
747
921
  display: flex;
@@ -3230,13 +3404,26 @@ a:focus-visible {
3230
3404
  width: 100%;
3231
3405
  }
3232
3406
 
3233
- /* Horizontal layout variant */
3234
- .bc-input-wrapper--horizontal {
3407
+ /* Horizontal layout variants */
3408
+ .bc-input-wrapper--horizontal,
3409
+ .bc-input-wrapper--horizontal-label-right,
3410
+ .bc-input-wrapper--horizontal-fixed {
3235
3411
  flex-direction: row;
3236
3412
  align-items: center;
3237
3413
  gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
3238
3414
  }
3239
3415
 
3416
+ /* Horizontal with label on right */
3417
+ .bc-input-wrapper--horizontal-label-right {
3418
+ flex-direction: row-reverse;
3419
+ }
3420
+
3421
+ /* Horizontal with fixed-width label */
3422
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__header {
3423
+ width: var(--input-wrapper-label-width, 12rem);
3424
+ flex-shrink: 0;
3425
+ }
3426
+
3240
3427
  /* Label header container */
3241
3428
  .bc-input-wrapper__header {
3242
3429
  display: flex;
@@ -3288,23 +3475,32 @@ a:focus-visible {
3288
3475
  vertical-align: top;
3289
3476
  }
3290
3477
 
3291
- /* Horizontal layout adjustments */
3292
- .bc-input-wrapper--horizontal .bc-input-wrapper__header {
3478
+ /* Horizontal layout adjustments (all variants) */
3479
+ .bc-input-wrapper--horizontal .bc-input-wrapper__header,
3480
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
3293
3481
  flex-shrink: 0;
3294
3482
  min-width: 0;
3295
3483
  /* Allow text to wrap if needed */
3296
3484
  }
3297
3485
 
3298
- .bc-input-wrapper--horizontal .bc-input-wrapper__content {
3486
+ .bc-input-wrapper--horizontal .bc-input-wrapper__content,
3487
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content,
3488
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__content {
3299
3489
  flex: 1;
3300
3490
  min-width: 0; /* Prevent overflow issues */
3301
3491
  }
3302
3492
 
3303
3493
  /* Error messages in horizontal mode should align with content */
3304
- .bc-input-wrapper--horizontal .bc-input-wrapper__error {
3494
+ .bc-input-wrapper--horizontal .bc-input-wrapper__error,
3495
+ .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__error {
3305
3496
  margin-left: calc(var(--spacing-base) * 4); /* Align with content */
3306
3497
  }
3307
3498
 
3499
+ /* Error messages in horizontal-label-right mode should align with content on the right */
3500
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error {
3501
+ margin-right: calc(var(--spacing-base) * 4); /* Align with content */
3502
+ }
3503
+
3308
3504
  /* Description text */
3309
3505
  .bc-input-wrapper__description {
3310
3506
  font-size: var(--font-size-sm);
@@ -6183,6 +6379,195 @@ span.bc-sidebar-link {
6183
6379
  box-shadow: var(--shadow-switch-thumb-dark, var(--shadow-md));
6184
6380
  }
6185
6381
 
6382
+ /* Table Container */
6383
+ .bc-table-container {
6384
+ --table-bg: #fff;
6385
+ --table-text: var(--text-normal-light);
6386
+ --table-border: var(--border-border-light);
6387
+ --table-header-bg: var(--bg-surface-light);
6388
+ --table-header-text: var(--text-normal-light);
6389
+ --table-stripe-bg: var(--bg-background-light);
6390
+ --table-hover-bg: var(--interactive-hover-light);
6391
+ --table-border-radius: var(--radius-surface, var(--radius-lg));
6392
+
6393
+ display: inline-block;
6394
+ max-width: 100%;
6395
+ overflow: hidden;
6396
+ border-radius: var(--table-border-radius);
6397
+ }
6398
+
6399
+ /* Container for sticky header - needs to be scrollable */
6400
+ .bc-table-container--sticky {
6401
+ max-height: 100%;
6402
+ overflow: auto;
6403
+ }
6404
+
6405
+ /* Full width container */
6406
+ .bc-table-container--full-width {
6407
+ display: block;
6408
+ width: 100%;
6409
+ }
6410
+
6411
+ /* Table Component */
6412
+ .bc-table {
6413
+ width: 100%;
6414
+ border-collapse: collapse;
6415
+ background-color: var(--table-bg);
6416
+ color: var(--table-text);
6417
+ font-family: var(
6418
+ --default-ui-font-family,
6419
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
6420
+ );
6421
+ font-size: var(--font-size-base);
6422
+ line-height: var(--line-height-normal);
6423
+ border: none;
6424
+ }
6425
+
6426
+ /* Table header */
6427
+ .bc-table thead,
6428
+ .bc-table tfoot {
6429
+ background-color: var(--table-header-bg);
6430
+ color: var(--table-header-text);
6431
+ font-weight: var(--font-weight-semibold);
6432
+ }
6433
+
6434
+ /* Sticky header */
6435
+ .bc-table--sticky-header thead {
6436
+ position: sticky;
6437
+ top: 0;
6438
+ z-index: var(--z-index-sticky, 10);
6439
+ box-shadow: var(--shadow-sm);
6440
+ }
6441
+
6442
+ /* Sticky footer */
6443
+ .bc-table--sticky-header tfoot {
6444
+ position: sticky;
6445
+ bottom: 0;
6446
+ z-index: var(--z-index-sticky, 10);
6447
+ box-shadow: var(--shadow-sm);
6448
+ }
6449
+
6450
+ /* Table cells */
6451
+ .bc-table th,
6452
+ .bc-table td {
6453
+ text-align: left;
6454
+ vertical-align: middle;
6455
+ padding: var(--spacing-md);
6456
+ border: none;
6457
+ }
6458
+
6459
+ .bc-table th {
6460
+ font-weight: var(--font-weight-semibold);
6461
+ white-space: nowrap;
6462
+ }
6463
+
6464
+ /* With table border */
6465
+ .bc-table-container--with-table-border {
6466
+ border: 1px solid var(--table-border);
6467
+ }
6468
+
6469
+ /* With row borders */
6470
+ .bc-table--with-row-borders th,
6471
+ .bc-table--with-row-borders td {
6472
+ border-bottom: 1px solid var(--table-border);
6473
+ }
6474
+
6475
+ /* With column borders */
6476
+ .bc-table--with-column-borders th,
6477
+ .bc-table--with-column-borders td {
6478
+ border-right: 1px solid var(--table-border);
6479
+ }
6480
+
6481
+ .bc-table--with-column-borders th:last-child,
6482
+ .bc-table--with-column-borders td:last-child {
6483
+ border-right: none;
6484
+ }
6485
+
6486
+ /* With striped rows */
6487
+ .bc-table--with-striped-rows tbody tr:nth-child(even) {
6488
+ background-color: var(--table-stripe-bg);
6489
+ }
6490
+
6491
+ /* Hoverable striped rows - darker stripe on hover */
6492
+ .bc-table--hoverable.bc-table--with-striped-rows
6493
+ tbody
6494
+ tr:nth-child(even):hover {
6495
+ background-color: var(--table-hover-bg);
6496
+ filter: brightness(0.95);
6497
+ }
6498
+
6499
+ /* Size variants */
6500
+ .bc-table--size-xs th,
6501
+ .bc-table--size-xs td {
6502
+ padding: var(--spacing-xs);
6503
+ font-size: var(--font-size-sm);
6504
+ }
6505
+
6506
+ .bc-table--size-sm th,
6507
+ .bc-table--size-sm td {
6508
+ padding: calc(var(--spacing-base) * 1.5);
6509
+ font-size: var(--font-size-sm);
6510
+ }
6511
+
6512
+ .bc-table--size-lg th,
6513
+ .bc-table--size-lg td {
6514
+ padding: var(--spacing-lg);
6515
+ }
6516
+
6517
+ .bc-table--size-xl th,
6518
+ .bc-table--size-xl td {
6519
+ padding: calc(var(--spacing-base) * 5);
6520
+ font-size: var(--font-size-lg);
6521
+ }
6522
+
6523
+ /* Hoverable rows */
6524
+ .bc-table--hoverable tbody tr {
6525
+ transition: background-color
6526
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
6527
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
6528
+ cursor: pointer;
6529
+ }
6530
+
6531
+ .bc-table--hoverable tbody tr:hover {
6532
+ background-color: var(--table-hover-bg);
6533
+ }
6534
+
6535
+ /* Footer */
6536
+ .bc-table__footer {
6537
+ background-color: var(--table-header-bg);
6538
+ font-weight: var(--font-weight-semibold);
6539
+ border-top: 2px solid var(--table-border);
6540
+ }
6541
+
6542
+ /* Dark mode styles */
6543
+ .b-dark .bc-table-container {
6544
+ --table-bg: var(--bg-background-dark);
6545
+ --table-text: var(--text-normal-dark);
6546
+ --table-border: var(--border-border-dark);
6547
+ --table-header-bg: var(--bg-surface-dark);
6548
+ --table-header-text: var(--text-normal-dark);
6549
+ --table-stripe-bg: var(--bg-surface-dark);
6550
+ --table-hover-bg: var(--interactive-hover-dark);
6551
+ }
6552
+
6553
+ /* Accessibility */
6554
+ @media (prefers-reduced-motion: reduce) {
6555
+ .bc-table--hoverable tbody tr {
6556
+ transition: none;
6557
+ }
6558
+ }
6559
+
6560
+ /* Responsive behavior - allow horizontal scroll on small screens */
6561
+ @media (width < 48rem) {
6562
+ .bc-table-container {
6563
+ overflow-x: auto;
6564
+ }
6565
+
6566
+ .bc-table {
6567
+ white-space: nowrap;
6568
+ }
6569
+ }
6570
+
6186
6571
  /* Tabs Component */
6187
6572
  .bc-tabs {
6188
6573
  display: flex;
@@ -6950,7 +7335,7 @@ span.bc-sidebar-link {
6950
7335
  }
6951
7336
 
6952
7337
 
6953
- /* Ribbon component - diagonal label on the top-right corner */
7338
+ /* Ribbon component - diagonal label at specified corner */
6954
7339
 
6955
7340
  .bc-ribbon {
6956
7341
  position: absolute;
@@ -6960,14 +7345,9 @@ span.bc-sidebar-link {
6960
7345
  height: 0;
6961
7346
  }
6962
7347
 
6963
- /* The diagonal band */
7348
+ /* The diagonal band - base styles */
6964
7349
  .bc-ribbon {
6965
7350
  position: absolute;
6966
- top: 0;
6967
- left: 100%;
6968
- /* Keep the band centerline on the corner regardless of width */
6969
- transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
6970
- translate(var(--ribbon-inset, 0px), var(--ribbon-offset, 0px));
6971
7351
  display: flex;
6972
7352
  justify-content: center;
6973
7353
  background: var(--ribbon-bg);
@@ -6983,6 +7363,41 @@ span.bc-sidebar-link {
6983
7363
  height: max-content;
6984
7364
  }
6985
7365
 
7366
+ /* Top-right corner (default) */
7367
+ .bc-ribbon {
7368
+ top: 0;
7369
+ left: 100%;
7370
+ transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7371
+ translate(var(--ribbon-inset, 0px), var(--ribbon-offset, 0px));
7372
+ }
7373
+
7374
+ /* Top-left corner */
7375
+ .bc-ribbon[style*='--ribbon-corner: top-left'] {
7376
+ top: 0;
7377
+ left: 0;
7378
+ transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7379
+ translate(calc(var(--ribbon-inset, 0px) * -1), var(--ribbon-offset, 0px));
7380
+ }
7381
+
7382
+ /* Bottom-right corner */
7383
+ .bc-ribbon[style*='--ribbon-corner: bottom-right'] {
7384
+ top: 100%;
7385
+ left: 100%;
7386
+ transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
7387
+ translate(var(--ribbon-inset, 0px), calc(var(--ribbon-offset, 0px) * -1));
7388
+ }
7389
+
7390
+ /* Bottom-left corner */
7391
+ .bc-ribbon[style*='--ribbon-corner: bottom-left'] {
7392
+ top: 100%;
7393
+ left: 0;
7394
+ transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7395
+ translate(
7396
+ calc(var(--ribbon-inset, 0px) * -1),
7397
+ calc(var(--ribbon-offset, 0px) * -1)
7398
+ );
7399
+ }
7400
+
6986
7401
  /* Dark mode overrides */
6987
7402
  .b-dark .bc-ribbon {
6988
7403
  background: var(--ribbon-bg-dark);