@nok-integration/storefront-react 0.13.0 → 0.14.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.
@@ -47,6 +47,11 @@
47
47
  --color-state-text-success: #147e4a;
48
48
  --color-state-surface-success-soft: #def1e9;
49
49
  --color-state-surface-critical-default: #d12424;
50
+ /* semantic/state/text/critical + .../surface/critical/soft. Same hex as the surface
51
+ token above, and a separate token in DAZN's library: one paints a solid critical
52
+ surface, the other writes critical text on a pale one. Keep them apart. */
53
+ --color-state-text-critical: #d12424;
54
+ --color-state-surface-critical-soft: #f5e5e5;
50
55
  --color-state-text-warning: #ff9600;
51
56
  --color-state-surface-warning-soft: #fcf1e1;
52
57
 
@@ -1162,6 +1167,196 @@
1162
1167
  ._summaryCard_1eqkm_275 > :last-child {
1163
1168
  padding: 0 var(--space-16);
1164
1169
  }
1170
+ /*
1171
+ * Figma `mobile/order/status-badge` — 24px tall, 2px radius, 12px bold uppercase.
1172
+ * Squarer and tighter than the catalogue `Badge`, which is a pill; they are separate
1173
+ * components in the design system and stay separate here.
1174
+ */
1175
+ ._badge_ghd02_6 {
1176
+ display: inline-flex;
1177
+ align-items: center;
1178
+ justify-content: center;
1179
+ gap: var(--space-4);
1180
+ height: 24px;
1181
+ min-width: 20px;
1182
+ padding: var(--space-4) var(--space-6);
1183
+ border-radius: var(--radius-2);
1184
+ font-size: var(--type-trimmed-xs-size);
1185
+ line-height: 1;
1186
+ font-weight: var(--font-weight-bold);
1187
+ text-transform: uppercase;
1188
+ white-space: nowrap;
1189
+ }
1190
+
1191
+ ._progress_ghd02_22 {
1192
+ background: var(--color-state-surface-warning-soft);
1193
+ color: var(--color-state-text-warning);
1194
+ }
1195
+
1196
+ ._delivered_ghd02_27 {
1197
+ background: var(--color-state-surface-success-soft);
1198
+ color: var(--color-state-text-success);
1199
+ }
1200
+
1201
+ ._cancelled_ghd02_32 {
1202
+ background: var(--color-state-surface-critical-soft);
1203
+ color: var(--color-state-text-critical);
1204
+ }
1205
+ /* Figma `mobile/order/list` (4024:58594). */
1206
+ ._page_y686q_2 {
1207
+ list-style: none;
1208
+ margin: 0;
1209
+ display: flex;
1210
+ flex-direction: column;
1211
+ gap: var(--space-12);
1212
+ padding: var(--space-16) var(--space-16) var(--space-24);
1213
+ }
1214
+
1215
+ ._empty_y686q_11 {
1216
+ display: flex;
1217
+ align-items: center;
1218
+ justify-content: center;
1219
+ /* The design centres the empty state in the whole screen below the header, not at the
1220
+ top of an otherwise blank page. */
1221
+ min-height: 60dvh;
1222
+ }
1223
+
1224
+ /* `mobile/button`, the design's own dark CTA. Not the shared `Button` primary, whose
1225
+ shape is the cart's; this one is content-width with a 48px floor. */
1226
+ ._cta_y686q_22 {
1227
+ display: inline-flex;
1228
+ align-items: center;
1229
+ justify-content: center;
1230
+ gap: var(--space-8);
1231
+ min-height: 48px;
1232
+ padding: var(--space-12);
1233
+ border: 0;
1234
+ border-radius: var(--radius-8);
1235
+ background: var(--color-surface-max);
1236
+ color: var(--color-text-strong);
1237
+ font-family: inherit;
1238
+ font-size: var(--type-trimmed-md-size);
1239
+ font-weight: var(--font-weight-bold);
1240
+ line-height: 1;
1241
+ cursor: pointer;
1242
+ }
1243
+
1244
+ ._cta_y686q_22:focus-visible {
1245
+ outline: none;
1246
+ box-shadow: var(--focus-ring);
1247
+ }
1248
+
1249
+ ._card_y686q_45 {
1250
+ display: flex;
1251
+ flex-direction: column;
1252
+ gap: var(--space-24);
1253
+ width: 100%;
1254
+ padding: var(--space-16);
1255
+ border: 0;
1256
+ border-radius: var(--radius-12);
1257
+ background: var(--color-surface-soft);
1258
+ color: inherit;
1259
+ font-family: inherit;
1260
+ text-align: left;
1261
+ overflow: hidden;
1262
+ }
1263
+
1264
+ ._tappable_y686q_60 {
1265
+ cursor: pointer;
1266
+ }
1267
+
1268
+ ._tappable_y686q_60:focus-visible {
1269
+ outline: none;
1270
+ box-shadow: var(--focus-ring);
1271
+ }
1272
+
1273
+ ._head_y686q_69 {
1274
+ display: flex;
1275
+ align-items: flex-start;
1276
+ justify-content: space-between;
1277
+ gap: var(--space-8);
1278
+ width: 100%;
1279
+ }
1280
+
1281
+ ._heading_y686q_77 {
1282
+ display: flex;
1283
+ flex: 1 1 auto;
1284
+ flex-direction: column;
1285
+ gap: var(--space-8);
1286
+ min-width: 0;
1287
+ color: var(--color-text-default);
1288
+ }
1289
+
1290
+ ._title_y686q_86 {
1291
+ font-size: var(--type-heading-md-size);
1292
+ font-weight: var(--font-weight-bold);
1293
+ /* The frame's own 1.32, not the token's 1.25 — that value was set from a different
1294
+ screen and moving it would reflow every heading in the package. */
1295
+ line-height: 1.32;
1296
+ overflow: hidden;
1297
+ text-overflow: ellipsis;
1298
+ white-space: nowrap;
1299
+ }
1300
+
1301
+ ._date_y686q_97 {
1302
+ font-size: var(--type-trimmed-sm-size);
1303
+ line-height: 1;
1304
+ }
1305
+
1306
+ ._bottom_y686q_102 {
1307
+ display: flex;
1308
+ align-items: center;
1309
+ justify-content: space-between;
1310
+ gap: var(--space-8);
1311
+ width: 100%;
1312
+ }
1313
+
1314
+ ._strip_y686q_110 {
1315
+ display: flex;
1316
+ gap: var(--space-6);
1317
+ }
1318
+
1319
+ ._tile_y686q_115 {
1320
+ position: relative;
1321
+ flex: 0 0 56px;
1322
+ width: 56px;
1323
+ height: 56px;
1324
+ border-radius: var(--radius-6);
1325
+ overflow: hidden;
1326
+ background: var(--color-surface-subtle);
1327
+ }
1328
+
1329
+ ._image_y686q_125 {
1330
+ object-fit: cover;
1331
+ }
1332
+
1333
+ ._placeholder_y686q_129 {
1334
+ /* No picture resolved for any line. A flat tile keeps the row's rhythm rather than
1335
+ collapsing the strip and shifting the chevron. */
1336
+ background: var(--color-surface-subtle);
1337
+ }
1338
+
1339
+ /* The "+N" tile: the last thumbnail, dimmed, with the count over it. */
1340
+ ._more_y686q_136 {
1341
+ position: absolute;
1342
+ inset: 0;
1343
+ display: flex;
1344
+ align-items: center;
1345
+ justify-content: center;
1346
+ background: rgba(0, 0, 0, 0.54);
1347
+ color: #f9fafa;
1348
+ font-size: var(--type-trimmed-md-size);
1349
+ font-weight: var(--font-weight-bold);
1350
+ line-height: 1;
1351
+ }
1352
+
1353
+ ._chevron_y686q_149 {
1354
+ display: inline-flex;
1355
+ flex: 0 0 24px;
1356
+ width: 24px;
1357
+ height: 24px;
1358
+ color: var(--color-text-default);
1359
+ }
1165
1360
  /* 8 where Figma declares 12, for the reason set out on `.titlePrice` below: the gap sits
1166
1361
  against a text layer whose CSS line box carries leading that Figma's does not. */
1167
1362
  ._tile_1u9l8_3 {
@@ -3293,3 +3488,157 @@
3293
3488
  font-variant-numeric: tabular-nums;
3294
3489
  pointer-events: none;
3295
3490
  }
3491
+ /*
3492
+ * Figma `Settings` (636:51006): the card is anchored under the 96px header, inset 16px on
3493
+ * each side, and sized by its content — not a bottom sheet, despite the frame's name.
3494
+ */
3495
+ ._overlay_lm5qk_5 {
3496
+ position: fixed;
3497
+ inset: 0;
3498
+ z-index: 900;
3499
+ display: flex;
3500
+ align-items: flex-start;
3501
+ justify-content: center;
3502
+ /* Clears the header the design draws this beneath. `env()` on top so a notch does not
3503
+ put the card under the status bar in the embed. */
3504
+ padding: calc(96px + env(safe-area-inset-top, 0px)) var(--space-16) var(--space-16);
3505
+ }
3506
+
3507
+ ._scrim_lm5qk_17 {
3508
+ position: absolute;
3509
+ inset: 0;
3510
+ background: rgba(8, 14, 18, 0.5);
3511
+ }
3512
+
3513
+ ._sheet_lm5qk_23 {
3514
+ position: relative;
3515
+ width: 100%;
3516
+ max-width: 343px;
3517
+ max-height: calc(100dvh - 128px);
3518
+ overflow-y: auto;
3519
+ background: var(--color-surface-default);
3520
+ border: 1px solid var(--color-border-transparent-soft);
3521
+ border-radius: var(--radius-12);
3522
+ display: flex;
3523
+ flex-direction: column;
3524
+ animation: _menu-in_lm5qk_1 160ms ease;
3525
+ }
3526
+
3527
+ @keyframes _menu-in_lm5qk_1 {
3528
+ from {
3529
+ opacity: 0;
3530
+ transform: translateY(-8px);
3531
+ }
3532
+ to {
3533
+ opacity: 1;
3534
+ transform: translateY(0);
3535
+ }
3536
+ }
3537
+
3538
+ @media (prefers-reduced-motion: reduce) {
3539
+ ._sheet_lm5qk_23 {
3540
+ animation: none;
3541
+ }
3542
+ }
3543
+
3544
+ /* `.sheet-header`: 48px, its own bottom rule, and the close control alone on the right.
3545
+ The left and centre slots the component defines are empty in this instance. */
3546
+ ._header_lm5qk_56 {
3547
+ display: flex;
3548
+ justify-content: flex-end;
3549
+ border-bottom: 1px solid var(--color-border-transparent-soft);
3550
+ }
3551
+
3552
+ ._close_lm5qk_62 {
3553
+ display: inline-flex;
3554
+ align-items: center;
3555
+ justify-content: center;
3556
+ width: 48px;
3557
+ height: 48px;
3558
+ padding: var(--space-12);
3559
+ border: 0;
3560
+ background: none;
3561
+ color: inherit;
3562
+ cursor: pointer;
3563
+ }
3564
+
3565
+ ._close_lm5qk_62:focus-visible {
3566
+ outline: none;
3567
+ box-shadow: var(--focus-ring);
3568
+ border-radius: var(--radius-4);
3569
+ }
3570
+
3571
+ ._list_lm5qk_81 {
3572
+ list-style: none;
3573
+ margin: 0;
3574
+ padding: var(--space-6) 0;
3575
+ display: flex;
3576
+ flex-direction: column;
3577
+ }
3578
+
3579
+ ._row_lm5qk_89 {
3580
+ display: flex;
3581
+ align-items: center;
3582
+ gap: var(--space-8);
3583
+ width: 100%;
3584
+ padding: var(--space-12) var(--space-16);
3585
+ border: 0;
3586
+ border-bottom: 1px solid var(--color-border-transparent-soft);
3587
+ background: none;
3588
+ color: inherit;
3589
+ font-family: inherit;
3590
+ text-align: left;
3591
+ cursor: pointer;
3592
+ }
3593
+
3594
+ /*
3595
+ * An inert row still looks exactly as designed. It is not greyed out, because it is not
3596
+ * unavailable to this fan for a reason they could act on — the destination does not exist
3597
+ * yet on either side, which is our problem and not something to dress up as their
3598
+ * permission. `aria-disabled` carries the truth to a screen reader.
3599
+ */
3600
+ ._row_lm5qk_89[disabled] {
3601
+ cursor: default;
3602
+ }
3603
+
3604
+ ._row_lm5qk_89:focus-visible {
3605
+ outline: none;
3606
+ box-shadow: var(--focus-ring);
3607
+ }
3608
+
3609
+ ._icon_lm5qk_119 {
3610
+ display: inline-flex;
3611
+ flex: 0 0 24px;
3612
+ width: 24px;
3613
+ height: 24px;
3614
+ color: var(--color-text-default);
3615
+ }
3616
+
3617
+ ._text_lm5qk_127 {
3618
+ display: flex;
3619
+ flex: 1 1 auto;
3620
+ flex-direction: column;
3621
+ gap: var(--space-2);
3622
+ min-width: 0;
3623
+ }
3624
+
3625
+ ._title_lm5qk_135 {
3626
+ font-size: var(--type-paragraph-size);
3627
+ font-weight: var(--font-weight-bold);
3628
+ line-height: 1;
3629
+ color: var(--color-text-default);
3630
+ }
3631
+
3632
+ ._subtitle_lm5qk_142 {
3633
+ font-size: var(--type-trimmed-xs-size);
3634
+ line-height: 1.52;
3635
+ color: var(--color-text-subtle);
3636
+ }
3637
+
3638
+ ._chevron_lm5qk_148 {
3639
+ display: inline-flex;
3640
+ flex: 0 0 16px;
3641
+ width: 16px;
3642
+ height: 16px;
3643
+ color: var(--color-text-subtle);
3644
+ }
package/dist/styles.css CHANGED
@@ -47,6 +47,11 @@
47
47
  --color-state-text-success: #147e4a;
48
48
  --color-state-surface-success-soft: #def1e9;
49
49
  --color-state-surface-critical-default: #d12424;
50
+ /* semantic/state/text/critical + .../surface/critical/soft. Same hex as the surface
51
+ token above, and a separate token in DAZN's library: one paints a solid critical
52
+ surface, the other writes critical text on a pale one. Keep them apart. */
53
+ --color-state-text-critical: #d12424;
54
+ --color-state-surface-critical-soft: #f5e5e5;
50
55
  --color-state-text-warning: #ff9600;
51
56
  --color-state-surface-warning-soft: #fcf1e1;
52
57
 
@@ -1162,6 +1167,196 @@
1162
1167
  ._summaryCard_1eqkm_275 > :last-child {
1163
1168
  padding: 0 var(--space-16);
1164
1169
  }
1170
+ /*
1171
+ * Figma `mobile/order/status-badge` — 24px tall, 2px radius, 12px bold uppercase.
1172
+ * Squarer and tighter than the catalogue `Badge`, which is a pill; they are separate
1173
+ * components in the design system and stay separate here.
1174
+ */
1175
+ ._badge_ghd02_6 {
1176
+ display: inline-flex;
1177
+ align-items: center;
1178
+ justify-content: center;
1179
+ gap: var(--space-4);
1180
+ height: 24px;
1181
+ min-width: 20px;
1182
+ padding: var(--space-4) var(--space-6);
1183
+ border-radius: var(--radius-2);
1184
+ font-size: var(--type-trimmed-xs-size);
1185
+ line-height: 1;
1186
+ font-weight: var(--font-weight-bold);
1187
+ text-transform: uppercase;
1188
+ white-space: nowrap;
1189
+ }
1190
+
1191
+ ._progress_ghd02_22 {
1192
+ background: var(--color-state-surface-warning-soft);
1193
+ color: var(--color-state-text-warning);
1194
+ }
1195
+
1196
+ ._delivered_ghd02_27 {
1197
+ background: var(--color-state-surface-success-soft);
1198
+ color: var(--color-state-text-success);
1199
+ }
1200
+
1201
+ ._cancelled_ghd02_32 {
1202
+ background: var(--color-state-surface-critical-soft);
1203
+ color: var(--color-state-text-critical);
1204
+ }
1205
+ /* Figma `mobile/order/list` (4024:58594). */
1206
+ ._page_y686q_2 {
1207
+ list-style: none;
1208
+ margin: 0;
1209
+ display: flex;
1210
+ flex-direction: column;
1211
+ gap: var(--space-12);
1212
+ padding: var(--space-16) var(--space-16) var(--space-24);
1213
+ }
1214
+
1215
+ ._empty_y686q_11 {
1216
+ display: flex;
1217
+ align-items: center;
1218
+ justify-content: center;
1219
+ /* The design centres the empty state in the whole screen below the header, not at the
1220
+ top of an otherwise blank page. */
1221
+ min-height: 60dvh;
1222
+ }
1223
+
1224
+ /* `mobile/button`, the design's own dark CTA. Not the shared `Button` primary, whose
1225
+ shape is the cart's; this one is content-width with a 48px floor. */
1226
+ ._cta_y686q_22 {
1227
+ display: inline-flex;
1228
+ align-items: center;
1229
+ justify-content: center;
1230
+ gap: var(--space-8);
1231
+ min-height: 48px;
1232
+ padding: var(--space-12);
1233
+ border: 0;
1234
+ border-radius: var(--radius-8);
1235
+ background: var(--color-surface-max);
1236
+ color: var(--color-text-strong);
1237
+ font-family: inherit;
1238
+ font-size: var(--type-trimmed-md-size);
1239
+ font-weight: var(--font-weight-bold);
1240
+ line-height: 1;
1241
+ cursor: pointer;
1242
+ }
1243
+
1244
+ ._cta_y686q_22:focus-visible {
1245
+ outline: none;
1246
+ box-shadow: var(--focus-ring);
1247
+ }
1248
+
1249
+ ._card_y686q_45 {
1250
+ display: flex;
1251
+ flex-direction: column;
1252
+ gap: var(--space-24);
1253
+ width: 100%;
1254
+ padding: var(--space-16);
1255
+ border: 0;
1256
+ border-radius: var(--radius-12);
1257
+ background: var(--color-surface-soft);
1258
+ color: inherit;
1259
+ font-family: inherit;
1260
+ text-align: left;
1261
+ overflow: hidden;
1262
+ }
1263
+
1264
+ ._tappable_y686q_60 {
1265
+ cursor: pointer;
1266
+ }
1267
+
1268
+ ._tappable_y686q_60:focus-visible {
1269
+ outline: none;
1270
+ box-shadow: var(--focus-ring);
1271
+ }
1272
+
1273
+ ._head_y686q_69 {
1274
+ display: flex;
1275
+ align-items: flex-start;
1276
+ justify-content: space-between;
1277
+ gap: var(--space-8);
1278
+ width: 100%;
1279
+ }
1280
+
1281
+ ._heading_y686q_77 {
1282
+ display: flex;
1283
+ flex: 1 1 auto;
1284
+ flex-direction: column;
1285
+ gap: var(--space-8);
1286
+ min-width: 0;
1287
+ color: var(--color-text-default);
1288
+ }
1289
+
1290
+ ._title_y686q_86 {
1291
+ font-size: var(--type-heading-md-size);
1292
+ font-weight: var(--font-weight-bold);
1293
+ /* The frame's own 1.32, not the token's 1.25 — that value was set from a different
1294
+ screen and moving it would reflow every heading in the package. */
1295
+ line-height: 1.32;
1296
+ overflow: hidden;
1297
+ text-overflow: ellipsis;
1298
+ white-space: nowrap;
1299
+ }
1300
+
1301
+ ._date_y686q_97 {
1302
+ font-size: var(--type-trimmed-sm-size);
1303
+ line-height: 1;
1304
+ }
1305
+
1306
+ ._bottom_y686q_102 {
1307
+ display: flex;
1308
+ align-items: center;
1309
+ justify-content: space-between;
1310
+ gap: var(--space-8);
1311
+ width: 100%;
1312
+ }
1313
+
1314
+ ._strip_y686q_110 {
1315
+ display: flex;
1316
+ gap: var(--space-6);
1317
+ }
1318
+
1319
+ ._tile_y686q_115 {
1320
+ position: relative;
1321
+ flex: 0 0 56px;
1322
+ width: 56px;
1323
+ height: 56px;
1324
+ border-radius: var(--radius-6);
1325
+ overflow: hidden;
1326
+ background: var(--color-surface-subtle);
1327
+ }
1328
+
1329
+ ._image_y686q_125 {
1330
+ object-fit: cover;
1331
+ }
1332
+
1333
+ ._placeholder_y686q_129 {
1334
+ /* No picture resolved for any line. A flat tile keeps the row's rhythm rather than
1335
+ collapsing the strip and shifting the chevron. */
1336
+ background: var(--color-surface-subtle);
1337
+ }
1338
+
1339
+ /* The "+N" tile: the last thumbnail, dimmed, with the count over it. */
1340
+ ._more_y686q_136 {
1341
+ position: absolute;
1342
+ inset: 0;
1343
+ display: flex;
1344
+ align-items: center;
1345
+ justify-content: center;
1346
+ background: rgba(0, 0, 0, 0.54);
1347
+ color: #f9fafa;
1348
+ font-size: var(--type-trimmed-md-size);
1349
+ font-weight: var(--font-weight-bold);
1350
+ line-height: 1;
1351
+ }
1352
+
1353
+ ._chevron_y686q_149 {
1354
+ display: inline-flex;
1355
+ flex: 0 0 24px;
1356
+ width: 24px;
1357
+ height: 24px;
1358
+ color: var(--color-text-default);
1359
+ }
1165
1360
  /* 8 where Figma declares 12, for the reason set out on `.titlePrice` below: the gap sits
1166
1361
  against a text layer whose CSS line box carries leading that Figma's does not. */
1167
1362
  ._tile_1u9l8_3 {
@@ -3293,3 +3488,157 @@
3293
3488
  font-variant-numeric: tabular-nums;
3294
3489
  pointer-events: none;
3295
3490
  }
3491
+ /*
3492
+ * Figma `Settings` (636:51006): the card is anchored under the 96px header, inset 16px on
3493
+ * each side, and sized by its content — not a bottom sheet, despite the frame's name.
3494
+ */
3495
+ ._overlay_lm5qk_5 {
3496
+ position: fixed;
3497
+ inset: 0;
3498
+ z-index: 900;
3499
+ display: flex;
3500
+ align-items: flex-start;
3501
+ justify-content: center;
3502
+ /* Clears the header the design draws this beneath. `env()` on top so a notch does not
3503
+ put the card under the status bar in the embed. */
3504
+ padding: calc(96px + env(safe-area-inset-top, 0px)) var(--space-16) var(--space-16);
3505
+ }
3506
+
3507
+ ._scrim_lm5qk_17 {
3508
+ position: absolute;
3509
+ inset: 0;
3510
+ background: rgba(8, 14, 18, 0.5);
3511
+ }
3512
+
3513
+ ._sheet_lm5qk_23 {
3514
+ position: relative;
3515
+ width: 100%;
3516
+ max-width: 343px;
3517
+ max-height: calc(100dvh - 128px);
3518
+ overflow-y: auto;
3519
+ background: var(--color-surface-default);
3520
+ border: 1px solid var(--color-border-transparent-soft);
3521
+ border-radius: var(--radius-12);
3522
+ display: flex;
3523
+ flex-direction: column;
3524
+ animation: _menu-in_lm5qk_1 160ms ease;
3525
+ }
3526
+
3527
+ @keyframes _menu-in_lm5qk_1 {
3528
+ from {
3529
+ opacity: 0;
3530
+ transform: translateY(-8px);
3531
+ }
3532
+ to {
3533
+ opacity: 1;
3534
+ transform: translateY(0);
3535
+ }
3536
+ }
3537
+
3538
+ @media (prefers-reduced-motion: reduce) {
3539
+ ._sheet_lm5qk_23 {
3540
+ animation: none;
3541
+ }
3542
+ }
3543
+
3544
+ /* `.sheet-header`: 48px, its own bottom rule, and the close control alone on the right.
3545
+ The left and centre slots the component defines are empty in this instance. */
3546
+ ._header_lm5qk_56 {
3547
+ display: flex;
3548
+ justify-content: flex-end;
3549
+ border-bottom: 1px solid var(--color-border-transparent-soft);
3550
+ }
3551
+
3552
+ ._close_lm5qk_62 {
3553
+ display: inline-flex;
3554
+ align-items: center;
3555
+ justify-content: center;
3556
+ width: 48px;
3557
+ height: 48px;
3558
+ padding: var(--space-12);
3559
+ border: 0;
3560
+ background: none;
3561
+ color: inherit;
3562
+ cursor: pointer;
3563
+ }
3564
+
3565
+ ._close_lm5qk_62:focus-visible {
3566
+ outline: none;
3567
+ box-shadow: var(--focus-ring);
3568
+ border-radius: var(--radius-4);
3569
+ }
3570
+
3571
+ ._list_lm5qk_81 {
3572
+ list-style: none;
3573
+ margin: 0;
3574
+ padding: var(--space-6) 0;
3575
+ display: flex;
3576
+ flex-direction: column;
3577
+ }
3578
+
3579
+ ._row_lm5qk_89 {
3580
+ display: flex;
3581
+ align-items: center;
3582
+ gap: var(--space-8);
3583
+ width: 100%;
3584
+ padding: var(--space-12) var(--space-16);
3585
+ border: 0;
3586
+ border-bottom: 1px solid var(--color-border-transparent-soft);
3587
+ background: none;
3588
+ color: inherit;
3589
+ font-family: inherit;
3590
+ text-align: left;
3591
+ cursor: pointer;
3592
+ }
3593
+
3594
+ /*
3595
+ * An inert row still looks exactly as designed. It is not greyed out, because it is not
3596
+ * unavailable to this fan for a reason they could act on — the destination does not exist
3597
+ * yet on either side, which is our problem and not something to dress up as their
3598
+ * permission. `aria-disabled` carries the truth to a screen reader.
3599
+ */
3600
+ ._row_lm5qk_89[disabled] {
3601
+ cursor: default;
3602
+ }
3603
+
3604
+ ._row_lm5qk_89:focus-visible {
3605
+ outline: none;
3606
+ box-shadow: var(--focus-ring);
3607
+ }
3608
+
3609
+ ._icon_lm5qk_119 {
3610
+ display: inline-flex;
3611
+ flex: 0 0 24px;
3612
+ width: 24px;
3613
+ height: 24px;
3614
+ color: var(--color-text-default);
3615
+ }
3616
+
3617
+ ._text_lm5qk_127 {
3618
+ display: flex;
3619
+ flex: 1 1 auto;
3620
+ flex-direction: column;
3621
+ gap: var(--space-2);
3622
+ min-width: 0;
3623
+ }
3624
+
3625
+ ._title_lm5qk_135 {
3626
+ font-size: var(--type-paragraph-size);
3627
+ font-weight: var(--font-weight-bold);
3628
+ line-height: 1;
3629
+ color: var(--color-text-default);
3630
+ }
3631
+
3632
+ ._subtitle_lm5qk_142 {
3633
+ font-size: var(--type-trimmed-xs-size);
3634
+ line-height: 1.52;
3635
+ color: var(--color-text-subtle);
3636
+ }
3637
+
3638
+ ._chevron_lm5qk_148 {
3639
+ display: inline-flex;
3640
+ flex: 0 0 16px;
3641
+ width: 16px;
3642
+ height: 16px;
3643
+ color: var(--color-text-subtle);
3644
+ }