@ntmats/hc-ui 0.4.0 → 0.5.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 +14 -14
- package/dist/index.d.ts +64 -56
- package/dist/index.js +165 -164
- package/dist/styles.css +90 -67
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -91,8 +91,8 @@
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
[data-hc-ds] .hc-ui-segmented__option:focus-visible {
|
|
94
|
-
outline:
|
|
95
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
94
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
95
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
[data-hc-ds] .hc-ui-segmented__option:disabled { opacity: 0.48; cursor: not-allowed; }
|
|
@@ -182,8 +182,8 @@
|
|
|
182
182
|
[data-hc-ds] :is(.hc-ui-button, .hc-ui-icon-button, .hc-ui-chip):active:not(:disabled) { transform: scale(0.97); }
|
|
183
183
|
|
|
184
184
|
[data-hc-ds] :is(.hc-ui-button, .hc-ui-icon-button, .hc-ui-chip):focus-visible {
|
|
185
|
-
outline:
|
|
186
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
185
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
186
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
[data-hc-ds] :is(.hc-ui-button__icon, .hc-ui-icon-button__icon, .hc-ui-chip__icon) { display: inline-flex; flex: 0 0 auto; }
|
|
@@ -230,6 +230,10 @@
|
|
|
230
230
|
[data-hc-ds] .hc-ui-button:disabled { opacity: 0.4; cursor: default; }
|
|
231
231
|
[data-hc-ds] .hc-ui-button { max-width: 100%; }
|
|
232
232
|
[data-hc-ds] .hc-ui-button__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
|
233
|
+
/* `wrap`: the label breaks onto more lines and the button grows; the 8px block padding
|
|
234
|
+
keeps a single line at the size's height. */
|
|
235
|
+
[data-hc-ds] .hc-ui-button[data-wrap] { padding-block: var(--hc-space-2); white-space: normal; text-align: center; }
|
|
236
|
+
[data-hc-ds] .hc-ui-button[data-wrap] .hc-ui-button__label { overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
|
|
233
237
|
[data-hc-ds] .hc-ui-button[aria-busy='true'] { cursor: progress; }
|
|
234
238
|
[data-hc-ds] .hc-ui-button__spinner {
|
|
235
239
|
flex: 0 0 auto;
|
|
@@ -367,7 +371,7 @@
|
|
|
367
371
|
}
|
|
368
372
|
[data-hc-ds] .hc-ui-chip__clear svg { display: block; }
|
|
369
373
|
[data-hc-ds] .hc-ui-chip__clear:hover:not(:disabled) { color: var(--hc-color-text-primary); background-color: color-mix(in srgb, currentColor 18%, transparent); }
|
|
370
|
-
[data-hc-ds] :is(.hc-ui-chip__main, .hc-ui-chip__clear):focus-visible { outline:
|
|
374
|
+
[data-hc-ds] :is(.hc-ui-chip__main, .hc-ui-chip__clear):focus-visible { outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring); outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width)); }
|
|
371
375
|
[data-hc-ds] .hc-ui-chip__clear:disabled, [data-hc-ds] button.hc-ui-chip__main:disabled { cursor: default; }
|
|
372
376
|
[data-hc-ds] .hc-ui-chip[data-disabled] { opacity: 0.4; }
|
|
373
377
|
/* Selected with a remove button: the contrast fill at xs (HCUI's active quick filter), the accent otherwise. */
|
|
@@ -531,13 +535,16 @@
|
|
|
531
535
|
[data-hc-ds] .hc-ui-meter[data-track='none'][data-cap='round'] .hc-ui-meter__fill { border-radius: 0 var(--hc-radius-full) var(--hc-radius-full) 0; }
|
|
532
536
|
[data-hc-ds] .hc-ui-meter[data-cap='square'] .hc-ui-meter__fill { border-radius: 0; }
|
|
533
537
|
[data-hc-ds] .hc-ui-meter[data-tone='over'] .hc-ui-meter__fill { background-color: var(--hc-color-danger); }
|
|
534
|
-
/* Drawn only above the limit, over the danger fill: in the text color
|
|
538
|
+
/* Drawn only above the limit, over the danger fill: in the text color, with a 1px edge of
|
|
539
|
+
the surface on each side, so it stands apart from the red in both themes (dark on light,
|
|
540
|
+
light on dark) and from the track. */
|
|
535
541
|
[data-hc-ds] .hc-ui-meter__limit {
|
|
536
542
|
position: absolute;
|
|
537
543
|
top: 0;
|
|
538
544
|
bottom: 0;
|
|
539
545
|
width: 2px;
|
|
540
546
|
background-color: var(--hc-color-text-primary);
|
|
547
|
+
box-shadow: -1px 0 0 var(--hc-color-bg-surface), 1px 0 0 var(--hc-color-bg-surface);
|
|
541
548
|
}
|
|
542
549
|
[data-hc-ds] .hc-ui-meter[data-animated] .hc-ui-meter__fill { transition: width var(--hc-transition-base); }
|
|
543
550
|
|
|
@@ -611,8 +618,8 @@
|
|
|
611
618
|
}
|
|
612
619
|
[data-hc-ds] .hc-ui-checkbox__input:focus-visible { outline: none; }
|
|
613
620
|
[data-hc-ds] .hc-ui-checkbox__input:focus-visible + .hc-ui-checkbox__box {
|
|
614
|
-
outline:
|
|
615
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
621
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
622
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
616
623
|
}
|
|
617
624
|
[data-hc-ds] .hc-ui-checkbox__input:disabled + .hc-ui-checkbox__box {
|
|
618
625
|
background-color: var(--hc-color-bg-muted);
|
|
@@ -630,7 +637,10 @@
|
|
|
630
637
|
}
|
|
631
638
|
|
|
632
639
|
/* Dialog — native <dialog> in the top layer. `sm` is HCUI's desktop confirmation
|
|
633
|
-
(.desktop-confirm); `md` is HCUI's Sheet in its centered desktop form.
|
|
640
|
+
(.desktop-confirm); `md` is HCUI's Sheet in its centered desktop form. Both have the
|
|
641
|
+
panel's look (decision of 2026-11-07): `shadow-modal`, the entry and exit animation and
|
|
642
|
+
the backdrop's fade, none under reduced motion. The backdrop is not blurred: the panel
|
|
643
|
+
is solid (blur only behind translucent surfaces). */
|
|
634
644
|
[data-hc-ds] .hc-ui-dialog {
|
|
635
645
|
box-sizing: border-box;
|
|
636
646
|
width: min(400px, calc(100vw - 32px));
|
|
@@ -644,15 +654,21 @@
|
|
|
644
654
|
background-color: var(--hc-color-bg-elevated);
|
|
645
655
|
border: 0;
|
|
646
656
|
border-radius: var(--hc-radius-lg);
|
|
657
|
+
box-shadow: var(--hc-shadow-modal);
|
|
647
658
|
font-family: var(--hc-font-body);
|
|
648
659
|
font-size: var(--hc-font-size-md);
|
|
649
660
|
font-variation-settings: 'ROND' var(--hc-rond);
|
|
650
661
|
line-height: var(--hc-line-height-md);
|
|
651
662
|
outline: none;
|
|
663
|
+
animation: hc-ui-dialog-in var(--hc-dur-medium) var(--hc-ease-standard) both;
|
|
652
664
|
}
|
|
653
665
|
[data-hc-ds] .hc-ui-dialog[open] { display: grid; align-content: start; gap: var(--hc-space-2); }
|
|
654
|
-
[data-hc-ds] .hc-ui-dialog::backdrop {
|
|
655
|
-
|
|
666
|
+
[data-hc-ds] .hc-ui-dialog::backdrop {
|
|
667
|
+
background-color: var(--hc-color-bg-overlay);
|
|
668
|
+
animation: hc-ui-backdrop-in var(--hc-dur-medium) var(--hc-ease-standard) both;
|
|
669
|
+
}
|
|
670
|
+
[data-hc-ds] .hc-ui-dialog[data-closing] { pointer-events: none; animation: hc-ui-dialog-out var(--hc-dur-short) var(--hc-ease-emphasized-accel) forwards; }
|
|
671
|
+
[data-hc-ds] .hc-ui-dialog[data-closing]::backdrop { animation: hc-ui-backdrop-out var(--hc-dur-short) var(--hc-ease-standard) forwards; }
|
|
656
672
|
[data-hc-ds] .hc-ui-dialog__header {
|
|
657
673
|
display: flex;
|
|
658
674
|
align-items: center;
|
|
@@ -694,17 +710,8 @@
|
|
|
694
710
|
padding: 0;
|
|
695
711
|
overflow: hidden;
|
|
696
712
|
border-radius: var(--hc-radius-sheet);
|
|
697
|
-
box-shadow: var(--hc-shadow-modal);
|
|
698
|
-
animation: hc-ui-dialog-in var(--hc-dur-medium) var(--hc-ease-standard) both;
|
|
699
713
|
}
|
|
700
714
|
[data-hc-ds] .hc-ui-dialog[data-size='md'][open] { display: flex; flex-direction: column; gap: 0; }
|
|
701
|
-
[data-hc-ds] .hc-ui-dialog[data-size='md']::backdrop {
|
|
702
|
-
-webkit-backdrop-filter: blur(8px);
|
|
703
|
-
backdrop-filter: blur(8px);
|
|
704
|
-
animation: hc-ui-backdrop-in var(--hc-dur-medium) var(--hc-ease-standard) both;
|
|
705
|
-
}
|
|
706
|
-
[data-hc-ds] .hc-ui-dialog[data-size='md'][data-closing] { animation: hc-ui-dialog-out var(--hc-dur-short) var(--hc-ease-emphasized-accel) forwards; }
|
|
707
|
-
[data-hc-ds] .hc-ui-dialog[data-size='md'][data-closing]::backdrop { animation: hc-ui-backdrop-out var(--hc-dur-short) var(--hc-ease-standard) forwards; }
|
|
708
715
|
[data-hc-ds] .hc-ui-dialog[data-size='md'] .hc-ui-dialog__header { flex: 0 0 auto; padding: var(--hc-space-5) var(--hc-space-5) var(--hc-space-3); }
|
|
709
716
|
[data-hc-ds] .hc-ui-dialog[data-size='md'] .hc-ui-dialog__title {
|
|
710
717
|
font-size: var(--hc-font-size-xl);
|
|
@@ -747,10 +754,8 @@
|
|
|
747
754
|
@media (prefers-reduced-motion: reduce) {
|
|
748
755
|
[data-hc-ds] .hc-ui-dialog,
|
|
749
756
|
[data-hc-ds] .hc-ui-dialog::backdrop,
|
|
750
|
-
[data-hc-ds] .hc-ui-dialog[data-
|
|
751
|
-
[data-hc-ds] .hc-ui-dialog[data-
|
|
752
|
-
[data-hc-ds] .hc-ui-dialog[data-size='md']::backdrop,
|
|
753
|
-
[data-hc-ds] .hc-ui-dialog[data-size='md'][data-closing]::backdrop { animation: none; }
|
|
757
|
+
[data-hc-ds] .hc-ui-dialog[data-closing],
|
|
758
|
+
[data-hc-ds] .hc-ui-dialog[data-closing]::backdrop { animation: none; }
|
|
754
759
|
}
|
|
755
760
|
|
|
756
761
|
/* Sheet — a Dialog size="md" that, at the bottom, is HCUI's mobile Sheet (sheet-panel,
|
|
@@ -858,7 +863,7 @@
|
|
|
858
863
|
}
|
|
859
864
|
[data-hc-ds] .hc-ui-sheet-options__row {
|
|
860
865
|
/* The ring goes inside, where the group's overflow does not cut it. */
|
|
861
|
-
--hc-focus-ring-offset: -
|
|
866
|
+
--hc-focus-ring-offset: calc(-1 * var(--hc-focus-ring-width));
|
|
862
867
|
appearance: none;
|
|
863
868
|
position: relative;
|
|
864
869
|
display: flex;
|
|
@@ -896,8 +901,8 @@
|
|
|
896
901
|
}
|
|
897
902
|
[data-hc-ds] .hc-ui-sheet-options__row:active:not(:disabled)::after { opacity: 0.07; }
|
|
898
903
|
[data-hc-ds] .hc-ui-sheet-options__row:focus-visible {
|
|
899
|
-
outline:
|
|
900
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
904
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
905
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
901
906
|
border-radius: var(--hc-radius-lg);
|
|
902
907
|
}
|
|
903
908
|
[data-hc-ds] .hc-ui-sheet-options__row:disabled { opacity: 0.4; cursor: default; }
|
|
@@ -915,22 +920,6 @@
|
|
|
915
920
|
animation: hc-ui-check-in 260ms var(--hc-ease-pop);
|
|
916
921
|
}
|
|
917
922
|
|
|
918
|
-
/* SheetOptions variant="list" — HCUI's mobile sort sheet (.sort-button__option): plain
|
|
919
|
-
48px rows with a line under each, 560 weight and 720 once chosen, a 20px check in the text color. */
|
|
920
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] { background-color: transparent; border-radius: 0; box-shadow: none; }
|
|
921
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] .hc-ui-sheet-options__row,
|
|
922
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] .hc-ui-sheet-options__row + .hc-ui-sheet-options__row {
|
|
923
|
-
min-height: 48px;
|
|
924
|
-
padding: 0;
|
|
925
|
-
font-size: var(--hc-font-size-md);
|
|
926
|
-
font-weight: 560;
|
|
927
|
-
line-height: var(--hc-line-height-md);
|
|
928
|
-
box-shadow: inset 0 -1px 0 var(--hc-color-border);
|
|
929
|
-
}
|
|
930
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] .hc-ui-sheet-options__row[data-selected] .hc-ui-sheet-options__label { font-weight: 720; }
|
|
931
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] .hc-ui-sheet-options__row:focus-visible { border-radius: var(--hc-radius-xs); }
|
|
932
|
-
[data-hc-ds] .hc-ui-sheet-options[data-variant='list'] .hc-ui-sheet-options__check { color: var(--hc-color-text-primary); animation: none; }
|
|
933
|
-
|
|
934
923
|
/* SheetChips — wrapping Chips with radio semantics. */
|
|
935
924
|
[data-hc-ds] .hc-ui-sheet-chips { display: flex; flex-wrap: wrap; gap: var(--hc-space-2); }
|
|
936
925
|
|
|
@@ -1020,8 +1009,8 @@
|
|
|
1020
1009
|
[data-hc-ds] .hc-ui-menu__item[data-danger]:hover:not(:disabled) { color: var(--hc-color-danger); }
|
|
1021
1010
|
[data-hc-ds] .hc-ui-menu__item:disabled { color: var(--hc-color-text-muted); cursor: default; }
|
|
1022
1011
|
[data-hc-ds] .hc-ui-menu__item:focus-visible {
|
|
1023
|
-
outline:
|
|
1024
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
1012
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1013
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
1025
1014
|
}
|
|
1026
1015
|
[data-hc-ds] .hc-ui-menu__text { min-width: 0; }
|
|
1027
1016
|
[data-hc-ds] .hc-ui-menu__hint {
|
|
@@ -1101,6 +1090,7 @@
|
|
|
1101
1090
|
background: transparent;
|
|
1102
1091
|
color: inherit;
|
|
1103
1092
|
font: inherit;
|
|
1093
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1104
1094
|
cursor: pointer;
|
|
1105
1095
|
-webkit-tap-highlight-color: transparent;
|
|
1106
1096
|
}
|
|
@@ -1116,8 +1106,8 @@
|
|
|
1116
1106
|
text-align: start;
|
|
1117
1107
|
}
|
|
1118
1108
|
[data-hc-ds] :is(.hc-ui-table__sort, .hc-ui-table__row-button):focus-visible {
|
|
1119
|
-
outline:
|
|
1120
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
1109
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1110
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
1121
1111
|
}
|
|
1122
1112
|
|
|
1123
1113
|
/* PageHeader — HCUI's desktop page heading (`.desktop-page-heading`): 22px semibold title on a
|
|
@@ -1260,6 +1250,7 @@
|
|
|
1260
1250
|
padding: var(--hc-space-1) var(--hc-space-2);
|
|
1261
1251
|
border-radius: var(--hc-radius-xs);
|
|
1262
1252
|
font: inherit;
|
|
1253
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1263
1254
|
}
|
|
1264
1255
|
[data-hc-ds] .hc-ui-panel-header__close {
|
|
1265
1256
|
display: grid;
|
|
@@ -1272,8 +1263,8 @@
|
|
|
1272
1263
|
}
|
|
1273
1264
|
[data-hc-ds] :is(.hc-ui-panel-header__step, .hc-ui-panel-header__close):hover { background: var(--hc-color-bg-muted); color: var(--hc-color-text-primary); }
|
|
1274
1265
|
[data-hc-ds] :is(.hc-ui-panel-header__step, .hc-ui-panel-header__close):focus-visible {
|
|
1275
|
-
outline:
|
|
1276
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
1266
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1267
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
1277
1268
|
}
|
|
1278
1269
|
|
|
1279
1270
|
/* ListRow — HCUI's `list-row` mixin: a full-width button row with a translucent veil on hover
|
|
@@ -1316,8 +1307,8 @@
|
|
|
1316
1307
|
[data-hc-ds] .hc-ui-list-row:active:not(:disabled)::after { opacity: 0.07; }
|
|
1317
1308
|
[data-hc-ds] .hc-ui-list-row:focus-visible {
|
|
1318
1309
|
border-radius: var(--hc-radius-lg);
|
|
1319
|
-
outline:
|
|
1320
|
-
outline-offset: var(--hc-focus-ring-offset, -
|
|
1310
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1311
|
+
outline-offset: var(--hc-focus-ring-offset, calc(-1 * var(--hc-focus-ring-width)));
|
|
1321
1312
|
}
|
|
1322
1313
|
@media (prefers-reduced-motion: reduce) {
|
|
1323
1314
|
[data-hc-ds] .hc-ui-list-row::after { transition: none; }
|
|
@@ -1325,7 +1316,7 @@
|
|
|
1325
1316
|
|
|
1326
1317
|
/* CommandPalette — HCUI's desktop ⌘K (.command-palette): 640px wide, at most 560px tall,
|
|
1327
1318
|
12vh from the top, a 1px border, `shadow-soft`, no blur and no animation. The backdrop
|
|
1328
|
-
is `bg-
|
|
1319
|
+
is the `bg-scrim` token (HCUI's 28% black) unless `--hc-command-palette-backdrop` says otherwise. */
|
|
1329
1320
|
[data-hc-ds] .hc-ui-command-palette {
|
|
1330
1321
|
box-sizing: border-box;
|
|
1331
1322
|
width: min(640px, calc(100vw - 32px));
|
|
@@ -1344,7 +1335,7 @@
|
|
|
1344
1335
|
line-height: var(--hc-line-height-md);
|
|
1345
1336
|
outline: none;
|
|
1346
1337
|
}
|
|
1347
|
-
[data-hc-ds] .hc-ui-command-palette::backdrop { background: var(--hc-command-palette-backdrop, var(--hc-color-bg-
|
|
1338
|
+
[data-hc-ds] .hc-ui-command-palette::backdrop { background: var(--hc-command-palette-backdrop, var(--hc-color-bg-scrim)); }
|
|
1348
1339
|
[data-hc-ds] .hc-ui-command-palette__box { display: flex; flex-direction: column; max-height: inherit; }
|
|
1349
1340
|
[data-hc-ds] .hc-ui-command-palette__field {
|
|
1350
1341
|
display: flex;
|
|
@@ -1399,14 +1390,15 @@
|
|
|
1399
1390
|
background: transparent;
|
|
1400
1391
|
color: inherit;
|
|
1401
1392
|
font: inherit;
|
|
1393
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1402
1394
|
text-align: left;
|
|
1403
1395
|
cursor: pointer;
|
|
1404
1396
|
-webkit-tap-highlight-color: transparent;
|
|
1405
1397
|
}
|
|
1406
1398
|
[data-hc-ds] .hc-ui-command-palette__item[aria-selected='true'] { background: var(--hc-color-bg-muted); }
|
|
1407
1399
|
[data-hc-ds] .hc-ui-command-palette__item:focus-visible {
|
|
1408
|
-
outline:
|
|
1409
|
-
outline-offset: var(--hc-focus-ring-offset, -
|
|
1400
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1401
|
+
outline-offset: var(--hc-focus-ring-offset, calc(-1 * var(--hc-focus-ring-width)));
|
|
1410
1402
|
}
|
|
1411
1403
|
[data-hc-ds] .hc-ui-command-palette__icon {
|
|
1412
1404
|
display: grid;
|
|
@@ -1744,6 +1736,7 @@
|
|
|
1744
1736
|
background: transparent;
|
|
1745
1737
|
color: inherit;
|
|
1746
1738
|
font: inherit;
|
|
1739
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1747
1740
|
cursor: pointer;
|
|
1748
1741
|
-webkit-tap-highlight-color: transparent;
|
|
1749
1742
|
touch-action: manipulation;
|
|
@@ -1793,13 +1786,14 @@
|
|
|
1793
1786
|
background: transparent;
|
|
1794
1787
|
color: inherit;
|
|
1795
1788
|
font: inherit;
|
|
1789
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1796
1790
|
cursor: pointer;
|
|
1797
1791
|
-webkit-tap-highlight-color: transparent;
|
|
1798
1792
|
touch-action: manipulation;
|
|
1799
1793
|
}
|
|
1800
1794
|
[data-hc-ds] .hc-ui-combat-dial__cell:focus-visible {
|
|
1801
|
-
outline:
|
|
1802
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
1795
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
1796
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
1803
1797
|
}
|
|
1804
1798
|
[data-hc-ds] .hc-ui-combat-dial__cell[data-round] { border-radius: 50%; }
|
|
1805
1799
|
[data-hc-ds] .hc-ui-combat-dial__cell[data-kind='legend'] { color: var(--hc-color-text-secondary); }
|
|
@@ -1843,9 +1837,25 @@
|
|
|
1843
1837
|
/* `max-width` lets the bolts squeeze into the printed card's 28px legend, as in HCUI. */
|
|
1844
1838
|
[data-hc-ds] .hc-ui-combat-dial__bolt { width: auto; max-width: 100%; height: 16px; object-fit: contain; filter: var(--hc-filter-symbol-muted); }
|
|
1845
1839
|
|
|
1840
|
+
/* `density="compact"`: HCUI's compact dial of the unit view on phones, for dense lists:
|
|
1841
|
+
34px cells and rows, 6px gaps, 13px numbers, 18px special icons and tighter point chips.
|
|
1842
|
+
The printed presentation keeps its own measures. */
|
|
1843
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__header { gap: var(--hc-space-1); }
|
|
1844
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__points { gap: var(--hc-space-1); padding: var(--hc-space-1) 0; }
|
|
1845
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__chip { gap: var(--hc-space-2); padding: var(--hc-space-2); border-radius: var(--hc-radius-lg); }
|
|
1846
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__grid-wrap { padding: var(--hc-space-2) 0 var(--hc-space-1); }
|
|
1847
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__grid { gap: 6px; }
|
|
1848
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__col { grid-template-rows: repeat(5, 34px); gap: 6px; }
|
|
1849
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__col[data-start]::before { top: 40px; }
|
|
1850
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__cell { width: 34px; height: 34px; }
|
|
1851
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__cell[data-tip]::after { inset: -3px; }
|
|
1852
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) :is(.hc-ui-combat-dial__cell[data-kind='value'], .hc-ui-combat-dial__range) { font-size: var(--hc-font-size-sm); }
|
|
1853
|
+
[data-hc-ds] .hc-ui-combat-dial[data-density='compact']:not([data-presentation='printed']) .hc-ui-combat-dial__special-icon { width: 18px; height: 18px; }
|
|
1854
|
+
|
|
1846
1855
|
/* `presentation="printed"`: the physical card's dial, at HCUnits' measures (20px
|
|
1847
1856
|
cells, 23px between clicks, 24px between rows); the white legend sits on the
|
|
1848
|
-
card's dark window. Its numbers
|
|
1857
|
+
card's dark window. Its numbers use the `font` shorthand, with ROND right after it
|
|
1858
|
+
(`--hc-rond`, which the card sets to 0). */
|
|
1849
1859
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__grid-wrap {
|
|
1850
1860
|
display: flex;
|
|
1851
1861
|
flex-direction: column;
|
|
@@ -1873,6 +1883,7 @@
|
|
|
1873
1883
|
/* Condensed, so two digits fit the 20px cell; no tracking, so they stay centered. */
|
|
1874
1884
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__cell[data-kind='value'] {
|
|
1875
1885
|
font: 600 17px/1 var(--hc-font-body);
|
|
1886
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
1876
1887
|
font-stretch: 50%;
|
|
1877
1888
|
letter-spacing: 0;
|
|
1878
1889
|
font-variant-numeric: tabular-nums;
|
|
@@ -1899,7 +1910,7 @@
|
|
|
1899
1910
|
}
|
|
1900
1911
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__cell[data-tip]::after { inset: -2px -1.5px; }
|
|
1901
1912
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__rangebox { flex-direction: row; gap: 0; align-items: center; }
|
|
1902
|
-
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__range { margin-right: 2px; color: var(--hc-color-dial-legend-printed); font: 300 14px/1 var(--hc-font-body); }
|
|
1913
|
+
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__range { margin-right: 2px; color: var(--hc-color-dial-legend-printed); font: 300 14px/1 var(--hc-font-body); font-variation-settings: 'ROND' var(--hc-rond); }
|
|
1903
1914
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__bolt { height: 14px; margin-right: -1px; filter: var(--hc-filter-symbol-light); }
|
|
1904
1915
|
/* The legend symbols are 18px tall at their own width, at most 26px, and white. */
|
|
1905
1916
|
[data-hc-ds] .hc-ui-combat-dial[data-presentation='printed'] .hc-ui-combat-dial__col[data-kind='legend'] .hc-ui-stat-glyph {
|
|
@@ -2021,6 +2032,7 @@
|
|
|
2021
2032
|
background: var(--hc-color-card-print-black);
|
|
2022
2033
|
color: var(--hc-color-card-print-white);
|
|
2023
2034
|
font: inherit;
|
|
2035
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2024
2036
|
cursor: pointer;
|
|
2025
2037
|
-webkit-tap-highlight-color: transparent;
|
|
2026
2038
|
touch-action: manipulation;
|
|
@@ -2059,6 +2071,7 @@
|
|
|
2059
2071
|
}
|
|
2060
2072
|
[data-hc-ds] .hc-ui-physical-card__collection strong {
|
|
2061
2073
|
font: 800 20px/1 var(--hc-font-display);
|
|
2074
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2062
2075
|
font-stretch: 62%;
|
|
2063
2076
|
min-height: 19px;
|
|
2064
2077
|
color: var(--hc-color-card-print-white);
|
|
@@ -2162,7 +2175,7 @@
|
|
|
2162
2175
|
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='attack'] { width: 43px; top: 48px; }
|
|
2163
2176
|
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='defense'] { width: 51px; top: 72px; }
|
|
2164
2177
|
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='damage'] { width: 59px; top: 96px; }
|
|
2165
|
-
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='range'] span { position: absolute; right: 58px; top: 4px; font: 300 11px/1.2 var(--hc-font-body); }
|
|
2178
|
+
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='range'] span { position: absolute; right: 58px; top: 4px; font: 300 11px/1.2 var(--hc-font-body); font-variation-settings: 'ROND' var(--hc-rond); }
|
|
2166
2179
|
[data-hc-ds] .hc-ui-physical-card__bystander-tab[data-stat='range'] img.hc-ui-physical-card__bystander-bolt { right: auto; top: 6px; width: 6px; height: 12px; }
|
|
2167
2180
|
[data-hc-ds] .hc-ui-physical-card__bystander-name {
|
|
2168
2181
|
position: absolute;
|
|
@@ -2174,6 +2187,7 @@
|
|
|
2174
2187
|
width: 105px;
|
|
2175
2188
|
height: 45px;
|
|
2176
2189
|
font: 500 13px/1 var(--hc-font-body);
|
|
2190
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2177
2191
|
font-stretch: 80%;
|
|
2178
2192
|
text-align: center;
|
|
2179
2193
|
}
|
|
@@ -2201,6 +2215,7 @@
|
|
|
2201
2215
|
justify-content: center;
|
|
2202
2216
|
width: 40px;
|
|
2203
2217
|
font: 500 14px/1 var(--hc-font-body);
|
|
2218
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2204
2219
|
}
|
|
2205
2220
|
[data-hc-ds] .hc-ui-physical-card__bystander-extra img { width: 20px; height: 20px; filter: var(--hc-filter-symbol-light); }
|
|
2206
2221
|
[data-hc-ds] .hc-ui-physical-card__bystander-extra[data-kind='passengers'] img { width: auto; height: auto; margin-right: 5px; }
|
|
@@ -2216,6 +2231,7 @@
|
|
|
2216
2231
|
background: transparent;
|
|
2217
2232
|
color: inherit;
|
|
2218
2233
|
font: inherit;
|
|
2234
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2219
2235
|
cursor: pointer;
|
|
2220
2236
|
-webkit-tap-highlight-color: transparent;
|
|
2221
2237
|
touch-action: manipulation;
|
|
@@ -2237,6 +2253,7 @@
|
|
|
2237
2253
|
color: var(--hc-color-card-print-black);
|
|
2238
2254
|
/* The card's dial, in proportion to the 18px cell. */
|
|
2239
2255
|
font: 600 16px/1 var(--hc-font-body);
|
|
2256
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2240
2257
|
font-stretch: 50%;
|
|
2241
2258
|
letter-spacing: 0;
|
|
2242
2259
|
font-variant-numeric: tabular-nums;
|
|
@@ -2252,8 +2269,8 @@
|
|
|
2252
2269
|
/* A hit area larger than the 18px square. */
|
|
2253
2270
|
[data-hc-ds] .hc-ui-physical-card__bystander-value[data-tip]::after { content: ''; position: absolute; inset: -3px; }
|
|
2254
2271
|
[data-hc-ds] :is(.hc-ui-physical-card__ability, .hc-ui-physical-card__bystander-improved-ability, .hc-ui-physical-card__bystander-value[data-tip], .hc-ui-physical-card__improved, .hc-ui-physical-card__point):focus-visible {
|
|
2255
|
-
outline:
|
|
2256
|
-
outline-offset: var(--hc-focus-ring-offset,
|
|
2272
|
+
outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring);
|
|
2273
|
+
outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width));
|
|
2257
2274
|
}
|
|
2258
2275
|
|
|
2259
2276
|
[data-hc-ds] .hc-ui-physical-card__terrain-art { display: block; max-width: min(360px, 100%); max-height: 335px; margin: 5px auto 0; }
|
|
@@ -2267,6 +2284,7 @@
|
|
|
2267
2284
|
min-height: 22px;
|
|
2268
2285
|
margin: 0 0 1px;
|
|
2269
2286
|
font: 700 16px/1.1 var(--hc-font-display);
|
|
2287
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2270
2288
|
font-stretch: 65%;
|
|
2271
2289
|
text-transform: uppercase;
|
|
2272
2290
|
color: var(--hc-color-card-ink);
|
|
@@ -2285,7 +2303,7 @@
|
|
|
2285
2303
|
transition: opacity var(--hc-transition-fast);
|
|
2286
2304
|
}
|
|
2287
2305
|
[data-hc-ds] .hc-ui-physical-card__copy:active { opacity: 0.6; }
|
|
2288
|
-
[data-hc-ds] .hc-ui-physical-card__keyphrase { min-height: 22px; display: flex; align-items: center; font: 700 16px/1.1 var(--hc-font-display); font-stretch: 75%; color: var(--hc-color-card-ink); }
|
|
2306
|
+
[data-hc-ds] .hc-ui-physical-card__keyphrase { min-height: 22px; display: flex; align-items: center; font: 700 16px/1.1 var(--hc-font-display); font-variation-settings: 'ROND' var(--hc-rond); font-stretch: 75%; color: var(--hc-color-card-ink); }
|
|
2289
2307
|
[data-hc-ds] .hc-ui-physical-card__relic { margin: 0; }
|
|
2290
2308
|
|
|
2291
2309
|
/* Improved abilities right above the dial's window. */
|
|
@@ -2306,6 +2324,7 @@
|
|
|
2306
2324
|
background: transparent;
|
|
2307
2325
|
color: inherit;
|
|
2308
2326
|
font: inherit;
|
|
2327
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2309
2328
|
cursor: pointer;
|
|
2310
2329
|
-webkit-tap-highlight-color: transparent;
|
|
2311
2330
|
touch-action: manipulation;
|
|
@@ -2336,6 +2355,7 @@
|
|
|
2336
2355
|
background: transparent;
|
|
2337
2356
|
color: inherit;
|
|
2338
2357
|
font: 600 18px/23px var(--hc-font-display);
|
|
2358
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2339
2359
|
font-stretch: 75%;
|
|
2340
2360
|
font-variant-numeric: tabular-nums;
|
|
2341
2361
|
text-align: right;
|
|
@@ -2350,6 +2370,7 @@
|
|
|
2350
2370
|
left: 15px;
|
|
2351
2371
|
bottom: 10px;
|
|
2352
2372
|
font: 20px var(--hc-font-mono);
|
|
2373
|
+
font-variation-settings: 'ROND' var(--hc-rond);
|
|
2353
2374
|
color: var(--hc-color-card-print-white);
|
|
2354
2375
|
text-shadow: -1px -1px 0 var(--hc-color-card-print-black), 1px -1px 0 var(--hc-color-card-print-black), -1px 1px 0 var(--hc-color-card-print-black), 1px 1px 0 var(--hc-color-card-print-black);
|
|
2355
2376
|
}
|
|
@@ -2368,9 +2389,9 @@
|
|
|
2368
2389
|
color: var(--hc-color-card-print-black);
|
|
2369
2390
|
text-align: center;
|
|
2370
2391
|
}
|
|
2371
|
-
[data-hc-ds] .hc-ui-physical-card__terrain-dial span { align-self: end; font: 700 24px/1 var(--hc-font-display); }
|
|
2392
|
+
[data-hc-ds] .hc-ui-physical-card__terrain-dial span { align-self: end; font: 700 24px/1 var(--hc-font-display); font-variation-settings: 'ROND' var(--hc-rond); }
|
|
2372
2393
|
[data-hc-ds] .hc-ui-physical-card__terrain-dial img { height: 22px; vertical-align: middle; }
|
|
2373
|
-
[data-hc-ds] .hc-ui-physical-card__terrain-dial b { font: 700 24px/30px var(--hc-font-display); font-stretch: 75%; letter-spacing: -1px; }
|
|
2394
|
+
[data-hc-ds] .hc-ui-physical-card__terrain-dial b { font: 700 24px/30px var(--hc-font-display); font-variation-settings: 'ROND' var(--hc-rond); font-stretch: 75%; letter-spacing: -1px; }
|
|
2374
2395
|
|
|
2375
2396
|
[data-hc-ds] .hc-ui-physical-card__back-bar {
|
|
2376
2397
|
position: absolute;
|
|
@@ -2446,7 +2467,9 @@
|
|
|
2446
2467
|
}
|
|
2447
2468
|
|
|
2448
2469
|
/* PhysicalCardFocusView — HCUI `.card-focus`. The blurred background was asked for
|
|
2449
|
-
by HCUI and applies only here
|
|
2470
|
+
by HCUI and applies only here: the view has no panel of its own, so the dimmed,
|
|
2471
|
+
translucent backdrop is the surface the card floats on (the exception to "no blur
|
|
2472
|
+
behind solid surfaces"). */
|
|
2450
2473
|
[data-hc-ds] .hc-ui-card-focus {
|
|
2451
2474
|
position: fixed;
|
|
2452
2475
|
inset: 0;
|
|
@@ -2533,7 +2556,7 @@
|
|
|
2533
2556
|
background-color: var(--hc-color-map-board);
|
|
2534
2557
|
cursor: crosshair;
|
|
2535
2558
|
}
|
|
2536
|
-
[data-hc-ds] .hc-ui-map-board:focus-visible { outline:
|
|
2559
|
+
[data-hc-ds] .hc-ui-map-board:focus-visible { outline: var(--hc-focus-ring-width) solid var(--hc-focus-ring); outline-offset: var(--hc-focus-ring-offset, var(--hc-focus-ring-width)); }
|
|
2537
2560
|
[data-hc-ds] .hc-ui-map-board canvas {
|
|
2538
2561
|
display: block;
|
|
2539
2562
|
width: 100%;
|