rei-kit 2.20.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/components/ScrollArea.vue.d.ts +68 -0
- package/dist/components/VirtualList.vue.d.ts +37 -0
- package/dist/composables/use-virtual-window.d.ts +39 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +460 -180
- package/dist/index.js.map +1 -1
- package/dist/styles.css +104 -25
- package/package.json +2 -2
package/dist/styles.css
CHANGED
|
@@ -399,18 +399,18 @@
|
|
|
399
399
|
background: color-mix(in srgb, var(--color-hair) 70%, transparent);
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
-
.rk-combo[data-v-
|
|
402
|
+
.rk-combo[data-v-006740dc] {
|
|
403
403
|
position: relative;
|
|
404
404
|
display: flex;
|
|
405
405
|
flex-direction: column;
|
|
406
406
|
gap: 0.375rem;
|
|
407
407
|
}
|
|
408
|
-
.rk-combo-label[data-v-
|
|
408
|
+
.rk-combo-label[data-v-006740dc] {
|
|
409
409
|
font-size: 0.875rem;
|
|
410
410
|
font-weight: 500;
|
|
411
411
|
color: var(--color-ink);
|
|
412
412
|
}
|
|
413
|
-
.rk-combo-field[data-v-
|
|
413
|
+
.rk-combo-field[data-v-006740dc] {
|
|
414
414
|
position: relative;
|
|
415
415
|
display: flex;
|
|
416
416
|
align-items: center;
|
|
@@ -418,14 +418,14 @@
|
|
|
418
418
|
|
|
419
419
|
/* With chips the field is a box that wraps, and the input is one item in it
|
|
420
420
|
that grows into whatever is left. */
|
|
421
|
-
.rk-combo-field.is-multiple[data-v-
|
|
421
|
+
.rk-combo-field.is-multiple[data-v-006740dc] {
|
|
422
422
|
flex-wrap: wrap;
|
|
423
423
|
gap: 0.25rem;
|
|
424
424
|
min-height: 2.75rem;
|
|
425
425
|
border-radius: var(--radius-card);
|
|
426
426
|
padding: 0.3125rem 2rem 0.3125rem 0.375rem;
|
|
427
427
|
}
|
|
428
|
-
.rk-combo-chip[data-v-
|
|
428
|
+
.rk-combo-chip[data-v-006740dc] {
|
|
429
429
|
display: inline-flex;
|
|
430
430
|
align-items: center;
|
|
431
431
|
gap: 0.25rem;
|
|
@@ -435,7 +435,7 @@
|
|
|
435
435
|
font-size: 0.8125rem;
|
|
436
436
|
color: var(--color-ink);
|
|
437
437
|
}
|
|
438
|
-
.rk-combo-chip-x[data-v-
|
|
438
|
+
.rk-combo-chip-x[data-v-006740dc] {
|
|
439
439
|
display: grid;
|
|
440
440
|
width: 1.125rem;
|
|
441
441
|
height: 1.125rem;
|
|
@@ -444,13 +444,13 @@
|
|
|
444
444
|
color: var(--color-ink-soft);
|
|
445
445
|
line-height: 1;
|
|
446
446
|
}
|
|
447
|
-
.rk-combo-chip-x[data-v-
|
|
447
|
+
.rk-combo-chip-x[data-v-006740dc]:hover {
|
|
448
448
|
color: var(--color-ink);
|
|
449
449
|
}
|
|
450
450
|
|
|
451
451
|
/* 16px, like every other text control here: iOS zooms the viewport when it
|
|
452
452
|
focuses a field under 16px and never zooms back. */
|
|
453
|
-
.rk-combo-input[data-v-
|
|
453
|
+
.rk-combo-input[data-v-006740dc] {
|
|
454
454
|
width: 100%;
|
|
455
455
|
height: 2.75rem;
|
|
456
456
|
border-radius: var(--radius-card);
|
|
@@ -458,7 +458,7 @@
|
|
|
458
458
|
font-size: 1rem;
|
|
459
459
|
color: var(--color-ink);
|
|
460
460
|
}
|
|
461
|
-
.is-multiple .rk-combo-input[data-v-
|
|
461
|
+
.is-multiple .rk-combo-input[data-v-006740dc] {
|
|
462
462
|
width: auto;
|
|
463
463
|
height: 1.75rem;
|
|
464
464
|
min-width: 6rem;
|
|
@@ -469,29 +469,29 @@
|
|
|
469
469
|
background: transparent;
|
|
470
470
|
box-shadow: none;
|
|
471
471
|
}
|
|
472
|
-
.rk-combo-input[data-v-
|
|
472
|
+
.rk-combo-input[data-v-006740dc]:focus-visible {
|
|
473
473
|
outline: 2px solid var(--color-primary);
|
|
474
474
|
outline-offset: -1px;
|
|
475
475
|
}
|
|
476
|
-
.is-multiple .rk-combo-input[data-v-
|
|
476
|
+
.is-multiple .rk-combo-input[data-v-006740dc]:focus-visible {
|
|
477
477
|
outline: none;
|
|
478
478
|
}
|
|
479
479
|
|
|
480
480
|
/* The ring belongs to the whole box once the box is the control. */
|
|
481
|
-
.rk-combo-field.is-multiple[data-v-
|
|
481
|
+
.rk-combo-field.is-multiple[data-v-006740dc]:focus-within {
|
|
482
482
|
outline: 2px solid var(--color-primary);
|
|
483
483
|
outline-offset: -1px;
|
|
484
484
|
}
|
|
485
|
-
.rk-combo-input[data-v-
|
|
485
|
+
.rk-combo-input[data-v-006740dc]:disabled {
|
|
486
486
|
opacity: 0.5;
|
|
487
487
|
}
|
|
488
|
-
.rk-combo-toggle[data-v-
|
|
488
|
+
.rk-combo-toggle[data-v-006740dc] {
|
|
489
489
|
position: absolute;
|
|
490
490
|
right: 0.5rem;
|
|
491
491
|
color: var(--color-ink-soft);
|
|
492
492
|
font-size: 0.75rem;
|
|
493
493
|
}
|
|
494
|
-
.rk-combo-list[data-v-
|
|
494
|
+
.rk-combo-list[data-v-006740dc] {
|
|
495
495
|
position: absolute;
|
|
496
496
|
top: calc(100% - 1.25rem);
|
|
497
497
|
z-index: 50;
|
|
@@ -501,7 +501,7 @@
|
|
|
501
501
|
border-radius: var(--radius-card);
|
|
502
502
|
padding: 0.25rem;
|
|
503
503
|
}
|
|
504
|
-
.rk-combo-option[data-v-
|
|
504
|
+
.rk-combo-option[data-v-006740dc] {
|
|
505
505
|
cursor: pointer;
|
|
506
506
|
border-radius: var(--radius-cell);
|
|
507
507
|
padding: 0.5rem 0.625rem;
|
|
@@ -511,38 +511,38 @@
|
|
|
511
511
|
|
|
512
512
|
/* A virtual row's height is the arithmetic the spacers are built on, so it
|
|
513
513
|
cannot be left to the text inside it. */
|
|
514
|
-
.rk-combo-option[style][data-v-
|
|
514
|
+
.rk-combo-option[style][data-v-006740dc] {
|
|
515
515
|
display: flex;
|
|
516
516
|
align-items: center;
|
|
517
517
|
padding-block: 0;
|
|
518
518
|
}
|
|
519
|
-
.rk-combo-option.is-highlighted[data-v-
|
|
519
|
+
.rk-combo-option.is-highlighted[data-v-006740dc] {
|
|
520
520
|
background: var(--color-muted);
|
|
521
521
|
}
|
|
522
|
-
.rk-combo-option.is-selected[data-v-
|
|
522
|
+
.rk-combo-option.is-selected[data-v-006740dc] {
|
|
523
523
|
font-weight: 600;
|
|
524
524
|
}
|
|
525
|
-
.rk-combo-empty[data-v-
|
|
526
|
-
.rk-combo-status[data-v-
|
|
525
|
+
.rk-combo-empty[data-v-006740dc],
|
|
526
|
+
.rk-combo-status[data-v-006740dc] {
|
|
527
527
|
padding: 0.75rem 0.625rem;
|
|
528
528
|
font-size: 0.875rem;
|
|
529
529
|
color: var(--color-ink-soft);
|
|
530
530
|
}
|
|
531
|
-
.rk-combo-status[data-v-
|
|
531
|
+
.rk-combo-status[data-v-006740dc] {
|
|
532
532
|
display: flex;
|
|
533
533
|
flex-direction: column;
|
|
534
534
|
gap: 0.5rem;
|
|
535
535
|
}
|
|
536
|
-
.rk-combo-status-rows[data-v-
|
|
536
|
+
.rk-combo-status-rows[data-v-006740dc] {
|
|
537
537
|
display: flex;
|
|
538
538
|
flex-direction: column;
|
|
539
539
|
gap: 0.5rem;
|
|
540
540
|
}
|
|
541
|
-
.rk-combo-error[data-v-
|
|
541
|
+
.rk-combo-error[data-v-006740dc] {
|
|
542
542
|
font-size: 0.75rem;
|
|
543
543
|
color: var(--color-negative);
|
|
544
544
|
}
|
|
545
|
-
.rk-combo-hint[data-v-
|
|
545
|
+
.rk-combo-hint[data-v-006740dc] {
|
|
546
546
|
font-size: 0.75rem;
|
|
547
547
|
color: var(--color-ink-soft);
|
|
548
548
|
}
|
|
@@ -1111,6 +1111,85 @@ to {
|
|
|
1111
1111
|
outline-offset: 1px;
|
|
1112
1112
|
}
|
|
1113
1113
|
|
|
1114
|
+
.rk-scroll[data-v-4c21cdc9] {
|
|
1115
|
+
position: relative;
|
|
1116
|
+
min-width: 0;
|
|
1117
|
+
min-height: 0;
|
|
1118
|
+
}
|
|
1119
|
+
.rk-scroll-viewport[data-v-4c21cdc9] {
|
|
1120
|
+
max-width: 100%;
|
|
1121
|
+
max-height: 100%;
|
|
1122
|
+
}
|
|
1123
|
+
.rk-scroll-viewport.is-x[data-v-4c21cdc9] {
|
|
1124
|
+
overflow-x: auto;
|
|
1125
|
+
overflow-y: hidden;
|
|
1126
|
+
}
|
|
1127
|
+
.rk-scroll-viewport.is-y[data-v-4c21cdc9] {
|
|
1128
|
+
overflow-x: hidden;
|
|
1129
|
+
overflow-y: auto;
|
|
1130
|
+
}
|
|
1131
|
+
.rk-scroll-viewport.is-both[data-v-4c21cdc9] {
|
|
1132
|
+
overflow: auto;
|
|
1133
|
+
}
|
|
1134
|
+
.rk-scroll-viewport[data-v-4c21cdc9]:focus-visible {
|
|
1135
|
+
outline: 2px solid var(--color-primary);
|
|
1136
|
+
outline-offset: 2px;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
/* The fade paints over whatever the box sits on, so the colour is a hook:
|
|
1140
|
+
a scroll area on a card sets it to the card's ground. */
|
|
1141
|
+
.rk-scroll-fade[data-v-4c21cdc9] {
|
|
1142
|
+
position: absolute;
|
|
1143
|
+
z-index: 1;
|
|
1144
|
+
pointer-events: none;
|
|
1145
|
+
--rk-scroll-fade: var(--scroll-fade-color, var(--color-canvas));
|
|
1146
|
+
}
|
|
1147
|
+
.rk-scroll-fade.is-start-x[data-v-4c21cdc9],
|
|
1148
|
+
.rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
|
|
1149
|
+
inset-block: 0;
|
|
1150
|
+
width: 1.5rem;
|
|
1151
|
+
}
|
|
1152
|
+
.rk-scroll-fade.is-start-y[data-v-4c21cdc9],
|
|
1153
|
+
.rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
|
|
1154
|
+
inset-inline: 0;
|
|
1155
|
+
height: 1.5rem;
|
|
1156
|
+
}
|
|
1157
|
+
.rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
|
|
1158
|
+
inset-inline-start: 0;
|
|
1159
|
+
background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
|
|
1160
|
+
}
|
|
1161
|
+
.rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
|
|
1162
|
+
inset-inline-end: 0;
|
|
1163
|
+
background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
|
|
1164
|
+
}
|
|
1165
|
+
.rk-scroll-fade.is-start-y[data-v-4c21cdc9] {
|
|
1166
|
+
inset-block-start: 0;
|
|
1167
|
+
background: linear-gradient(to bottom, var(--rk-scroll-fade), transparent);
|
|
1168
|
+
}
|
|
1169
|
+
.rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
|
|
1170
|
+
inset-block-end: 0;
|
|
1171
|
+
background: linear-gradient(to top, var(--rk-scroll-fade), transparent);
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
/* The insets are logical, so they land on the correct side on their own.
|
|
1175
|
+
A gradient has no logical direction, so these two flip by hand. */
|
|
1176
|
+
[dir='rtl'] .rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
|
|
1177
|
+
background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
|
|
1178
|
+
}
|
|
1179
|
+
[dir='rtl'] .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
|
|
1180
|
+
background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
.rk-vlist-rows[data-v-936ed40c] {
|
|
1184
|
+
margin: 0;
|
|
1185
|
+
padding: 0;
|
|
1186
|
+
list-style: none;
|
|
1187
|
+
}
|
|
1188
|
+
.rk-vlist-row[data-v-936ed40c] {
|
|
1189
|
+
box-sizing: border-box;
|
|
1190
|
+
overflow: hidden;
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1114
1193
|
.rk-stack[data-v-db629481] {
|
|
1115
1194
|
display: inline-flex;
|
|
1116
1195
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rei-kit",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "One kit, every look.
|
|
3
|
+
"version": "2.21.0",
|
|
4
|
+
"description": "One kit, every look. 99 accessible Vue 3 + Tailwind 4 components, four materials (quiet, glass, brutal, soft) and ten WCAG-checked palettes, each switched with one attribute.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
7
7
|
"vue3",
|