rei-kit 2.6.0 → 2.7.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
@@ -832,6 +832,49 @@ to {
832
832
  inherits: false
833
833
  }
834
834
 
835
+ .rk-stack[data-v-db629481] {
836
+ display: inline-flex;
837
+ align-items: center;
838
+ }
839
+
840
+ /* Overlapped by a third, with a ring in the page's own colour so each face
841
+ keeps an edge against the one under it — on any material. */
842
+ .rk-stack-item + .rk-stack-item[data-v-db629481] {
843
+ margin-left: -0.5rem;
844
+ }
845
+ .rk-stack.is-sm .rk-stack-item + .rk-stack-item[data-v-db629481] {
846
+ margin-left: -0.5rem;
847
+ }
848
+ .rk-stack.is-lg .rk-stack-item + .rk-stack-item[data-v-db629481] {
849
+ margin-left: -0.875rem;
850
+ }
851
+ .rk-stack-item[data-v-db629481] {
852
+ display: inline-flex;
853
+ border-radius: 9999px;
854
+ box-shadow: 0 0 0 2px var(--color-surface);
855
+ }
856
+ .rk-stack-rest[data-v-db629481] {
857
+ display: inline-grid;
858
+ width: 2.25rem;
859
+ height: 2.25rem;
860
+ place-items: center;
861
+ background: var(--color-muted);
862
+ font-size: 0.75rem;
863
+ font-weight: 600;
864
+ color: var(--color-ink-soft);
865
+ font-variant-numeric: tabular-nums;
866
+ }
867
+ .rk-stack.is-sm .rk-stack-rest[data-v-db629481] {
868
+ width: 1.75rem;
869
+ height: 1.75rem;
870
+ font-size: 0.6875rem;
871
+ }
872
+ .rk-stack.is-lg .rk-stack-rest[data-v-db629481] {
873
+ width: 3rem;
874
+ height: 3rem;
875
+ font-size: 0.8125rem;
876
+ }
877
+
835
878
  .rk-cal[data-v-6d0b0811] {
836
879
  display: flex;
837
880
  width: 100%;
@@ -946,6 +989,415 @@ to {
946
989
  background: var(--color-muted);
947
990
  }
948
991
 
992
+ .rk-chip[data-v-e9026659] {
993
+ display: inline-flex;
994
+ max-width: 100%;
995
+ align-items: center;
996
+ gap: 0.375rem;
997
+ border-radius: 9999px;
998
+ border: 1px solid transparent;
999
+ padding: 0.1875rem 0.5rem 0.1875rem 0.625rem;
1000
+ font-size: 0.8125rem;
1001
+ font-weight: 500;
1002
+ background: var(--color-muted);
1003
+ color: var(--color-ink);
1004
+ }
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);
1010
+ }
1011
+ .rk-chip.is-button[data-v-e9026659]:focus-visible {
1012
+ outline: 2px solid var(--color-primary);
1013
+ outline-offset: 2px;
1014
+ }
1015
+ .rk-chip.is-selected[data-v-e9026659] {
1016
+ background: var(--color-primary);
1017
+ color: var(--color-on-primary);
1018
+ }
1019
+ .rk-chip[data-v-e9026659]:disabled {
1020
+ cursor: not-allowed;
1021
+ opacity: 0.5;
1022
+ }
1023
+
1024
+ /* The tones tint rather than fill: a row of chips in five solid colours is a
1025
+ row where nothing stands out. The selected one fills, and that is the point
1026
+ of it. */
1027
+ .rk-chip.tone-primary[data-v-e9026659] {
1028
+ background: color-mix(in oklab, var(--color-primary) 12%, transparent);
1029
+ border-color: color-mix(in oklab, var(--color-primary) 25%, transparent);
1030
+ color: var(--color-primary);
1031
+ }
1032
+ .rk-chip.tone-success[data-v-e9026659] {
1033
+ background: color-mix(in oklab, var(--color-positive) 14%, transparent);
1034
+ border-color: color-mix(in oklab, var(--color-positive) 28%, transparent);
1035
+ color: color-mix(in oklab, var(--color-positive) 80%, var(--color-ink));
1036
+ }
1037
+ .rk-chip.tone-warning[data-v-e9026659] {
1038
+ background: color-mix(in oklab, var(--color-warning) 16%, transparent);
1039
+ border-color: color-mix(in oklab, var(--color-warning) 30%, transparent);
1040
+ color: color-mix(in oklab, var(--color-warning) 75%, var(--color-ink));
1041
+ }
1042
+ .rk-chip.tone-danger[data-v-e9026659] {
1043
+ background: color-mix(in oklab, var(--color-negative) 12%, transparent);
1044
+ border-color: color-mix(in oklab, var(--color-negative) 26%, transparent);
1045
+ color: var(--color-negative);
1046
+ }
1047
+ .rk-chip-remove[data-v-e9026659] {
1048
+ display: grid;
1049
+ width: 1.125rem;
1050
+ height: 1.125rem;
1051
+ flex-shrink: 0;
1052
+ place-items: center;
1053
+ border-radius: 9999px;
1054
+ color: currentColor;
1055
+ opacity: 0.7;
1056
+ transition: opacity var(--duration-fast) var(--ease-standard);
1057
+ }
1058
+ .rk-chip-remove[data-v-e9026659]:hover {
1059
+ opacity: 1;
1060
+ background: color-mix(in oklab, currentColor 15%, transparent);
1061
+ }
1062
+
1063
+ .rk-kbd[data-v-e4b97bbe] {
1064
+ display: inline-flex;
1065
+ align-items: center;
1066
+ gap: 0.25rem;
1067
+ }
1068
+ .rk-kbd-key[data-v-e4b97bbe] {
1069
+ display: inline-grid;
1070
+ min-width: 1.5rem;
1071
+ height: 1.5rem;
1072
+ place-items: center;
1073
+ border-radius: var(--radius-cell);
1074
+ padding: 0 0.375rem;
1075
+ font-family: inherit;
1076
+ font-size: 0.75rem;
1077
+ font-weight: 600;
1078
+ line-height: 1;
1079
+ color: var(--color-ink-soft);
1080
+ }
1081
+ .is-sm .rk-kbd-key[data-v-e4b97bbe] {
1082
+ min-width: 1.25rem;
1083
+ height: 1.25rem;
1084
+ padding: 0 0.25rem;
1085
+ font-size: 0.6875rem;
1086
+ }
1087
+ .rk-kbd-joiner[data-v-e4b97bbe] {
1088
+ font-size: 0.6875rem;
1089
+ color: var(--color-ink-soft);
1090
+ }
1091
+
1092
+ .rk-link[data-v-88581007] {
1093
+ display: inline;
1094
+ border-radius: var(--radius-cell);
1095
+ font-weight: 500;
1096
+ text-underline-offset: 0.2em;
1097
+ transition: color var(--duration-fast) var(--ease-standard);
1098
+ }
1099
+ .rk-link.tone-primary[data-v-88581007] {
1100
+ color: var(--color-primary);
1101
+ }
1102
+ .rk-link.tone-ink[data-v-88581007] {
1103
+ color: var(--color-ink);
1104
+ }
1105
+ .rk-link.underline-always[data-v-88581007] {
1106
+ text-decoration: underline;
1107
+ }
1108
+ .rk-link.underline-hover[data-v-88581007]:hover,
1109
+ .rk-link.underline-none[data-v-88581007]:hover {
1110
+ text-decoration: underline;
1111
+ }
1112
+ .rk-link.underline-none[data-v-88581007]:hover {
1113
+ text-decoration: none;
1114
+ }
1115
+ .rk-link-mark[data-v-88581007] {
1116
+ display: inline-block;
1117
+ width: 0.875em;
1118
+ height: 0.875em;
1119
+ vertical-align: -0.1em;
1120
+ }
1121
+
1122
+ .rk-rating[data-v-38007368] {
1123
+ display: inline-flex;
1124
+ align-items: center;
1125
+ gap: 0.125rem;
1126
+ border-radius: var(--radius-cell);
1127
+ }
1128
+ .rk-rating[data-v-38007368]:focus-visible {
1129
+ outline: 2px solid var(--color-primary);
1130
+ outline-offset: 2px;
1131
+ }
1132
+ .rk-rating-star[data-v-38007368] {
1133
+ display: grid;
1134
+ place-items: center;
1135
+ padding: 0.125rem;
1136
+ color: var(--color-hair);
1137
+ transition:
1138
+ color var(--duration-fast) var(--ease-standard),
1139
+ transform var(--duration-fast) var(--ease-standard);
1140
+ }
1141
+ .rk-rating:not(.is-readonly) .rk-rating-star[data-v-38007368] {
1142
+ cursor: pointer;
1143
+ }
1144
+ .rk-rating-star.is-on[data-v-38007368] {
1145
+ color: var(--color-warning);
1146
+ }
1147
+ .rk-rating:not(.is-readonly) .rk-rating-star[data-v-38007368]:hover {
1148
+ transform: scale(1.12);
1149
+ }
1150
+ .rk-rating-icon[data-v-38007368] {
1151
+ width: 1.25rem;
1152
+ height: 1.25rem;
1153
+ fill: currentColor;
1154
+ stroke-width: 1.25;
1155
+ }
1156
+ .is-sm .rk-rating-icon[data-v-38007368] {
1157
+ width: 1rem;
1158
+ height: 1rem;
1159
+ }
1160
+ .is-lg .rk-rating-icon[data-v-38007368] {
1161
+ width: 1.75rem;
1162
+ height: 1.75rem;
1163
+ }
1164
+ @media (prefers-reduced-motion: reduce) {
1165
+ .rk-rating-star[data-v-38007368] {
1166
+ transition: none;
1167
+ }
1168
+ .rk-rating:not(.is-readonly) .rk-rating-star[data-v-38007368]:hover {
1169
+ transform: none;
1170
+ }
1171
+ }
1172
+
1173
+ .rk-sep[data-v-9f8cc9aa],
1174
+ .rk-sep-labelled[data-v-9f8cc9aa] {
1175
+ --rk-sep-space: 1rem;
1176
+ }
1177
+ .space-sm[data-v-9f8cc9aa] {
1178
+ --rk-sep-space: 0.5rem;
1179
+ }
1180
+ .space-none[data-v-9f8cc9aa] {
1181
+ --rk-sep-space: 0px;
1182
+ }
1183
+ .rk-sep.is-horizontal[data-v-9f8cc9aa] {
1184
+ height: 1px;
1185
+ width: 100%;
1186
+ margin-block: var(--rk-sep-space);
1187
+ background: var(--color-hair);
1188
+ }
1189
+ .rk-sep.is-vertical[data-v-9f8cc9aa] {
1190
+ width: 1px;
1191
+ align-self: stretch;
1192
+ min-height: 1rem;
1193
+ margin-inline: var(--rk-sep-space);
1194
+ background: var(--color-hair);
1195
+ }
1196
+ .rk-sep-labelled[data-v-9f8cc9aa] {
1197
+ display: flex;
1198
+ align-items: center;
1199
+ gap: 0.75rem;
1200
+ margin-block: var(--rk-sep-space);
1201
+ }
1202
+ .rk-sep-labelled.is-vertical[data-v-9f8cc9aa] {
1203
+ flex-direction: column;
1204
+ align-self: stretch;
1205
+ margin-block: 0;
1206
+ margin-inline: var(--rk-sep-space);
1207
+ }
1208
+ .rk-sep-line[data-v-9f8cc9aa] {
1209
+ flex: 1;
1210
+ background: var(--color-hair);
1211
+ }
1212
+ .is-horizontal .rk-sep-line[data-v-9f8cc9aa] {
1213
+ height: 1px;
1214
+ }
1215
+ .is-vertical .rk-sep-line[data-v-9f8cc9aa] {
1216
+ width: 1px;
1217
+ }
1218
+ .rk-sep-label[data-v-9f8cc9aa] {
1219
+ font-size: 0.75rem;
1220
+ font-weight: 500;
1221
+ color: var(--color-ink-soft);
1222
+ }
1223
+
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
+ .rk-copy[data-v-c481e140] {
1253
+ display: inline-flex;
1254
+ height: 2.25rem;
1255
+ align-items: center;
1256
+ justify-content: center;
1257
+ gap: 0.5rem;
1258
+ border-radius: var(--radius-card);
1259
+ padding: 0 0.625rem;
1260
+ font-size: 0.8125rem;
1261
+ font-weight: 500;
1262
+ color: var(--color-ink);
1263
+ transition:
1264
+ color var(--duration-fast) var(--ease-standard),
1265
+ background-color var(--duration-fast) var(--ease-standard);
1266
+ }
1267
+ .rk-copy[data-v-c481e140]:hover {
1268
+ background: var(--color-muted);
1269
+ }
1270
+ .rk-copy.is-copied[data-v-c481e140] {
1271
+ color: var(--color-positive);
1272
+ }
1273
+ .rk-copy[data-v-c481e140]:not(.with-text) {
1274
+ width: 2.25rem;
1275
+ padding: 0;
1276
+ }
1277
+
1278
+ .rk-drop-box[data-v-a42eab69] {
1279
+ display: flex;
1280
+ cursor: pointer;
1281
+ flex-direction: column;
1282
+ align-items: center;
1283
+ gap: 0.375rem;
1284
+ border-radius: var(--radius-card);
1285
+ border-style: dashed;
1286
+ border-width: 2px;
1287
+ padding: 1.5rem 1rem;
1288
+ text-align: center;
1289
+ transition:
1290
+ border-color var(--duration-fast) var(--ease-standard),
1291
+ background-color var(--duration-fast) var(--ease-standard);
1292
+ }
1293
+
1294
+ /* The box is a label, so the ring belongs to the input it names. */
1295
+ .rk-drop-box[data-v-a42eab69]:has(input:focus-visible) {
1296
+ outline: 2px solid var(--color-primary);
1297
+ outline-offset: 2px;
1298
+ }
1299
+ .rk-drop-box.is-over[data-v-a42eab69] {
1300
+ border-color: var(--color-primary);
1301
+ background: color-mix(in oklab, var(--color-primary) 8%, transparent);
1302
+ }
1303
+ .rk-drop-box.is-disabled[data-v-a42eab69] {
1304
+ cursor: not-allowed;
1305
+ opacity: 0.5;
1306
+ }
1307
+ .rk-drop-label[data-v-a42eab69] {
1308
+ font-size: 0.875rem;
1309
+ font-weight: 500;
1310
+ color: var(--color-ink);
1311
+ }
1312
+ .rk-drop-hint[data-v-a42eab69] {
1313
+ font-size: 0.75rem;
1314
+ color: var(--color-ink-soft);
1315
+ }
1316
+ .rk-drop-browse[data-v-a42eab69] {
1317
+ margin-top: 0.25rem;
1318
+ border-radius: 9999px;
1319
+ background: var(--color-muted);
1320
+ padding: 0.25rem 0.75rem;
1321
+ font-size: 0.8125rem;
1322
+ font-weight: 500;
1323
+ color: var(--color-ink);
1324
+ }
1325
+ .rk-drop-error[data-v-a42eab69] {
1326
+ margin-top: 0.5rem;
1327
+ font-size: 0.8125rem;
1328
+ color: var(--color-negative);
1329
+ }
1330
+ .rk-drop-files[data-v-a42eab69] {
1331
+ margin-top: 0.75rem;
1332
+ display: flex;
1333
+ flex-direction: column;
1334
+ gap: 0.375rem;
1335
+ }
1336
+ .rk-drop-file[data-v-a42eab69] {
1337
+ display: flex;
1338
+ align-items: center;
1339
+ gap: 0.5rem;
1340
+ border-radius: var(--radius-card);
1341
+ padding: 0.5rem 0.5rem 0.5rem 0.75rem;
1342
+ font-size: 0.8125rem;
1343
+ color: var(--color-ink);
1344
+ }
1345
+ .rk-drop-size[data-v-a42eab69] {
1346
+ margin-left: auto;
1347
+ flex-shrink: 0;
1348
+ font-size: 0.75rem;
1349
+ font-variant-numeric: tabular-nums;
1350
+ color: var(--color-ink-soft);
1351
+ }
1352
+ .rk-drop-remove[data-v-a42eab69] {
1353
+ display: grid;
1354
+ width: 1.5rem;
1355
+ height: 1.5rem;
1356
+ flex-shrink: 0;
1357
+ place-items: center;
1358
+ border-radius: 9999px;
1359
+ color: var(--color-ink-soft);
1360
+ }
1361
+ .rk-drop-remove[data-v-a42eab69]:hover {
1362
+ background: var(--color-muted);
1363
+ color: var(--color-ink);
1364
+ }
1365
+
1366
+ .rk-tags[data-v-b372ae7b] {
1367
+ display: flex;
1368
+ min-height: 2.75rem;
1369
+ cursor: text;
1370
+ flex-wrap: wrap;
1371
+ align-items: center;
1372
+ gap: 0.375rem;
1373
+ border-radius: var(--radius-card);
1374
+ padding: 0.375rem 0.5rem;
1375
+ }
1376
+
1377
+ /* `:has(input:focus-visible)` rather than `:focus-within`: the ring belongs
1378
+ to the field, not to the chips' remove buttons, which carry their own. */
1379
+ .rk-tags[data-v-b372ae7b]:has(.rk-tags-field:focus-visible) {
1380
+ outline: 2px solid var(--color-primary);
1381
+ outline-offset: 1px;
1382
+ }
1383
+ .rk-tags.is-invalid[data-v-b372ae7b] {
1384
+ --surface-border-color: var(--color-negative);
1385
+ }
1386
+ .rk-tags.is-disabled[data-v-b372ae7b] {
1387
+ cursor: not-allowed;
1388
+ opacity: 0.5;
1389
+ }
1390
+ .rk-tags-field[data-v-b372ae7b] {
1391
+ min-width: 6rem;
1392
+ flex: 1;
1393
+ background: transparent;
1394
+ /* 16px, like every other field: below it iOS zooms the page in on focus
1395
+ and never zooms back. */
1396
+ font-size: 1rem;
1397
+ color: var(--color-ink);
1398
+ outline: none;
1399
+ }
1400
+
949
1401
  .rk-popover[data-v-1e2d16d3] {
950
1402
  position: relative;
951
1403
  display: inline-flex;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rei-kit",
3
- "version": "2.6.0",
4
- "description": "One kit, every look. 67 accessible Vue 3 + Tailwind 4 components, four materials (quiet, glass, brutal, soft) and ten WCAG-checked palettes, each switched with one attribute.",
3
+ "version": "2.7.0",
4
+ "description": "One kit, every look. 77 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",