@bigtablet/design-system 3.2.2 โ†’ 3.4.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.
package/README.md CHANGED
@@ -174,6 +174,8 @@ pnpm build # tsup + SCSS copy
174
174
  | | |
175
175
  |---|---|
176
176
  | ๐Ÿ“š [Components](./docs/COMPONENTS.md) | Props API + usage per component |
177
+ | ๐Ÿ”„ [Migration](./docs/MIGRATION.md) | Deprecated prop migration guide |
178
+ | ๐ŸŽจ [Theming](./docs/THEMING.md) | Light/dark theme system guide |
177
179
  | ๐Ÿ—๏ธ [Architecture](./docs/ARCHITECTURE.md) | Project structure + design principles |
178
180
  | ๐Ÿค [Contributing](./docs/CONTRIBUTING.md) | Dev setup + workflow |
179
181
  | ๐Ÿงช [Testing](./docs/TESTING.md) | Test patterns + a11y testing |
package/dist/index.css CHANGED
@@ -2470,28 +2470,28 @@
2470
2470
  color: var(--bt-color-accent-default);
2471
2471
  }
2472
2472
  .chip_tone_info {
2473
- background: color-mix(in srgb, var(--bt-color-status-info) 12%, transparent);
2473
+ background: var(--bt-color-status-info-container);
2474
2474
  }
2475
2475
  .chip_tone_info .chip_content {
2476
- color: var(--bt-color-status-info);
2476
+ color: var(--bt-color-status-info-on-container);
2477
2477
  }
2478
2478
  .chip_tone_success {
2479
- background: color-mix(in srgb, var(--bt-color-status-success) 12%, transparent);
2479
+ background: var(--bt-color-status-success-container);
2480
2480
  }
2481
2481
  .chip_tone_success .chip_content {
2482
- color: var(--bt-color-status-success);
2482
+ color: var(--bt-color-status-success-on-container);
2483
2483
  }
2484
2484
  .chip_tone_warning {
2485
- background: color-mix(in srgb, var(--bt-color-status-warning) 14%, transparent);
2485
+ background: var(--bt-color-status-warning-container);
2486
2486
  }
2487
2487
  .chip_tone_warning .chip_content {
2488
- color: var(--bt-color-status-warning);
2488
+ color: var(--bt-color-status-warning-on-container);
2489
2489
  }
2490
2490
  .chip_tone_error {
2491
- background: color-mix(in srgb, var(--bt-color-status-error) 12%, transparent);
2491
+ background: var(--bt-color-status-error-container);
2492
2492
  }
2493
2493
  .chip_tone_error .chip_content {
2494
- color: var(--bt-color-status-error);
2494
+ color: var(--bt-color-status-error-on-container);
2495
2495
  }
2496
2496
  .chip_size_sm {
2497
2497
  height: 24px;
@@ -2695,6 +2695,7 @@
2695
2695
  border: 1px solid var(--bt-color-border-default);
2696
2696
  border-radius: 12px;
2697
2697
  box-shadow: var(--bt-elevation-level1);
2698
+ overflow: hidden;
2698
2699
  }
2699
2700
  [data-theme=dark] .dropdown_list {
2700
2701
  background: var(--bt-color-bg-solid-dim);
@@ -2705,10 +2706,6 @@
2705
2706
  }
2706
2707
  }
2707
2708
  .dropdown_list {
2708
- max-height: 18rem;
2709
- overflow-y: auto;
2710
- overflow-x: hidden;
2711
- padding: 4px 0;
2712
2709
  will-change: transform, opacity;
2713
2710
  }
2714
2711
  .dropdown_list_up {
@@ -2717,6 +2714,55 @@
2717
2714
  margin-top: 0;
2718
2715
  margin-bottom: 4px;
2719
2716
  }
2717
+ .dropdown_search {
2718
+ display: flex;
2719
+ align-items: center;
2720
+ gap: 8px;
2721
+ padding: 8px 12px;
2722
+ border-bottom: 1px solid var(--bt-color-border-default);
2723
+ }
2724
+ .dropdown_search_icon {
2725
+ display: inline-flex;
2726
+ align-items: center;
2727
+ justify-content: center;
2728
+ flex-shrink: 0;
2729
+ color: var(--bt-color-text-body);
2730
+ }
2731
+ .dropdown_search_input {
2732
+ flex: 1 1 auto;
2733
+ min-width: 0;
2734
+ border: none;
2735
+ outline: none;
2736
+ background: transparent;
2737
+ color: var(--bt-color-text-heading);
2738
+ border-radius: 6px;
2739
+ font-size: 14px;
2740
+ font-weight: 400;
2741
+ line-height: 20px;
2742
+ letter-spacing: 0px;
2743
+ transition: box-shadow 0.1s ease-in-out;
2744
+ }
2745
+ .dropdown_search_input::placeholder {
2746
+ color: var(--bt-color-text-body);
2747
+ }
2748
+ .dropdown_search_input:focus-visible {
2749
+ box-shadow: var(--bt-focus-ring);
2750
+ }
2751
+ .dropdown_options {
2752
+ max-height: 18rem;
2753
+ overflow-y: auto;
2754
+ overflow-x: hidden;
2755
+ padding: 4px 0;
2756
+ }
2757
+ .dropdown_empty {
2758
+ padding: 12px 16px;
2759
+ font-size: 14px;
2760
+ font-weight: 400;
2761
+ line-height: 20px;
2762
+ letter-spacing: 0px;
2763
+ color: var(--bt-color-text-caption);
2764
+ text-align: center;
2765
+ }
2720
2766
  .dropdown_option {
2721
2767
  width: 100%;
2722
2768
  box-sizing: border-box;
@@ -2751,6 +2797,14 @@
2751
2797
  cursor: not-allowed;
2752
2798
  color: var(--bt-color-text-caption);
2753
2799
  }
2800
+ .dropdown_option_check {
2801
+ display: inline-flex;
2802
+ align-items: center;
2803
+ justify-content: center;
2804
+ flex-shrink: 0;
2805
+ width: 16px;
2806
+ color: var(--bt-color-accent-default);
2807
+ }
2754
2808
  .dropdown_option_icon {
2755
2809
  display: inline-flex;
2756
2810
  align-items: center;
@@ -2803,6 +2857,9 @@
2803
2857
  .dropdown_icon {
2804
2858
  transition: none;
2805
2859
  }
2860
+ .dropdown_search_input {
2861
+ transition: none;
2862
+ }
2806
2863
  }
2807
2864
 
2808
2865
  /* src/ui/forms/date-picker/style.scss */
@@ -2887,6 +2944,124 @@
2887
2944
  height: 2px;
2888
2945
  }
2889
2946
 
2947
+ /* src/ui/overlay/drawer/style.scss */
2948
+ @keyframes skeleton_loading {
2949
+ 0% {
2950
+ background-position: 100% 0;
2951
+ }
2952
+ 100% {
2953
+ background-position: 0 0;
2954
+ }
2955
+ }
2956
+ .drawer {
2957
+ position: fixed;
2958
+ top: 0;
2959
+ right: 0;
2960
+ bottom: 0;
2961
+ left: 0;
2962
+ display: flex;
2963
+ background: var(--bt-color-bg-overlay);
2964
+ z-index: 100;
2965
+ will-change: opacity;
2966
+ }
2967
+ .drawer_placement_left {
2968
+ justify-content: flex-start;
2969
+ }
2970
+ .drawer_placement_right {
2971
+ justify-content: flex-end;
2972
+ }
2973
+ .drawer_placement_bottom {
2974
+ align-items: flex-end;
2975
+ justify-content: stretch;
2976
+ }
2977
+ .drawer_panel {
2978
+ position: relative;
2979
+ display: flex;
2980
+ flex-direction: column;
2981
+ background: var(--bt-color-bg-solid);
2982
+ box-shadow: var(--bt-elevation-level3);
2983
+ max-width: 100%;
2984
+ max-height: 100%;
2985
+ overflow: hidden;
2986
+ will-change: transform;
2987
+ }
2988
+ .drawer_placement_left .drawer_panel,
2989
+ .drawer_placement_right .drawer_panel {
2990
+ height: 100%;
2991
+ }
2992
+ .drawer_placement_bottom .drawer_panel {
2993
+ width: 100%;
2994
+ border-top-left-radius: 12px;
2995
+ border-top-right-radius: 12px;
2996
+ }
2997
+ .drawer_close {
2998
+ position: absolute;
2999
+ top: 12px;
3000
+ right: 12px;
3001
+ width: 32px;
3002
+ height: 32px;
3003
+ display: inline-flex;
3004
+ align-items: center;
3005
+ justify-content: center;
3006
+ border: none;
3007
+ background: transparent;
3008
+ color: var(--bt-color-text-caption);
3009
+ border-radius: 8px;
3010
+ cursor: pointer;
3011
+ transition: background 0.1s ease-in-out, color 0.1s ease-in-out;
3012
+ }
3013
+ .drawer_close:hover {
3014
+ background: var(--bt-color-state-hover-on-light);
3015
+ color: var(--bt-color-text-heading);
3016
+ }
3017
+ .drawer_close:focus-visible {
3018
+ outline: none;
3019
+ box-shadow: var(--bt-focus-ring);
3020
+ }
3021
+ .drawer_header {
3022
+ flex: 0 0 auto;
3023
+ display: flex;
3024
+ align-items: center;
3025
+ padding: 20px 24px;
3026
+ padding-right: 48px;
3027
+ border-bottom: 1px solid var(--bt-color-border-subtle);
3028
+ }
3029
+ .drawer_title {
3030
+ margin: 0;
3031
+ color: var(--bt-color-text-heading);
3032
+ font-size: 20px;
3033
+ font-weight: 700;
3034
+ line-height: 28px;
3035
+ letter-spacing: 0px;
3036
+ }
3037
+ .drawer_body {
3038
+ flex: 1 1 auto;
3039
+ min-height: 0;
3040
+ overflow-y: auto;
3041
+ padding: 24px;
3042
+ color: var(--bt-color-text-body);
3043
+ font-size: 15px;
3044
+ font-weight: 400;
3045
+ line-height: 22.5px;
3046
+ letter-spacing: 0px;
3047
+ }
3048
+ .drawer_footer {
3049
+ flex: 0 0 auto;
3050
+ display: flex;
3051
+ gap: 8px;
3052
+ justify-content: flex-end;
3053
+ padding: 16px 24px;
3054
+ border-top: 1px solid var(--bt-color-border-subtle);
3055
+ }
3056
+ @media (prefers-reduced-motion: reduce) {
3057
+ .drawer,
3058
+ .drawer_panel,
3059
+ .drawer_close {
3060
+ transition: none;
3061
+ animation: none;
3062
+ }
3063
+ }
3064
+
2890
3065
  /* src/ui/forms/file/style.scss */
2891
3066
  @keyframes skeleton_loading {
2892
3067
  0% {
@@ -4351,6 +4526,52 @@
4351
4526
  line-height: 20px;
4352
4527
  letter-spacing: 0px;
4353
4528
  }
4529
+ .table_th_checkbox,
4530
+ .table_td_checkbox {
4531
+ box-sizing: border-box;
4532
+ width: 48px;
4533
+ }
4534
+ .table_th_sortable {
4535
+ padding: 0;
4536
+ }
4537
+ .table_sort_button {
4538
+ display: flex;
4539
+ align-items: center;
4540
+ gap: 4px;
4541
+ width: 100%;
4542
+ padding: 12px 16px;
4543
+ border: none;
4544
+ background: transparent;
4545
+ color: inherit;
4546
+ font: inherit;
4547
+ cursor: pointer;
4548
+ transition: background 0.1s ease-in-out;
4549
+ }
4550
+ .table_sort_button:hover:not(:disabled) {
4551
+ background: var(--bt-color-state-hover-on-light);
4552
+ }
4553
+ .table_sort_button:focus-visible {
4554
+ outline: none;
4555
+ box-shadow: var(--bt-focus-ring);
4556
+ }
4557
+ .table_sort_button:disabled {
4558
+ cursor: not-allowed;
4559
+ opacity: 0.38;
4560
+ }
4561
+ .table_align_center .table_sort_button {
4562
+ justify-content: center;
4563
+ }
4564
+ .table_align_right .table_sort_button {
4565
+ justify-content: flex-end;
4566
+ }
4567
+ .table_sort_icon {
4568
+ flex-shrink: 0;
4569
+ color: var(--bt-color-text-caption);
4570
+ transition: color 0.1s ease-in-out;
4571
+ }
4572
+ .table_sort_icon_active {
4573
+ color: var(--bt-color-text-heading);
4574
+ }
4354
4575
  .table_tbody .table_row {
4355
4576
  border-bottom: 1px solid var(--bt-color-border-default);
4356
4577
  transition: background-color 0.1s ease-in-out;
@@ -4374,6 +4595,12 @@
4374
4595
  .table_tbody .table_row_skeleton {
4375
4596
  pointer-events: none;
4376
4597
  }
4598
+ .table_tbody .table_row_selected {
4599
+ background: var(--bt-color-accent-subtle);
4600
+ }
4601
+ .table_tbody .table_row_selected.table_row_hoverable:hover {
4602
+ background: var(--bt-color-accent-muted);
4603
+ }
4377
4604
  .table_td {
4378
4605
  padding: 12px 16px;
4379
4606
  color: var(--bt-color-text-body);
@@ -4406,6 +4633,12 @@
4406
4633
  line-height: 18px;
4407
4634
  letter-spacing: 0px;
4408
4635
  }
4636
+ .table_size_sm .table_th_sortable {
4637
+ padding: 0;
4638
+ }
4639
+ .table_size_sm .table_sort_button {
4640
+ padding: 8px 12px;
4641
+ }
4409
4642
  .table_size_lg .table_th,
4410
4643
  .table_size_lg .table_td {
4411
4644
  padding: 16px 20px;
@@ -4422,6 +4655,12 @@
4422
4655
  line-height: 22.5px;
4423
4656
  letter-spacing: 0px;
4424
4657
  }
4658
+ .table_size_lg .table_th_sortable {
4659
+ padding: 0;
4660
+ }
4661
+ .table_size_lg .table_sort_button {
4662
+ padding: 16px 20px;
4663
+ }
4425
4664
  .table_sticky_header .table_thead {
4426
4665
  position: sticky;
4427
4666
  top: 0;
@@ -4436,6 +4675,13 @@
4436
4675
  line-height: 20px;
4437
4676
  letter-spacing: 0px;
4438
4677
  }
4678
+ @media (prefers-reduced-motion: reduce) {
4679
+ .table_row,
4680
+ .table_sort_button,
4681
+ .table_sort_icon {
4682
+ transition: none;
4683
+ }
4684
+ }
4439
4685
 
4440
4686
  /* src/ui/forms/textfield/style.scss */
4441
4687
  @keyframes skeleton_loading {