@bigtablet/design-system 3.16.0 → 3.17.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/dist/index.css CHANGED
@@ -66,6 +66,7 @@
66
66
  --bt-elevation-level4: 0 5px 5px -5px rgba(0, 0, 0, 0.20), 0 15px 15px 0px rgba(0, 0, 0, 0.12);
67
67
  --bt-elevation-level5: 0 8px 10px -5px rgba(0, 0, 0, 0.20), 0 20px 20px 0px rgba(0, 0, 0, 0.12);
68
68
  --bt-bottom-nav-inset: 0px;
69
+ --bt-sidebar-inset: 0px;
69
70
  --bt-bottom-inset-app: 0px;
70
71
  --bt-z-content: 10;
71
72
  --bt-z-chrome: 100;
@@ -75,7 +76,7 @@
75
76
  --bt-z-popup: 1000;
76
77
  }
77
78
  body {
78
- --bt-bottom-inset: calc( var(--bt-bottom-nav-inset, 0px) + var(--bt-bottom-inset-app, 0px) );
79
+ --bt-bottom-inset: calc( var(--bt-bottom-nav-inset, 0px) + var(--bt-sidebar-inset, 0px) + var(--bt-bottom-inset-app, 0px) );
79
80
  }
80
81
  :root {
81
82
  --bt-scrollbar-width: 0px;
@@ -229,6 +230,29 @@ select:-webkit-autofill:disabled {
229
230
  overflow: hidden;
230
231
  }
231
232
 
233
+ /* src/styles/link.scss */
234
+ @keyframes skeleton_loading {
235
+ 0% {
236
+ background-position: 100% 0;
237
+ }
238
+ 100% {
239
+ background-position: 0 0;
240
+ }
241
+ }
242
+ .text_link {
243
+ color: var(--bt-color-accent-default);
244
+ text-decoration: underline;
245
+ text-underline-offset: 0.15em;
246
+ }
247
+ .text_link:hover {
248
+ text-decoration-thickness: 2px;
249
+ }
250
+ .text_link:focus-visible {
251
+ outline: none;
252
+ border-radius: 4px;
253
+ box-shadow: var(--bt-focus-ring);
254
+ }
255
+
232
256
  /* src/ui/display/accordion/style.scss */
233
257
  @keyframes skeleton_loading {
234
258
  0% {
@@ -496,6 +520,225 @@ select:-webkit-autofill:disabled {
496
520
  color: var(--bt-color-status-error-on-container);
497
521
  }
498
522
 
523
+ /* src/ui/display/description-list/style.scss */
524
+ @keyframes skeleton_loading {
525
+ 0% {
526
+ background-position: 100% 0;
527
+ }
528
+ 100% {
529
+ background-position: 0 0;
530
+ }
531
+ }
532
+ .description_list {
533
+ margin: 0;
534
+ font-family: "Pretendard", sans-serif;
535
+ }
536
+ .description_list_item {
537
+ display: grid;
538
+ gap: 4px;
539
+ padding: 8px 0;
540
+ }
541
+ .description_list_label {
542
+ color: var(--bt-color-text-caption);
543
+ font-size: 14px;
544
+ font-weight: 400;
545
+ line-height: 20px;
546
+ letter-spacing: 0px;
547
+ }
548
+ .description_list_value {
549
+ margin: 0;
550
+ color: var(--bt-color-text-heading);
551
+ font-size: 15px;
552
+ font-weight: 400;
553
+ line-height: 22.5px;
554
+ letter-spacing: 0px;
555
+ font-variant-numeric: tabular-nums;
556
+ overflow-wrap: anywhere;
557
+ }
558
+ .description_list_layout_row .description_list_item {
559
+ grid-template-columns: minmax(6rem, 10rem) minmax(0, 1fr);
560
+ gap: 16px;
561
+ align-items: baseline;
562
+ }
563
+ .description_list_layout_row .description_list_item_full {
564
+ grid-template-columns: minmax(0, 1fr);
565
+ gap: 4px;
566
+ }
567
+ @media (max-width: 599px) {
568
+ .description_list_layout_row .description_list_item {
569
+ grid-template-columns: minmax(0, 1fr);
570
+ gap: 4px;
571
+ }
572
+ }
573
+ .description_list_divided .description_list_item + .description_list_item {
574
+ border-top: 1px solid var(--bt-color-border-default);
575
+ }
576
+
577
+ /* src/ui/display/stat/style.scss */
578
+ @keyframes skeleton_loading {
579
+ 0% {
580
+ background-position: 100% 0;
581
+ }
582
+ 100% {
583
+ background-position: 0 0;
584
+ }
585
+ }
586
+ .stat {
587
+ display: flex;
588
+ flex-direction: column;
589
+ gap: 4px;
590
+ font-family: "Pretendard", sans-serif;
591
+ }
592
+ .stat_label {
593
+ display: flex;
594
+ align-items: center;
595
+ gap: 4px;
596
+ color: var(--bt-color-text-caption);
597
+ font-size: 14px;
598
+ font-weight: 400;
599
+ line-height: 20px;
600
+ letter-spacing: 0px;
601
+ }
602
+ .stat_icon {
603
+ display: inline-flex;
604
+ flex: 0 0 auto;
605
+ }
606
+ .stat_value {
607
+ color: var(--bt-color-text-heading);
608
+ font-size: 24px;
609
+ font-weight: 700;
610
+ line-height: 32px;
611
+ letter-spacing: -0.01em;
612
+ font-variant-numeric: tabular-nums;
613
+ }
614
+ .stat_delta {
615
+ font-size: 14px;
616
+ font-weight: 500;
617
+ line-height: 20px;
618
+ letter-spacing: 0px;
619
+ font-variant-numeric: tabular-nums;
620
+ }
621
+ .stat_delta_positive {
622
+ color: var(--bt-color-status-success-on-surface);
623
+ }
624
+ .stat_delta_negative {
625
+ color: var(--bt-color-status-error-on-surface);
626
+ }
627
+ .stat_delta_neutral {
628
+ color: var(--bt-color-text-caption);
629
+ }
630
+
631
+ /* src/ui/display/timeline/style.scss */
632
+ @keyframes skeleton_loading {
633
+ 0% {
634
+ background-position: 100% 0;
635
+ }
636
+ 100% {
637
+ background-position: 0 0;
638
+ }
639
+ }
640
+ .timeline {
641
+ margin: 0;
642
+ padding: 0;
643
+ list-style: none;
644
+ font-family: "Pretendard", sans-serif;
645
+ }
646
+ .timeline_item {
647
+ position: relative;
648
+ display: grid;
649
+ grid-template-columns: 28px minmax(0, 1fr);
650
+ gap: 16px;
651
+ padding-bottom: 20px;
652
+ }
653
+ .timeline_item:last-child {
654
+ padding-bottom: 0;
655
+ }
656
+ .timeline_item:not(:last-child) .timeline_indicator::before {
657
+ content: "";
658
+ position: absolute;
659
+ top: 28px;
660
+ bottom: -4px;
661
+ left: 14px;
662
+ width: 1px;
663
+ background: var(--bt-color-border-default);
664
+ transform: translateX(-50%);
665
+ }
666
+ .timeline_indicator {
667
+ display: inline-flex;
668
+ align-items: center;
669
+ justify-content: center;
670
+ box-sizing: border-box;
671
+ width: 28px;
672
+ height: 28px;
673
+ border-radius: 9999px;
674
+ background: var(--bt-color-bg-solid-dim);
675
+ color: var(--bt-color-text-caption);
676
+ }
677
+ .timeline_dot {
678
+ box-sizing: border-box;
679
+ width: 8px;
680
+ height: 8px;
681
+ border-radius: 9999px;
682
+ background: currentcolor;
683
+ }
684
+ .timeline_dot_hollow {
685
+ background: transparent;
686
+ border: 2px solid currentcolor;
687
+ }
688
+ .timeline_glyph {
689
+ width: 16px;
690
+ height: 16px;
691
+ }
692
+ .timeline_body {
693
+ min-width: 0;
694
+ display: flex;
695
+ flex-direction: column;
696
+ gap: 4px;
697
+ }
698
+ .timeline_head {
699
+ display: flex;
700
+ flex-wrap: wrap;
701
+ align-items: baseline;
702
+ justify-content: space-between;
703
+ gap: 8px;
704
+ }
705
+ .timeline_title {
706
+ color: var(--bt-color-text-heading);
707
+ font-size: 15px;
708
+ font-weight: 500;
709
+ line-height: 22.5px;
710
+ letter-spacing: 0px;
711
+ }
712
+ .timeline_time {
713
+ flex-shrink: 0;
714
+ color: var(--bt-color-text-caption);
715
+ font-size: 14px;
716
+ font-weight: 400;
717
+ line-height: 20px;
718
+ letter-spacing: 0px;
719
+ font-variant-numeric: tabular-nums;
720
+ }
721
+ .timeline_description {
722
+ margin: 0;
723
+ color: var(--bt-color-text-caption);
724
+ font-size: 14px;
725
+ font-weight: 400;
726
+ line-height: 20px;
727
+ letter-spacing: 0px;
728
+ overflow-wrap: anywhere;
729
+ }
730
+ .timeline_item_done .timeline_indicator {
731
+ background: var(--bt-color-status-success-container);
732
+ color: var(--bt-color-status-success-on-container);
733
+ }
734
+ .timeline_item_active .timeline_indicator {
735
+ background: var(--bt-color-accent-default);
736
+ color: var(--bt-color-accent-on-surface);
737
+ }
738
+ .timeline_item_pending .timeline_title {
739
+ color: var(--bt-color-text-caption);
740
+ }
741
+
499
742
  /* src/ui/feedback/empty-state/style.scss */
500
743
  @keyframes skeleton_loading {
501
744
  0% {
@@ -1224,6 +1467,8 @@ body:has(.bottom_nav) {
1224
1467
  .sidebar_nav {
1225
1468
  flex: 1;
1226
1469
  overflow-y: auto;
1470
+ scrollbar-width: thin;
1471
+ scrollbar-color: var(--bt-color-border-hover) transparent;
1227
1472
  overflow-x: hidden;
1228
1473
  padding: 12px 8px;
1229
1474
  display: flex;
@@ -1279,6 +1524,14 @@ body:has(.bottom_nav) {
1279
1524
  outline: none;
1280
1525
  box-shadow: var(--bt-focus-ring);
1281
1526
  }
1527
+ .sidebar_item_disabled {
1528
+ cursor: not-allowed;
1529
+ color: var(--bt-color-text-caption);
1530
+ }
1531
+ .sidebar_item_disabled:hover {
1532
+ background: transparent;
1533
+ color: var(--bt-color-text-caption);
1534
+ }
1282
1535
  .sidebar_item_active {
1283
1536
  background: var(--bt-color-accent-default);
1284
1537
  color: var(--bt-color-accent-on-surface);
@@ -1375,6 +1628,9 @@ body:has(.bottom_nav) {
1375
1628
  --bt-sidebar-safe-area: env(safe-area-inset-bottom, 0px);
1376
1629
  --bt-sidebar-total-height: calc( var(--bt-sidebar-height) + var(--bt-sidebar-safe-area) );
1377
1630
  }
1631
+ body:has(.sidebar:not(.sidebar_static)) {
1632
+ --bt-sidebar-inset: var(--bt-sidebar-total-height);
1633
+ }
1378
1634
  .sidebar:not(.sidebar_static) {
1379
1635
  position: fixed;
1380
1636
  inset: auto 0 0 0;
@@ -2068,7 +2324,7 @@ body:has(.bottom_nav) {
2068
2324
  }
2069
2325
  }
2070
2326
 
2071
- /* src/ui/display/divider/style.scss */
2327
+ /* src/ui/forms/form/style.scss */
2072
2328
  @keyframes skeleton_loading {
2073
2329
  0% {
2074
2330
  background-position: 100% 0;
@@ -2077,20 +2333,32 @@ body:has(.bottom_nav) {
2077
2333
  background-position: 0 0;
2078
2334
  }
2079
2335
  }
2080
- .divider {
2081
- border: none;
2082
- margin: 0;
2336
+ .form {
2337
+ display: flex;
2338
+ flex-direction: column;
2339
+ gap: 20px;
2083
2340
  width: 100%;
2084
- background: var(--bt-color-border-default);
2085
2341
  }
2086
- .divider_weight_standard {
2087
- height: 1px;
2342
+ .form_actions {
2343
+ display: flex;
2344
+ align-items: center;
2345
+ gap: 8px;
2346
+ margin-top: 4px;
2088
2347
  }
2089
- .divider_weight_heavy {
2090
- height: 2px;
2348
+ .form_actions_start {
2349
+ justify-content: flex-start;
2350
+ }
2351
+ .form_actions_center {
2352
+ justify-content: center;
2353
+ }
2354
+ .form_actions_end {
2355
+ justify-content: flex-end;
2356
+ }
2357
+ .form_actions_between {
2358
+ justify-content: space-between;
2091
2359
  }
2092
2360
 
2093
- /* src/ui/general/button/style.scss */
2361
+ /* src/ui/forms/field/style.scss */
2094
2362
  @keyframes skeleton_loading {
2095
2363
  0% {
2096
2364
  background-position: 100% 0;
@@ -2099,169 +2367,457 @@ body:has(.bottom_nav) {
2099
2367
  background-position: 0 0;
2100
2368
  }
2101
2369
  }
2102
- .button {
2103
- position: relative;
2104
- display: inline-flex;
2105
- align-items: center;
2106
- justify-content: center;
2107
- border: none;
2108
- border-radius: 9999px;
2109
- cursor: pointer;
2110
- overflow: hidden;
2111
- white-space: nowrap;
2112
- text-decoration: none;
2113
- font-size: 14px;
2370
+ .field {
2371
+ display: flex;
2372
+ flex-direction: column;
2373
+ align-items: flex-start;
2374
+ gap: 6px;
2375
+ width: 100%;
2376
+ font-family: "Pretendard", sans-serif;
2377
+ }
2378
+ .field_label {
2379
+ display: block;
2380
+ font-size: 13px;
2114
2381
  font-weight: 500;
2115
- line-height: 20px;
2382
+ line-height: 18px;
2116
2383
  letter-spacing: 0px;
2117
- transition:
2118
- color 0.2s ease-in-out,
2119
- border-color 0.2s ease-in-out,
2120
- transform 0.1s ease-in-out;
2384
+ letter-spacing: 0.32px;
2385
+ color: var(--bt-color-text-heading);
2386
+ cursor: pointer;
2387
+ transition: color 0.2s ease-in-out;
2121
2388
  }
2122
- .button::before {
2123
- content: "";
2124
- position: absolute;
2125
- top: 0;
2126
- right: 0;
2127
- bottom: 0;
2128
- left: 0;
2129
- border-radius: inherit;
2130
- transition: background 0.2s ease-in-out;
2131
- pointer-events: none;
2389
+ .field_required {
2390
+ margin-left: 2px;
2391
+ color: var(--bt-color-status-error-on-surface);
2132
2392
  }
2133
- .button:active:not(:disabled) {
2134
- transform: scale(0.97);
2393
+ .field_help,
2394
+ .field_message {
2395
+ padding: 0 4px;
2396
+ font-family: "Pretendard", sans-serif;
2397
+ font-size: 12px;
2398
+ font-weight: 400;
2399
+ line-height: 16px;
2400
+ transition: color 0.2s ease-in-out;
2135
2401
  }
2136
- .button:disabled {
2137
- cursor: not-allowed;
2402
+ .field_help {
2403
+ color: var(--bt-color-text-caption);
2138
2404
  }
2139
- .button_disabled {
2140
- cursor: not-allowed;
2141
- opacity: 0.38;
2142
- pointer-events: none;
2405
+ .field_message {
2406
+ color: var(--bt-color-status-error-on-surface);
2143
2407
  }
2144
- .button_size_sm {
2145
- min-height: 32px;
2408
+ .field_error .field_label {
2409
+ color: var(--bt-color-status-error-on-surface);
2146
2410
  }
2147
- @media (max-width: 599px) {
2148
- .button_size_sm {
2149
- min-height: 40px;
2411
+ @media (prefers-reduced-motion: reduce) {
2412
+ .field_label,
2413
+ .field_help,
2414
+ .field_message {
2415
+ transition: none;
2150
2416
  }
2151
2417
  }
2152
- .button_size_sm {
2153
- padding: 4px 12px;
2154
- gap: 4px;
2418
+
2419
+ /* src/ui/forms/textfield/style.scss */
2420
+ @keyframes skeleton_loading {
2421
+ 0% {
2422
+ background-position: 100% 0;
2423
+ }
2424
+ 100% {
2425
+ background-position: 0 0;
2426
+ }
2155
2427
  }
2156
- .button_size_md {
2428
+ .text_field {
2429
+ display: inline-flex;
2430
+ flex-direction: column;
2431
+ align-items: flex-start;
2432
+ gap: 6px;
2433
+ font-family: "Pretendard", sans-serif;
2434
+ }
2435
+ .text_field_full_width {
2436
+ width: 100%;
2437
+ }
2438
+ .text_field_label {
2439
+ display: block;
2440
+ font-size: 13px;
2441
+ font-weight: 500;
2442
+ line-height: 18px;
2443
+ letter-spacing: 0px;
2444
+ letter-spacing: 0.32px;
2445
+ color: var(--bt-color-text-heading);
2446
+ cursor: pointer;
2447
+ transition: color 0.2s ease-in-out;
2448
+ }
2449
+ .text_field_container {
2450
+ border: 1px solid var(--bt-color-border-default);
2451
+ border-radius: 12px;
2452
+ background-color: var(--bt-color-bg-solid);
2453
+ box-sizing: border-box;
2454
+ width: 100%;
2455
+ transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
2456
+ }
2457
+ .text_field_container:hover {
2458
+ border-color: var(--bt-color-border-hover);
2459
+ }
2460
+ .text_field_container:focus-within {
2461
+ border-color: var(--bt-color-border-focus);
2462
+ }
2463
+ .text_field_inner {
2464
+ display: flex;
2465
+ align-items: center;
2466
+ gap: 4px;
2467
+ box-sizing: border-box;
2157
2468
  min-height: 40px;
2158
2469
  }
2159
2470
  @media (max-width: 599px) {
2160
- .button_size_md {
2471
+ .text_field_inner {
2161
2472
  min-height: 48px;
2162
2473
  }
2163
2474
  }
2164
- .button_size_md {
2165
- padding: 8px 16px;
2166
- gap: 6px;
2475
+ .text_field_size_sm .text_field_inner {
2476
+ min-height: 40px;
2167
2477
  }
2168
- .button_size_lg {
2478
+ @media (max-width: 599px) {
2479
+ .text_field_size_sm .text_field_inner {
2480
+ min-height: 48px;
2481
+ }
2482
+ }
2483
+ .text_field_size_lg .text_field_inner {
2169
2484
  min-height: 48px;
2170
2485
  }
2171
2486
  @media (max-width: 599px) {
2172
- .button_size_lg {
2487
+ .text_field_size_lg .text_field_inner {
2173
2488
  min-height: 56px;
2174
2489
  }
2175
2490
  }
2176
- .button_size_lg {
2177
- padding: 12px 20px;
2178
- gap: 6px;
2179
- }
2180
- .button_size_xl {
2181
- min-height: 56px;
2182
- padding: 16px 24px;
2183
- gap: 6px;
2184
- }
2185
- .button_variant_filled {
2186
- background: var(--bt-color-accent-default);
2187
- color: var(--bt-color-accent-on-surface);
2188
- }
2189
- .button_variant_filled:hover:not(:disabled)::before {
2190
- background: var(--bt-color-state-hover-on-dark);
2491
+ .text_field_size_lg .text_field_input {
2492
+ padding: 8px 20px;
2493
+ font-size: 16px;
2494
+ line-height: 24px;
2191
2495
  }
2192
- .button_variant_filled:focus-visible:not(:disabled)::before {
2193
- background: var(--bt-color-state-focus-on-dark);
2496
+ .text_field_input_wrap {
2497
+ flex: 1;
2498
+ display: flex;
2499
+ min-width: 0;
2500
+ align-self: stretch;
2194
2501
  }
2195
- .button_variant_filled:active:not(:disabled)::before {
2196
- background: var(--bt-color-state-pressed-on-dark);
2502
+ .text_field_icon + .text_field_input_wrap .text_field_input {
2503
+ padding-left: 0;
2197
2504
  }
2198
- .button_variant_filled:disabled {
2199
- background: var(--bt-color-bg-disabled);
2200
- color: var(--bt-color-text-heading);
2201
- opacity: 0.38;
2505
+ .text_field_input_wrap_no_pad_right .text_field_input {
2506
+ padding-right: 0;
2202
2507
  }
2203
- .button_variant_tonal {
2204
- background: var(--bt-color-brand-primary-container);
2508
+ .text_field_input {
2509
+ width: 100%;
2510
+ height: 100%;
2511
+ padding: 4px 16px;
2512
+ box-sizing: border-box;
2513
+ border: none;
2514
+ outline: none;
2515
+ background: transparent;
2516
+ font-family: "Pretendard", sans-serif;
2517
+ font-size: 14px;
2518
+ font-weight: 400;
2519
+ line-height: 20px;
2205
2520
  color: var(--bt-color-text-heading);
2206
2521
  }
2207
- .button_variant_tonal:hover:not(:disabled)::before {
2208
- background: var(--bt-color-state-hover-on-light);
2522
+ .text_field_input::placeholder {
2523
+ color: var(--bt-color-text-caption);
2209
2524
  }
2210
- .button_variant_tonal:focus-visible:not(:disabled)::before {
2211
- background: var(--bt-color-state-focus-on-light);
2525
+ .text_field_input:disabled {
2526
+ cursor: not-allowed;
2527
+ color: var(--bt-color-text-disabled);
2212
2528
  }
2213
- .button_variant_tonal:active:not(:disabled)::before {
2214
- background: var(--bt-color-state-pressed-on-light);
2529
+ .text_field_input_identifier {
2530
+ font-feature-settings: "cv05" 1, "cv08" 1;
2531
+ font-variant-numeric: slashed-zero;
2215
2532
  }
2216
- .button_variant_tonal:disabled {
2217
- background: var(--bt-color-bg-disabled);
2533
+ .text_field_icon {
2534
+ display: inline-flex;
2535
+ align-items: center;
2536
+ justify-content: center;
2537
+ flex-shrink: 0;
2538
+ width: 40px;
2539
+ height: 40px;
2540
+ border-radius: 9999px;
2218
2541
  color: var(--bt-color-text-heading);
2219
- opacity: 0.38;
2220
2542
  }
2221
- .button_variant_outline {
2543
+ .text_field_icon svg {
2544
+ width: 20px;
2545
+ height: 20px;
2546
+ }
2547
+ .text_field_clear,
2548
+ .text_field_action > * {
2549
+ display: inline-flex;
2550
+ align-items: center;
2551
+ justify-content: center;
2552
+ flex-shrink: 0;
2553
+ width: 40px;
2554
+ height: 40px;
2555
+ border: none;
2222
2556
  background: transparent;
2223
- border: 1px solid var(--bt-color-border-default);
2224
- color: var(--bt-color-text-heading);
2557
+ cursor: pointer;
2558
+ color: var(--bt-color-text-caption);
2559
+ border-radius: 9999px;
2560
+ transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
2561
+ padding: 0;
2225
2562
  }
2226
- .button_variant_outline:hover:not(:disabled)::before {
2563
+ .text_field_clear:hover,
2564
+ .text_field_action > *:hover {
2565
+ color: var(--bt-color-text-heading);
2227
2566
  background: var(--bt-color-state-hover-on-light);
2228
2567
  }
2229
- .button_variant_outline:focus-visible:not(:disabled)::before {
2230
- background: var(--bt-color-state-focus-on-light);
2568
+ .text_field_clear:focus-visible,
2569
+ .text_field_action > *:focus-visible {
2570
+ outline: none;
2571
+ box-shadow: var(--bt-focus-ring);
2231
2572
  }
2232
- .button_variant_outline:active:not(:disabled)::before {
2233
- background: var(--bt-color-state-pressed-on-light);
2573
+ .text_field_helper {
2574
+ padding: 0 4px;
2575
+ font-family: "Pretendard", sans-serif;
2576
+ font-size: 12px;
2577
+ font-weight: 400;
2578
+ line-height: 16px;
2579
+ color: var(--bt-color-text-caption);
2580
+ transition: color 0.2s ease-in-out;
2234
2581
  }
2235
- .button_variant_outline:disabled {
2236
- border-color: var(--bt-color-border-default);
2237
- color: var(--bt-color-text-heading);
2238
- opacity: 0.38;
2582
+ .text_field_variant_filled .text_field_container {
2583
+ border-color: transparent;
2584
+ background-color: var(--bt-color-bg-solid-dim);
2239
2585
  }
2240
- .button_variant_text {
2241
- background: transparent;
2242
- color: var(--bt-color-text-heading);
2586
+ .text_field_variant_filled .text_field_container:hover {
2587
+ border-color: var(--bt-color-border-hover);
2243
2588
  }
2244
- .button_variant_text:hover:not(:disabled)::before {
2245
- background: var(--bt-color-state-hover-on-light);
2589
+ .text_field_variant_filled .text_field_container:focus-within {
2590
+ border-color: var(--bt-color-border-focus);
2591
+ background-color: var(--bt-color-bg-solid);
2246
2592
  }
2247
- .button_variant_text:focus-visible:not(:disabled)::before {
2248
- background: var(--bt-color-state-focus-on-light);
2593
+ .text_field_disabled.text_field_variant_filled .text_field_container {
2594
+ border-color: transparent;
2249
2595
  }
2250
- .button_variant_text:active:not(:disabled)::before {
2251
- background: var(--bt-color-state-pressed-on-light);
2596
+ .text_field_error .text_field_container {
2597
+ border-color: var(--bt-color-status-error);
2252
2598
  }
2253
- .button_variant_text:disabled {
2254
- color: var(--bt-color-text-heading);
2255
- opacity: 0.38;
2599
+ .text_field_error .text_field_container:hover,
2600
+ .text_field_error .text_field_container:focus-within {
2601
+ border-color: var(--bt-color-status-error);
2256
2602
  }
2257
- .button_radius_none {
2258
- border-radius: 0px;
2603
+ .text_field_error .text_field_label {
2604
+ color: var(--bt-color-status-error-on-surface);
2259
2605
  }
2260
- .button_radius_xs {
2261
- border-radius: 4px;
2606
+ .text_field_error .text_field_helper {
2607
+ color: var(--bt-color-status-error-on-surface);
2262
2608
  }
2263
- .button_radius_sm {
2264
- border-radius: 6px;
2609
+ .text_field_success .text_field_container {
2610
+ border-color: var(--bt-color-status-success);
2611
+ }
2612
+ .text_field_success .text_field_container:hover,
2613
+ .text_field_success .text_field_container:focus-within {
2614
+ border-color: var(--bt-color-status-success);
2615
+ }
2616
+ .text_field_success .text_field_label {
2617
+ color: var(--bt-color-status-success-on-surface);
2618
+ }
2619
+ .text_field_success .text_field_helper {
2620
+ color: var(--bt-color-status-success-on-surface);
2621
+ }
2622
+ .text_field_disabled .text_field_container {
2623
+ border-color: var(--bt-color-bg-disabled);
2624
+ background-color: var(--bt-color-bg-solid-dim);
2625
+ }
2626
+ .text_field_disabled .text_field_container:hover {
2627
+ border-color: var(--bt-color-bg-disabled);
2628
+ }
2629
+ .text_field_disabled .text_field_container > * {
2630
+ opacity: 0.38;
2631
+ }
2632
+ .text_field_disabled .text_field_label {
2633
+ color: var(--bt-color-text-disabled);
2634
+ cursor: not-allowed;
2635
+ }
2636
+ .text_field_disabled .text_field_helper {
2637
+ opacity: 0.38;
2638
+ }
2639
+ @media (prefers-reduced-motion: reduce) {
2640
+ .text_field_label,
2641
+ .text_field_container,
2642
+ .text_field_clear,
2643
+ .text_field_action > *,
2644
+ .text_field_helper {
2645
+ transition: none;
2646
+ }
2647
+ }
2648
+
2649
+ /* src/ui/general/button/style.scss */
2650
+ @keyframes skeleton_loading {
2651
+ 0% {
2652
+ background-position: 100% 0;
2653
+ }
2654
+ 100% {
2655
+ background-position: 0 0;
2656
+ }
2657
+ }
2658
+ .button {
2659
+ position: relative;
2660
+ display: inline-flex;
2661
+ align-items: center;
2662
+ justify-content: center;
2663
+ border: none;
2664
+ border-radius: 9999px;
2665
+ cursor: pointer;
2666
+ overflow: hidden;
2667
+ white-space: nowrap;
2668
+ text-decoration: none;
2669
+ font-size: 14px;
2670
+ font-weight: 500;
2671
+ line-height: 20px;
2672
+ letter-spacing: 0px;
2673
+ transition:
2674
+ color 0.2s ease-in-out,
2675
+ border-color 0.2s ease-in-out,
2676
+ transform 0.1s ease-in-out;
2677
+ }
2678
+ .button::before {
2679
+ content: "";
2680
+ position: absolute;
2681
+ top: 0;
2682
+ right: 0;
2683
+ bottom: 0;
2684
+ left: 0;
2685
+ border-radius: inherit;
2686
+ transition: background 0.2s ease-in-out;
2687
+ pointer-events: none;
2688
+ }
2689
+ .button:active:not(:disabled) {
2690
+ transform: scale(0.97);
2691
+ }
2692
+ .button:disabled {
2693
+ cursor: not-allowed;
2694
+ }
2695
+ .button_disabled {
2696
+ cursor: not-allowed;
2697
+ opacity: 0.38;
2698
+ pointer-events: none;
2699
+ }
2700
+ .button_size_sm {
2701
+ min-height: 32px;
2702
+ }
2703
+ @media (max-width: 599px) {
2704
+ .button_size_sm {
2705
+ min-height: 40px;
2706
+ }
2707
+ }
2708
+ .button_size_sm {
2709
+ padding: 4px 12px;
2710
+ gap: 4px;
2711
+ }
2712
+ .button_size_md {
2713
+ min-height: 40px;
2714
+ }
2715
+ @media (max-width: 599px) {
2716
+ .button_size_md {
2717
+ min-height: 48px;
2718
+ }
2719
+ }
2720
+ .button_size_md {
2721
+ padding: 8px 16px;
2722
+ gap: 6px;
2723
+ }
2724
+ .button_size_lg {
2725
+ min-height: 48px;
2726
+ }
2727
+ @media (max-width: 599px) {
2728
+ .button_size_lg {
2729
+ min-height: 56px;
2730
+ }
2731
+ }
2732
+ .button_size_lg {
2733
+ padding: 12px 20px;
2734
+ gap: 6px;
2735
+ }
2736
+ .button_size_xl {
2737
+ min-height: 56px;
2738
+ padding: 16px 24px;
2739
+ gap: 6px;
2740
+ }
2741
+ .button_variant_filled {
2742
+ background: var(--bt-color-accent-default);
2743
+ color: var(--bt-color-accent-on-surface);
2744
+ }
2745
+ .button_variant_filled:hover:not(:disabled)::before {
2746
+ background: var(--bt-color-state-hover-on-dark);
2747
+ }
2748
+ .button_variant_filled:focus-visible:not(:disabled)::before {
2749
+ background: var(--bt-color-state-focus-on-dark);
2750
+ }
2751
+ .button_variant_filled:active:not(:disabled)::before {
2752
+ background: var(--bt-color-state-pressed-on-dark);
2753
+ }
2754
+ .button_variant_filled:disabled {
2755
+ background: var(--bt-color-bg-disabled);
2756
+ color: var(--bt-color-text-heading);
2757
+ opacity: 0.38;
2758
+ }
2759
+ .button_variant_tonal {
2760
+ background: var(--bt-color-brand-primary-container);
2761
+ color: var(--bt-color-text-heading);
2762
+ }
2763
+ .button_variant_tonal:hover:not(:disabled)::before {
2764
+ background: var(--bt-color-state-hover-on-light);
2765
+ }
2766
+ .button_variant_tonal:focus-visible:not(:disabled)::before {
2767
+ background: var(--bt-color-state-focus-on-light);
2768
+ }
2769
+ .button_variant_tonal:active:not(:disabled)::before {
2770
+ background: var(--bt-color-state-pressed-on-light);
2771
+ }
2772
+ .button_variant_tonal:disabled {
2773
+ background: var(--bt-color-bg-disabled);
2774
+ color: var(--bt-color-text-heading);
2775
+ opacity: 0.38;
2776
+ }
2777
+ .button_variant_outline {
2778
+ background: transparent;
2779
+ border: 1px solid var(--bt-color-border-default);
2780
+ color: var(--bt-color-text-heading);
2781
+ }
2782
+ .button_variant_outline:hover:not(:disabled)::before {
2783
+ background: var(--bt-color-state-hover-on-light);
2784
+ }
2785
+ .button_variant_outline:focus-visible:not(:disabled)::before {
2786
+ background: var(--bt-color-state-focus-on-light);
2787
+ }
2788
+ .button_variant_outline:active:not(:disabled)::before {
2789
+ background: var(--bt-color-state-pressed-on-light);
2790
+ }
2791
+ .button_variant_outline:disabled {
2792
+ border-color: var(--bt-color-border-default);
2793
+ color: var(--bt-color-text-heading);
2794
+ opacity: 0.38;
2795
+ }
2796
+ .button_variant_text {
2797
+ background: transparent;
2798
+ color: var(--bt-color-text-heading);
2799
+ }
2800
+ .button_variant_text:hover:not(:disabled)::before {
2801
+ background: var(--bt-color-state-hover-on-light);
2802
+ }
2803
+ .button_variant_text:focus-visible:not(:disabled)::before {
2804
+ background: var(--bt-color-state-focus-on-light);
2805
+ }
2806
+ .button_variant_text:active:not(:disabled)::before {
2807
+ background: var(--bt-color-state-pressed-on-light);
2808
+ }
2809
+ .button_variant_text:disabled {
2810
+ color: var(--bt-color-text-heading);
2811
+ opacity: 0.38;
2812
+ }
2813
+ .button_radius_none {
2814
+ border-radius: 0px;
2815
+ }
2816
+ .button_radius_xs {
2817
+ border-radius: 4px;
2818
+ }
2819
+ .button_radius_sm {
2820
+ border-radius: 6px;
2265
2821
  }
2266
2822
  .button_radius_md {
2267
2823
  border-radius: 8px;
@@ -2338,7 +2894,7 @@ body:has(.bottom_nav) {
2338
2894
  }
2339
2895
  }
2340
2896
 
2341
- /* src/ui/display/hero/style.scss */
2897
+ /* src/ui/navigation/pagination/style.scss */
2342
2898
  @keyframes skeleton_loading {
2343
2899
  0% {
2344
2900
  background-position: 100% 0;
@@ -2347,179 +2903,158 @@ body:has(.bottom_nav) {
2347
2903
  background-position: 0 0;
2348
2904
  }
2349
2905
  }
2350
- .hero {
2351
- position: relative;
2906
+ .pagination {
2352
2907
  display: flex;
2353
- width: 100%;
2354
- background-size: cover;
2355
- background-position: center;
2356
- background-repeat: no-repeat;
2357
- overflow: hidden;
2908
+ align-items: center;
2909
+ justify-content: center;
2910
+ gap: 8px;
2911
+ margin-top: 32px;
2358
2912
  }
2359
- .hero_height_sm {
2360
- min-height: 320px;
2913
+ .pagination_item {
2914
+ border: 1px solid var(--bt-color-border-default);
2915
+ background: var(--bt-color-bg-solid);
2916
+ border-radius: 8px;
2917
+ padding: 6px 10px;
2918
+ min-width: 36px;
2919
+ cursor: pointer;
2920
+ font-size: 12px;
2921
+ font-weight: 400;
2922
+ line-height: 16px;
2923
+ letter-spacing: 0px;
2924
+ color: var(--bt-color-text-heading);
2925
+ transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
2361
2926
  }
2362
- .hero_height_md {
2363
- min-height: 480px;
2927
+ .pagination_item:hover:not(:disabled) {
2928
+ background: var(--bt-color-bg-solid-dim);
2364
2929
  }
2365
- .hero_height_lg {
2366
- min-height: 640px;
2930
+ .pagination_item:disabled {
2931
+ opacity: 0.5;
2932
+ cursor: not-allowed;
2367
2933
  }
2368
- .hero_height_full {
2369
- min-height: 100vh;
2934
+ .pagination_item:focus-visible {
2935
+ box-shadow: var(--bt-focus-ring);
2936
+ border-color: var(--bt-color-accent-default);
2370
2937
  }
2371
- @media (max-width: 599px) {
2372
- .hero_height_sm {
2373
- min-height: 240px;
2374
- }
2375
- .hero_height_md {
2376
- min-height: 360px;
2377
- }
2378
- .hero_height_lg {
2379
- min-height: 480px;
2380
- }
2381
- }
2382
- .hero .hero_overlay {
2383
- position: absolute;
2384
- inset: 0;
2385
- pointer-events: none;
2386
- z-index: 10;
2387
- }
2388
- .hero_overlay_dark .hero_overlay {
2389
- background:
2390
- linear-gradient(
2391
- 180deg,
2392
- rgba(0, 0, 0, 0.1) 0%,
2393
- rgba(0, 0, 0, 0.55) 100%);
2394
- }
2395
- .hero_overlay_light .hero_overlay {
2396
- background:
2397
- linear-gradient(
2398
- 180deg,
2399
- rgba(255, 255, 255, 0.1) 0%,
2400
- rgba(255, 255, 255, 0.7) 100%);
2401
- }
2402
- .hero_overlay_light.hero_text_default .hero_eyebrow {
2403
- color: rgba(0, 0, 0, 0.6);
2404
- }
2405
- .hero_overlay_light.hero_text_default .hero_title {
2406
- color: var(--bt-color-brand-primary);
2407
- }
2408
- .hero_overlay_light.hero_text_default .hero_subtitle {
2409
- color: rgba(0, 0, 0, 0.85);
2410
- }
2411
- .hero_content {
2412
- position: relative;
2413
- z-index: 100;
2414
- width: 100%;
2415
- max-width: 1200px;
2416
- margin: 0 auto;
2417
- padding: 48px 24px;
2938
+ .pagination_pages {
2418
2939
  display: flex;
2419
- flex-direction: column;
2420
- gap: 16px;
2421
- align-self: center;
2422
- }
2423
- @media (max-width: 599px) {
2424
- .hero_content {
2425
- padding: 32px 20px;
2426
- gap: 12px;
2427
- }
2428
- }
2429
- .hero_align_left .hero_content {
2430
- text-align: start;
2431
- align-items: flex-start;
2432
- }
2433
- .hero_align_center .hero_content {
2434
- text-align: center;
2435
2940
  align-items: center;
2941
+ gap: 6px;
2942
+ list-style: none;
2943
+ padding: 0;
2944
+ margin: 0;
2436
2945
  }
2437
- .hero_align_right .hero_content {
2438
- text-align: end;
2439
- align-items: flex-end;
2440
- }
2441
- .hero_text_default .hero_eyebrow {
2442
- color: var(--bt-color-text-caption);
2946
+ .pagination_page_button {
2947
+ border: 0;
2948
+ background: transparent;
2949
+ min-width: 36px;
2950
+ height: 36px;
2951
+ border-radius: 8px;
2952
+ cursor: pointer;
2953
+ font-size: 12px;
2954
+ font-weight: 400;
2955
+ line-height: 16px;
2956
+ letter-spacing: 0px;
2957
+ color: var(--bt-color-text-body);
2958
+ transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
2443
2959
  }
2444
- .hero_text_default .hero_title {
2960
+ .pagination_page_button:hover {
2961
+ background: var(--bt-color-bg-solid-dim);
2445
2962
  color: var(--bt-color-text-heading);
2446
2963
  }
2447
- .hero_text_default .hero_subtitle {
2448
- color: var(--bt-color-text-body);
2964
+ .pagination_page_button:focus-visible {
2965
+ box-shadow: var(--bt-focus-ring);
2449
2966
  }
2450
- .hero_text_inverse .hero_eyebrow {
2451
- color: rgba(255, 255, 255, 0.7);
2967
+ .pagination_active {
2968
+ background: var(--bt-color-accent-default);
2969
+ color: var(--bt-color-accent-on-surface);
2970
+ font-weight: 500;
2452
2971
  }
2453
- .hero_text_inverse .hero_title {
2454
- color: var(--bt-color-brand-on-primary);
2972
+ .pagination_active:hover {
2973
+ background: var(--bt-color-accent-strong);
2974
+ color: var(--bt-color-accent-on-surface);
2455
2975
  }
2456
- .hero_text_inverse .hero_subtitle {
2457
- color: rgba(255, 255, 255, 0.85);
2976
+ .pagination_ellipsis {
2977
+ min-width: 20px;
2978
+ text-align: center;
2979
+ font-size: 12px;
2980
+ font-weight: 400;
2981
+ line-height: 16px;
2982
+ letter-spacing: 0px;
2983
+ color: var(--bt-color-text-caption);
2458
2984
  }
2459
- .hero_text_inverse .hero_actions .button_variant_outline {
2460
- border-color: rgba(255, 255, 255, 0.55);
2461
- color: var(--bt-color-brand-on-primary);
2985
+ @media (prefers-reduced-motion: reduce) {
2986
+ .pagination_item,
2987
+ .pagination_page_button {
2988
+ transition: none;
2989
+ }
2462
2990
  }
2463
- .hero_text_inverse .hero_actions .button_variant_outline:hover:not(:disabled)::before {
2464
- background: var(--bt-color-state-hover-on-dark);
2991
+
2992
+ /* src/ui/feedback/skeleton/style.scss */
2993
+ @keyframes skeleton_loading {
2994
+ 0% {
2995
+ background-position: 100% 0;
2996
+ }
2997
+ 100% {
2998
+ background-position: 0 0;
2999
+ }
2465
3000
  }
2466
- .hero_text_inverse .hero_actions .button_variant_outline:focus-visible:not(:disabled)::before {
2467
- background: var(--bt-color-state-focus-on-dark);
3001
+ .skeleton {
3002
+ display: block;
3003
+ background:
3004
+ linear-gradient(
3005
+ 90deg,
3006
+ var(--bt-color-skeleton-base, #F3F3F3) 25%,
3007
+ var(--bt-color-skeleton-highlight, #fafafa) 37%,
3008
+ var(--bt-color-skeleton-wave, #f0f0f0) 63%);
3009
+ background-size: 400% 100%;
3010
+ border-radius: 8px;
3011
+ animation: skeleton_loading 1.4s ease-in-out infinite;
3012
+ will-change: background-position;
2468
3013
  }
2469
- .hero_text_inverse .hero_actions .button_variant_outline:active:not(:disabled)::before {
2470
- background: var(--bt-color-state-pressed-on-dark);
3014
+ .skeleton_variant_text {
3015
+ width: 100%;
3016
+ height: 0.75rem;
2471
3017
  }
2472
- .hero_text_inverse .hero_actions .button_variant_text {
2473
- color: rgba(255, 255, 255, 0.9);
3018
+ .skeleton_variant_title {
3019
+ width: 100%;
3020
+ height: 1.25rem;
2474
3021
  }
2475
- .hero_text_inverse .hero_actions .button_variant_text:hover:not(:disabled)::before {
2476
- background: var(--bt-color-state-hover-on-dark);
3022
+ .skeleton_variant_avatar {
3023
+ width: 2.5rem;
3024
+ height: 2.5rem;
3025
+ border-radius: 12px;
2477
3026
  }
2478
- .hero_text_inverse .hero_actions .button_variant_text:focus-visible:not(:disabled)::before {
2479
- background: var(--bt-color-state-focus-on-dark);
3027
+ .skeleton_variant_rect {
3028
+ width: 100%;
3029
+ height: 5rem;
2480
3030
  }
2481
- .hero_text_inverse .hero_actions .button_variant_text:active:not(:disabled)::before {
2482
- background: var(--bt-color-state-pressed-on-dark);
3031
+ .skeleton_radius_sm {
3032
+ border-radius: 6px;
2483
3033
  }
2484
- .hero_eyebrow {
2485
- font-size: 14px;
2486
- font-weight: 500;
2487
- line-height: 20px;
2488
- letter-spacing: 0px;
2489
- letter-spacing: 0.32px;
2490
- text-transform: uppercase;
3034
+ .skeleton_radius_md {
3035
+ border-radius: 8px;
2491
3036
  }
2492
- .hero_title {
2493
- font-size: 32px;
2494
- font-weight: 500;
2495
- line-height: 40px;
2496
- letter-spacing: 0px;
2497
- margin: 0;
3037
+ .skeleton_radius_lg {
3038
+ border-radius: 12px;
2498
3039
  }
2499
- @media (max-width: 599px) {
2500
- .hero_title {
2501
- font-size: 28px;
2502
- font-weight: 500;
2503
- line-height: 36px;
2504
- letter-spacing: 0px;
2505
- }
3040
+ .skeleton_radius_full {
3041
+ border-radius: 9999px;
2506
3042
  }
2507
- .hero_subtitle {
2508
- font-size: 16px;
2509
- font-weight: 400;
2510
- line-height: 24px;
2511
- letter-spacing: 0px;
2512
- margin: 0;
2513
- max-width: 640px;
3043
+ @keyframes skeleton_loading {
3044
+ 0% {
3045
+ background-position: 100% 0;
3046
+ }
3047
+ 100% {
3048
+ background-position: 0 0;
3049
+ }
2514
3050
  }
2515
- .hero_actions {
2516
- display: flex;
2517
- gap: 8px;
2518
- margin-top: 8px;
2519
- flex-wrap: wrap;
3051
+ @media (prefers-reduced-motion: reduce) {
3052
+ .skeleton {
3053
+ animation: none;
3054
+ }
2520
3055
  }
2521
3056
 
2522
- /* src/ui/display/list-item/style.scss */
3057
+ /* src/ui/forms/checkbox/style.scss */
2523
3058
  @keyframes skeleton_loading {
2524
3059
  0% {
2525
3060
  background-position: 100% 0;
@@ -2528,126 +3063,138 @@ body:has(.bottom_nav) {
2528
3063
  background-position: 0 0;
2529
3064
  }
2530
3065
  }
2531
- .list_item {
2532
- position: relative;
2533
- display: flex;
2534
- flex-direction: column;
2535
- align-items: stretch;
2536
- min-height: 52px;
2537
- border: 1px solid var(--bt-color-border-default);
2538
- border-radius: 12px;
2539
- overflow: hidden;
2540
- background: var(--bt-color-bg-solid);
2541
- }
2542
- .list_item_state_layer {
2543
- display: flex;
2544
- gap: 4px;
2545
- align-items: flex-start;
2546
- min-height: 52px;
2547
- padding-left: 16px;
2548
- padding-right: 16px;
2549
- position: relative;
2550
- }
2551
- .list_item_align_middle > .list_item_state_layer {
3066
+ .checkbox {
3067
+ display: inline-flex;
2552
3068
  align-items: center;
3069
+ cursor: pointer;
3070
+ user-select: none;
3071
+ padding: 4px;
2553
3072
  }
2554
- .list_item_selected {
2555
- background: var(--bt-color-accent-subtle);
2556
- position: relative;
2557
- }
2558
- .list_item_selected::after {
2559
- content: "";
3073
+ .checkbox_input {
2560
3074
  position: absolute;
2561
- left: 0;
2562
- top: 0;
2563
- bottom: 0;
2564
- width: 3px;
2565
- background: var(--bt-color-accent-default);
2566
- }
2567
- .list_item_interactive {
2568
- cursor: pointer;
3075
+ width: 1px;
3076
+ height: 1px;
3077
+ padding: 0;
3078
+ margin: -1px;
3079
+ overflow: hidden;
3080
+ clip: rect(0 0 0 0);
3081
+ clip-path: inset(50%);
3082
+ white-space: nowrap;
3083
+ border: 0;
2569
3084
  }
2570
- .list_item_interactive .list_item_state_layer::before {
2571
- content: "";
2572
- position: absolute;
2573
- top: 0;
2574
- right: 0;
2575
- bottom: 0;
2576
- left: 0;
3085
+ .checkbox_state_layer {
3086
+ display: inline-flex;
3087
+ align-items: center;
3088
+ justify-content: center;
3089
+ padding: 8px;
3090
+ border-radius: 9999px;
2577
3091
  transition: background 0.2s ease-in-out;
2578
- pointer-events: none;
2579
3092
  }
2580
- .list_item_interactive:hover .list_item_state_layer::before {
3093
+ .checkbox_icon {
3094
+ width: 24px;
3095
+ height: 24px;
3096
+ box-sizing: border-box;
3097
+ border: 2px solid var(--bt-color-text-heading);
3098
+ border-radius: 4px;
3099
+ background: transparent;
3100
+ position: relative;
3101
+ transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
3102
+ }
3103
+ .checkbox_label {
3104
+ font-size: 14px;
3105
+ font-weight: 400;
3106
+ line-height: 20px;
3107
+ letter-spacing: 0px;
3108
+ color: var(--bt-color-text-heading);
3109
+ margin-left: 4px;
3110
+ }
3111
+ .checkbox:hover .checkbox_state_layer {
2581
3112
  background: var(--bt-color-state-hover-on-light);
2582
3113
  }
2583
- .list_item_interactive:focus-visible .list_item_state_layer::before {
3114
+ .checkbox_input:focus-visible ~ .checkbox_state_layer {
2584
3115
  background: var(--bt-color-state-focus-on-light);
2585
3116
  }
2586
- .list_item_interactive:active .list_item_state_layer::before {
3117
+ .checkbox:active .checkbox_state_layer {
2587
3118
  background: var(--bt-color-state-pressed-on-light);
2588
3119
  }
2589
- .list_item_content {
2590
- flex: 1;
2591
- display: flex;
2592
- flex-direction: column;
2593
- gap: 2px;
2594
- min-width: 0;
2595
- padding: 12px 0;
3120
+ .checkbox_input:disabled ~ .checkbox_state_layer {
3121
+ opacity: 0.38;
2596
3122
  }
2597
- .list_item_overline {
2598
- font-family: "Pretendard", sans-serif;
2599
- font-size: 12px;
2600
- font-weight: 400;
2601
- line-height: 16px;
2602
- letter-spacing: 0.32px;
2603
- color: var(--bt-color-text-caption);
3123
+ .checkbox_input:disabled ~ .checkbox_label {
3124
+ opacity: 0.38;
2604
3125
  }
2605
- .list_item_label {
2606
- font-family: "Pretendard", sans-serif;
2607
- font-size: 14px;
2608
- font-weight: 500;
2609
- line-height: 20px;
2610
- color: var(--bt-color-text-heading);
3126
+ .checkbox_input:disabled {
3127
+ cursor: not-allowed;
2611
3128
  }
2612
- .list_item_supporting {
2613
- font-family: "Pretendard", sans-serif;
2614
- font-size: 14px;
2615
- font-weight: 400;
2616
- line-height: 20px;
2617
- color: var(--bt-color-text-body);
3129
+ .checkbox_disabled {
3130
+ cursor: not-allowed;
2618
3131
  }
2619
- .list_item_metadata {
2620
- font-family: "Pretendard", sans-serif;
2621
- font-size: 14px;
2622
- font-weight: 400;
2623
- line-height: 20px;
2624
- color: var(--bt-color-text-body);
2625
- margin-top: 8px;
3132
+ .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
3133
+ .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
3134
+ background: var(--bt-color-accent-default);
3135
+ border-color: var(--bt-color-accent-default);
2626
3136
  }
2627
- .list_item_leading {
2628
- display: flex;
2629
- align-items: center;
2630
- justify-content: center;
2631
- flex-shrink: 0;
2632
- padding: 4px;
3137
+ .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon::after {
3138
+ content: "";
3139
+ position: absolute;
3140
+ left: 50%;
3141
+ top: 45%;
3142
+ width: 6px;
3143
+ height: 11px;
3144
+ border: 2px solid var(--bt-color-accent-on-surface);
3145
+ border-top: 0;
3146
+ border-left: 0;
3147
+ transform: translate(-50%, -50%) rotate(45deg);
3148
+ animation: checkbox_check_in 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
2633
3149
  }
2634
- .list_item_trailing {
2635
- display: flex;
2636
- align-items: flex-start;
2637
- justify-content: flex-end;
2638
- flex-shrink: 0;
3150
+ .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon::after {
3151
+ content: "";
3152
+ position: absolute;
3153
+ left: 50%;
3154
+ top: 50%;
3155
+ width: 12px;
3156
+ height: 2px;
3157
+ background: var(--bt-color-accent-on-surface);
3158
+ transform: translate(-50%, -50%);
3159
+ border: none;
3160
+ border-radius: 1px;
3161
+ animation: checkbox_dash_in 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
2639
3162
  }
2640
- .list_item_disabled {
2641
- opacity: 0.38;
2642
- pointer-events: none;
3163
+ .checkbox_error .checkbox_icon {
3164
+ border-color: var(--bt-color-status-error);
3165
+ }
3166
+ .checkbox_error .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
3167
+ .checkbox_error .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
3168
+ background: var(--bt-color-status-error);
3169
+ border-color: var(--bt-color-status-error);
3170
+ }
3171
+ @keyframes checkbox_check_in {
3172
+ from {
3173
+ opacity: 0;
3174
+ transform: translate(-50%, -50%) rotate(45deg) scale(0.5);
3175
+ }
3176
+ to {
3177
+ opacity: 1;
3178
+ transform: translate(-50%, -50%) rotate(45deg) scale(1);
3179
+ }
3180
+ }
3181
+ @keyframes checkbox_dash_in {
3182
+ from {
3183
+ opacity: 0;
3184
+ transform: translate(-50%, -50%) scaleX(0);
3185
+ }
3186
+ to {
3187
+ opacity: 1;
3188
+ transform: translate(-50%, -50%) scaleX(1);
3189
+ }
2643
3190
  }
2644
3191
  @media (prefers-reduced-motion: reduce) {
2645
- .list_item_interactive .list_item_state_layer::before {
2646
- transition: none;
3192
+ .checkbox_icon::after {
3193
+ animation: none;
2647
3194
  }
2648
3195
  }
2649
3196
 
2650
- /* src/ui/display/media-card/style.scss */
3197
+ /* src/ui/display/table/style.scss */
2651
3198
  @keyframes skeleton_loading {
2652
3199
  0% {
2653
3200
  background-position: 100% 0;
@@ -2656,414 +3203,467 @@ body:has(.bottom_nav) {
2656
3203
  background-position: 0 0;
2657
3204
  }
2658
3205
  }
2659
- .media_card {
2660
- position: relative;
2661
- display: flex;
2662
- background: var(--bt-color-bg-solid);
2663
- border-radius: 12px;
2664
- overflow: hidden;
2665
- transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
2666
- }
2667
- .media_card_shadow_sm {
2668
- box-shadow: var(--bt-elevation-level1);
2669
- }
2670
- .media_card_shadow_md {
2671
- box-shadow: var(--bt-elevation-level2);
2672
- }
2673
- .media_card_shadow_lg {
2674
- box-shadow: var(--bt-elevation-level3);
2675
- }
2676
- .media_card_bordered {
3206
+ .table_wrapper {
3207
+ width: 100%;
3208
+ overflow-x: auto;
3209
+ scrollbar-width: thin;
3210
+ scrollbar-color: var(--bt-color-border-hover) transparent;
2677
3211
  border: 1px solid var(--bt-color-border-default);
3212
+ border-radius: 8px;
3213
+ background: var(--bt-color-bg-solid);
2678
3214
  }
2679
- .media_card_clickable {
2680
- cursor: pointer;
2681
- }
2682
- .media_card_clickable:hover {
2683
- transform: translateY(-2px);
2684
- box-shadow: var(--bt-elevation-level3);
2685
- }
2686
- .media_card_image_wrap {
2687
- position: relative;
2688
- flex-shrink: 0;
2689
- background: var(--bt-color-bg-solid-dim);
3215
+ .table_sr_only {
3216
+ position: absolute;
3217
+ width: 1px;
3218
+ height: 1px;
3219
+ padding: 0;
3220
+ margin: -1px;
2690
3221
  overflow: hidden;
3222
+ clip: rect(0 0 0 0);
3223
+ clip-path: inset(50%);
3224
+ white-space: nowrap;
3225
+ border: 0;
2691
3226
  }
2692
- .media_card_image {
3227
+ .table {
2693
3228
  width: 100%;
2694
- height: 100%;
2695
- object-fit: cover;
2696
- display: block;
2697
- }
2698
- .media_card_body {
2699
- flex: 1;
2700
- display: flex;
2701
- flex-direction: column;
2702
- gap: 8px;
2703
- padding: 16px 20px;
3229
+ border-collapse: collapse;
3230
+ font-family: "Pretendard", sans-serif;
2704
3231
  }
2705
- .media_card_eyebrow {
2706
- font-size: 13px;
2707
- font-weight: 500;
2708
- line-height: 18px;
2709
- letter-spacing: 0px;
2710
- letter-spacing: 0.32px;
2711
- color: var(--bt-color-text-caption);
2712
- text-transform: uppercase;
3232
+ .table_thead {
3233
+ background: var(--bt-color-bg-solid-dim);
3234
+ border-bottom: 1px solid var(--bt-color-border-default);
2713
3235
  }
2714
- .media_card_heading {
2715
- font-size: 18px;
2716
- font-weight: 500;
2717
- line-height: 24px;
2718
- letter-spacing: 0px;
3236
+ .table_th {
3237
+ padding: 12px 16px;
3238
+ text-align: start;
2719
3239
  color: var(--bt-color-text-heading);
2720
- margin: 0;
2721
- }
2722
- .media_card_content {
3240
+ white-space: nowrap;
2723
3241
  font-size: 14px;
2724
- font-weight: 400;
3242
+ font-weight: 500;
2725
3243
  line-height: 20px;
2726
3244
  letter-spacing: 0px;
2727
- color: var(--bt-color-text-body);
2728
- flex: 1;
2729
3245
  }
2730
- .media_card_meta {
2731
- font-size: 13px;
2732
- font-weight: 400;
2733
- line-height: 18px;
2734
- letter-spacing: 0px;
2735
- color: var(--bt-color-text-caption);
2736
- margin-top: 4px;
3246
+ .table_th_checkbox,
3247
+ .table_td_checkbox {
3248
+ box-sizing: border-box;
3249
+ width: 48px;
2737
3250
  }
2738
- .media_card_image_top {
2739
- flex-direction: column;
3251
+ .table_th_sortable {
3252
+ padding: 0;
2740
3253
  }
2741
- .media_card_image_top .media_card_image_wrap:not([style*=aspect-ratio]) {
2742
- aspect-ratio: 16/9;
3254
+ .table_sort_button {
3255
+ display: flex;
3256
+ align-items: center;
3257
+ gap: 4px;
3258
+ width: 100%;
3259
+ padding: 12px 16px;
3260
+ border: none;
3261
+ background: transparent;
3262
+ color: inherit;
3263
+ font: inherit;
3264
+ cursor: pointer;
3265
+ transition: background 0.1s ease-in-out;
2743
3266
  }
2744
- .media_card_image_left {
2745
- flex-direction: row;
3267
+ .table_sort_button:hover:not(:disabled) {
3268
+ background: var(--bt-color-state-hover-on-light);
2746
3269
  }
2747
- .media_card_image_left .media_card_image_wrap {
2748
- width: 40%;
2749
- max-width: 320px;
3270
+ .table_sort_button:focus-visible {
3271
+ outline: none;
3272
+ box-shadow: var(--bt-focus-ring);
2750
3273
  }
2751
- @media (max-width: 599px) {
2752
- .media_card_image_left {
2753
- flex-direction: column;
2754
- }
2755
- .media_card_image_left .media_card_image_wrap {
2756
- width: 100%;
2757
- max-width: none;
2758
- aspect-ratio: 16/9;
2759
- }
3274
+ .table_sort_button:disabled {
3275
+ cursor: not-allowed;
3276
+ opacity: 0.38;
2760
3277
  }
2761
- .media_card_image_overlay {
2762
- display: block;
2763
- position: relative;
2764
- color: var(--bt-color-brand-on-primary);
3278
+ .table_align_center .table_sort_button {
3279
+ justify-content: center;
2765
3280
  }
2766
- .media_card_image_overlay:not([style*=aspect-ratio]) {
2767
- aspect-ratio: 4/3;
3281
+ .table_align_right .table_sort_button {
3282
+ justify-content: flex-end;
2768
3283
  }
2769
- .media_card_image_overlay .media_card_image_wrap {
2770
- position: absolute;
2771
- inset: 0;
2772
- z-index: 0;
3284
+ .table_sort_icon {
3285
+ flex-shrink: 0;
3286
+ color: var(--bt-color-text-caption);
3287
+ transition: color 0.1s ease-in-out;
2773
3288
  }
2774
- .media_card_image_overlay .media_card_overlay {
2775
- position: absolute;
2776
- inset: 0;
2777
- background:
2778
- linear-gradient(
2779
- 180deg,
2780
- rgba(0, 0, 0, 0) 30%,
2781
- rgba(0, 0, 0, 0.85) 100%);
2782
- pointer-events: none;
2783
- z-index: 1;
3289
+ .table_sort_icon_active {
3290
+ color: var(--bt-color-text-heading);
2784
3291
  }
2785
- .media_card_image_overlay .media_card_body {
2786
- position: absolute;
2787
- inset: 0;
2788
- z-index: 2;
2789
- display: flex;
2790
- flex-direction: column;
2791
- justify-content: flex-end;
3292
+ .table_tbody .table_row {
3293
+ border-bottom: 1px solid var(--bt-color-border-default);
3294
+ transition: background-color 0.1s ease-in-out;
2792
3295
  }
2793
- .media_card_image_overlay .media_card_eyebrow {
2794
- color: rgba(255, 255, 255, 0.75);
3296
+ .table_tbody .table_row:last-child {
3297
+ border-bottom: none;
2795
3298
  }
2796
- .media_card_image_overlay .media_card_heading {
2797
- color: var(--bt-color-brand-on-primary);
3299
+ .table_tbody .table_row_hoverable:hover {
3300
+ background: var(--bt-color-state-hover-on-light);
2798
3301
  }
2799
- .media_card_image_overlay .media_card_content {
2800
- color: rgba(255, 255, 255, 0.85);
2801
- flex: 0 0 auto;
3302
+ .table_tbody .table_row_clickable {
3303
+ cursor: pointer;
2802
3304
  }
2803
- .media_card_image_overlay .media_card_meta {
2804
- color: rgba(255, 255, 255, 0.6);
3305
+ .table_tbody .table_row_clickable:active {
3306
+ background: var(--bt-color-state-pressed-on-light);
2805
3307
  }
2806
- @media (prefers-reduced-motion: reduce) {
2807
- .media_card {
2808
- transition: none;
2809
- }
2810
- .media_card_clickable:hover {
2811
- transform: none;
2812
- }
3308
+ .table_tbody .table_row_clickable:focus-visible {
3309
+ outline: none;
3310
+ background: var(--bt-color-state-focus-on-light);
2813
3311
  }
2814
-
2815
- /* src/ui/display/prose/style.scss */
2816
- @keyframes skeleton_loading {
2817
- 0% {
2818
- background-position: 100% 0;
2819
- }
2820
- 100% {
2821
- background-position: 0 0;
2822
- }
3312
+ .table_tbody .table_row_skeleton {
3313
+ pointer-events: none;
2823
3314
  }
2824
- .prose {
2825
- font-family: "Pretendard", sans-serif;
2826
- color: var(--bt-color-text-heading);
2827
- font-size: 15px;
3315
+ .table_tbody .table_row_selected {
3316
+ background: var(--bt-color-accent-subtle);
3317
+ }
3318
+ .table_tbody .table_row_selected.table_row_hoverable:hover {
3319
+ background: var(--bt-color-accent-muted);
3320
+ }
3321
+ .table_td {
3322
+ padding: 12px 16px;
3323
+ color: var(--bt-color-text-body);
3324
+ vertical-align: middle;
3325
+ font-size: 14px;
2828
3326
  font-weight: 400;
2829
- line-height: 22.5px;
3327
+ line-height: 20px;
2830
3328
  letter-spacing: 0px;
2831
3329
  }
2832
- .prose p,
2833
- .prose ul,
2834
- .prose ol,
2835
- .prose blockquote,
2836
- .prose table,
2837
- .prose pre {
2838
- margin: 0 0 16px;
3330
+ .table_align_left {
3331
+ text-align: start;
2839
3332
  }
2840
- .prose > :last-child {
2841
- margin-bottom: 0;
3333
+ .table_align_center {
3334
+ text-align: center;
2842
3335
  }
2843
- .prose,
2844
- .prose p,
2845
- .prose li,
2846
- .prose blockquote,
2847
- .prose h1,
2848
- .prose h2,
2849
- .prose h3,
2850
- .prose h4,
2851
- .prose h5,
2852
- .prose h6,
2853
- .prose dl,
2854
- .prose dd,
2855
- .prose ul,
2856
- .prose ol {
2857
- white-space: normal;
3336
+ .table_align_right {
3337
+ text-align: end;
2858
3338
  }
2859
- .prose h1,
2860
- .prose h2,
2861
- .prose h3,
2862
- .prose h4,
2863
- .prose h5,
2864
- .prose h6 {
2865
- color: var(--bt-color-text-heading);
2866
- margin: 20px 0 8px;
3339
+ .table_size_sm .table_th,
3340
+ .table_size_sm .table_td {
3341
+ padding: 8px 12px;
3342
+ font-size: 13px;
3343
+ font-weight: 400;
3344
+ line-height: 18px;
3345
+ letter-spacing: 0px;
2867
3346
  }
2868
- .prose h1:first-child,
2869
- .prose h2:first-child,
2870
- .prose h3:first-child,
2871
- .prose h4:first-child,
2872
- .prose h5:first-child,
2873
- .prose h6:first-child {
2874
- margin-top: 0;
3347
+ .table_size_sm .table_th {
3348
+ font-size: 13px;
3349
+ font-weight: 500;
3350
+ line-height: 18px;
3351
+ letter-spacing: 0px;
2875
3352
  }
2876
- .prose h1 {
2877
- font-size: 24px;
2878
- font-weight: 700;
2879
- line-height: 32px;
2880
- letter-spacing: -0.01em;
2881
- padding-bottom: 8px;
2882
- border-bottom: 1px solid var(--bt-color-border-default);
3353
+ .table_size_sm .table_th_sortable {
3354
+ padding: 0;
2883
3355
  }
2884
- .prose h2 {
2885
- font-size: 20px;
2886
- font-weight: 700;
2887
- line-height: 28px;
2888
- letter-spacing: 0px;
3356
+ .table_size_sm .table_sort_button {
3357
+ padding: 8px 12px;
2889
3358
  }
2890
- .prose h3 {
2891
- font-size: 18px;
2892
- font-weight: 700;
2893
- line-height: 24px;
2894
- letter-spacing: 0px;
3359
+ .table_size_lg .table_th,
3360
+ .table_size_lg .table_td {
3361
+ padding: 16px 20px;
2895
3362
  }
2896
- .prose h4,
2897
- .prose h5,
2898
- .prose h6 {
3363
+ .table_size_lg .table_th {
2899
3364
  font-size: 16px;
2900
- font-weight: 700;
3365
+ font-weight: 500;
2901
3366
  line-height: 24px;
2902
3367
  letter-spacing: 0px;
2903
3368
  }
2904
- .prose ul,
2905
- .prose ol {
2906
- padding-left: 24px;
3369
+ .table_size_lg .table_td {
3370
+ font-size: 15px;
3371
+ font-weight: 400;
3372
+ line-height: 22.5px;
3373
+ letter-spacing: 0px;
2907
3374
  }
2908
- .prose ul {
2909
- list-style: disc;
3375
+ .table_size_lg .table_th_sortable {
3376
+ padding: 0;
2910
3377
  }
2911
- .prose ol {
2912
- list-style: decimal;
3378
+ .table_size_lg .table_sort_button {
3379
+ padding: 16px 20px;
2913
3380
  }
2914
- .prose li {
2915
- margin-bottom: 4px;
3381
+ .table_sticky_header .table_thead {
3382
+ position: sticky;
3383
+ top: 0;
3384
+ z-index: 10;
2916
3385
  }
2917
- .prose li > p {
2918
- margin-bottom: 0;
3386
+ .table_empty {
3387
+ padding: 40px 16px;
3388
+ text-align: center;
3389
+ color: var(--bt-color-text-caption);
3390
+ font-size: 14px;
3391
+ font-weight: 400;
3392
+ line-height: 20px;
3393
+ letter-spacing: 0px;
2919
3394
  }
2920
- .prose li ul,
2921
- .prose li ol {
2922
- margin: 4px 0 0;
3395
+ @media (prefers-reduced-motion: reduce) {
3396
+ .table_row,
3397
+ .table_sort_button,
3398
+ .table_sort_icon {
3399
+ transition: none;
3400
+ }
2923
3401
  }
2924
- .prose code {
2925
- font-family:
2926
- ui-monospace,
2927
- "SF Mono",
2928
- Menlo,
2929
- Consolas,
2930
- monospace;
3402
+
3403
+ /* src/ui/display/data-view/style.scss */
3404
+ @keyframes skeleton_loading {
3405
+ 0% {
3406
+ background-position: 100% 0;
3407
+ }
3408
+ 100% {
3409
+ background-position: 0 0;
3410
+ }
3411
+ }
3412
+ .data_view {
3413
+ display: flex;
3414
+ flex-direction: column;
3415
+ gap: 12px;
3416
+ width: 100%;
3417
+ }
3418
+ .data_view_toolbar {
3419
+ display: flex;
3420
+ align-items: center;
3421
+ gap: 8px;
3422
+ flex-wrap: wrap;
3423
+ }
3424
+ .data_view_search {
3425
+ flex: 1 1 200px;
3426
+ max-width: 320px;
3427
+ }
3428
+ .data_view_filters {
3429
+ display: flex;
3430
+ align-items: center;
3431
+ gap: 8px;
3432
+ flex-wrap: wrap;
3433
+ }
3434
+ .data_view_selection {
3435
+ display: flex;
3436
+ align-items: center;
3437
+ justify-content: space-between;
3438
+ gap: 12px;
3439
+ flex-wrap: wrap;
3440
+ padding: 8px 12px;
3441
+ border-radius: 8px;
3442
+ background: var(--bt-color-bg-solid-dim);
3443
+ }
3444
+ .data_view_selection_count {
2931
3445
  font-size: 13px;
3446
+ font-weight: 500;
2932
3447
  line-height: 18px;
2933
- background: var(--bt-color-bg-solid-dim);
3448
+ letter-spacing: 0px;
2934
3449
  color: var(--bt-color-text-heading);
2935
- border-radius: 4px;
2936
- padding: 0.2em 0.45em;
2937
3450
  }
2938
- .prose pre {
2939
- background: var(--bt-color-bg-inverse-surface);
2940
- border-radius: 8px;
2941
- padding: 20px;
2942
- overflow-x: auto;
3451
+ .data_view_selection_actions {
3452
+ display: flex;
3453
+ align-items: center;
3454
+ gap: 4px;
3455
+ flex-wrap: wrap;
2943
3456
  }
2944
- .prose pre code {
2945
- background: transparent;
2946
- color: var(--bt-color-text-inverse);
2947
- padding: 0;
2948
- border-radius: 0;
3457
+ .data_view_pagination {
3458
+ display: flex;
3459
+ justify-content: center;
3460
+ margin-top: 4px;
2949
3461
  }
2950
- .prose blockquote {
2951
- border-left: 4px solid var(--bt-color-accent-default);
2952
- background: color-mix(in srgb, var(--bt-color-accent-default) 5%, transparent);
2953
- border-radius: 0 6px 6px 0;
2954
- padding: 8px 12px;
2955
- color: var(--bt-color-text-body);
3462
+
3463
+ /* src/ui/display/divider/style.scss */
3464
+ @keyframes skeleton_loading {
3465
+ 0% {
3466
+ background-position: 100% 0;
3467
+ }
3468
+ 100% {
3469
+ background-position: 0 0;
3470
+ }
2956
3471
  }
2957
- .prose blockquote > :last-child {
2958
- margin-bottom: 0;
3472
+ .divider {
3473
+ border: none;
3474
+ margin: 0;
3475
+ width: 100%;
3476
+ background: var(--bt-color-border-default);
2959
3477
  }
2960
- .prose blockquote blockquote {
2961
- border-left: none;
2962
- padding-left: 0;
2963
- background: transparent;
2964
- margin-bottom: 0;
3478
+ .divider_weight_standard {
3479
+ height: 1px;
2965
3480
  }
2966
- .prose a {
2967
- color: var(--bt-color-accent-default);
2968
- text-decoration: underline;
2969
- text-underline-offset: 0.15em;
3481
+ .divider_weight_heavy {
3482
+ height: 2px;
2970
3483
  }
2971
- .prose a:hover {
2972
- text-decoration-thickness: 2px;
3484
+
3485
+ /* src/ui/display/hero/style.scss */
3486
+ @keyframes skeleton_loading {
3487
+ 0% {
3488
+ background-position: 100% 0;
3489
+ }
3490
+ 100% {
3491
+ background-position: 0 0;
3492
+ }
2973
3493
  }
2974
- .prose a:focus-visible {
2975
- outline: none;
2976
- border-radius: 4px;
2977
- box-shadow: var(--bt-focus-ring);
3494
+ .hero {
3495
+ position: relative;
3496
+ display: flex;
3497
+ width: 100%;
3498
+ background-size: cover;
3499
+ background-position: center;
3500
+ background-repeat: no-repeat;
3501
+ overflow: hidden;
2978
3502
  }
2979
- .prose strong {
2980
- font-weight: 600;
3503
+ .hero_height_sm {
3504
+ min-height: 320px;
2981
3505
  }
2982
- .prose em {
2983
- font-style: italic;
3506
+ .hero_height_md {
3507
+ min-height: 480px;
2984
3508
  }
2985
- .prose del {
2986
- text-decoration: line-through;
2987
- color: var(--bt-color-text-caption);
3509
+ .hero_height_lg {
3510
+ min-height: 640px;
2988
3511
  }
2989
- .prose hr {
2990
- border: none;
2991
- border-top: 2px solid var(--bt-color-border-default);
2992
- margin: 24px 0;
3512
+ .hero_height_full {
3513
+ min-height: 100vh;
2993
3514
  }
2994
- .prose img {
2995
- max-width: 100%;
2996
- height: auto;
2997
- border-radius: 6px;
2998
- display: block;
2999
- margin: 16px auto;
3515
+ @media (max-width: 599px) {
3516
+ .hero_height_sm {
3517
+ min-height: 240px;
3518
+ }
3519
+ .hero_height_md {
3520
+ min-height: 360px;
3521
+ }
3522
+ .hero_height_lg {
3523
+ min-height: 480px;
3524
+ }
3000
3525
  }
3001
- .prose table {
3002
- display: block;
3526
+ .hero .hero_overlay {
3527
+ position: absolute;
3528
+ inset: 0;
3529
+ pointer-events: none;
3530
+ z-index: 10;
3531
+ }
3532
+ .hero_overlay_dark .hero_overlay {
3533
+ background:
3534
+ linear-gradient(
3535
+ 180deg,
3536
+ rgba(0, 0, 0, 0.1) 0%,
3537
+ rgba(0, 0, 0, 0.55) 100%);
3538
+ }
3539
+ .hero_overlay_light .hero_overlay {
3540
+ background:
3541
+ linear-gradient(
3542
+ 180deg,
3543
+ rgba(255, 255, 255, 0.1) 0%,
3544
+ rgba(255, 255, 255, 0.7) 100%);
3545
+ }
3546
+ .hero_overlay_light.hero_text_default .hero_eyebrow {
3547
+ color: rgba(0, 0, 0, 0.6);
3548
+ }
3549
+ .hero_overlay_light.hero_text_default .hero_title {
3550
+ color: var(--bt-color-brand-primary);
3551
+ }
3552
+ .hero_overlay_light.hero_text_default .hero_subtitle {
3553
+ color: rgba(0, 0, 0, 0.85);
3554
+ }
3555
+ .hero_content {
3556
+ position: relative;
3557
+ z-index: 100;
3003
3558
  width: 100%;
3004
- overflow-x: auto;
3005
- border-collapse: collapse;
3559
+ max-width: 1200px;
3560
+ margin: 0 auto;
3561
+ padding: 48px 24px;
3562
+ display: flex;
3563
+ flex-direction: column;
3564
+ gap: 16px;
3565
+ align-self: center;
3006
3566
  }
3007
- .prose pre[tabindex]:focus-visible,
3008
- .prose table[tabindex]:focus-visible {
3009
- outline: none;
3010
- box-shadow: var(--bt-focus-ring);
3567
+ @media (max-width: 599px) {
3568
+ .hero_content {
3569
+ padding: 32px 20px;
3570
+ gap: 12px;
3571
+ }
3011
3572
  }
3012
- .prose th,
3013
- .prose td {
3014
- padding: 4px 12px;
3015
- border: 1px solid var(--bt-color-border-default);
3016
- text-align: left;
3017
- white-space: nowrap;
3573
+ .hero_align_left .hero_content {
3574
+ text-align: start;
3575
+ align-items: flex-start;
3018
3576
  }
3019
- .prose th {
3020
- background: var(--bt-color-bg-solid-dim);
3021
- font-weight: 600;
3577
+ .hero_align_center .hero_content {
3578
+ text-align: center;
3579
+ align-items: center;
3022
3580
  }
3023
- .prose_size_lg {
3024
- font-size: 16px;
3025
- line-height: 28px;
3581
+ .hero_align_right .hero_content {
3582
+ text-align: end;
3583
+ align-items: flex-end;
3026
3584
  }
3027
- .prose_size_lg h1,
3028
- .prose_size_lg h2,
3029
- .prose_size_lg h3,
3030
- .prose_size_lg h4,
3031
- .prose_size_lg h5,
3032
- .prose_size_lg h6 {
3033
- margin-top: 32px;
3585
+ .hero_text_default .hero_eyebrow {
3586
+ color: var(--bt-color-text-caption);
3034
3587
  }
3035
- .prose_size_lg h1 {
3036
- font-size: 28px;
3037
- font-weight: 700;
3038
- line-height: 36px;
3039
- letter-spacing: -0.01em;
3588
+ .hero_text_default .hero_title {
3589
+ color: var(--bt-color-text-heading);
3590
+ }
3591
+ .hero_text_default .hero_subtitle {
3592
+ color: var(--bt-color-text-body);
3593
+ }
3594
+ .hero_text_inverse .hero_eyebrow {
3595
+ color: rgba(255, 255, 255, 0.7);
3596
+ }
3597
+ .hero_text_inverse .hero_title {
3598
+ color: var(--bt-color-brand-on-primary);
3599
+ }
3600
+ .hero_text_inverse .hero_subtitle {
3601
+ color: rgba(255, 255, 255, 0.85);
3602
+ }
3603
+ .hero_text_inverse .hero_actions .button_variant_outline {
3604
+ border-color: rgba(255, 255, 255, 0.55);
3605
+ color: var(--bt-color-brand-on-primary);
3606
+ }
3607
+ .hero_text_inverse .hero_actions .button_variant_outline:hover:not(:disabled)::before {
3608
+ background: var(--bt-color-state-hover-on-dark);
3609
+ }
3610
+ .hero_text_inverse .hero_actions .button_variant_outline:focus-visible:not(:disabled)::before {
3611
+ background: var(--bt-color-state-focus-on-dark);
3612
+ }
3613
+ .hero_text_inverse .hero_actions .button_variant_outline:active:not(:disabled)::before {
3614
+ background: var(--bt-color-state-pressed-on-dark);
3615
+ }
3616
+ .hero_text_inverse .hero_actions .button_variant_text {
3617
+ color: rgba(255, 255, 255, 0.9);
3618
+ }
3619
+ .hero_text_inverse .hero_actions .button_variant_text:hover:not(:disabled)::before {
3620
+ background: var(--bt-color-state-hover-on-dark);
3621
+ }
3622
+ .hero_text_inverse .hero_actions .button_variant_text:focus-visible:not(:disabled)::before {
3623
+ background: var(--bt-color-state-focus-on-dark);
3040
3624
  }
3041
- .prose_size_lg h2 {
3042
- font-size: 24px;
3043
- font-weight: 700;
3044
- line-height: 32px;
3045
- letter-spacing: -0.01em;
3625
+ .hero_text_inverse .hero_actions .button_variant_text:active:not(:disabled)::before {
3626
+ background: var(--bt-color-state-pressed-on-dark);
3046
3627
  }
3047
- .prose_size_lg h3 {
3048
- font-size: 20px;
3049
- font-weight: 700;
3050
- line-height: 28px;
3628
+ .hero_eyebrow {
3629
+ font-size: 14px;
3630
+ font-weight: 500;
3631
+ line-height: 20px;
3632
+ letter-spacing: 0px;
3633
+ letter-spacing: 0.32px;
3634
+ text-transform: uppercase;
3635
+ }
3636
+ .hero_title {
3637
+ font-size: 32px;
3638
+ font-weight: 500;
3639
+ line-height: 40px;
3051
3640
  letter-spacing: 0px;
3641
+ margin: 0;
3052
3642
  }
3053
- .prose_size_lg h4,
3054
- .prose_size_lg h5,
3055
- .prose_size_lg h6 {
3056
- font-size: 18px;
3057
- font-weight: 700;
3643
+ @media (max-width: 599px) {
3644
+ .hero_title {
3645
+ font-size: 28px;
3646
+ font-weight: 500;
3647
+ line-height: 36px;
3648
+ letter-spacing: 0px;
3649
+ }
3650
+ }
3651
+ .hero_subtitle {
3652
+ font-size: 16px;
3653
+ font-weight: 400;
3058
3654
  line-height: 24px;
3059
3655
  letter-spacing: 0px;
3060
- line-height: 28px;
3656
+ margin: 0;
3657
+ max-width: 640px;
3061
3658
  }
3062
- .prose_size_lg li {
3063
- margin-bottom: 8px;
3659
+ .hero_actions {
3660
+ display: flex;
3661
+ gap: 8px;
3662
+ margin-top: 8px;
3663
+ flex-wrap: wrap;
3064
3664
  }
3065
3665
 
3066
- /* src/ui/feedback/skeleton/style.scss */
3666
+ /* src/ui/display/list-item/style.scss */
3067
3667
  @keyframes skeleton_loading {
3068
3668
  0% {
3069
3669
  background-position: 100% 0;
@@ -3072,63 +3672,126 @@ body:has(.bottom_nav) {
3072
3672
  background-position: 0 0;
3073
3673
  }
3074
3674
  }
3075
- .skeleton {
3076
- display: block;
3077
- background:
3078
- linear-gradient(
3079
- 90deg,
3080
- var(--bt-color-skeleton-base, #F3F3F3) 25%,
3081
- var(--bt-color-skeleton-highlight, #fafafa) 37%,
3082
- var(--bt-color-skeleton-wave, #f0f0f0) 63%);
3083
- background-size: 400% 100%;
3084
- border-radius: 8px;
3085
- animation: skeleton_loading 1.4s ease-in-out infinite;
3086
- will-change: background-position;
3675
+ .list_item {
3676
+ position: relative;
3677
+ display: flex;
3678
+ flex-direction: column;
3679
+ align-items: stretch;
3680
+ min-height: 52px;
3681
+ border: 1px solid var(--bt-color-border-default);
3682
+ border-radius: 12px;
3683
+ overflow: hidden;
3684
+ background: var(--bt-color-bg-solid);
3087
3685
  }
3088
- .skeleton_variant_text {
3089
- width: 100%;
3090
- height: 0.75rem;
3686
+ .list_item_state_layer {
3687
+ display: flex;
3688
+ gap: 4px;
3689
+ align-items: flex-start;
3690
+ min-height: 52px;
3691
+ padding-left: 16px;
3692
+ padding-right: 16px;
3693
+ position: relative;
3091
3694
  }
3092
- .skeleton_variant_title {
3093
- width: 100%;
3094
- height: 1.25rem;
3695
+ .list_item_align_middle > .list_item_state_layer {
3696
+ align-items: center;
3095
3697
  }
3096
- .skeleton_variant_avatar {
3097
- width: 2.5rem;
3098
- height: 2.5rem;
3099
- border-radius: 12px;
3698
+ .list_item_selected {
3699
+ background: var(--bt-color-accent-subtle);
3700
+ position: relative;
3100
3701
  }
3101
- .skeleton_variant_rect {
3102
- width: 100%;
3103
- height: 5rem;
3702
+ .list_item_selected::after {
3703
+ content: "";
3704
+ position: absolute;
3705
+ left: 0;
3706
+ top: 0;
3707
+ bottom: 0;
3708
+ width: 3px;
3709
+ background: var(--bt-color-accent-default);
3104
3710
  }
3105
- .skeleton_radius_sm {
3106
- border-radius: 6px;
3711
+ .list_item_interactive {
3712
+ cursor: pointer;
3107
3713
  }
3108
- .skeleton_radius_md {
3109
- border-radius: 8px;
3714
+ .list_item_interactive .list_item_state_layer::before {
3715
+ content: "";
3716
+ position: absolute;
3717
+ top: 0;
3718
+ right: 0;
3719
+ bottom: 0;
3720
+ left: 0;
3721
+ transition: background 0.2s ease-in-out;
3722
+ pointer-events: none;
3110
3723
  }
3111
- .skeleton_radius_lg {
3112
- border-radius: 12px;
3724
+ .list_item_interactive:hover .list_item_state_layer::before {
3725
+ background: var(--bt-color-state-hover-on-light);
3113
3726
  }
3114
- .skeleton_radius_full {
3115
- border-radius: 9999px;
3727
+ .list_item_interactive:focus-visible .list_item_state_layer::before {
3728
+ background: var(--bt-color-state-focus-on-light);
3116
3729
  }
3117
- @keyframes skeleton_loading {
3118
- 0% {
3119
- background-position: 100% 0;
3120
- }
3121
- 100% {
3122
- background-position: 0 0;
3123
- }
3730
+ .list_item_interactive:active .list_item_state_layer::before {
3731
+ background: var(--bt-color-state-pressed-on-light);
3732
+ }
3733
+ .list_item_content {
3734
+ flex: 1;
3735
+ display: flex;
3736
+ flex-direction: column;
3737
+ gap: 2px;
3738
+ min-width: 0;
3739
+ padding: 12px 0;
3740
+ }
3741
+ .list_item_overline {
3742
+ font-family: "Pretendard", sans-serif;
3743
+ font-size: 12px;
3744
+ font-weight: 400;
3745
+ line-height: 16px;
3746
+ letter-spacing: 0.32px;
3747
+ color: var(--bt-color-text-caption);
3748
+ }
3749
+ .list_item_label {
3750
+ font-family: "Pretendard", sans-serif;
3751
+ font-size: 14px;
3752
+ font-weight: 500;
3753
+ line-height: 20px;
3754
+ color: var(--bt-color-text-heading);
3755
+ }
3756
+ .list_item_supporting {
3757
+ font-family: "Pretendard", sans-serif;
3758
+ font-size: 14px;
3759
+ font-weight: 400;
3760
+ line-height: 20px;
3761
+ color: var(--bt-color-text-body);
3762
+ }
3763
+ .list_item_metadata {
3764
+ font-family: "Pretendard", sans-serif;
3765
+ font-size: 14px;
3766
+ font-weight: 400;
3767
+ line-height: 20px;
3768
+ color: var(--bt-color-text-body);
3769
+ margin-top: 8px;
3770
+ }
3771
+ .list_item_leading {
3772
+ display: flex;
3773
+ align-items: center;
3774
+ justify-content: center;
3775
+ flex-shrink: 0;
3776
+ padding: 4px;
3777
+ }
3778
+ .list_item_trailing {
3779
+ display: flex;
3780
+ align-items: flex-start;
3781
+ justify-content: flex-end;
3782
+ flex-shrink: 0;
3783
+ }
3784
+ .list_item_disabled {
3785
+ opacity: 0.38;
3786
+ pointer-events: none;
3124
3787
  }
3125
3788
  @media (prefers-reduced-motion: reduce) {
3126
- .skeleton {
3127
- animation: none;
3789
+ .list_item_interactive .list_item_state_layer::before {
3790
+ transition: none;
3128
3791
  }
3129
3792
  }
3130
3793
 
3131
- /* src/ui/forms/checkbox/style.scss */
3794
+ /* src/ui/display/media-card/style.scss */
3132
3795
  @keyframes skeleton_loading {
3133
3796
  0% {
3134
3797
  background-position: 100% 0;
@@ -3137,138 +3800,163 @@ body:has(.bottom_nav) {
3137
3800
  background-position: 0 0;
3138
3801
  }
3139
3802
  }
3140
- .checkbox {
3141
- display: inline-flex;
3142
- align-items: center;
3803
+ .media_card {
3804
+ position: relative;
3805
+ display: flex;
3806
+ background: var(--bt-color-bg-solid);
3807
+ border-radius: 12px;
3808
+ overflow: hidden;
3809
+ transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
3810
+ }
3811
+ .media_card_shadow_sm {
3812
+ box-shadow: var(--bt-elevation-level1);
3813
+ }
3814
+ .media_card_shadow_md {
3815
+ box-shadow: var(--bt-elevation-level2);
3816
+ }
3817
+ .media_card_shadow_lg {
3818
+ box-shadow: var(--bt-elevation-level3);
3819
+ }
3820
+ .media_card_bordered {
3821
+ border: 1px solid var(--bt-color-border-default);
3822
+ }
3823
+ .media_card_clickable {
3143
3824
  cursor: pointer;
3144
- user-select: none;
3145
- padding: 4px;
3146
3825
  }
3147
- .checkbox_input {
3148
- position: absolute;
3149
- width: 1px;
3150
- height: 1px;
3151
- padding: 0;
3152
- margin: -1px;
3826
+ .media_card_clickable:hover {
3827
+ transform: translateY(-2px);
3828
+ box-shadow: var(--bt-elevation-level3);
3829
+ }
3830
+ .media_card_image_wrap {
3831
+ position: relative;
3832
+ flex-shrink: 0;
3833
+ background: var(--bt-color-bg-solid-dim);
3153
3834
  overflow: hidden;
3154
- clip: rect(0 0 0 0);
3155
- clip-path: inset(50%);
3156
- white-space: nowrap;
3157
- border: 0;
3158
3835
  }
3159
- .checkbox_state_layer {
3160
- display: inline-flex;
3161
- align-items: center;
3162
- justify-content: center;
3163
- padding: 8px;
3164
- border-radius: 9999px;
3165
- transition: background 0.2s ease-in-out;
3836
+ .media_card_image {
3837
+ width: 100%;
3838
+ height: 100%;
3839
+ object-fit: cover;
3840
+ display: block;
3841
+ }
3842
+ .media_card_body {
3843
+ flex: 1;
3844
+ display: flex;
3845
+ flex-direction: column;
3846
+ gap: 8px;
3847
+ padding: 16px 20px;
3848
+ }
3849
+ .media_card_eyebrow {
3850
+ font-size: 13px;
3851
+ font-weight: 500;
3852
+ line-height: 18px;
3853
+ letter-spacing: 0px;
3854
+ letter-spacing: 0.32px;
3855
+ color: var(--bt-color-text-caption);
3856
+ text-transform: uppercase;
3166
3857
  }
3167
- .checkbox_icon {
3168
- width: 24px;
3169
- height: 24px;
3170
- box-sizing: border-box;
3171
- border: 2px solid var(--bt-color-text-heading);
3172
- border-radius: 4px;
3173
- background: transparent;
3174
- position: relative;
3175
- transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
3858
+ .media_card_heading {
3859
+ font-size: 18px;
3860
+ font-weight: 500;
3861
+ line-height: 24px;
3862
+ letter-spacing: 0px;
3863
+ color: var(--bt-color-text-heading);
3864
+ margin: 0;
3176
3865
  }
3177
- .checkbox_label {
3866
+ .media_card_content {
3178
3867
  font-size: 14px;
3179
3868
  font-weight: 400;
3180
3869
  line-height: 20px;
3181
3870
  letter-spacing: 0px;
3182
- color: var(--bt-color-text-heading);
3183
- margin-left: 4px;
3871
+ color: var(--bt-color-text-body);
3872
+ flex: 1;
3184
3873
  }
3185
- .checkbox:hover .checkbox_state_layer {
3186
- background: var(--bt-color-state-hover-on-light);
3874
+ .media_card_meta {
3875
+ font-size: 13px;
3876
+ font-weight: 400;
3877
+ line-height: 18px;
3878
+ letter-spacing: 0px;
3879
+ color: var(--bt-color-text-caption);
3880
+ margin-top: 4px;
3187
3881
  }
3188
- .checkbox_input:focus-visible ~ .checkbox_state_layer {
3189
- background: var(--bt-color-state-focus-on-light);
3882
+ .media_card_image_top {
3883
+ flex-direction: column;
3190
3884
  }
3191
- .checkbox:active .checkbox_state_layer {
3192
- background: var(--bt-color-state-pressed-on-light);
3885
+ .media_card_image_top .media_card_image_wrap:not([style*=aspect-ratio]) {
3886
+ aspect-ratio: 16/9;
3193
3887
  }
3194
- .checkbox_input:disabled ~ .checkbox_state_layer {
3195
- opacity: 0.38;
3888
+ .media_card_image_left {
3889
+ flex-direction: row;
3196
3890
  }
3197
- .checkbox_input:disabled ~ .checkbox_label {
3198
- opacity: 0.38;
3891
+ .media_card_image_left .media_card_image_wrap {
3892
+ width: 40%;
3893
+ max-width: 320px;
3199
3894
  }
3200
- .checkbox_input:disabled {
3201
- cursor: not-allowed;
3895
+ @media (max-width: 599px) {
3896
+ .media_card_image_left {
3897
+ flex-direction: column;
3898
+ }
3899
+ .media_card_image_left .media_card_image_wrap {
3900
+ width: 100%;
3901
+ max-width: none;
3902
+ aspect-ratio: 16/9;
3903
+ }
3202
3904
  }
3203
- .checkbox_disabled {
3204
- cursor: not-allowed;
3905
+ .media_card_image_overlay {
3906
+ display: block;
3907
+ position: relative;
3908
+ color: var(--bt-color-brand-on-primary);
3205
3909
  }
3206
- .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
3207
- .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
3208
- background: var(--bt-color-accent-default);
3209
- border-color: var(--bt-color-accent-default);
3910
+ .media_card_image_overlay:not([style*=aspect-ratio]) {
3911
+ aspect-ratio: 4/3;
3210
3912
  }
3211
- .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon::after {
3212
- content: "";
3913
+ .media_card_image_overlay .media_card_image_wrap {
3213
3914
  position: absolute;
3214
- left: 50%;
3215
- top: 45%;
3216
- width: 6px;
3217
- height: 11px;
3218
- border: 2px solid var(--bt-color-accent-on-surface);
3219
- border-top: 0;
3220
- border-left: 0;
3221
- transform: translate(-50%, -50%) rotate(45deg);
3222
- animation: checkbox_check_in 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
3915
+ inset: 0;
3916
+ z-index: 0;
3223
3917
  }
3224
- .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon::after {
3225
- content: "";
3918
+ .media_card_image_overlay .media_card_overlay {
3226
3919
  position: absolute;
3227
- left: 50%;
3228
- top: 50%;
3229
- width: 12px;
3230
- height: 2px;
3231
- background: var(--bt-color-accent-on-surface);
3232
- transform: translate(-50%, -50%);
3233
- border: none;
3234
- border-radius: 1px;
3235
- animation: checkbox_dash_in 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
3920
+ inset: 0;
3921
+ background:
3922
+ linear-gradient(
3923
+ 180deg,
3924
+ rgba(0, 0, 0, 0) 30%,
3925
+ rgba(0, 0, 0, 0.85) 100%);
3926
+ pointer-events: none;
3927
+ z-index: 1;
3236
3928
  }
3237
- .checkbox_error .checkbox_icon {
3238
- border-color: var(--bt-color-status-error);
3929
+ .media_card_image_overlay .media_card_body {
3930
+ position: absolute;
3931
+ inset: 0;
3932
+ z-index: 2;
3933
+ display: flex;
3934
+ flex-direction: column;
3935
+ justify-content: flex-end;
3239
3936
  }
3240
- .checkbox_error .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
3241
- .checkbox_error .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
3242
- background: var(--bt-color-status-error);
3243
- border-color: var(--bt-color-status-error);
3937
+ .media_card_image_overlay .media_card_eyebrow {
3938
+ color: rgba(255, 255, 255, 0.75);
3244
3939
  }
3245
- @keyframes checkbox_check_in {
3246
- from {
3247
- opacity: 0;
3248
- transform: translate(-50%, -50%) rotate(45deg) scale(0.5);
3249
- }
3250
- to {
3251
- opacity: 1;
3252
- transform: translate(-50%, -50%) rotate(45deg) scale(1);
3253
- }
3940
+ .media_card_image_overlay .media_card_heading {
3941
+ color: var(--bt-color-brand-on-primary);
3254
3942
  }
3255
- @keyframes checkbox_dash_in {
3256
- from {
3257
- opacity: 0;
3258
- transform: translate(-50%, -50%) scaleX(0);
3259
- }
3260
- to {
3261
- opacity: 1;
3262
- transform: translate(-50%, -50%) scaleX(1);
3263
- }
3943
+ .media_card_image_overlay .media_card_content {
3944
+ color: rgba(255, 255, 255, 0.85);
3945
+ flex: 0 0 auto;
3946
+ }
3947
+ .media_card_image_overlay .media_card_meta {
3948
+ color: rgba(255, 255, 255, 0.6);
3264
3949
  }
3265
3950
  @media (prefers-reduced-motion: reduce) {
3266
- .checkbox_icon::after {
3267
- animation: none;
3951
+ .media_card {
3952
+ transition: none;
3953
+ }
3954
+ .media_card_clickable:hover {
3955
+ transform: none;
3268
3956
  }
3269
3957
  }
3270
3958
 
3271
- /* src/ui/display/table/style.scss */
3959
+ /* src/ui/display/prose/style.scss */
3272
3960
  @keyframes skeleton_loading {
3273
3961
  0% {
3274
3962
  background-position: 100% 0;
@@ -3277,199 +3965,250 @@ body:has(.bottom_nav) {
3277
3965
  background-position: 0 0;
3278
3966
  }
3279
3967
  }
3280
- .table_wrapper {
3281
- width: 100%;
3282
- overflow-x: auto;
3283
- border: 1px solid var(--bt-color-border-default);
3284
- border-radius: 8px;
3285
- background: var(--bt-color-bg-solid);
3968
+ .prose {
3969
+ font-family: "Pretendard", sans-serif;
3970
+ color: var(--bt-color-text-heading);
3971
+ font-size: 15px;
3972
+ font-weight: 400;
3973
+ line-height: 22.5px;
3974
+ letter-spacing: 0px;
3286
3975
  }
3287
- .table_sr_only {
3288
- position: absolute;
3289
- width: 1px;
3290
- height: 1px;
3291
- padding: 0;
3292
- margin: -1px;
3293
- overflow: hidden;
3294
- clip: rect(0 0 0 0);
3295
- clip-path: inset(50%);
3296
- white-space: nowrap;
3297
- border: 0;
3976
+ .prose p,
3977
+ .prose ul,
3978
+ .prose ol,
3979
+ .prose blockquote,
3980
+ .prose table,
3981
+ .prose pre {
3982
+ margin: 0 0 16px;
3298
3983
  }
3299
- .table {
3300
- width: 100%;
3301
- border-collapse: collapse;
3302
- font-family: "Pretendard", sans-serif;
3984
+ .prose > :last-child {
3985
+ margin-bottom: 0;
3303
3986
  }
3304
- .table_thead {
3305
- background: var(--bt-color-bg-solid-dim);
3306
- border-bottom: 1px solid var(--bt-color-border-default);
3987
+ .prose,
3988
+ .prose p,
3989
+ .prose li,
3990
+ .prose blockquote,
3991
+ .prose h1,
3992
+ .prose h2,
3993
+ .prose h3,
3994
+ .prose h4,
3995
+ .prose h5,
3996
+ .prose h6,
3997
+ .prose dl,
3998
+ .prose dd,
3999
+ .prose ul,
4000
+ .prose ol {
4001
+ white-space: normal;
3307
4002
  }
3308
- .table_th {
3309
- padding: 12px 16px;
3310
- text-align: start;
4003
+ .prose h1,
4004
+ .prose h2,
4005
+ .prose h3,
4006
+ .prose h4,
4007
+ .prose h5,
4008
+ .prose h6 {
3311
4009
  color: var(--bt-color-text-heading);
3312
- white-space: nowrap;
3313
- font-size: 14px;
3314
- font-weight: 500;
3315
- line-height: 20px;
3316
- letter-spacing: 0px;
4010
+ margin: 20px 0 8px;
4011
+ }
4012
+ .prose h1:first-child,
4013
+ .prose h2:first-child,
4014
+ .prose h3:first-child,
4015
+ .prose h4:first-child,
4016
+ .prose h5:first-child,
4017
+ .prose h6:first-child {
4018
+ margin-top: 0;
4019
+ }
4020
+ .prose h1 {
4021
+ font-size: 24px;
4022
+ font-weight: 700;
4023
+ line-height: 32px;
4024
+ letter-spacing: -0.01em;
4025
+ padding-bottom: 8px;
4026
+ border-bottom: 1px solid var(--bt-color-border-default);
3317
4027
  }
3318
- .table_th_checkbox,
3319
- .table_td_checkbox {
3320
- box-sizing: border-box;
3321
- width: 48px;
4028
+ .prose h2 {
4029
+ font-size: 20px;
4030
+ font-weight: 700;
4031
+ line-height: 28px;
4032
+ letter-spacing: 0px;
3322
4033
  }
3323
- .table_th_sortable {
3324
- padding: 0;
4034
+ .prose h3 {
4035
+ font-size: 18px;
4036
+ font-weight: 700;
4037
+ line-height: 24px;
4038
+ letter-spacing: 0px;
3325
4039
  }
3326
- .table_sort_button {
3327
- display: flex;
3328
- align-items: center;
3329
- gap: 4px;
3330
- width: 100%;
3331
- padding: 12px 16px;
3332
- border: none;
3333
- background: transparent;
3334
- color: inherit;
3335
- font: inherit;
3336
- cursor: pointer;
3337
- transition: background 0.1s ease-in-out;
4040
+ .prose h4,
4041
+ .prose h5,
4042
+ .prose h6 {
4043
+ font-size: 16px;
4044
+ font-weight: 700;
4045
+ line-height: 24px;
4046
+ letter-spacing: 0px;
3338
4047
  }
3339
- .table_sort_button:hover:not(:disabled) {
3340
- background: var(--bt-color-state-hover-on-light);
4048
+ .prose ul,
4049
+ .prose ol {
4050
+ padding-left: 24px;
3341
4051
  }
3342
- .table_sort_button:focus-visible {
3343
- outline: none;
3344
- box-shadow: var(--bt-focus-ring);
4052
+ .prose ul {
4053
+ list-style: disc;
3345
4054
  }
3346
- .table_sort_button:disabled {
3347
- cursor: not-allowed;
3348
- opacity: 0.38;
4055
+ .prose ol {
4056
+ list-style: decimal;
3349
4057
  }
3350
- .table_align_center .table_sort_button {
3351
- justify-content: center;
4058
+ .prose li {
4059
+ margin-bottom: 4px;
3352
4060
  }
3353
- .table_align_right .table_sort_button {
3354
- justify-content: flex-end;
4061
+ .prose li > p {
4062
+ margin-bottom: 0;
3355
4063
  }
3356
- .table_sort_icon {
3357
- flex-shrink: 0;
3358
- color: var(--bt-color-text-caption);
3359
- transition: color 0.1s ease-in-out;
4064
+ .prose li ul,
4065
+ .prose li ol {
4066
+ margin: 4px 0 0;
3360
4067
  }
3361
- .table_sort_icon_active {
4068
+ .prose code {
4069
+ font-family:
4070
+ ui-monospace,
4071
+ "SF Mono",
4072
+ Menlo,
4073
+ Consolas,
4074
+ monospace;
4075
+ font-size: 13px;
4076
+ line-height: 18px;
4077
+ background: var(--bt-color-bg-solid-dim);
3362
4078
  color: var(--bt-color-text-heading);
4079
+ border-radius: 4px;
4080
+ padding: 0.2em 0.45em;
3363
4081
  }
3364
- .table_tbody .table_row {
3365
- border-bottom: 1px solid var(--bt-color-border-default);
3366
- transition: background-color 0.1s ease-in-out;
3367
- }
3368
- .table_tbody .table_row:last-child {
3369
- border-bottom: none;
4082
+ .prose pre {
4083
+ background: var(--bt-color-bg-inverse-surface);
4084
+ border-radius: 8px;
4085
+ padding: 20px;
4086
+ overflow-x: auto;
4087
+ scrollbar-width: thin;
4088
+ scrollbar-color: var(--bt-color-border-hover) transparent;
3370
4089
  }
3371
- .table_tbody .table_row_hoverable:hover {
3372
- background: var(--bt-color-state-hover-on-light);
4090
+ .prose pre code {
4091
+ background: transparent;
4092
+ color: var(--bt-color-text-inverse);
4093
+ padding: 0;
4094
+ border-radius: 0;
3373
4095
  }
3374
- .table_tbody .table_row_clickable {
3375
- cursor: pointer;
4096
+ .prose blockquote {
4097
+ border-left: 4px solid var(--bt-color-accent-default);
4098
+ background: color-mix(in srgb, var(--bt-color-accent-default) 5%, transparent);
4099
+ border-radius: 0 6px 6px 0;
4100
+ padding: 8px 12px;
4101
+ color: var(--bt-color-text-body);
3376
4102
  }
3377
- .table_tbody .table_row_clickable:active {
3378
- background: var(--bt-color-state-pressed-on-light);
4103
+ .prose blockquote > :last-child {
4104
+ margin-bottom: 0;
3379
4105
  }
3380
- .table_tbody .table_row_clickable:focus-visible {
3381
- outline: none;
3382
- background: var(--bt-color-state-focus-on-light);
4106
+ .prose blockquote blockquote {
4107
+ border-left: none;
4108
+ padding-left: 0;
4109
+ background: transparent;
4110
+ margin-bottom: 0;
3383
4111
  }
3384
- .table_tbody .table_row_skeleton {
3385
- pointer-events: none;
4112
+ .prose a {
4113
+ color: var(--bt-color-accent-default);
4114
+ text-decoration: underline;
4115
+ text-underline-offset: 0.15em;
3386
4116
  }
3387
- .table_tbody .table_row_selected {
3388
- background: var(--bt-color-accent-subtle);
4117
+ .prose a:hover {
4118
+ text-decoration-thickness: 2px;
3389
4119
  }
3390
- .table_tbody .table_row_selected.table_row_hoverable:hover {
3391
- background: var(--bt-color-accent-muted);
4120
+ .prose a:focus-visible {
4121
+ outline: none;
4122
+ border-radius: 4px;
4123
+ box-shadow: var(--bt-focus-ring);
3392
4124
  }
3393
- .table_td {
3394
- padding: 12px 16px;
3395
- color: var(--bt-color-text-body);
3396
- vertical-align: middle;
3397
- font-size: 14px;
3398
- font-weight: 400;
3399
- line-height: 20px;
3400
- letter-spacing: 0px;
4125
+ .prose strong {
4126
+ font-weight: 600;
3401
4127
  }
3402
- .table_align_left {
3403
- text-align: start;
4128
+ .prose em {
4129
+ font-style: italic;
3404
4130
  }
3405
- .table_align_center {
3406
- text-align: center;
4131
+ .prose del {
4132
+ text-decoration: line-through;
4133
+ color: var(--bt-color-text-caption);
3407
4134
  }
3408
- .table_align_right {
3409
- text-align: end;
4135
+ .prose hr {
4136
+ border: none;
4137
+ border-top: 2px solid var(--bt-color-border-default);
4138
+ margin: 24px 0;
3410
4139
  }
3411
- .table_size_sm .table_th,
3412
- .table_size_sm .table_td {
3413
- padding: 8px 12px;
3414
- font-size: 13px;
3415
- font-weight: 400;
3416
- line-height: 18px;
3417
- letter-spacing: 0px;
4140
+ .prose img {
4141
+ max-width: 100%;
4142
+ height: auto;
4143
+ border-radius: 6px;
4144
+ display: block;
4145
+ margin: 16px auto;
3418
4146
  }
3419
- .table_size_sm .table_th {
3420
- font-size: 13px;
3421
- font-weight: 500;
3422
- line-height: 18px;
3423
- letter-spacing: 0px;
4147
+ .prose table {
4148
+ display: block;
4149
+ width: 100%;
4150
+ overflow-x: auto;
4151
+ scrollbar-width: thin;
4152
+ scrollbar-color: var(--bt-color-border-hover) transparent;
4153
+ border-collapse: collapse;
3424
4154
  }
3425
- .table_size_sm .table_th_sortable {
3426
- padding: 0;
4155
+ .prose pre[tabindex]:focus-visible,
4156
+ .prose table[tabindex]:focus-visible {
4157
+ outline: none;
4158
+ box-shadow: var(--bt-focus-ring);
3427
4159
  }
3428
- .table_size_sm .table_sort_button {
3429
- padding: 8px 12px;
4160
+ .prose th,
4161
+ .prose td {
4162
+ padding: 4px 12px;
4163
+ border: 1px solid var(--bt-color-border-default);
4164
+ text-align: left;
4165
+ white-space: nowrap;
3430
4166
  }
3431
- .table_size_lg .table_th,
3432
- .table_size_lg .table_td {
3433
- padding: 16px 20px;
4167
+ .prose th {
4168
+ background: var(--bt-color-bg-solid-dim);
4169
+ font-weight: 600;
3434
4170
  }
3435
- .table_size_lg .table_th {
4171
+ .prose_size_lg {
3436
4172
  font-size: 16px;
3437
- font-weight: 500;
3438
- line-height: 24px;
3439
- letter-spacing: 0px;
4173
+ line-height: 28px;
3440
4174
  }
3441
- .table_size_lg .table_td {
3442
- font-size: 15px;
3443
- font-weight: 400;
3444
- line-height: 22.5px;
3445
- letter-spacing: 0px;
4175
+ .prose_size_lg h1,
4176
+ .prose_size_lg h2,
4177
+ .prose_size_lg h3,
4178
+ .prose_size_lg h4,
4179
+ .prose_size_lg h5,
4180
+ .prose_size_lg h6 {
4181
+ margin-top: 32px;
3446
4182
  }
3447
- .table_size_lg .table_th_sortable {
3448
- padding: 0;
4183
+ .prose_size_lg h1 {
4184
+ font-size: 28px;
4185
+ font-weight: 700;
4186
+ line-height: 36px;
4187
+ letter-spacing: -0.01em;
3449
4188
  }
3450
- .table_size_lg .table_sort_button {
3451
- padding: 16px 20px;
4189
+ .prose_size_lg h2 {
4190
+ font-size: 24px;
4191
+ font-weight: 700;
4192
+ line-height: 32px;
4193
+ letter-spacing: -0.01em;
3452
4194
  }
3453
- .table_sticky_header .table_thead {
3454
- position: sticky;
3455
- top: 0;
3456
- z-index: 10;
4195
+ .prose_size_lg h3 {
4196
+ font-size: 20px;
4197
+ font-weight: 700;
4198
+ line-height: 28px;
4199
+ letter-spacing: 0px;
3457
4200
  }
3458
- .table_empty {
3459
- padding: 40px 16px;
3460
- text-align: center;
3461
- color: var(--bt-color-text-caption);
3462
- font-size: 14px;
3463
- font-weight: 400;
3464
- line-height: 20px;
4201
+ .prose_size_lg h4,
4202
+ .prose_size_lg h5,
4203
+ .prose_size_lg h6 {
4204
+ font-size: 18px;
4205
+ font-weight: 700;
4206
+ line-height: 24px;
3465
4207
  letter-spacing: 0px;
4208
+ line-height: 28px;
3466
4209
  }
3467
- @media (prefers-reduced-motion: reduce) {
3468
- .table_row,
3469
- .table_sort_button,
3470
- .table_sort_icon {
3471
- transition: none;
3472
- }
4210
+ .prose_size_lg li {
4211
+ margin-bottom: 8px;
3473
4212
  }
3474
4213
 
3475
4214
  /* src/ui/feedback/alert/style.scss */
@@ -3951,6 +4690,168 @@ body:has(.bottom_nav) {
3951
4690
  }
3952
4691
  }
3953
4692
 
4693
+ /* src/ui/forms/combobox/style.scss */
4694
+ @keyframes skeleton_loading {
4695
+ 0% {
4696
+ background-position: 100% 0;
4697
+ }
4698
+ 100% {
4699
+ background-position: 0 0;
4700
+ }
4701
+ }
4702
+ .combobox {
4703
+ position: relative;
4704
+ display: inline-flex;
4705
+ flex-direction: column;
4706
+ font-family: "Pretendard", sans-serif;
4707
+ }
4708
+ .combobox_full_width {
4709
+ width: 100%;
4710
+ }
4711
+ .combobox_control {
4712
+ display: flex;
4713
+ align-items: center;
4714
+ gap: 4px;
4715
+ box-sizing: border-box;
4716
+ width: 100%;
4717
+ padding: 8px 12px;
4718
+ background: var(--bt-color-bg-solid);
4719
+ border: 1px solid var(--bt-color-border-default);
4720
+ border-radius: 12px;
4721
+ transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
4722
+ }
4723
+ .combobox_control:hover {
4724
+ border-color: var(--bt-color-border-hover);
4725
+ }
4726
+ .combobox_control:focus-within {
4727
+ border-color: var(--bt-color-border-focus);
4728
+ }
4729
+ .combobox_input {
4730
+ flex: 1 1 auto;
4731
+ min-width: 0;
4732
+ border: none;
4733
+ background: transparent;
4734
+ outline: none;
4735
+ color: var(--bt-color-text-heading);
4736
+ font-size: 15px;
4737
+ font-weight: 400;
4738
+ line-height: 22.5px;
4739
+ letter-spacing: 0px;
4740
+ }
4741
+ .combobox_input::placeholder {
4742
+ color: var(--bt-color-text-caption);
4743
+ }
4744
+ .combobox_spinner {
4745
+ display: inline-flex;
4746
+ flex: 0 0 auto;
4747
+ }
4748
+ .combobox_toggle {
4749
+ display: inline-flex;
4750
+ align-items: center;
4751
+ justify-content: center;
4752
+ flex: 0 0 auto;
4753
+ padding: 0;
4754
+ border: none;
4755
+ background: transparent;
4756
+ color: var(--bt-color-text-caption);
4757
+ cursor: pointer;
4758
+ }
4759
+ .combobox_size_sm .combobox_control {
4760
+ padding: 4px 8px;
4761
+ }
4762
+ .combobox_size_lg .combobox_control {
4763
+ padding: 12px 16px;
4764
+ }
4765
+ .combobox_panel {
4766
+ position: absolute;
4767
+ z-index: 1000;
4768
+ top: 100%;
4769
+ left: 0;
4770
+ width: 100%;
4771
+ box-sizing: border-box;
4772
+ margin-top: 4px;
4773
+ background: var(--bt-color-bg-solid);
4774
+ border: 1px solid var(--bt-color-border-default);
4775
+ border-radius: 12px;
4776
+ box-shadow: var(--bt-elevation-level1);
4777
+ overflow: hidden;
4778
+ }
4779
+ [data-theme=dark] .combobox_panel {
4780
+ background: var(--bt-color-bg-solid-dim);
4781
+ }
4782
+ @media (prefers-color-scheme: dark) {
4783
+ :root:not([data-theme]) .combobox_panel {
4784
+ background: var(--bt-color-bg-solid-dim);
4785
+ }
4786
+ }
4787
+ .combobox_panel_up {
4788
+ top: auto;
4789
+ bottom: 100%;
4790
+ margin-top: 0;
4791
+ margin-bottom: 4px;
4792
+ }
4793
+ .combobox_list {
4794
+ max-height: 18rem;
4795
+ overflow-y: auto;
4796
+ scrollbar-width: thin;
4797
+ scrollbar-color: var(--bt-color-border-hover) transparent;
4798
+ margin: 0;
4799
+ padding: 0;
4800
+ list-style: none;
4801
+ }
4802
+ .combobox_option {
4803
+ display: flex;
4804
+ align-items: center;
4805
+ gap: 8px;
4806
+ box-sizing: border-box;
4807
+ width: 100%;
4808
+ min-height: 40px;
4809
+ padding: 8px 12px;
4810
+ cursor: pointer;
4811
+ color: var(--bt-color-text-heading);
4812
+ font-size: 15px;
4813
+ font-weight: 400;
4814
+ line-height: 22.5px;
4815
+ letter-spacing: 0px;
4816
+ }
4817
+ .combobox_option:hover {
4818
+ background: var(--bt-color-state-hover-on-light);
4819
+ }
4820
+ .combobox_option.is_active {
4821
+ background: var(--bt-color-state-focus-on-light);
4822
+ }
4823
+ .combobox_option[aria-selected=true] {
4824
+ background: var(--bt-color-accent-subtle);
4825
+ color: var(--bt-color-accent-default);
4826
+ }
4827
+ .combobox_option.is_disabled {
4828
+ cursor: not-allowed;
4829
+ color: var(--bt-color-text-caption);
4830
+ }
4831
+ .combobox_message {
4832
+ margin: 0;
4833
+ padding: 12px;
4834
+ color: var(--bt-color-text-caption);
4835
+ font-size: 15px;
4836
+ font-weight: 400;
4837
+ line-height: 22.5px;
4838
+ letter-spacing: 0px;
4839
+ }
4840
+ .combobox_disabled .combobox_control {
4841
+ border-color: var(--bt-color-bg-disabled);
4842
+ background-color: var(--bt-color-bg-solid-dim);
4843
+ }
4844
+ .combobox_disabled .combobox_input,
4845
+ .combobox_disabled .combobox_toggle {
4846
+ cursor: not-allowed;
4847
+ color: var(--bt-color-text-disabled);
4848
+ }
4849
+ @media (prefers-reduced-motion: reduce) {
4850
+ .combobox_control {
4851
+ transition: none;
4852
+ }
4853
+ }
4854
+
3954
4855
  /* src/ui/forms/dropdown/style.scss */
3955
4856
  @keyframes skeleton_loading {
3956
4857
  0% {
@@ -4184,6 +5085,8 @@ body:has(.bottom_nav) {
4184
5085
  .dropdown_options {
4185
5086
  max-height: 18rem;
4186
5087
  overflow-y: auto;
5088
+ scrollbar-width: thin;
5089
+ scrollbar-color: var(--bt-color-border-hover) transparent;
4187
5090
  overflow-x: hidden;
4188
5091
  padding: 4px 0;
4189
5092
  }
@@ -4343,8 +5246,11 @@ body:has(.bottom_nav) {
4343
5246
  flex: 1;
4344
5247
  min-width: 0;
4345
5248
  }
5249
+ .date_picker_full_width .date_picker_fields > *:first-child {
5250
+ flex: 1.5;
5251
+ }
4346
5252
  .date_picker_disabled .date_picker_label {
4347
- color: var(--bt-color-text-disabled);
5253
+ color: var(--bt-color-text-caption);
4348
5254
  }
4349
5255
  .date_picker_sr_only {
4350
5256
  position: absolute;
@@ -4359,6 +5265,36 @@ body:has(.bottom_nav) {
4359
5265
  border: 0;
4360
5266
  }
4361
5267
 
5268
+ /* src/ui/forms/date-range-picker/style.scss */
5269
+ @keyframes skeleton_loading {
5270
+ 0% {
5271
+ background-position: 100% 0;
5272
+ }
5273
+ 100% {
5274
+ background-position: 0 0;
5275
+ }
5276
+ }
5277
+ .date_range_picker {
5278
+ display: flex;
5279
+ flex-direction: column;
5280
+ }
5281
+ .date_range_picker_fields {
5282
+ display: flex;
5283
+ flex-wrap: wrap;
5284
+ gap: 16px;
5285
+ align-items: flex-end;
5286
+ }
5287
+ .date_range_picker_full_width {
5288
+ width: 100%;
5289
+ }
5290
+ .date_range_picker_full_width .date_range_picker_fields {
5291
+ width: 100%;
5292
+ }
5293
+ .date_range_picker .date_picker {
5294
+ flex: 1 1 20rem;
5295
+ min-width: 0;
5296
+ }
5297
+
4362
5298
  /* src/ui/forms/file/style.scss */
4363
5299
  @keyframes skeleton_loading {
4364
5300
  0% {
@@ -4899,27 +5835,124 @@ body:has(.bottom_nav) {
4899
5835
  border-radius: 9999px;
4900
5836
  animation: radio_dot_in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
4901
5837
  }
4902
- .radio_size_md .radio_input:checked ~ .radio_state_layer .radio_dot::after {
4903
- width: 10px;
4904
- height: 10px;
5838
+ .radio_size_md .radio_input:checked ~ .radio_state_layer .radio_dot::after {
5839
+ width: 10px;
5840
+ height: 10px;
5841
+ }
5842
+ .radio_size_lg .radio_input:checked ~ .radio_state_layer .radio_dot::after {
5843
+ width: 10px;
5844
+ height: 10px;
5845
+ }
5846
+ @keyframes radio_dot_in {
5847
+ from {
5848
+ opacity: 0;
5849
+ transform: translate(-50%, -50%) scale(0);
5850
+ }
5851
+ to {
5852
+ opacity: 1;
5853
+ transform: translate(-50%, -50%) scale(1);
5854
+ }
5855
+ }
5856
+ @media (prefers-reduced-motion: reduce) {
5857
+ .radio_dot::after {
5858
+ animation: none;
5859
+ }
5860
+ }
5861
+
5862
+ /* src/ui/forms/tag-input/style.scss */
5863
+ @keyframes skeleton_loading {
5864
+ 0% {
5865
+ background-position: 100% 0;
5866
+ }
5867
+ 100% {
5868
+ background-position: 0 0;
5869
+ }
5870
+ }
5871
+ .tag_input {
5872
+ display: inline-flex;
5873
+ flex-direction: column;
5874
+ font-family: "Pretendard", sans-serif;
5875
+ }
5876
+ .tag_input_full_width {
5877
+ width: 100%;
5878
+ }
5879
+ .tag_input_control {
5880
+ display: flex;
5881
+ flex-wrap: wrap;
5882
+ align-items: center;
5883
+ gap: 4px;
5884
+ box-sizing: border-box;
5885
+ width: 100%;
5886
+ padding: 8px 12px;
5887
+ background: var(--bt-color-bg-solid);
5888
+ border: 1px solid var(--bt-color-border-default);
5889
+ border-radius: 12px;
5890
+ cursor: text;
5891
+ transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
5892
+ }
5893
+ .tag_input_control:hover {
5894
+ border-color: var(--bt-color-border-hover);
5895
+ }
5896
+ .tag_input_control:focus-within {
5897
+ border-color: var(--bt-color-border-focus);
5898
+ }
5899
+ .tag_input_tags {
5900
+ display: flex;
5901
+ flex-wrap: wrap;
5902
+ gap: 4px;
5903
+ min-width: 0;
5904
+ margin: 0;
5905
+ padding: 0;
5906
+ list-style: none;
5907
+ }
5908
+ .tag_input_tag {
5909
+ display: inline-flex;
5910
+ }
5911
+ .tag_input_field {
5912
+ flex: 1 1 96px;
5913
+ min-width: 0;
5914
+ border: none;
5915
+ background: transparent;
5916
+ outline: none;
5917
+ color: var(--bt-color-text-heading);
5918
+ font-size: 15px;
5919
+ font-weight: 400;
5920
+ line-height: 22.5px;
5921
+ letter-spacing: 0px;
5922
+ }
5923
+ .tag_input_field::placeholder {
5924
+ color: var(--bt-color-text-caption);
5925
+ }
5926
+ .tag_input_live {
5927
+ position: absolute;
5928
+ width: 1px;
5929
+ height: 1px;
5930
+ padding: 0;
5931
+ margin: -1px;
5932
+ overflow: hidden;
5933
+ clip: rect(0 0 0 0);
5934
+ clip-path: inset(50%);
5935
+ white-space: nowrap;
5936
+ border: 0;
5937
+ }
5938
+ .tag_input_size_sm .tag_input_control {
5939
+ padding: 4px 8px;
5940
+ }
5941
+ .tag_input_size_lg .tag_input_control {
5942
+ padding: 12px 16px;
4905
5943
  }
4906
- .radio_size_lg .radio_input:checked ~ .radio_state_layer .radio_dot::after {
4907
- width: 10px;
4908
- height: 10px;
5944
+ .tag_input_disabled .tag_input_control {
5945
+ border-color: var(--bt-color-bg-disabled);
5946
+ background-color: var(--bt-color-bg-solid-dim);
5947
+ cursor: not-allowed;
4909
5948
  }
4910
- @keyframes radio_dot_in {
4911
- from {
4912
- opacity: 0;
4913
- transform: translate(-50%, -50%) scale(0);
4914
- }
4915
- to {
4916
- opacity: 1;
4917
- transform: translate(-50%, -50%) scale(1);
4918
- }
5949
+ .tag_input_disabled .tag_input_field {
5950
+ cursor: not-allowed;
5951
+ color: var(--bt-color-text-disabled);
4919
5952
  }
4920
5953
  @media (prefers-reduced-motion: reduce) {
4921
- .radio_dot::after {
4922
- animation: none;
5954
+ .tag_input_control {
5955
+ transition: none;
4923
5956
  }
4924
5957
  }
4925
5958
 
@@ -5038,276 +6071,103 @@ body:has(.bottom_nav) {
5038
6071
  font-family: "Pretendard", sans-serif;
5039
6072
  font-size: 12px;
5040
6073
  line-height: 16px;
5041
- color: var(--bt-color-text-caption);
5042
- font-variant-numeric: tabular-nums;
5043
- }
5044
- .textarea_error .textarea_container {
5045
- border-color: var(--bt-color-status-error);
5046
- }
5047
- .textarea_error .textarea_container:hover,
5048
- .textarea_error .textarea_container:focus-within {
5049
- border-color: var(--bt-color-status-error);
5050
- }
5051
- .textarea_error .textarea_label,
5052
- .textarea_error .textarea_helper {
5053
- color: var(--bt-color-status-error-on-surface);
5054
- }
5055
- .textarea_disabled .textarea_container {
5056
- border-color: var(--bt-color-bg-disabled);
5057
- background-color: var(--bt-color-bg-solid-dim);
5058
- }
5059
- .textarea_disabled .textarea_container:hover {
5060
- border-color: var(--bt-color-bg-disabled);
5061
- }
5062
- .textarea_disabled .textarea_container > * {
5063
- opacity: 0.38;
5064
- }
5065
- .textarea_disabled .textarea_label {
5066
- color: var(--bt-color-text-disabled);
5067
- cursor: not-allowed;
5068
- }
5069
- .textarea_disabled .textarea_helper,
5070
- .textarea_disabled .textarea_counter {
5071
- opacity: 0.38;
5072
- }
5073
- @media (prefers-reduced-motion: reduce) {
5074
- .textarea_container,
5075
- .textarea_label,
5076
- .textarea_helper {
5077
- transition: none;
5078
- }
5079
- }
5080
-
5081
- /* src/ui/forms/textfield/style.scss */
5082
- @keyframes skeleton_loading {
5083
- 0% {
5084
- background-position: 100% 0;
5085
- }
5086
- 100% {
5087
- background-position: 0 0;
5088
- }
5089
- }
5090
- .text_field {
5091
- display: inline-flex;
5092
- flex-direction: column;
5093
- align-items: flex-start;
5094
- gap: 6px;
5095
- font-family: "Pretendard", sans-serif;
5096
- }
5097
- .text_field_full_width {
5098
- width: 100%;
5099
- }
5100
- .text_field_label {
5101
- display: block;
5102
- font-size: 13px;
5103
- font-weight: 500;
5104
- line-height: 18px;
5105
- letter-spacing: 0px;
5106
- letter-spacing: 0.32px;
5107
- color: var(--bt-color-text-heading);
5108
- cursor: pointer;
5109
- transition: color 0.2s ease-in-out;
5110
- }
5111
- .text_field_container {
5112
- border: 1px solid var(--bt-color-border-default);
5113
- border-radius: 12px;
5114
- background-color: var(--bt-color-bg-solid);
5115
- box-sizing: border-box;
5116
- width: 100%;
5117
- transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
5118
- }
5119
- .text_field_container:hover {
5120
- border-color: var(--bt-color-border-hover);
5121
- }
5122
- .text_field_container:focus-within {
5123
- border-color: var(--bt-color-border-focus);
5124
- }
5125
- .text_field_inner {
5126
- display: flex;
5127
- align-items: center;
5128
- gap: 4px;
5129
- box-sizing: border-box;
5130
- min-height: 40px;
5131
- }
5132
- @media (max-width: 599px) {
5133
- .text_field_inner {
5134
- min-height: 48px;
5135
- }
5136
- }
5137
- .text_field_size_sm .text_field_inner {
5138
- min-height: 40px;
5139
- }
5140
- @media (max-width: 599px) {
5141
- .text_field_size_sm .text_field_inner {
5142
- min-height: 48px;
5143
- }
5144
- }
5145
- .text_field_size_lg .text_field_inner {
5146
- min-height: 48px;
5147
- }
5148
- @media (max-width: 599px) {
5149
- .text_field_size_lg .text_field_inner {
5150
- min-height: 56px;
5151
- }
5152
- }
5153
- .text_field_size_lg .text_field_input {
5154
- padding: 8px 20px;
5155
- font-size: 16px;
5156
- line-height: 24px;
5157
- }
5158
- .text_field_input_wrap {
5159
- flex: 1;
5160
- display: flex;
5161
- min-width: 0;
5162
- align-self: stretch;
5163
- }
5164
- .text_field_icon + .text_field_input_wrap .text_field_input {
5165
- padding-left: 0;
5166
- }
5167
- .text_field_input_wrap_no_pad_right .text_field_input {
5168
- padding-right: 0;
5169
- }
5170
- .text_field_input {
5171
- width: 100%;
5172
- height: 100%;
5173
- padding: 4px 16px;
5174
- box-sizing: border-box;
5175
- border: none;
5176
- outline: none;
5177
- background: transparent;
5178
- font-family: "Pretendard", sans-serif;
5179
- font-size: 14px;
5180
- font-weight: 400;
5181
- line-height: 20px;
5182
- color: var(--bt-color-text-heading);
5183
- }
5184
- .text_field_input::placeholder {
5185
- color: var(--bt-color-text-caption);
5186
- }
5187
- .text_field_input:disabled {
5188
- cursor: not-allowed;
5189
- color: var(--bt-color-text-disabled);
5190
- }
5191
- .text_field_input_identifier {
5192
- font-feature-settings: "cv05" 1, "cv08" 1;
5193
- font-variant-numeric: slashed-zero;
5194
- }
5195
- .text_field_icon {
5196
- display: inline-flex;
5197
- align-items: center;
5198
- justify-content: center;
5199
- flex-shrink: 0;
5200
- width: 40px;
5201
- height: 40px;
5202
- border-radius: 9999px;
5203
- color: var(--bt-color-text-heading);
5204
- }
5205
- .text_field_icon svg {
5206
- width: 20px;
5207
- height: 20px;
5208
- }
5209
- .text_field_clear,
5210
- .text_field_action > * {
5211
- display: inline-flex;
5212
- align-items: center;
5213
- justify-content: center;
5214
- flex-shrink: 0;
5215
- width: 40px;
5216
- height: 40px;
5217
- border: none;
5218
- background: transparent;
5219
- cursor: pointer;
5220
- color: var(--bt-color-text-caption);
5221
- border-radius: 9999px;
5222
- transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
5223
- padding: 0;
5224
- }
5225
- .text_field_clear:hover,
5226
- .text_field_action > *:hover {
5227
- color: var(--bt-color-text-heading);
5228
- background: var(--bt-color-state-hover-on-light);
5229
- }
5230
- .text_field_clear:focus-visible,
5231
- .text_field_action > *:focus-visible {
5232
- outline: none;
5233
- box-shadow: var(--bt-focus-ring);
5234
- }
5235
- .text_field_helper {
5236
- padding: 0 4px;
5237
- font-family: "Pretendard", sans-serif;
5238
- font-size: 12px;
5239
- font-weight: 400;
5240
- line-height: 16px;
5241
- color: var(--bt-color-text-caption);
5242
- transition: color 0.2s ease-in-out;
5243
- }
5244
- .text_field_variant_filled .text_field_container {
5245
- border-color: transparent;
5246
- background-color: var(--bt-color-bg-solid-dim);
5247
- }
5248
- .text_field_variant_filled .text_field_container:hover {
5249
- border-color: var(--bt-color-border-hover);
5250
- }
5251
- .text_field_variant_filled .text_field_container:focus-within {
5252
- border-color: var(--bt-color-border-focus);
5253
- background-color: var(--bt-color-bg-solid);
5254
- }
5255
- .text_field_disabled.text_field_variant_filled .text_field_container {
5256
- border-color: transparent;
5257
- }
5258
- .text_field_error .text_field_container {
5259
- border-color: var(--bt-color-status-error);
5260
- }
5261
- .text_field_error .text_field_container:hover,
5262
- .text_field_error .text_field_container:focus-within {
5263
- border-color: var(--bt-color-status-error);
5264
- }
5265
- .text_field_error .text_field_label {
5266
- color: var(--bt-color-status-error-on-surface);
5267
- }
5268
- .text_field_error .text_field_helper {
5269
- color: var(--bt-color-status-error-on-surface);
5270
- }
5271
- .text_field_success .text_field_container {
5272
- border-color: var(--bt-color-status-success);
6074
+ color: var(--bt-color-text-caption);
6075
+ font-variant-numeric: tabular-nums;
5273
6076
  }
5274
- .text_field_success .text_field_container:hover,
5275
- .text_field_success .text_field_container:focus-within {
5276
- border-color: var(--bt-color-status-success);
6077
+ .textarea_error .textarea_container {
6078
+ border-color: var(--bt-color-status-error);
5277
6079
  }
5278
- .text_field_success .text_field_label {
5279
- color: var(--bt-color-status-success-on-surface);
6080
+ .textarea_error .textarea_container:hover,
6081
+ .textarea_error .textarea_container:focus-within {
6082
+ border-color: var(--bt-color-status-error);
5280
6083
  }
5281
- .text_field_success .text_field_helper {
5282
- color: var(--bt-color-status-success-on-surface);
6084
+ .textarea_error .textarea_label,
6085
+ .textarea_error .textarea_helper {
6086
+ color: var(--bt-color-status-error-on-surface);
5283
6087
  }
5284
- .text_field_disabled .text_field_container {
6088
+ .textarea_disabled .textarea_container {
5285
6089
  border-color: var(--bt-color-bg-disabled);
5286
6090
  background-color: var(--bt-color-bg-solid-dim);
5287
6091
  }
5288
- .text_field_disabled .text_field_container:hover {
6092
+ .textarea_disabled .textarea_container:hover {
5289
6093
  border-color: var(--bt-color-bg-disabled);
5290
6094
  }
5291
- .text_field_disabled .text_field_container > * {
6095
+ .textarea_disabled .textarea_container > * {
5292
6096
  opacity: 0.38;
5293
6097
  }
5294
- .text_field_disabled .text_field_label {
6098
+ .textarea_disabled .textarea_label {
5295
6099
  color: var(--bt-color-text-disabled);
5296
6100
  cursor: not-allowed;
5297
6101
  }
5298
- .text_field_disabled .text_field_helper {
6102
+ .textarea_disabled .textarea_helper,
6103
+ .textarea_disabled .textarea_counter {
5299
6104
  opacity: 0.38;
5300
6105
  }
5301
6106
  @media (prefers-reduced-motion: reduce) {
5302
- .text_field_label,
5303
- .text_field_container,
5304
- .text_field_clear,
5305
- .text_field_action > *,
5306
- .text_field_helper {
6107
+ .textarea_container,
6108
+ .textarea_label,
6109
+ .textarea_helper {
5307
6110
  transition: none;
5308
6111
  }
5309
6112
  }
5310
6113
 
6114
+ /* src/ui/forms/time-picker/style.scss */
6115
+ @keyframes skeleton_loading {
6116
+ 0% {
6117
+ background-position: 100% 0;
6118
+ }
6119
+ 100% {
6120
+ background-position: 0 0;
6121
+ }
6122
+ }
6123
+ .time_picker {
6124
+ display: flex;
6125
+ flex-direction: column;
6126
+ gap: 4px;
6127
+ }
6128
+ .time_picker_label {
6129
+ color: var(--bt-color-text-heading);
6130
+ margin-bottom: 4px;
6131
+ font-weight: 500;
6132
+ font-size: 14px;
6133
+ line-height: 24px;
6134
+ }
6135
+ .time_picker_fields {
6136
+ display: flex;
6137
+ gap: 8px;
6138
+ align-items: flex-end;
6139
+ }
6140
+ @media (max-width: 599px) {
6141
+ .time_picker_fields {
6142
+ gap: 4px;
6143
+ }
6144
+ }
6145
+ .time_picker_full_width {
6146
+ width: 100%;
6147
+ }
6148
+ .time_picker_full_width .time_picker_fields {
6149
+ width: 100%;
6150
+ }
6151
+ .time_picker_full_width .time_picker_fields > * {
6152
+ flex: 1;
6153
+ min-width: 0;
6154
+ }
6155
+ .time_picker_disabled .time_picker_label {
6156
+ color: var(--bt-color-text-caption);
6157
+ }
6158
+ .time_picker_sr_only {
6159
+ position: absolute;
6160
+ width: 1px;
6161
+ height: 1px;
6162
+ padding: 0;
6163
+ margin: -1px;
6164
+ overflow: hidden;
6165
+ clip: rect(0 0 0 0);
6166
+ clip-path: inset(50%);
6167
+ white-space: nowrap;
6168
+ border: 0;
6169
+ }
6170
+
5311
6171
  /* src/ui/forms/toggle/style.scss */
5312
6172
  @keyframes skeleton_loading {
5313
6173
  0% {
@@ -5571,101 +6431,6 @@ body:has(.bottom_nav) {
5571
6431
  }
5572
6432
  }
5573
6433
 
5574
- /* src/ui/navigation/pagination/style.scss */
5575
- @keyframes skeleton_loading {
5576
- 0% {
5577
- background-position: 100% 0;
5578
- }
5579
- 100% {
5580
- background-position: 0 0;
5581
- }
5582
- }
5583
- .pagination {
5584
- display: flex;
5585
- align-items: center;
5586
- justify-content: center;
5587
- gap: 8px;
5588
- margin-top: 32px;
5589
- }
5590
- .pagination_item {
5591
- border: 1px solid var(--bt-color-border-default);
5592
- background: var(--bt-color-bg-solid);
5593
- border-radius: 8px;
5594
- padding: 6px 10px;
5595
- min-width: 36px;
5596
- cursor: pointer;
5597
- font-size: 12px;
5598
- font-weight: 400;
5599
- line-height: 16px;
5600
- letter-spacing: 0px;
5601
- color: var(--bt-color-text-heading);
5602
- transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
5603
- }
5604
- .pagination_item:hover:not(:disabled) {
5605
- background: var(--bt-color-bg-solid-dim);
5606
- }
5607
- .pagination_item:disabled {
5608
- opacity: 0.5;
5609
- cursor: not-allowed;
5610
- }
5611
- .pagination_item:focus-visible {
5612
- box-shadow: var(--bt-focus-ring);
5613
- border-color: var(--bt-color-accent-default);
5614
- }
5615
- .pagination_pages {
5616
- display: flex;
5617
- align-items: center;
5618
- gap: 6px;
5619
- list-style: none;
5620
- padding: 0;
5621
- margin: 0;
5622
- }
5623
- .pagination_page_button {
5624
- border: 0;
5625
- background: transparent;
5626
- min-width: 36px;
5627
- height: 36px;
5628
- border-radius: 8px;
5629
- cursor: pointer;
5630
- font-size: 12px;
5631
- font-weight: 400;
5632
- line-height: 16px;
5633
- letter-spacing: 0px;
5634
- color: var(--bt-color-text-body);
5635
- transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
5636
- }
5637
- .pagination_page_button:hover {
5638
- background: var(--bt-color-bg-solid-dim);
5639
- color: var(--bt-color-text-heading);
5640
- }
5641
- .pagination_page_button:focus-visible {
5642
- box-shadow: var(--bt-focus-ring);
5643
- }
5644
- .pagination_active {
5645
- background: var(--bt-color-accent-default);
5646
- color: var(--bt-color-accent-on-surface);
5647
- font-weight: 500;
5648
- }
5649
- .pagination_active:hover {
5650
- background: var(--bt-color-accent-strong);
5651
- color: var(--bt-color-accent-on-surface);
5652
- }
5653
- .pagination_ellipsis {
5654
- min-width: 20px;
5655
- text-align: center;
5656
- font-size: 12px;
5657
- font-weight: 400;
5658
- line-height: 16px;
5659
- letter-spacing: 0px;
5660
- color: var(--bt-color-text-caption);
5661
- }
5662
- @media (prefers-reduced-motion: reduce) {
5663
- .pagination_item,
5664
- .pagination_page_button {
5665
- transition: none;
5666
- }
5667
- }
5668
-
5669
6434
  /* src/ui/overlay/drawer/style.scss */
5670
6435
  @keyframes skeleton_loading {
5671
6436
  0% {
@@ -5760,6 +6525,8 @@ body:has(.bottom_nav) {
5760
6525
  flex: 1 1 auto;
5761
6526
  min-height: 0;
5762
6527
  overflow-y: auto;
6528
+ scrollbar-width: thin;
6529
+ scrollbar-color: var(--bt-color-border-hover) transparent;
5763
6530
  padding: 24px;
5764
6531
  color: var(--bt-color-text-body);
5765
6532
  font-size: 15px;
@@ -5895,6 +6662,8 @@ body:has(.bottom_nav) {
5895
6662
  flex: 1 1 auto;
5896
6663
  min-height: 0;
5897
6664
  overflow-y: auto;
6665
+ scrollbar-width: thin;
6666
+ scrollbar-color: var(--bt-color-border-hover) transparent;
5898
6667
  color: var(--bt-color-text-body);
5899
6668
  font-size: 15px;
5900
6669
  font-weight: 400;
@@ -5925,6 +6694,61 @@ body:has(.bottom_nav) {
5925
6694
  }
5926
6695
  }
5927
6696
 
6697
+ /* src/ui/layout/app-shell/style.scss */
6698
+ @keyframes skeleton_loading {
6699
+ 0% {
6700
+ background-position: 100% 0;
6701
+ }
6702
+ 100% {
6703
+ background-position: 0 0;
6704
+ }
6705
+ }
6706
+ .app_shell {
6707
+ display: grid;
6708
+ grid-template-columns: 1fr;
6709
+ min-height: 100vh;
6710
+ background: var(--bt-color-bg-solid-dim);
6711
+ }
6712
+ .app_shell_with_sidebar {
6713
+ grid-template-columns: auto minmax(0, 1fr);
6714
+ }
6715
+ .app_shell_sidebar {
6716
+ display: flex;
6717
+ position: sticky;
6718
+ top: 0;
6719
+ align-self: start;
6720
+ height: 100vh;
6721
+ }
6722
+ .app_shell_body {
6723
+ display: flex;
6724
+ flex-direction: column;
6725
+ }
6726
+ .app_shell_header {
6727
+ position: sticky;
6728
+ top: 0;
6729
+ z-index: 10;
6730
+ }
6731
+ .app_shell_main {
6732
+ flex: 1;
6733
+ min-width: 0;
6734
+ }
6735
+ .app_shell_main_padded {
6736
+ padding: 32px;
6737
+ padding-bottom: calc(32px + var(--bt-bottom-inset, 0px));
6738
+ }
6739
+ @media (max-width: 599px) {
6740
+ .app_shell_with_sidebar {
6741
+ grid-template-columns: minmax(0, 1fr);
6742
+ }
6743
+ .app_shell_sidebar {
6744
+ display: contents;
6745
+ }
6746
+ .app_shell_main_padded {
6747
+ padding: 16px;
6748
+ padding-bottom: calc(16px + var(--bt-bottom-inset, 0px));
6749
+ }
6750
+ }
6751
+
5928
6752
  /* src/ui/layout/container/style.scss */
5929
6753
  @keyframes skeleton_loading {
5930
6754
  0% {
@@ -5998,6 +6822,57 @@ body:has(.bottom_nav) {
5998
6822
  }
5999
6823
  }
6000
6824
 
6825
+ /* src/ui/layout/page-header/style.scss */
6826
+ @keyframes skeleton_loading {
6827
+ 0% {
6828
+ background-position: 100% 0;
6829
+ }
6830
+ 100% {
6831
+ background-position: 0 0;
6832
+ }
6833
+ }
6834
+ .page_header {
6835
+ display: flex;
6836
+ flex-direction: column;
6837
+ gap: 8px;
6838
+ margin-bottom: 24px;
6839
+ font-family: "Pretendard", sans-serif;
6840
+ }
6841
+ .page_header_bar {
6842
+ display: flex;
6843
+ flex-wrap: wrap;
6844
+ align-items: flex-start;
6845
+ justify-content: space-between;
6846
+ gap: 16px;
6847
+ }
6848
+ .page_header_titles {
6849
+ flex: 1 1 auto;
6850
+ min-width: 0;
6851
+ }
6852
+ .page_header_title {
6853
+ margin: 0;
6854
+ color: var(--bt-color-text-heading);
6855
+ font-size: 20px;
6856
+ font-weight: 500;
6857
+ line-height: 28px;
6858
+ letter-spacing: 0px;
6859
+ }
6860
+ .page_header_description {
6861
+ margin: 4px 0 0;
6862
+ color: var(--bt-color-text-caption);
6863
+ font-size: 14px;
6864
+ font-weight: 400;
6865
+ line-height: 20px;
6866
+ letter-spacing: 0px;
6867
+ }
6868
+ .page_header_actions {
6869
+ display: flex;
6870
+ flex-wrap: wrap;
6871
+ align-items: center;
6872
+ gap: 8px;
6873
+ flex-shrink: 0;
6874
+ }
6875
+
6001
6876
  /* src/ui/layout/section/style.scss */
6002
6877
  @keyframes skeleton_loading {
6003
6878
  0% {