@domainkit/react 0.9.0 → 0.10.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
@@ -26,6 +26,7 @@
26
26
  --domainkit-shadow: 0 16px 40px rgb(15 23 42 / 0.12);
27
27
  --domainkit-success: #059669;
28
28
  --domainkit-text: #18181b;
29
+ --domainkit-warning: #b45309;
29
30
  --domainkit-control-radius: calc(var(--domainkit-radius) * 0.5);
30
31
  --domainkit-button-raised-glint: rgb(255 255 255 / 0.95);
31
32
  --domainkit-button-raised-shade: color-mix(in srgb, var(--domainkit-text) 10%, transparent);
@@ -43,6 +44,7 @@
43
44
  --domainkit-muted: #a1a1aa;
44
45
  --domainkit-shadow: 0 16px 40px rgb(0 0 0 / 0.4);
45
46
  --domainkit-success: #34d399;
47
+ --domainkit-warning: #fbbf24;
46
48
  --domainkit-text: #fafafa;
47
49
  --domainkit-button-raised-glint: rgb(255 255 255 / 0.14);
48
50
  --domainkit-button-raised-shade: rgb(0 0 0 / 0.42);
@@ -58,6 +60,7 @@
58
60
  --domainkit-muted: #a1a1aa;
59
61
  --domainkit-shadow: 0 16px 40px rgb(0 0 0 / 0.4);
60
62
  --domainkit-success: #34d399;
63
+ --domainkit-warning: #fbbf24;
61
64
  --domainkit-text: #fafafa;
62
65
  --domainkit-button-raised-glint: rgb(255 255 255 / 0.14);
63
66
  --domainkit-button-raised-shade: rgb(0 0 0 / 0.42);
@@ -575,7 +578,7 @@
575
578
  padding: 0.75rem;
576
579
  }
577
580
 
578
- :where([data-domainkit-part="token-connect"] label) {
581
+ :where([data-domainkit-part="token-connect"] [data-domainkit-part="field-label"]) {
579
582
  color: var(--domainkit-muted);
580
583
  display: grid;
581
584
  font-size: 0.8125rem;
@@ -748,8 +751,8 @@
748
751
  }
749
752
 
750
753
  :where([data-domainkit-part="provisioning-flow"] > [data-domainkit-part="records-panel"]),
751
- :where([data-domainkit-part="provisioning-flow"] > [data-domainkit-part="flow-outcome"]),
752
- :where([data-domainkit-part="cleanup-flow"] > [data-domainkit-part="flow-outcome"]) {
754
+ :where([data-domainkit-part="provisioning-flow"] > [data-domainkit-part="outcome"]),
755
+ :where([data-domainkit-part="cleanup-flow"] > [data-domainkit-part="outcome"]) {
753
756
  flex: 1 1 100%;
754
757
  }
755
758
 
@@ -1175,18 +1178,111 @@
1175
1178
  gap: 0.5rem;
1176
1179
  }
1177
1180
 
1178
- :where([data-domainkit-part="flow-outcome"]) {
1181
+ /* -------------------------------------------------------------------------------------------
1182
+ * Outcome: media, title, description, and the action, in a card or on one line
1183
+ * ----------------------------------------------------------------------------------------- */
1184
+
1185
+ :where([data-domainkit-part="outcome"]) {
1186
+ --domainkit-outcome-tone: var(--domainkit-danger);
1187
+ color: var(--domainkit-text);
1179
1188
  font-size: 0.875rem;
1180
- margin: 0;
1181
1189
  width: 100%;
1182
1190
  }
1183
1191
 
1184
- :where([data-domainkit-part="flow-outcome"][data-tone="success"]) {
1185
- color: var(--domainkit-success);
1192
+ :where([data-domainkit-part="outcome"][data-tone="success"]) {
1193
+ --domainkit-outcome-tone: var(--domainkit-success);
1186
1194
  }
1187
1195
 
1188
- :where([data-domainkit-part="flow-outcome"][data-tone="danger"]) {
1189
- color: var(--domainkit-danger);
1196
+ :where([data-domainkit-part="outcome"][data-tone="warning"]) {
1197
+ --domainkit-outcome-tone: var(--domainkit-warning);
1198
+ }
1199
+
1200
+ :where([data-domainkit-part="outcome"][data-layout="card"]) {
1201
+ border: 1px dashed color-mix(in srgb, var(--domainkit-outcome-tone) 45%, transparent);
1202
+ border-radius: var(--domainkit-radius);
1203
+ display: grid;
1204
+ gap: 0.75rem;
1205
+ justify-items: center;
1206
+ padding: 1.25rem 1rem;
1207
+ text-align: center;
1208
+ }
1209
+
1210
+ :where([data-domainkit-part="outcome"][data-layout="inline"]) {
1211
+ align-items: center;
1212
+ column-gap: 0.5rem;
1213
+ display: flex;
1214
+ flex-wrap: wrap;
1215
+ row-gap: 0.35rem;
1216
+ }
1217
+
1218
+ :where([data-domainkit-part="outcome-header"]) {
1219
+ display: grid;
1220
+ gap: 0.25rem;
1221
+ justify-items: inherit;
1222
+ }
1223
+
1224
+ :where(
1225
+ [data-domainkit-part="outcome"][data-layout="card"] [data-domainkit-part="outcome-header"]
1226
+ ) {
1227
+ gap: 0.35rem;
1228
+ max-width: 26rem;
1229
+ }
1230
+
1231
+ :where([data-domainkit-part="outcome-media"]) {
1232
+ align-items: center;
1233
+ color: var(--domainkit-outcome-tone);
1234
+ display: inline-flex;
1235
+ justify-content: center;
1236
+ }
1237
+
1238
+ :where([data-domainkit-part="outcome-media"] svg) {
1239
+ height: 1.25rem;
1240
+ width: 1.25rem;
1241
+ }
1242
+
1243
+ :where([data-domainkit-part="outcome-media"][data-variant="icon"]) {
1244
+ background: color-mix(in srgb, var(--domainkit-outcome-tone) 12%, transparent);
1245
+ border-radius: var(--domainkit-control-radius);
1246
+ height: 2.25rem;
1247
+ width: 2.25rem;
1248
+ }
1249
+
1250
+ :where(
1251
+ [data-domainkit-part="outcome"][data-layout="inline"]
1252
+ [data-domainkit-part="outcome-media"][data-variant="icon"]
1253
+ ) {
1254
+ background: none;
1255
+ height: 1.25rem;
1256
+ width: 1.25rem;
1257
+ }
1258
+
1259
+ :where([data-domainkit-part="outcome-title"]) {
1260
+ color: var(--domainkit-text);
1261
+ font-size: 0.875rem;
1262
+ font-weight: 600;
1263
+ }
1264
+
1265
+ :where([data-domainkit-part="outcome-description"]) {
1266
+ color: var(--domainkit-muted);
1267
+ font-size: 0.8125rem;
1268
+ margin: 0;
1269
+ }
1270
+
1271
+ :where([data-domainkit-part="outcome-content"]) {
1272
+ display: flex;
1273
+ flex-wrap: wrap;
1274
+ gap: 0.5rem;
1275
+ }
1276
+
1277
+ :where(
1278
+ [data-domainkit-part="outcome"][data-layout="inline"] [data-domainkit-part="outcome-header"]
1279
+ ) {
1280
+ align-items: center;
1281
+ column-gap: 0.5rem;
1282
+ display: flex;
1283
+ flex: 1 1 12rem;
1284
+ flex-wrap: wrap;
1285
+ row-gap: 0.15rem;
1190
1286
  }
1191
1287
 
1192
1288
  :where([data-domainkit-part]:focus-visible) {
@@ -1235,12 +1331,17 @@
1235
1331
  gap: 0.5rem;
1236
1332
  }
1237
1333
 
1238
- [data-domainkit-part="token-field"] {
1334
+ [data-domainkit-part="field"] {
1239
1335
  display: grid;
1240
1336
  gap: 0.25rem;
1241
1337
  }
1242
1338
 
1243
- [data-domainkit-part="token-field-label"] {
1339
+ [data-domainkit-part="field"][data-orientation="horizontal"] {
1340
+ align-items: center;
1341
+ grid-template-columns: auto minmax(0, 1fr);
1342
+ }
1343
+
1344
+ [data-domainkit-part="field-label"] {
1244
1345
  align-items: baseline;
1245
1346
  color: var(--domainkit-muted);
1246
1347
  display: flex;
@@ -1248,12 +1349,12 @@
1248
1349
  gap: 0.375rem;
1249
1350
  }
1250
1351
 
1251
- [data-domainkit-part="token-field-optional"] {
1352
+ [data-domainkit-part="field-optional"] {
1252
1353
  font-size: 0.75rem;
1253
1354
  opacity: 0.8;
1254
1355
  }
1255
1356
 
1256
- [data-domainkit-part="token-field-input"] {
1357
+ [data-domainkit-part="field-input"] {
1257
1358
  background-color: var(--domainkit-background);
1258
1359
  border: 1px solid var(--domainkit-border);
1259
1360
  border-radius: var(--domainkit-control-radius);
@@ -1264,12 +1365,21 @@
1264
1365
  width: 100%;
1265
1366
  }
1266
1367
 
1267
- [data-domainkit-part="token-field-input"]:focus-visible {
1368
+ [data-domainkit-part="field-input"]:focus-visible {
1268
1369
  border-color: var(--domainkit-accent);
1269
1370
  outline: none;
1270
1371
  }
1271
1372
 
1272
- [data-domainkit-part="token-docs"] {
1373
+ [data-domainkit-part="field-input"][aria-invalid="true"] {
1374
+ border-color: var(--domainkit-danger);
1375
+ }
1376
+
1377
+ [data-domainkit-part="field-error"] {
1378
+ display: grid;
1379
+ gap: 0.25rem;
1380
+ }
1381
+
1382
+ [data-domainkit-part="field-description"] {
1273
1383
  align-items: center;
1274
1384
  color: var(--domainkit-muted);
1275
1385
  display: inline-flex;
@@ -1279,6 +1389,81 @@
1279
1389
  text-decoration: none;
1280
1390
  }
1281
1391
 
1392
+ /* ---------------------------------------------------------------------------------------------
1393
+ * The disconnected prompt, and the disclosures that keep the dialog to one decision
1394
+ * ------------------------------------------------------------------------------------------- */
1395
+
1396
+ [data-domainkit-part="connect-prompt"] {
1397
+ align-items: center;
1398
+ display: flex;
1399
+ flex-wrap: wrap;
1400
+ gap: 0.75rem;
1401
+ justify-content: space-between;
1402
+ width: 100%;
1403
+ }
1404
+
1405
+ [data-domainkit-part="host-identity"] {
1406
+ align-items: center;
1407
+ column-gap: 0.5rem;
1408
+ display: grid;
1409
+ grid-template-columns: auto minmax(0, 1fr);
1410
+ }
1411
+
1412
+ [data-domainkit-part="host-name"] {
1413
+ font-size: 0.875rem;
1414
+ font-weight: 600;
1415
+ grid-column: 2;
1416
+ }
1417
+
1418
+ [data-domainkit-part="host-statement"] {
1419
+ color: var(--domainkit-muted);
1420
+ font-size: 0.8125rem;
1421
+ grid-column: 2;
1422
+ }
1423
+
1424
+ [data-domainkit-part="other-providers"],
1425
+ [data-domainkit-part="more-options"] {
1426
+ display: grid;
1427
+ gap: 0.5rem;
1428
+ }
1429
+
1430
+ [data-domainkit-part="other-providers-trigger"],
1431
+ [data-domainkit-part="more-options-trigger"] {
1432
+ color: var(--domainkit-muted);
1433
+ cursor: pointer;
1434
+ font-size: 0.8125rem;
1435
+ list-style: none;
1436
+ width: fit-content;
1437
+ }
1438
+
1439
+ [data-domainkit-part="other-providers-trigger"]::before,
1440
+ [data-domainkit-part="more-options-trigger"]::before {
1441
+ content: "\25b8";
1442
+ display: inline-block;
1443
+ margin-inline-end: 0.35rem;
1444
+ }
1445
+
1446
+ [data-domainkit-part="other-providers"][open]
1447
+ > [data-domainkit-part="other-providers-trigger"]::before,
1448
+ [data-domainkit-part="more-options"][open]
1449
+ > [data-domainkit-part="more-options-trigger"]::before {
1450
+ transform: rotate(90deg);
1451
+ }
1452
+
1453
+ [data-domainkit-part="other-providers"] {
1454
+ border-top: 1px solid var(--domainkit-border);
1455
+ padding-top: 0.75rem;
1456
+ }
1457
+
1458
+ button[data-domainkit-part="provider-heading"] {
1459
+ background: none;
1460
+ border: 0;
1461
+ cursor: pointer;
1462
+ padding: 0;
1463
+ text-align: start;
1464
+ width: 100%;
1465
+ }
1466
+
1282
1467
  [data-domainkit-part="discovery-resolved"],
1283
1468
  [data-domainkit-part="discovery-candidates"] {
1284
1469
  display: grid;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domainkit/react",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "React flows and UI parts for custom-domain setup",
5
5
  "keywords": [
6
6
  "custom-domains",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@base-ui/react": "^1.7.0",
50
- "domainkit": "^0.9.0"
50
+ "domainkit": "^0.10.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@playwright/test": "1.57.0",