@tempots/beatui 0.35.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 (31) 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 +398 -10
  8. package/dist/beatui.tailwind.css +398 -10
  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-DbQzJti7.js → index-Dc9UNC8n.js} +1 -1
  13. package/dist/index.cjs.js +2 -2
  14. package/dist/index.es.js +1462 -1332
  15. package/dist/json-schema/index.cjs.js +1 -1
  16. package/dist/json-schema/index.es.js +1 -1
  17. package/dist/{modal-Dm61yY5i.js → modal-CxG-RO9B.js} +1 -1
  18. package/dist/{modal-AFhB4rIq.cjs → modal-OMSAbIg1.cjs} +1 -1
  19. package/dist/notice-0Xhzr7qR.cjs +2 -0
  20. package/dist/{notice-Cd9ElXwb.js → notice-C7o5d8Jw.js} +390 -375
  21. package/dist/types/components/data/index.d.ts +1 -0
  22. package/dist/types/components/data/table.d.ts +27 -0
  23. package/dist/types/components/form/input/input-wrapper.d.ts +4 -2
  24. package/dist/types/components/form/input/switch.d.ts +4 -3
  25. package/dist/types/components/layout/action-card.d.ts +19 -0
  26. package/dist/types/components/layout/index.d.ts +1 -0
  27. package/dist/utils-BcIRhDH0.cjs +1 -0
  28. package/dist/{utils-g5YCiiS6.js → utils-C7619Rp3.js} +392 -398
  29. package/package.json +1 -1
  30. package/dist/notice-len8sDjL.cjs +0 -2
  31. 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;
@@ -6987,7 +7372,7 @@ span.bc-sidebar-link {
6987
7372
  }
6988
7373
 
6989
7374
  /* Top-left corner */
6990
- .bc-ribbon[style*="--ribbon-corner: top-left"] {
7375
+ .bc-ribbon[style*='--ribbon-corner: top-left'] {
6991
7376
  top: 0;
6992
7377
  left: 0;
6993
7378
  transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
@@ -6995,7 +7380,7 @@ span.bc-sidebar-link {
6995
7380
  }
6996
7381
 
6997
7382
  /* Bottom-right corner */
6998
- .bc-ribbon[style*="--ribbon-corner: bottom-right"] {
7383
+ .bc-ribbon[style*='--ribbon-corner: bottom-right'] {
6999
7384
  top: 100%;
7000
7385
  left: 100%;
7001
7386
  transform: translate(-50%, -50%) rotate(calc(var(--ribbon-angle, 45deg) * -1))
@@ -7003,11 +7388,14 @@ span.bc-sidebar-link {
7003
7388
  }
7004
7389
 
7005
7390
  /* Bottom-left corner */
7006
- .bc-ribbon[style*="--ribbon-corner: bottom-left"] {
7391
+ .bc-ribbon[style*='--ribbon-corner: bottom-left'] {
7007
7392
  top: 100%;
7008
7393
  left: 0;
7009
7394
  transform: translate(-50%, -50%) rotate(var(--ribbon-angle, 45deg))
7010
- translate(calc(var(--ribbon-inset, 0px) * -1), calc(var(--ribbon-offset, 0px) * -1));
7395
+ translate(
7396
+ calc(var(--ribbon-inset, 0px) * -1),
7397
+ calc(var(--ribbon-offset, 0px) * -1)
7398
+ );
7011
7399
  }
7012
7400
 
7013
7401
  /* Dark mode overrides */