rei-kit 2.7.0 → 2.9.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/styles.css CHANGED
@@ -218,6 +218,85 @@
218
218
  opacity: 0;
219
219
  }
220
220
 
221
+ .rk-listbox[data-v-95e230a5] {
222
+ overflow-y: auto;
223
+ border-radius: var(--radius-card);
224
+ padding: 0.25rem;
225
+ }
226
+ .rk-listbox[data-v-95e230a5]:focus-visible {
227
+ outline: 2px solid var(--color-primary);
228
+ outline-offset: 1px;
229
+ }
230
+ .rk-listbox-option[data-v-95e230a5] {
231
+ display: flex;
232
+ cursor: pointer;
233
+ align-items: center;
234
+ gap: 0.625rem;
235
+ border-radius: var(--radius-cell);
236
+ padding: 0.5rem 0.625rem;
237
+ font-size: 0.875rem;
238
+ color: var(--color-ink);
239
+ }
240
+ .rk-listbox-option.is-active[data-v-95e230a5] {
241
+ background: var(--color-muted);
242
+ }
243
+ .rk-listbox-option.is-chosen[data-v-95e230a5] {
244
+ color: var(--color-primary);
245
+ font-weight: 500;
246
+ }
247
+
248
+ /* Both at once: the current option and the chosen one are different things,
249
+ and a list that shows only one of them loses the reader's place. */
250
+ .rk-listbox-option.is-chosen.is-active[data-v-95e230a5] {
251
+ background: color-mix(in oklab, var(--color-primary) 12%, transparent);
252
+ }
253
+ .rk-listbox-option.is-disabled[data-v-95e230a5] {
254
+ cursor: not-allowed;
255
+ opacity: 0.45;
256
+ }
257
+ .rk-listbox-label[data-v-95e230a5] {
258
+ display: block;
259
+ overflow: hidden;
260
+ text-overflow: ellipsis;
261
+ white-space: nowrap;
262
+ }
263
+ .rk-listbox-description[data-v-95e230a5] {
264
+ display: block;
265
+ font-size: 0.75rem;
266
+ color: var(--color-ink-soft);
267
+ }
268
+ .rk-listbox-empty[data-v-95e230a5] {
269
+ padding: 1rem;
270
+ }
271
+
272
+ .rk-skeleton[data-v-37327de6] {
273
+ display: block;
274
+ flex-shrink: 0;
275
+ background: var(--color-muted);
276
+ animation: rk-skeleton-pulse-37327de6 1.6s ease-in-out infinite;
277
+ }
278
+ .rk-skeleton.is-block[data-v-37327de6] {
279
+ border-radius: var(--radius-cell);
280
+ }
281
+
282
+ /* A line of text, rounded like one and a little short of its box. */
283
+ .rk-skeleton.is-text[data-v-37327de6] {
284
+ border-radius: 9999px;
285
+ }
286
+ .rk-skeleton.is-circle[data-v-37327de6] {
287
+ border-radius: 9999px;
288
+ }
289
+ @keyframes rk-skeleton-pulse-37327de6 {
290
+ 50% {
291
+ opacity: 0.55;
292
+ }
293
+ }
294
+ @media (prefers-reduced-motion: reduce) {
295
+ .rk-skeleton[data-v-37327de6] {
296
+ animation: none;
297
+ }
298
+ }
299
+
221
300
  .rk-avatar[data-v-47586bec] {
222
301
  display: grid;
223
302
  place-items: center;
@@ -989,7 +1068,7 @@ to {
989
1068
  background: var(--color-muted);
990
1069
  }
991
1070
 
992
- .rk-chip[data-v-e9026659] {
1071
+ .rk-chip[data-v-c94a820d] {
993
1072
  display: inline-flex;
994
1073
  max-width: 100%;
995
1074
  align-items: center;
@@ -1002,21 +1081,22 @@ to {
1002
1081
  background: var(--color-muted);
1003
1082
  color: var(--color-ink);
1004
1083
  }
1005
- .rk-chip.is-button[data-v-e9026659] {
1006
- cursor: pointer;
1007
- transition:
1008
- background-color var(--duration-fast) var(--ease-standard),
1009
- color var(--duration-fast) var(--ease-standard);
1084
+ .rk-chip-body[data-v-c94a820d] {
1085
+ display: inline-flex;
1086
+ min-width: 0;
1087
+ align-items: center;
1088
+ gap: 0.375rem;
1089
+ border-radius: 9999px;
1090
+ color: inherit;
1010
1091
  }
1011
- .rk-chip.is-button[data-v-e9026659]:focus-visible {
1012
- outline: 2px solid var(--color-primary);
1013
- outline-offset: 2px;
1092
+ .rk-chip-body.is-button[data-v-c94a820d] {
1093
+ cursor: pointer;
1014
1094
  }
1015
- .rk-chip.is-selected[data-v-e9026659] {
1095
+ .rk-chip.is-selected[data-v-c94a820d] {
1016
1096
  background: var(--color-primary);
1017
1097
  color: var(--color-on-primary);
1018
1098
  }
1019
- .rk-chip[data-v-e9026659]:disabled {
1099
+ .rk-chip.is-disabled[data-v-c94a820d] {
1020
1100
  cursor: not-allowed;
1021
1101
  opacity: 0.5;
1022
1102
  }
@@ -1024,27 +1104,27 @@ to {
1024
1104
  /* The tones tint rather than fill: a row of chips in five solid colours is a
1025
1105
  row where nothing stands out. The selected one fills, and that is the point
1026
1106
  of it. */
1027
- .rk-chip.tone-primary[data-v-e9026659] {
1107
+ .rk-chip.tone-primary[data-v-c94a820d] {
1028
1108
  background: color-mix(in oklab, var(--color-primary) 12%, transparent);
1029
1109
  border-color: color-mix(in oklab, var(--color-primary) 25%, transparent);
1030
1110
  color: var(--color-primary);
1031
1111
  }
1032
- .rk-chip.tone-success[data-v-e9026659] {
1112
+ .rk-chip.tone-success[data-v-c94a820d] {
1033
1113
  background: color-mix(in oklab, var(--color-positive) 14%, transparent);
1034
1114
  border-color: color-mix(in oklab, var(--color-positive) 28%, transparent);
1035
1115
  color: color-mix(in oklab, var(--color-positive) 80%, var(--color-ink));
1036
1116
  }
1037
- .rk-chip.tone-warning[data-v-e9026659] {
1117
+ .rk-chip.tone-warning[data-v-c94a820d] {
1038
1118
  background: color-mix(in oklab, var(--color-warning) 16%, transparent);
1039
1119
  border-color: color-mix(in oklab, var(--color-warning) 30%, transparent);
1040
1120
  color: color-mix(in oklab, var(--color-warning) 75%, var(--color-ink));
1041
1121
  }
1042
- .rk-chip.tone-danger[data-v-e9026659] {
1122
+ .rk-chip.tone-danger[data-v-c94a820d] {
1043
1123
  background: color-mix(in oklab, var(--color-negative) 12%, transparent);
1044
1124
  border-color: color-mix(in oklab, var(--color-negative) 26%, transparent);
1045
1125
  color: var(--color-negative);
1046
1126
  }
1047
- .rk-chip-remove[data-v-e9026659] {
1127
+ .rk-chip-remove[data-v-c94a820d] {
1048
1128
  display: grid;
1049
1129
  width: 1.125rem;
1050
1130
  height: 1.125rem;
@@ -1055,7 +1135,7 @@ to {
1055
1135
  opacity: 0.7;
1056
1136
  transition: opacity var(--duration-fast) var(--ease-standard);
1057
1137
  }
1058
- .rk-chip-remove[data-v-e9026659]:hover {
1138
+ .rk-chip-remove[data-v-c94a820d]:hover {
1059
1139
  opacity: 1;
1060
1140
  background: color-mix(in oklab, currentColor 15%, transparent);
1061
1141
  }
@@ -1221,34 +1301,6 @@ to {
1221
1301
  color: var(--color-ink-soft);
1222
1302
  }
1223
1303
 
1224
- .rk-skeleton[data-v-37327de6] {
1225
- display: block;
1226
- flex-shrink: 0;
1227
- background: var(--color-muted);
1228
- animation: rk-skeleton-pulse-37327de6 1.6s ease-in-out infinite;
1229
- }
1230
- .rk-skeleton.is-block[data-v-37327de6] {
1231
- border-radius: var(--radius-cell);
1232
- }
1233
-
1234
- /* A line of text, rounded like one and a little short of its box. */
1235
- .rk-skeleton.is-text[data-v-37327de6] {
1236
- border-radius: 9999px;
1237
- }
1238
- .rk-skeleton.is-circle[data-v-37327de6] {
1239
- border-radius: 9999px;
1240
- }
1241
- @keyframes rk-skeleton-pulse-37327de6 {
1242
- 50% {
1243
- opacity: 0.55;
1244
- }
1245
- }
1246
- @media (prefers-reduced-motion: reduce) {
1247
- .rk-skeleton[data-v-37327de6] {
1248
- animation: none;
1249
- }
1250
- }
1251
-
1252
1304
  .rk-copy[data-v-c481e140] {
1253
1305
  display: inline-flex;
1254
1306
  height: 2.25rem;
@@ -1398,11 +1450,11 @@ to {
1398
1450
  outline: none;
1399
1451
  }
1400
1452
 
1401
- .rk-popover[data-v-1e2d16d3] {
1453
+ .rk-popover[data-v-1371bff2] {
1402
1454
  position: relative;
1403
1455
  display: inline-flex;
1404
1456
  }
1405
- .rk-popover-panel[data-v-1e2d16d3] {
1457
+ .rk-popover-panel[data-v-1371bff2] {
1406
1458
  position: absolute;
1407
1459
  z-index: 50;
1408
1460
  min-width: 14rem;
@@ -1411,39 +1463,39 @@ to {
1411
1463
  padding: 0.75rem;
1412
1464
  translate: var(--rk-popover-shift, 0) 0;
1413
1465
  }
1414
- .rk-popover-panel[data-v-1e2d16d3]:focus-visible {
1466
+ .rk-popover-panel[data-v-1371bff2]:focus-visible {
1415
1467
  outline: 2px solid var(--color-primary);
1416
1468
  outline-offset: 2px;
1417
1469
  }
1418
- .rk-popover-panel.is-bottom[data-v-1e2d16d3] {
1470
+ .rk-popover-panel.is-bottom[data-v-1371bff2] {
1419
1471
  top: calc(100% + 0.5rem);
1420
1472
  }
1421
- .rk-popover-panel.is-top[data-v-1e2d16d3] {
1473
+ .rk-popover-panel.is-top[data-v-1371bff2] {
1422
1474
  bottom: calc(100% + 0.5rem);
1423
1475
  }
1424
- .rk-popover-panel.is-start[data-v-1e2d16d3] {
1476
+ .rk-popover-panel.is-start[data-v-1371bff2] {
1425
1477
  left: 0;
1426
1478
  }
1427
- .rk-popover-panel.is-end[data-v-1e2d16d3] {
1479
+ .rk-popover-panel.is-end[data-v-1371bff2] {
1428
1480
  right: 0;
1429
1481
  }
1430
- .rk-popover-panel.is-center[data-v-1e2d16d3] {
1482
+ .rk-popover-panel.is-center[data-v-1371bff2] {
1431
1483
  left: 50%;
1432
1484
  translate: calc(-50% + var(--rk-popover-shift, 0px)) 0;
1433
1485
  }
1434
- .rk-popover-enter-active[data-v-1e2d16d3],
1435
- .rk-popover-leave-active[data-v-1e2d16d3] {
1486
+ .rk-popover-enter-active[data-v-1371bff2],
1487
+ .rk-popover-leave-active[data-v-1371bff2] {
1436
1488
  transition:
1437
1489
  opacity var(--duration-fast) var(--ease-standard),
1438
1490
  transform var(--duration-fast) var(--ease-standard);
1439
1491
  }
1440
- .rk-popover-enter-from[data-v-1e2d16d3],
1441
- .rk-popover-leave-to[data-v-1e2d16d3] {
1492
+ .rk-popover-enter-from[data-v-1371bff2],
1493
+ .rk-popover-leave-to[data-v-1371bff2] {
1442
1494
  opacity: 0;
1443
1495
  transform: translateY(-4px) scale(0.98);
1444
1496
  }
1445
- .rk-popover-panel.is-top.rk-popover-enter-from[data-v-1e2d16d3],
1446
- .rk-popover-panel.is-top.rk-popover-leave-to[data-v-1e2d16d3] {
1497
+ .rk-popover-panel.is-top.rk-popover-enter-from[data-v-1371bff2],
1498
+ .rk-popover-panel.is-top.rk-popover-leave-to[data-v-1371bff2] {
1447
1499
  transform: translateY(4px) scale(0.98);
1448
1500
  }
1449
1501
 
@@ -2425,6 +2477,355 @@ to {
2425
2477
  color: var(--color-ink-soft);
2426
2478
  }
2427
2479
 
2480
+ .rk-command[data-v-cce1dd03] {
2481
+ position: fixed;
2482
+ inset: 0;
2483
+ z-index: 90;
2484
+ display: flex;
2485
+ justify-content: center;
2486
+ padding: 1rem;
2487
+ /* Near the top, not centred: the eye is already up there, and the list
2488
+ grows downwards into space rather than pushing itself off both edges. */
2489
+ padding-top: min(12vh, 6rem);
2490
+ }
2491
+ .rk-command-scrim[data-v-cce1dd03] {
2492
+ position: absolute;
2493
+ inset: 0;
2494
+ background: color-mix(in oklab, var(--color-ink) 45%, transparent);
2495
+ backdrop-filter: blur(2px);
2496
+ }
2497
+ .rk-command-panel[data-v-cce1dd03] {
2498
+ position: relative;
2499
+ display: flex;
2500
+ width: 100%;
2501
+ max-width: 34rem;
2502
+ max-height: min(28rem, 70vh);
2503
+ flex-direction: column;
2504
+ overflow: hidden;
2505
+ border-radius: var(--radius-card);
2506
+ }
2507
+ .rk-command-field[data-v-cce1dd03] {
2508
+ display: flex;
2509
+ align-items: center;
2510
+ gap: 0.625rem;
2511
+ border-bottom: 1px solid var(--surface-border-color);
2512
+ padding: 0.875rem 1rem;
2513
+ }
2514
+ .rk-command-input[data-v-cce1dd03] {
2515
+ min-width: 0;
2516
+ flex: 1;
2517
+ background: transparent;
2518
+ font-size: 1rem;
2519
+ color: var(--color-ink);
2520
+ outline: none;
2521
+ }
2522
+
2523
+ /* The field takes focus the moment this opens, so a full ring around it
2524
+ would be on the whole time. The rule under it turns instead: enough to
2525
+ say where the keyboard is, quiet enough to live with. */
2526
+ .rk-command-field[data-v-cce1dd03]:has(.rk-command-input:focus-visible) {
2527
+ border-bottom-color: var(--color-primary);
2528
+ box-shadow: inset 0 -1px 0 var(--color-primary);
2529
+ }
2530
+ .rk-command-list[data-v-cce1dd03] {
2531
+ overflow-y: auto;
2532
+ padding: 0.375rem;
2533
+ }
2534
+ .rk-command-group[data-v-cce1dd03] {
2535
+ padding: 0.5rem 0.625rem 0.25rem;
2536
+ font-size: 0.6875rem;
2537
+ font-weight: 600;
2538
+ letter-spacing: 0.04em;
2539
+ text-transform: uppercase;
2540
+ color: var(--color-ink-soft);
2541
+ }
2542
+ .rk-command-item[data-v-cce1dd03] {
2543
+ display: flex;
2544
+ cursor: pointer;
2545
+ align-items: center;
2546
+ gap: 0.625rem;
2547
+ border-radius: var(--radius-cell);
2548
+ padding: 0.5rem 0.625rem;
2549
+ font-size: 0.875rem;
2550
+ color: var(--color-ink);
2551
+ }
2552
+ .rk-command-item.is-active[data-v-cce1dd03] {
2553
+ background: var(--color-muted);
2554
+ }
2555
+ .rk-command-hint[data-v-cce1dd03] {
2556
+ margin-left: auto;
2557
+ flex-shrink: 0;
2558
+ font-size: 0.75rem;
2559
+ color: var(--color-ink-soft);
2560
+ }
2561
+ .rk-command-empty[data-v-cce1dd03] {
2562
+ padding: 1.5rem 0.625rem;
2563
+ text-align: center;
2564
+ font-size: 0.875rem;
2565
+ color: var(--color-ink-soft);
2566
+ }
2567
+ .rk-command-enter-active[data-v-cce1dd03],
2568
+ .rk-command-leave-active[data-v-cce1dd03] {
2569
+ transition: opacity var(--duration-fast) var(--ease-standard);
2570
+ }
2571
+ .rk-command-enter-active .rk-command-panel[data-v-cce1dd03],
2572
+ .rk-command-leave-active .rk-command-panel[data-v-cce1dd03] {
2573
+ transition: transform var(--duration-fast) var(--ease-standard);
2574
+ }
2575
+ .rk-command-enter-from[data-v-cce1dd03],
2576
+ .rk-command-leave-to[data-v-cce1dd03] {
2577
+ opacity: 0;
2578
+ }
2579
+ .rk-command-enter-from .rk-command-panel[data-v-cce1dd03],
2580
+ .rk-command-leave-to .rk-command-panel[data-v-cce1dd03] {
2581
+ transform: translateY(-0.5rem) scale(0.98);
2582
+ }
2583
+
2584
+ /* The scroller is focusable: a region only a drag can reach is a region a
2585
+ keyboard cannot read at all. */
2586
+ .rk-data-scroll[data-v-5920cac0] {
2587
+ overflow-x: auto;
2588
+ border-radius: var(--radius-card);
2589
+ }
2590
+ .rk-data-scroll[data-v-5920cac0]:focus-visible {
2591
+ outline: 2px solid var(--color-primary);
2592
+ outline-offset: 2px;
2593
+ }
2594
+ .rk-data[data-v-5920cac0] {
2595
+ width: 100%;
2596
+ border-collapse: collapse;
2597
+ font-size: 0.875rem;
2598
+ }
2599
+ .rk-data-caption[data-v-5920cac0] {
2600
+ padding-bottom: 0.5rem;
2601
+ text-align: left;
2602
+ font-size: 0.8125rem;
2603
+ color: var(--color-ink-soft);
2604
+ }
2605
+ .rk-data-caption-hidden[data-v-5920cac0] {
2606
+ position: absolute;
2607
+ width: 1px;
2608
+ height: 1px;
2609
+ overflow: hidden;
2610
+ clip-path: inset(50%);
2611
+ white-space: nowrap;
2612
+ }
2613
+ .rk-data th[data-v-5920cac0] {
2614
+ border-bottom: 1px solid var(--color-hair);
2615
+ padding: 0.625rem 0.75rem;
2616
+ text-align: left;
2617
+ font-size: 0.75rem;
2618
+ font-weight: 600;
2619
+ letter-spacing: 0.02em;
2620
+ color: var(--color-ink-soft);
2621
+ white-space: nowrap;
2622
+ }
2623
+ .rk-data.is-sticky thead th[data-v-5920cac0] {
2624
+ position: sticky;
2625
+ top: 0;
2626
+ z-index: 1;
2627
+ background: var(--color-surface);
2628
+ }
2629
+ .rk-data td[data-v-5920cac0] {
2630
+ border-bottom: 1px solid color-mix(in oklab, var(--color-hair) 60%, transparent);
2631
+ padding: 0.625rem 0.75rem;
2632
+ color: var(--color-ink);
2633
+ vertical-align: middle;
2634
+ }
2635
+ .rk-data tbody tr:last-child td[data-v-5920cac0] {
2636
+ border-bottom: 0;
2637
+ }
2638
+ .rk-data tbody tr.is-chosen td[data-v-5920cac0] {
2639
+ background: color-mix(in oklab, var(--color-primary) 8%, transparent);
2640
+ }
2641
+ .is-end[data-v-5920cac0] {
2642
+ text-align: right;
2643
+ font-variant-numeric: tabular-nums;
2644
+ }
2645
+ .is-nowrap[data-v-5920cac0] {
2646
+ white-space: nowrap;
2647
+ }
2648
+ .rk-data-sort[data-v-5920cac0] {
2649
+ display: inline-flex;
2650
+ align-items: center;
2651
+ gap: 0.25rem;
2652
+ border-radius: var(--radius-cell);
2653
+ color: inherit;
2654
+ transition: color var(--duration-fast) var(--ease-standard);
2655
+ }
2656
+ .rk-data-sort[data-v-5920cac0]:hover {
2657
+ color: var(--color-ink);
2658
+ }
2659
+ .rk-data-pick[data-v-5920cac0] {
2660
+ width: 2.75rem;
2661
+ padding-right: 0;
2662
+ }
2663
+ .rk-data-box[data-v-5920cac0] {
2664
+ width: 1rem;
2665
+ height: 1rem;
2666
+ accent-color: var(--color-primary);
2667
+ }
2668
+ .rk-data-empty[data-v-5920cac0] {
2669
+ padding: 2rem 0.75rem;
2670
+ text-align: center;
2671
+ color: var(--color-ink-soft);
2672
+ }
2673
+
2674
+ .rk-split[data-v-159a4f08] {
2675
+ display: flex;
2676
+ width: 100%;
2677
+ min-height: 0;
2678
+ }
2679
+ .rk-split.is-vertical[data-v-159a4f08] {
2680
+ flex-direction: column;
2681
+ }
2682
+ .rk-split.is-dragging[data-v-159a4f08] {
2683
+ user-select: none;
2684
+ }
2685
+ .rk-split-pane[data-v-159a4f08] {
2686
+ min-width: 0;
2687
+ min-height: 0;
2688
+ overflow: auto;
2689
+ }
2690
+ .is-horizontal .rk-split-pane.is-start[data-v-159a4f08] {
2691
+ width: var(--rk-split);
2692
+ }
2693
+ .is-vertical .rk-split-pane.is-start[data-v-159a4f08] {
2694
+ height: var(--rk-split);
2695
+ }
2696
+ .rk-split-pane.is-end[data-v-159a4f08] {
2697
+ flex: 1;
2698
+ }
2699
+
2700
+ /* The handle is wider than the line it draws: a 1px target is a target
2701
+ nobody hits. */
2702
+ .rk-split-handle[data-v-159a4f08] {
2703
+ display: grid;
2704
+ flex-shrink: 0;
2705
+ place-items: center;
2706
+ background: transparent;
2707
+ touch-action: none;
2708
+ }
2709
+ .is-horizontal .rk-split-handle[data-v-159a4f08] {
2710
+ width: 0.75rem;
2711
+ cursor: col-resize;
2712
+ }
2713
+ .is-vertical .rk-split-handle[data-v-159a4f08] {
2714
+ height: 0.75rem;
2715
+ cursor: row-resize;
2716
+ }
2717
+ .rk-split-grip[data-v-159a4f08] {
2718
+ display: block;
2719
+ border-radius: 9999px;
2720
+ background: var(--color-hair);
2721
+ transition: background-color var(--duration-fast) var(--ease-standard);
2722
+ }
2723
+ .is-horizontal .rk-split-grip[data-v-159a4f08] {
2724
+ width: 2px;
2725
+ height: 100%;
2726
+ }
2727
+ .is-vertical .rk-split-grip[data-v-159a4f08] {
2728
+ width: 100%;
2729
+ height: 2px;
2730
+ }
2731
+ .rk-split-handle:hover .rk-split-grip[data-v-159a4f08],
2732
+ .rk-split-handle:focus-visible .rk-split-grip[data-v-159a4f08],
2733
+ .is-dragging .rk-split-grip[data-v-159a4f08] {
2734
+ background: var(--color-primary);
2735
+ }
2736
+
2737
+ .rk-toolbar[data-v-a65164b7] {
2738
+ display: flex;
2739
+ align-items: center;
2740
+ gap: 0.375rem;
2741
+ }
2742
+ .rk-toolbar.is-vertical[data-v-a65164b7] {
2743
+ flex-direction: column;
2744
+ align-items: stretch;
2745
+ }
2746
+
2747
+ .rk-tree[data-v-1ba675c5] {
2748
+ display: flex;
2749
+ flex-direction: column;
2750
+ gap: 1px;
2751
+ border-radius: var(--radius-card);
2752
+ }
2753
+ .rk-tree[data-v-1ba675c5]:focus-visible {
2754
+ outline: 2px solid var(--color-primary);
2755
+ outline-offset: 2px;
2756
+ }
2757
+ .rk-tree-row[data-v-1ba675c5] {
2758
+ display: flex;
2759
+ cursor: pointer;
2760
+ align-items: center;
2761
+ gap: 0.375rem;
2762
+ border-radius: var(--radius-cell);
2763
+ /* Indented by level, so a branch reads as being inside its parent. */
2764
+ padding: 0.3125rem 0.5rem 0.3125rem calc(0.5rem + (var(--rk-tree-level) - 1) * 1rem);
2765
+ font-size: 0.875rem;
2766
+ color: var(--color-ink);
2767
+ }
2768
+ .rk-tree-row.is-active[data-v-1ba675c5] {
2769
+ background: var(--color-muted);
2770
+ }
2771
+ .rk-tree-row.is-chosen[data-v-1ba675c5] {
2772
+ color: var(--color-primary);
2773
+ font-weight: 500;
2774
+ }
2775
+ .rk-tree-row.is-chosen.is-active[data-v-1ba675c5] {
2776
+ background: color-mix(in oklab, var(--color-primary) 12%, transparent);
2777
+ }
2778
+ .rk-tree-row.is-disabled[data-v-1ba675c5] {
2779
+ cursor: not-allowed;
2780
+ opacity: 0.45;
2781
+ }
2782
+ .rk-tree-twist[data-v-1ba675c5],
2783
+ .rk-tree-twist-space[data-v-1ba675c5] {
2784
+ width: 1rem;
2785
+ height: 1rem;
2786
+ flex-shrink: 0;
2787
+ }
2788
+ .rk-tree-twist[data-v-1ba675c5] {
2789
+ color: var(--color-ink-soft);
2790
+ transition: rotate var(--duration-fast) var(--ease-standard);
2791
+ }
2792
+ .rk-tree-twist.is-open[data-v-1ba675c5] {
2793
+ rotate: 90deg;
2794
+ }
2795
+
2796
+ .rk-transfer[data-v-1d75b0da] {
2797
+ display: grid;
2798
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
2799
+ align-items: center;
2800
+ gap: 0.75rem;
2801
+ }
2802
+ .rk-transfer-side[data-v-1d75b0da] {
2803
+ min-width: 0;
2804
+ }
2805
+ .rk-transfer-title[data-v-1d75b0da] {
2806
+ margin-bottom: 0.375rem;
2807
+ font-size: 0.75rem;
2808
+ font-weight: 600;
2809
+ color: var(--color-ink-soft);
2810
+ }
2811
+ .rk-transfer-middle[data-v-1d75b0da] {
2812
+ display: flex;
2813
+ flex-direction: column;
2814
+ gap: 0.5rem;
2815
+ }
2816
+
2817
+ /* On a phone the two lists stack and the buttons turn to face them. */
2818
+ @media (max-width: 40rem) {
2819
+ .rk-transfer[data-v-1d75b0da] {
2820
+ grid-template-columns: minmax(0, 1fr);
2821
+ }
2822
+ .rk-transfer-middle[data-v-1d75b0da] {
2823
+ flex-direction: row;
2824
+ justify-content: center;
2825
+ rotate: 90deg;
2826
+ }
2827
+ }
2828
+
2428
2829
  .rk-tabs[data-v-8135ecab] {
2429
2830
  display: flex;
2430
2831
  align-items: center;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Two panes and a handle between them — a list beside a preview, an editor
3
+ * beside its output.
4
+ *
5
+ * The handle is a `separator` with a value, which is the part a hand-written
6
+ * one never has: it can be moved with the arrow keys, Home and End send it
7
+ * to its limits, and Enter puts it back where it started. A divider that
8
+ * only answers to a drag is a layout a keyboard cannot change at all.
9
+ *
10
+ * The split is a percentage, so the panes keep their proportions when the
11
+ * window changes rather than one of them swallowing the other.
12
+ */
13
+ type __VLS_Props = {
14
+ /** The handle's accessible name, e.g. "Resize the list". */
15
+ label: string;
16
+ /** `horizontal`: side by side, the handle moves left and right. */
17
+ orientation?: 'horizontal' | 'vertical' | undefined;
18
+ /** How small the first pane may get, as a percentage. */
19
+ min?: number | undefined;
20
+ max?: number | undefined;
21
+ /** How far one arrow press moves it, in percentage points. */
22
+ step?: number | undefined;
23
+ };
24
+ type __VLS_Slots = {
25
+ /** The first pane: the list, the tree, the sidebar. */
26
+ start: () => unknown;
27
+ /** The second pane. */
28
+ end: () => unknown;
29
+ };
30
+ type __VLS_ModelProps = {
31
+ /** Where the split sits, as a percentage of the whole. `v-model`. */
32
+ modelValue?: number;
33
+ };
34
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
35
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
36
+ "update:modelValue": (value: number) => any;
37
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
38
+ "onUpdate:modelValue"?: (value: number) => any;
39
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A row of controls that belong together: a formatting bar, a row of view
3
+ * switches, the actions over a table.
4
+ *
5
+ * One Tab stop for the lot. The arrows move between the controls inside it,
6
+ * Home and End jump to the ends — the toolbar pattern, and the reason to
7
+ * use it is arithmetic: twelve buttons in the tab order cost twelve presses
8
+ * to get past on the way to the thing under them.
9
+ *
10
+ * The controls are yours: anything focusable inside is picked up, so a
11
+ * toolbar can mix the kit's buttons, a `ToggleGroup` and a separator
12
+ * without declaring any of them as data.
13
+ */
14
+ type __VLS_Props = {
15
+ /** The toolbar's accessible name, e.g. "Formatting". */
16
+ label: string;
17
+ orientation?: 'horizontal' | 'vertical' | undefined;
18
+ };
19
+ type __VLS_Slots = {
20
+ default: () => unknown;
21
+ };
22
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };