@vobs/ui 0.2.0 → 0.3.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.
@@ -92,7 +92,7 @@
92
92
  color: var(--text-secondary);
93
93
  background: var(--bg-base-tertiary);
94
94
  border: 1px solid var(--border-neutral-l2);
95
- border-radius: var(--radius-6);
95
+ border-radius: var(--radius-4);
96
96
  }
97
97
 
98
98
  :where(.kui-page-header-action[data-tone='primary']) {
@@ -124,12 +124,32 @@
124
124
  min-height: 100vh;
125
125
  display: grid;
126
126
  grid-template-columns: var(--kui-shell-sidebar-width) minmax(0, 1fr);
127
- grid-template-rows: minmax(0, 1fr);
127
+ grid-template-rows: 40px minmax(0, 1fr) 24px;
128
128
  color: var(--text-default);
129
129
  background: var(--bg-base-default);
130
130
  overflow: hidden;
131
131
  }
132
132
 
133
+ :where(.kui-app-shell-topbar) {
134
+ grid-column: 1 / -1;
135
+ grid-row: 1;
136
+ }
137
+
138
+ :where(.kui-app-shell-sidebar) {
139
+ grid-column: 1;
140
+ grid-row: 2;
141
+ }
142
+
143
+ :where(.kui-app-shell-main) {
144
+ grid-column: 2;
145
+ grid-row: 2;
146
+ }
147
+
148
+ :where(.kui-app-shell-statusbar) {
149
+ grid-column: 1 / -1;
150
+ grid-row: 3;
151
+ }
152
+
133
153
  :where(.kui-app-shell[data-sidebar-mode='collapsed']) {
134
154
  grid-template-columns: var(--kui-shell-sidebar-collapsed-width) minmax(0, 1fr);
135
155
  }
@@ -138,6 +158,10 @@
138
158
  grid-template-columns: minmax(0, 1fr);
139
159
  }
140
160
 
161
+ :where(.kui-app-shell[data-sidebar-mode='hidden'] .kui-app-shell-main) {
162
+ grid-column: 1;
163
+ }
164
+
141
165
  :where(.kui-app-shell-sidebar) {
142
166
  min-width: 0;
143
167
  min-height: 0;
@@ -161,7 +185,7 @@
161
185
  gap: var(--spacer-8);
162
186
  padding: 0 var(--spacer-8);
163
187
  color: var(--text-default);
164
- border-radius: var(--radius-6);
188
+ border-radius: var(--radius-4);
165
189
  font-weight: var(--font-weight-semibold);
166
190
  text-decoration: none;
167
191
  }
@@ -172,7 +196,6 @@
172
196
  display: inline-block;
173
197
  background: var(--bg-brand);
174
198
  border-radius: var(--radius-4);
175
- box-shadow: 0 0 18px rgba(50, 240, 140, 0.4);
176
199
  }
177
200
 
178
201
  :where(.kui-app-shell-brand-name) {
@@ -221,7 +244,7 @@
221
244
  gap: var(--spacer-8);
222
245
  padding: 0 var(--spacer-8);
223
246
  color: var(--text-secondary);
224
- border-radius: var(--radius-6);
247
+ border-radius: var(--radius-4);
225
248
  text-decoration: none;
226
249
  }
227
250
 
@@ -271,7 +294,7 @@
271
294
  inset-block-start: 50%;
272
295
  inset-inline-start: calc(var(--spacer-8) * -1);
273
296
  width: 3px;
274
- height: 20px;
297
+ height: 30px;
275
298
  content: '';
276
299
  background: var(--bg-brand);
277
300
  border-radius: var(--radius-full);
@@ -288,7 +311,7 @@
288
311
  display: inline-flex;
289
312
  align-items: center;
290
313
  justify-content: center;
291
- padding-inline: var(--spacer-6);
314
+ padding-inline: var(--spacer-4);
292
315
  color: var(--text-onbrand);
293
316
  background: var(--bg-brand);
294
317
  border-radius: var(--radius-full);
@@ -312,7 +335,7 @@
312
335
  border: 1px solid transparent;
313
336
  color: var(--text-default);
314
337
  background: transparent;
315
- border-radius: var(--radius-6);
338
+ border-radius: var(--radius-4);
316
339
  }
317
340
 
318
341
  :where(.kui-app-shell-icon-button) {
@@ -496,6 +519,67 @@
496
519
  background: var(--border-neutral-l1);
497
520
  }
498
521
 
522
+ :where(.kui-app-shell-language) {
523
+ position: relative;
524
+ display: inline-flex;
525
+ }
526
+
527
+ :where(.kui-app-shell-language > .kui-app-shell-icon-button[data-state='open']) {
528
+ color: var(--text-default-hover);
529
+ background: var(--bg-overlay-l2);
530
+ }
531
+
532
+ :where(.kui-app-shell-language-menu) {
533
+ position: absolute;
534
+ inset-block-start: calc(100% + var(--spacer-6));
535
+ inset-inline-end: 0;
536
+ z-index: var(--z-index-dropdown);
537
+ min-width: 148px;
538
+ display: grid;
539
+ gap: var(--spacer-2);
540
+ padding: var(--spacer-4);
541
+ color: var(--text-default);
542
+ background: var(--bg-menu);
543
+ border: 1px solid var(--border-neutral-l2);
544
+ border-radius: var(--radius-8);
545
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
546
+ }
547
+
548
+ :where(.kui-app-shell-language-menu[hidden]) {
549
+ display: none;
550
+ }
551
+
552
+ :where(.kui-app-shell-language-option) {
553
+ width: 100%;
554
+ min-height: 30px;
555
+ display: flex;
556
+ align-items: center;
557
+ justify-content: space-between;
558
+ gap: var(--spacer-8);
559
+ padding: 0 var(--spacer-8);
560
+ color: var(--text-default);
561
+ background: transparent;
562
+ border: 0;
563
+ border-radius: var(--radius-4);
564
+ text-align: start;
565
+ }
566
+
567
+ :where(.kui-app-shell-language-option:hover) {
568
+ color: var(--text-default-hover);
569
+ background: var(--bg-overlay-l2);
570
+ }
571
+
572
+ :where(.kui-app-shell-language-option[data-state='selected']) {
573
+ color: var(--text-brand);
574
+ background: var(--bg-brand-popup);
575
+ }
576
+
577
+ :where(.kui-app-shell-language-option[data-state='selected'])::after {
578
+ content: '\2713';
579
+ color: var(--icon-brand);
580
+ font-size: var(--body-sm-font-size);
581
+ }
582
+
499
583
  :where(.kui-app-shell-main) {
500
584
  min-width: 0;
501
585
  min-height: 0;
@@ -527,7 +611,7 @@
527
611
  color: var(--text-secondary);
528
612
  background: var(--bg-base-secondary);
529
613
  border: 1px solid var(--border-neutral-l2);
530
- border-radius: var(--radius-6);
614
+ border-radius: var(--radius-4);
531
615
  }
532
616
 
533
617
  :where(.kui-app-shell-command-trigger)::before {
@@ -549,7 +633,7 @@
549
633
  color: var(--text-secondary);
550
634
  background: transparent;
551
635
  border: 1px solid transparent;
552
- border-radius: var(--radius-6);
636
+ border-radius: var(--radius-4);
553
637
  }
554
638
 
555
639
  :where(.kui-app-shell-action)::before {
@@ -580,6 +664,29 @@
580
664
  gap: var(--spacer-12);
581
665
  }
582
666
 
667
+ :where(.kui-app-shell-page-header[hidden]) {
668
+ display: none;
669
+ }
670
+
671
+ .kui-app-shell-page-frame:has(.kui-app-shell-page-header[hidden]) {
672
+ grid-template-rows: auto minmax(0, 1fr);
673
+ padding-block-start: 0;
674
+ }
675
+
676
+ .kui-app-shell-page-frame:has(.kui-app-shell-page-toolbar:empty) {
677
+ grid-template-rows: auto minmax(0, 1fr);
678
+ }
679
+
680
+ .kui-app-shell-page-frame:has(.kui-app-shell-page-header[hidden]):has(
681
+ .kui-app-shell-page-toolbar:empty
682
+ ) {
683
+ grid-template-rows: minmax(0, 1fr);
684
+ }
685
+
686
+ :where(.kui-app-shell-page-toolbar:empty) {
687
+ display: none;
688
+ }
689
+
583
690
  :where(.kui-app-shell-page-heading) {
584
691
  min-width: 0;
585
692
  display: grid;
@@ -794,7 +901,7 @@
794
901
  color: var(--text-secondary);
795
902
  background: transparent;
796
903
  border: 1px solid transparent;
797
- border-radius: var(--radius-6);
904
+ border-radius: var(--radius-4);
798
905
  }
799
906
 
800
907
  :where(.kui-segmented-item[hidden]) {
@@ -858,7 +965,7 @@
858
965
  color: var(--text-default);
859
966
  background: var(--bg-base-tertiary);
860
967
  border: 1px solid var(--border-neutral-l1);
861
- border-radius: var(--radius-6);
968
+ border-radius: var(--radius-4);
862
969
  }
863
970
 
864
971
  :where(
@@ -906,7 +1013,7 @@
906
1013
  color: var(--text-default);
907
1014
  background: var(--status-error-surface-l1);
908
1015
  border: 1px solid var(--status-error-default);
909
- border-radius: var(--radius-6);
1016
+ border-radius: var(--radius-4);
910
1017
  }
911
1018
 
912
1019
  :where(.kui-error-summary-title) {
@@ -924,6 +1031,77 @@
924
1031
  pointer-events: none;
925
1032
  }
926
1033
 
1034
+ :where(.kui-overlay-root[hidden]) {
1035
+ display: none;
1036
+ }
1037
+
1038
+ :where(.kui-overlay-root[data-backdrop='true']) {
1039
+ padding: var(--spacer-12);
1040
+ background: rgba(0, 0, 0, 0.48);
1041
+ pointer-events: auto;
1042
+ }
1043
+
1044
+ :where(.kui-page-state) {
1045
+ min-height: 220px;
1046
+ display: grid;
1047
+ place-items: center;
1048
+ align-content: center;
1049
+ gap: var(--spacer-10);
1050
+ padding: var(--spacer-24);
1051
+ color: var(--text-default);
1052
+ background: var(--bg-base-secondary);
1053
+ border: 1px solid var(--border-neutral-l1);
1054
+ border-radius: var(--radius-8);
1055
+ text-align: center;
1056
+ }
1057
+
1058
+ :where(.kui-page-state[hidden]) {
1059
+ display: none;
1060
+ }
1061
+
1062
+ :where(.kui-page-state-mark) {
1063
+ width: 32px;
1064
+ height: 32px;
1065
+ display: inline-grid;
1066
+ place-items: center;
1067
+ color: var(--text-brand);
1068
+ background: var(--bg-brand-popup);
1069
+ border-radius: var(--radius-full);
1070
+ font-size: var(--body-xs-font-size);
1071
+ font-weight: var(--font-weight-semibold);
1072
+ }
1073
+
1074
+ :where(.kui-page-state[data-state='error'] .kui-page-state-mark) {
1075
+ color: var(--status-error-default);
1076
+ background: var(--status-error-surface-l1);
1077
+ }
1078
+
1079
+ :where(.kui-page-state p, .kui-page-state h2) {
1080
+ margin: 0;
1081
+ }
1082
+
1083
+ :where(.kui-page-state-error) {
1084
+ display: grid;
1085
+ justify-items: center;
1086
+ gap: var(--spacer-8);
1087
+ }
1088
+
1089
+ :where(.kui-page-state-error h2) {
1090
+ font-size: var(--heading-sm-font-size);
1091
+ line-height: var(--heading-sm-line-height);
1092
+ }
1093
+
1094
+ :where(.kui-page-state-error p, .kui-page-state-loading, .kui-page-state-message) {
1095
+ max-width: 520px;
1096
+ color: var(--text-secondary);
1097
+ font-size: var(--body-sm-font-size);
1098
+ line-height: var(--body-sm-line-height);
1099
+ }
1100
+
1101
+ :where(.kui-page-state-message) {
1102
+ color: var(--status-error-default);
1103
+ }
1104
+
927
1105
  :where(.kui-overlay-backdrop) {
928
1106
  position: fixed;
929
1107
  inset: 0;
@@ -1158,7 +1336,7 @@
1158
1336
  color: var(--text-default);
1159
1337
  background: var(--bg-base-secondary);
1160
1338
  border: 1px solid var(--border-neutral-l2);
1161
- border-radius: var(--radius-6);
1339
+ border-radius: var(--radius-4);
1162
1340
  }
1163
1341
 
1164
1342
  :where(.kui-alert, .kui-message, .kui-toast, .kui-notification) {
@@ -1357,7 +1535,7 @@
1357
1535
  padding: var(--spacer-4);
1358
1536
  background: var(--bg-base-secondary);
1359
1537
  border: 1px solid var(--border-neutral-l2);
1360
- border-radius: var(--radius-6);
1538
+ border-radius: var(--radius-4);
1361
1539
  }
1362
1540
 
1363
1541
  :where(.kui-menu-item) {
@@ -1568,7 +1746,7 @@
1568
1746
  color: var(--text-default);
1569
1747
  background: var(--bg-base-secondary);
1570
1748
  border: 1px solid var(--border-neutral-l1);
1571
- border-radius: var(--radius-6);
1749
+ border-radius: var(--radius-4);
1572
1750
  }
1573
1751
 
1574
1752
  :where(.kui-collapse-item[data-state='open']) {
@@ -1645,12 +1823,11 @@
1645
1823
  color: var(--text-default);
1646
1824
  background: var(--bg-base-tertiary);
1647
1825
  border: 1px solid var(--border-neutral-l2);
1648
- border-radius: var(--radius-6);
1826
+ border-radius: var(--radius-4);
1649
1827
  }
1650
1828
 
1651
1829
  :where(.kui-command-palette-input:focus-visible) {
1652
- outline: 2px solid var(--border-brand);
1653
- outline-offset: 2px;
1830
+ outline: 1px solid var(--border-brand);
1654
1831
  }
1655
1832
 
1656
1833
  :where(.kui-command-palette-listbox) {
@@ -1684,7 +1861,7 @@
1684
1861
  gap: var(--spacer-8);
1685
1862
  padding: var(--spacer-8);
1686
1863
  color: var(--text-default);
1687
- border-radius: var(--radius-6);
1864
+ border-radius: var(--radius-4);
1688
1865
  cursor: pointer;
1689
1866
  }
1690
1867
 
@@ -1720,7 +1897,7 @@
1720
1897
  min-height: 22px;
1721
1898
  display: inline-flex;
1722
1899
  align-items: center;
1723
- padding-inline: var(--spacer-6);
1900
+ padding-inline: var(--spacer-4);
1724
1901
  color: var(--text-secondary);
1725
1902
  background: var(--bg-base-tertiary);
1726
1903
  border: 1px solid var(--border-neutral-l1);
@@ -1751,6 +1928,13 @@
1751
1928
  background: var(--bg-base-secondary);
1752
1929
  }
1753
1930
 
1931
+ :where(.kui-table-scroll) {
1932
+ min-width: 0;
1933
+ width: 100%;
1934
+ overflow-x: auto;
1935
+ overscroll-behavior-inline: contain;
1936
+ }
1937
+
1754
1938
  :where(.kui-table[data-density='compact']) {
1755
1939
  font-size: var(--body-sm-font-size);
1756
1940
  line-height: var(--body-sm-line-height);
@@ -1861,12 +2045,11 @@
1861
2045
  color: var(--text-default);
1862
2046
  background: var(--bg-base-tertiary);
1863
2047
  border: 1px solid var(--border-neutral-l2);
1864
- border-radius: var(--radius-6);
2048
+ border-radius: var(--radius-4);
1865
2049
  }
1866
2050
 
1867
2051
  :where(.kui-data-toolbar-search:focus-visible) {
1868
- outline: 2px solid var(--border-brand);
1869
- outline-offset: 2px;
2052
+ outline: 1px solid var(--border-brand);
1870
2053
  }
1871
2054
 
1872
2055
  :where(.kui-filter-bar) {
@@ -1943,7 +2126,7 @@
1943
2126
  }
1944
2127
 
1945
2128
  :where(.kui-data-toolbar-action) {
1946
- border-radius: var(--radius-6);
2129
+ border-radius: var(--radius-4);
1947
2130
  }
1948
2131
 
1949
2132
  :where(.kui-data-toolbar-action[data-tone='primary']) {
@@ -2213,7 +2396,7 @@
2213
2396
  display: inline-flex;
2214
2397
  align-items: center;
2215
2398
  justify-content: center;
2216
- padding-inline: var(--spacer-6);
2399
+ padding-inline: var(--spacer-4);
2217
2400
  color: var(--text-secondary);
2218
2401
  background: var(--bg-base-tertiary);
2219
2402
  border: 1px solid var(--border-neutral-l2);
@@ -2232,7 +2415,7 @@
2232
2415
  display: inline-flex;
2233
2416
  align-items: center;
2234
2417
  justify-content: center;
2235
- padding-inline: var(--spacer-6);
2418
+ padding-inline: var(--spacer-4);
2236
2419
  color: var(--text-default);
2237
2420
  background: var(--bg-base-tertiary);
2238
2421
  border: 1px solid var(--border-neutral-l2);
@@ -2291,7 +2474,7 @@
2291
2474
  color: var(--text-secondary);
2292
2475
  background: var(--bg-base-secondary);
2293
2476
  border: 1px solid var(--border-neutral-l2);
2294
- border-radius: var(--radius-6);
2477
+ border-radius: var(--radius-4);
2295
2478
  }
2296
2479
 
2297
2480
  :where(.kui-pagination-previous)::before {
@@ -2376,7 +2559,7 @@
2376
2559
  color: var(--text-default);
2377
2560
  background: var(--bg-base-secondary);
2378
2561
  border: 1px solid var(--border-neutral-l1);
2379
- border-radius: var(--radius-6);
2562
+ border-radius: var(--radius-4);
2380
2563
  }
2381
2564
 
2382
2565
  :where(.kui-list.kui-density-compact .kui-list-item) {
@@ -2447,7 +2630,7 @@
2447
2630
  color: var(--text-secondary);
2448
2631
  background: var(--bg-base-tertiary);
2449
2632
  border: 1px solid var(--border-neutral-l2);
2450
- border-radius: var(--radius-6);
2633
+ border-radius: var(--radius-4);
2451
2634
  }
2452
2635
 
2453
2636
  :where(.kui-list-item-action[hidden]) {
@@ -2466,7 +2649,7 @@
2466
2649
  color: var(--text-default);
2467
2650
  background: var(--bg-base-secondary);
2468
2651
  border: 1px solid var(--border-neutral-l1);
2469
- border-radius: var(--radius-6);
2652
+ border-radius: var(--radius-4);
2470
2653
  }
2471
2654
 
2472
2655
  :where(.kui-carousel-viewport) {
@@ -2607,7 +2790,7 @@
2607
2790
  color: var(--text-brand);
2608
2791
  background: transparent;
2609
2792
  border: 1px solid var(--border-neutral-l2);
2610
- border-radius: var(--radius-6);
2793
+ border-radius: var(--radius-4);
2611
2794
  }
2612
2795
 
2613
2796
  :where(.kui-result) {
@@ -2666,14 +2849,14 @@
2666
2849
  color: var(--text-secondary);
2667
2850
  background: transparent;
2668
2851
  border: 0;
2669
- border-radius: var(--radius-6);
2852
+ border-radius: var(--radius-4);
2670
2853
  }
2671
2854
 
2672
2855
  :where(.kui-badge) {
2673
2856
  min-height: 20px;
2674
2857
  display: inline-flex;
2675
2858
  align-items: center;
2676
- padding-inline: var(--spacer-6);
2859
+ padding-inline: var(--spacer-4);
2677
2860
  color: var(--text-default);
2678
2861
  background: var(--bg-base-tertiary);
2679
2862
  border-radius: var(--radius-full);
@@ -2886,7 +3069,7 @@
2886
3069
  color: var(--text-secondary);
2887
3070
  background: var(--bg-base-tertiary);
2888
3071
  border: 1px solid var(--border-neutral-l2);
2889
- border-radius: var(--radius-6);
3072
+ border-radius: var(--radius-4);
2890
3073
  }
2891
3074
 
2892
3075
  :where(.kui-note-action, .kui-callout-action, .kui-panel-action, .kui-card-action)::before {
@@ -2915,7 +3098,7 @@
2915
3098
  color: var(--text-secondary);
2916
3099
  background: transparent;
2917
3100
  border: 0;
2918
- border-radius: var(--radius-6);
3101
+ border-radius: var(--radius-4);
2919
3102
  }
2920
3103
 
2921
3104
  :where(.kui-note-close, .kui-callout-close)::before {
@@ -2963,7 +3146,7 @@
2963
3146
  color: var(--text-secondary);
2964
3147
  background: var(--bg-base-tertiary);
2965
3148
  border: 1px solid var(--border-neutral-l1);
2966
- border-radius: var(--radius-6);
3149
+ border-radius: var(--radius-4);
2967
3150
  font-size: var(--body-sm-font-size);
2968
3151
  line-height: var(--body-sm-line-height);
2969
3152
  }
@@ -3111,7 +3294,7 @@
3111
3294
  color: var(--text-secondary);
3112
3295
  background: var(--bg-base-tertiary);
3113
3296
  border: 1px solid var(--border-neutral-l2);
3114
- border-radius: var(--radius-6);
3297
+ border-radius: var(--radius-4);
3115
3298
  }
3116
3299
 
3117
3300
  :where(.kui-table-panel-toolbar) {
@@ -3217,7 +3400,7 @@
3217
3400
  color: var(--text-default);
3218
3401
  background: var(--bg-base-secondary);
3219
3402
  border: 1px solid var(--border-neutral-l2);
3220
- border-radius: var(--radius-6);
3403
+ border-radius: var(--radius-4);
3221
3404
  }
3222
3405
 
3223
3406
  :where(.kui-combobox-listbox) {
@@ -3232,7 +3415,7 @@
3232
3415
  list-style: none;
3233
3416
  background: var(--bg-base-secondary);
3234
3417
  border: 1px solid var(--border-neutral-l2);
3235
- border-radius: var(--radius-6);
3418
+ border-radius: var(--radius-4);
3236
3419
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3237
3420
  }
3238
3421
 
@@ -3270,7 +3453,7 @@
3270
3453
  color: var(--text-default);
3271
3454
  background: var(--bg-base-secondary);
3272
3455
  border: 1px solid var(--border-neutral-l2);
3273
- border-radius: var(--radius-6);
3456
+ border-radius: var(--radius-4);
3274
3457
  }
3275
3458
 
3276
3459
  :where(.kui-cascader-trigger)::before {
@@ -3361,7 +3544,7 @@
3361
3544
  color: var(--text-default);
3362
3545
  background: var(--bg-base-secondary);
3363
3546
  border: 1px solid var(--border-neutral-l1);
3364
- border-radius: var(--radius-6);
3547
+ border-radius: var(--radius-4);
3365
3548
  font-size: var(--body-sm-font-size);
3366
3549
  line-height: var(--body-sm-line-height);
3367
3550
  }
@@ -3371,8 +3554,8 @@
3371
3554
  display: flex;
3372
3555
  align-items: center;
3373
3556
  gap: var(--spacer-6);
3374
- padding-inline: var(--spacer-6);
3375
- padding-inline-start: calc(var(--spacer-6) + (var(--kui-tree-depth, 0) * 16px));
3557
+ padding-inline: var(--spacer-4);
3558
+ padding-inline-start: calc(var(--spacer-4) + (var(--kui-tree-depth, 0) * 16px));
3376
3559
  color: var(--text-default);
3377
3560
  border-radius: var(--radius-4);
3378
3561
  cursor: pointer;
@@ -3475,7 +3658,7 @@
3475
3658
  color: var(--text-default);
3476
3659
  background: var(--bg-base-secondary);
3477
3660
  border: 1px solid var(--border-neutral-l2);
3478
- border-radius: var(--radius-6);
3661
+ border-radius: var(--radius-4);
3479
3662
  }
3480
3663
 
3481
3664
  :where(.kui-tree-select-trigger)::after {
@@ -3504,7 +3687,7 @@
3504
3687
  :where(.kui-button, .kui-input, .kui-textarea, .kui-select, .kui-switch) {
3505
3688
  min-height: 32px;
3506
3689
  border: 1px solid var(--border-neutral-l2);
3507
- border-radius: var(--radius-6);
3690
+ border-radius: var(--radius-4);
3508
3691
  transition:
3509
3692
  background var(--transition-fast),
3510
3693
  border-color var(--transition-fast),
@@ -3574,6 +3757,11 @@
3574
3757
  background: var(--bg-base-secondary);
3575
3758
  }
3576
3759
 
3760
+ :where(.kui-select) option:checked {
3761
+ color: var(--text-onbrand);
3762
+ background: var(--bg-brand);
3763
+ }
3764
+
3577
3765
  :where(.kui-textarea) {
3578
3766
  min-height: 80px;
3579
3767
  padding-block: var(--spacer-8);
@@ -3858,7 +4046,7 @@
3858
4046
  align-items: center;
3859
4047
  justify-content: center;
3860
4048
  border: none;
3861
- border-radius: var(--radius-6, 6px);
4049
+ border-radius: var(--radius-4, 4px);
3862
4050
  background: transparent;
3863
4051
  color: var(--icon-secondary, var(--color-foreground));
3864
4052
  cursor: pointer;
@@ -721,6 +721,8 @@ export interface PaginationPlanOptions {
721
721
  readonly label?: string;
722
722
  readonly previousLabel?: string;
723
723
  readonly nextLabel?: string;
724
+ readonly pageLabel?: (page: number) => string;
725
+ readonly summary?: string;
724
726
  readonly className?: string;
725
727
  readonly attrs?: UiAttributes;
726
728
  }
@@ -736,6 +738,35 @@ export interface PaginationPlans {
736
738
  readonly pages: readonly UiDomPlan<'button' | 'span'>[];
737
739
  readonly next: UiDomPlan<'button'>;
738
740
  readonly summary: UiDomPlan<'output'>;
741
+ readonly model: PaginationModel;
742
+ }
743
+ export interface PaginationModel {
744
+ readonly rootId: string;
745
+ readonly rootClassName: string;
746
+ readonly page: number;
747
+ readonly pageCount: number;
748
+ readonly totalItems: number;
749
+ readonly previousClassName: string;
750
+ readonly previousLabel: string;
751
+ readonly previousPage: number;
752
+ readonly previousDisabled: boolean;
753
+ readonly listClassName: string;
754
+ readonly pages: readonly PaginationItemModel[];
755
+ readonly nextClassName: string;
756
+ readonly nextLabel: string;
757
+ readonly nextPage: number;
758
+ readonly nextDisabled: boolean;
759
+ readonly summaryClassName: string;
760
+ readonly summary: string;
761
+ }
762
+ export interface PaginationItemModel {
763
+ readonly id: string;
764
+ readonly className: string;
765
+ readonly kind: PaginationItemKind;
766
+ readonly page: number;
767
+ readonly state: 'current' | 'idle' | 'ellipsis';
768
+ readonly current: 'page' | undefined;
769
+ readonly label: string;
739
770
  }
740
771
  export interface ListItemPlanOptions {
741
772
  readonly id: string;