@hjmds/react 1.6.0 → 1.8.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 +17 -0
- package/THIRD_PARTY_NOTICES.md +28 -0
- package/dist/advanced-display.d.ts +3 -1
- package/dist/advanced-display.d.ts.map +1 -1
- package/dist/advanced-display.js +2 -2
- package/dist/advanced-display.js.map +1 -1
- package/dist/clipboard.d.ts +2 -2
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js.map +1 -1
- package/dist/context-menu.d.ts.map +1 -1
- package/dist/context-menu.js +36 -9
- package/dist/context-menu.js.map +1 -1
- package/dist/evidence.d.ts +61 -2
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +133 -64
- package/dist/evidence.js.map +1 -1
- package/dist/feedback.d.ts +4 -4
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js.map +1 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +3 -2
- package/dist/layout.js.map +1 -1
- package/dist/masonry.d.ts +14 -0
- package/dist/masonry.d.ts.map +1 -0
- package/dist/masonry.js +13 -0
- package/dist/masonry.js.map +1 -0
- package/dist/menu-morph.d.ts +12 -0
- package/dist/menu-morph.d.ts.map +1 -0
- package/dist/menu-morph.js +79 -0
- package/dist/menu-morph.js.map +1 -0
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +13 -1
- package/dist/navigation.js.map +1 -1
- package/dist/qr-code.d.ts +11 -0
- package/dist/qr-code.d.ts.map +1 -0
- package/dist/qr-code.js +14 -0
- package/dist/qr-code.js.map +1 -0
- package/dist/statistic-motion.d.ts +12 -0
- package/dist/statistic-motion.d.ts.map +1 -0
- package/dist/statistic-motion.js +23 -0
- package/dist/statistic-motion.js.map +1 -0
- package/dist/styles.css +136 -133
- package/dist/styles.layered.css +136 -133
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +2 -1
- package/dist/theme.js.map +1 -1
- package/dist/thinking-orb.d.ts +9 -0
- package/dist/thinking-orb.d.ts.map +1 -0
- package/dist/thinking-orb.js +86 -0
- package/dist/thinking-orb.js.map +1 -0
- package/dist/virtual-list.d.ts +14 -0
- package/dist/virtual-list.d.ts.map +1 -0
- package/dist/virtual-list.js +48 -0
- package/dist/virtual-list.js.map +1 -0
- package/package.json +61 -5
package/dist/styles.layered.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@layer hjm {
|
|
2
|
+
/* Broad neutral and pale-brand surfaces use the theme canvas. Selection stays visible through borders; primary actions and compact state marks retain their semantic fills. */
|
|
2
3
|
.hjm-root,
|
|
3
4
|
.hjm-root *,
|
|
4
5
|
.hjm-root *::before,
|
|
@@ -71,14 +72,14 @@
|
|
|
71
72
|
overflow-wrap: anywhere;
|
|
72
73
|
border: 1px solid transparent;
|
|
73
74
|
border-radius: var(--hjm-radius-lg);
|
|
74
|
-
background: var(--hjm-color-
|
|
75
|
+
background: var(--hjm-color-bg);
|
|
75
76
|
}
|
|
76
77
|
/* A child image would otherwise spill past the rounded corner. An elevated tone
|
|
77
78
|
opts out because clipping cuts off its own shadow. */
|
|
78
79
|
.hjm-surface[data-clips="true"] { overflow: hidden; }
|
|
79
80
|
.hjm-surface[data-tone="raised"] { background: var(--hjm-color-bg); box-shadow: 0 4px 12px rgb(0 0 0 / 12%); }
|
|
80
|
-
.hjm-surface[data-tone="accent"] { background: var(--hjm-color-
|
|
81
|
-
.hjm-surface[data-tone="sunken"] { background: var(--hjm-color-
|
|
81
|
+
.hjm-surface[data-tone="accent"] { background: var(--hjm-color-bg); }
|
|
82
|
+
.hjm-surface[data-tone="sunken"] { background: var(--hjm-color-bg); }
|
|
82
83
|
.hjm-surface[data-tone="subtle"] { background: var(--hjm-color-bg); }
|
|
83
84
|
.hjm-surface[data-bordered="true"] { border-color: var(--hjm-color-border); }
|
|
84
85
|
.hjm-surface[data-tone="accent"][data-bordered="true"] { border-color: color-mix(in srgb, var(--hjm-color-primary) 30%, transparent); }
|
|
@@ -166,7 +167,7 @@
|
|
|
166
167
|
max-inline-size: 100%;
|
|
167
168
|
overflow: hidden;
|
|
168
169
|
border-radius: var(--hjm-radius-md);
|
|
169
|
-
background: var(--hjm-color-
|
|
170
|
+
background: var(--hjm-color-bg);
|
|
170
171
|
vertical-align: middle;
|
|
171
172
|
}
|
|
172
173
|
.hjm-image__asset,
|
|
@@ -180,7 +181,7 @@
|
|
|
180
181
|
display: grid;
|
|
181
182
|
place-items: center;
|
|
182
183
|
color: var(--hjm-color-text-muted);
|
|
183
|
-
background: var(--hjm-color-
|
|
184
|
+
background: var(--hjm-color-bg);
|
|
184
185
|
}
|
|
185
186
|
.hjm-image__fallback-icon { display: inline-grid; place-items: center; }
|
|
186
187
|
|
|
@@ -231,7 +232,7 @@
|
|
|
231
232
|
line-height: var(--hjm-type-body-large-line-height);
|
|
232
233
|
}
|
|
233
234
|
.hjm-button[data-tone="primary"], .hjm-icon-button[data-tone="primary"] { color: var(--hjm-color-on-primary); background: var(--hjm-color-primary); }
|
|
234
|
-
.hjm-button[data-tone="secondary"], .hjm-icon-button[data-tone="secondary"] { color: var(--hjm-color-text); background: var(--hjm-color-
|
|
235
|
+
.hjm-button[data-tone="secondary"], .hjm-icon-button[data-tone="secondary"] { color: var(--hjm-color-text); background: var(--hjm-color-bg); border-color: var(--hjm-color-border-control); }
|
|
235
236
|
.hjm-button[data-tone="ghost"], .hjm-icon-button[data-tone="ghost"] { color: var(--hjm-color-text-muted); background: transparent; }
|
|
236
237
|
.hjm-button[data-tone="danger"], .hjm-icon-button[data-tone="danger"] { color: var(--hjm-color-on-danger); background: var(--hjm-color-danger-fill); }
|
|
237
238
|
/* A link-tone control is inline copy; the size axis' padding would push it out
|
|
@@ -239,7 +240,7 @@
|
|
|
239
240
|
.hjm-button[data-tone="link"] { color: var(--hjm-color-content-brand); background: transparent; padding-inline: 0; }
|
|
240
241
|
/* Toggle treatment: aria-pressed already carried the state, so without a paired
|
|
241
242
|
visual every consumer painted the selected background in product styles. */
|
|
242
|
-
.hjm-button[data-selected="true"], .hjm-icon-button[data-selected="true"] { color: var(--hjm-color-content-brand); background: var(--hjm-color-
|
|
243
|
+
.hjm-button[data-selected="true"], .hjm-icon-button[data-selected="true"] { color: var(--hjm-color-content-brand); background: var(--hjm-color-bg); border-color: var(--hjm-color-content-brand); }
|
|
243
244
|
.hjm-button:active:not(:disabled):not([aria-disabled="true"]), .hjm-icon-button:active:not(:disabled):not([aria-disabled="true"]) { opacity: var(--hjm-button-pressed-opacity); }
|
|
244
245
|
.hjm-button:disabled, .hjm-icon-button:disabled { cursor: not-allowed; opacity: var(--hjm-button-disabled-opacity); }
|
|
245
246
|
/* 라벨은 자르지 않고 두 줄까지 접는다(buttonRecipe.label). 잘린 행동 라벨은 무엇을 하는
|
|
@@ -282,11 +283,15 @@
|
|
|
282
283
|
.hjm-switch:focus-visible .hjm-switch__track,
|
|
283
284
|
.hjm-segmented__item:has(input:focus-visible),
|
|
284
285
|
.hjm-tabs__tab:focus-visible,
|
|
285
|
-
.hjm-list-row:focus-visible
|
|
286
|
+
.hjm-list-row:focus-visible,
|
|
287
|
+
.hjm-virtual-list:focus-visible,
|
|
288
|
+
.hjm-virtual-list__row:focus-visible {
|
|
286
289
|
outline: var(--hjm-focus-width) solid var(--hjm-color-focus);
|
|
287
290
|
outline-offset: var(--hjm-focus-offset);
|
|
288
291
|
}
|
|
289
292
|
|
|
293
|
+
/* Input interiors use the theme canvas (white in light mode), not tinted
|
|
294
|
+
surfaces. Focus and selection still use blue borders and compact indicators. */
|
|
290
295
|
.hjm-field { display: grid; gap: var(--hjm-space-xs); min-inline-size: 0; }
|
|
291
296
|
.hjm-field__label { color: var(--hjm-color-text-body); font-weight: var(--hjm-font-weight-semibold); }
|
|
292
297
|
.hjm-field__control {
|
|
@@ -294,9 +299,9 @@
|
|
|
294
299
|
align-items: center;
|
|
295
300
|
min-block-size: var(--hjm-control-field-height);
|
|
296
301
|
padding-inline: var(--hjm-space-md);
|
|
297
|
-
border: var(--hjm-field-border-width) solid var(--hjm-color-
|
|
302
|
+
border: var(--hjm-field-border-width) solid var(--hjm-color-border-control);
|
|
298
303
|
border-radius: var(--hjm-radius-md);
|
|
299
|
-
background: var(--hjm-color-
|
|
304
|
+
background: var(--hjm-color-bg);
|
|
300
305
|
}
|
|
301
306
|
.hjm-field[data-variant="inset"] .hjm-field__control { background: var(--hjm-color-bg); }
|
|
302
307
|
.hjm-field[data-shape="large"] .hjm-field__control { border-radius: var(--hjm-radius-lg); }
|
|
@@ -395,6 +400,7 @@
|
|
|
395
400
|
(var(--hjm-otp-slot-size) * var(--hjm-otp-length)) +
|
|
396
401
|
(var(--hjm-otp-gap) * (var(--hjm-otp-length) - 1))
|
|
397
402
|
);
|
|
403
|
+
/* Numeric codes keep their entry order in RTL (docs/otp-field.md); mirroring digits would reorder the code. */
|
|
398
404
|
direction: ltr;
|
|
399
405
|
}
|
|
400
406
|
.hjm-otp-field__control[data-size="large"] {
|
|
@@ -428,10 +434,10 @@
|
|
|
428
434
|
display: grid;
|
|
429
435
|
place-items: center;
|
|
430
436
|
padding-block: var(--hjm-space-xxs);
|
|
431
|
-
border: 1px solid var(--hjm-color-
|
|
437
|
+
border: 1px solid var(--hjm-color-border-control);
|
|
432
438
|
border-radius: var(--hjm-radius-md);
|
|
433
439
|
color: var(--hjm-color-text);
|
|
434
|
-
background: var(--hjm-color-
|
|
440
|
+
background: var(--hjm-color-bg);
|
|
435
441
|
font-size: var(--hjm-type-title-size);
|
|
436
442
|
line-height: var(--hjm-type-title-line-height);
|
|
437
443
|
font-weight: var(--hjm-font-weight-semibold);
|
|
@@ -498,7 +504,7 @@
|
|
|
498
504
|
text-decoration: none;
|
|
499
505
|
overflow-wrap: anywhere;
|
|
500
506
|
}
|
|
501
|
-
.hjm-bottom-navigation__item:hover { background: var(--hjm-color-
|
|
507
|
+
.hjm-bottom-navigation__item:hover { background: var(--hjm-color-bg); }
|
|
502
508
|
.hjm-bottom-navigation__item:active { background: var(--hjm-bottom-navigation-pressed-background); }
|
|
503
509
|
.hjm-bottom-navigation__item:focus-visible {
|
|
504
510
|
outline: 2px solid var(--hjm-color-content-brand);
|
|
@@ -582,8 +588,8 @@
|
|
|
582
588
|
.hjm-number-field__stepper[data-direction="increment"] {
|
|
583
589
|
border-inline-start: 1px solid var(--hjm-color-border);
|
|
584
590
|
}
|
|
585
|
-
.hjm-number-field__stepper:hover:not(:disabled) { background: var(--hjm-color-
|
|
586
|
-
.hjm-number-field__stepper:active:not(:disabled) { background: var(--hjm-color-
|
|
591
|
+
.hjm-number-field__stepper:hover:not(:disabled) { background: var(--hjm-color-bg); }
|
|
592
|
+
.hjm-number-field__stepper:active:not(:disabled) { background: var(--hjm-color-bg); }
|
|
587
593
|
.hjm-number-field__stepper:disabled { cursor: not-allowed; opacity: 0.5; }
|
|
588
594
|
.hjm-number-field__stepper:focus-visible {
|
|
589
595
|
outline: 2px solid var(--hjm-color-content-brand);
|
|
@@ -699,7 +705,8 @@
|
|
|
699
705
|
}
|
|
700
706
|
.hjm-slider__input:disabled { cursor: not-allowed; }
|
|
701
707
|
|
|
702
|
-
|
|
708
|
+
/* Long choice labels wrap within the parent. */
|
|
709
|
+
.hjm-choice { display: inline-flex; align-items: center; gap: var(--hjm-space-sm); min-block-size: 56px; max-inline-size: 100%; padding: var(--hjm-space-sm) var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); cursor: pointer; }
|
|
703
710
|
.hjm-choice[data-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
704
711
|
.hjm-choice[data-readonly="true"] { cursor: default; }
|
|
705
712
|
.hjm-choice[data-presentation="plain"] { padding: 0; border-color: transparent; background: transparent; }
|
|
@@ -707,11 +714,11 @@
|
|
|
707
714
|
.hjm-choice[data-presentation="card"][data-state="checked"],
|
|
708
715
|
.hjm-choice[data-presentation="card"][data-state="mixed"],
|
|
709
716
|
.hjm-choice[data-presentation="grouped"][data-state="checked"],
|
|
710
|
-
.hjm-choice[data-presentation="grouped"][data-state="mixed"] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-
|
|
717
|
+
.hjm-choice[data-presentation="grouped"][data-state="mixed"] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
711
718
|
.hjm-choice[data-size="small"] { min-block-size: 44px; gap: var(--hjm-space-xs); padding: var(--hjm-space-xs) var(--hjm-space-sm); }
|
|
712
719
|
.hjm-choice[data-size="small"][data-presentation="plain"] { padding: 0; }
|
|
713
720
|
.hjm-choice__input { position: absolute; opacity: 0; inline-size: 1px; block-size: 1px; }
|
|
714
|
-
.hjm-choice__indicator { flex: 0 0 24px; display: grid; place-items: center; inline-size: 24px; block-size: 24px; margin-block-start: 2px; border: 2px solid var(--hjm-color-text-muted); background: var(--hjm-color-
|
|
721
|
+
.hjm-choice__indicator { flex: 0 0 24px; display: grid; place-items: center; inline-size: 24px; block-size: 24px; margin-block-start: 2px; border: 2px solid var(--hjm-color-text-muted); background: var(--hjm-color-bg); }
|
|
715
722
|
.hjm-choice[data-size="small"] .hjm-choice__indicator { flex-basis: 20px; inline-size: 20px; block-size: 20px; }
|
|
716
723
|
.hjm-choice__leading { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; color: var(--hjm-color-text-muted); }
|
|
717
724
|
.hjm-choice[data-kind="checkbox"] .hjm-choice__indicator { border-radius: var(--hjm-radius-sm); }
|
|
@@ -728,7 +735,7 @@
|
|
|
728
735
|
.hjm-radio-group legend { margin-block-end: var(--hjm-space-xs); font-weight: var(--hjm-font-weight-semibold); }
|
|
729
736
|
.hjm-radio-group__items { display: flex; flex-direction: column; gap: var(--hjm-space-xs); }
|
|
730
737
|
.hjm-radio-group[data-presentation="plain"] .hjm-radio-group__items { gap: var(--hjm-space-xxs); }
|
|
731
|
-
.hjm-radio-group[data-presentation="grouped"] .hjm-radio-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-
|
|
738
|
+
.hjm-radio-group[data-presentation="grouped"] .hjm-radio-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-bg); }
|
|
732
739
|
.hjm-radio-group[data-orientation="horizontal"] .hjm-radio-group__items { flex-direction: row; flex-wrap: wrap; gap: var(--hjm-space-md); }
|
|
733
740
|
.hjm-radio-group[data-orientation="horizontal"][data-presentation="plain"] .hjm-radio-group__items { gap: var(--hjm-space-sm); }
|
|
734
741
|
.hjm-radio-group[data-orientation="horizontal"][data-presentation="grouped"] .hjm-radio-group__items { gap: 0; }
|
|
@@ -736,17 +743,14 @@
|
|
|
736
743
|
.hjm-checkbox-group legend { margin-block-end: var(--hjm-space-xs); font-weight: var(--hjm-font-weight-semibold); }
|
|
737
744
|
.hjm-checkbox-group__items { display: flex; flex-direction: column; gap: var(--hjm-space-xs); }
|
|
738
745
|
.hjm-checkbox-group[data-presentation="plain"] .hjm-checkbox-group__items { gap: var(--hjm-space-xxs); }
|
|
739
|
-
.hjm-checkbox-group[data-presentation="grouped"] .hjm-checkbox-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-
|
|
746
|
+
.hjm-checkbox-group[data-presentation="grouped"] .hjm-checkbox-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-bg); }
|
|
740
747
|
.hjm-checkbox-group[data-orientation="horizontal"] .hjm-checkbox-group__items { flex-direction: row; flex-wrap: wrap; gap: var(--hjm-space-md); }
|
|
741
748
|
.hjm-checkbox-group[data-orientation="horizontal"][data-presentation="plain"] .hjm-checkbox-group__items { gap: var(--hjm-space-sm); }
|
|
742
749
|
.hjm-checkbox-group[data-orientation="horizontal"][data-presentation="grouped"] .hjm-checkbox-group__items { gap: 0; }
|
|
743
750
|
|
|
744
751
|
.hjm-switch { display: inline-flex; align-items: center; gap: var(--hjm-space-sm); min-block-size: var(--hjm-control-min-touch-target); padding: 0; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
|
|
745
|
-
/*
|
|
746
|
-
|
|
747
|
-
identical, and it would also double-fade the calibrated 38% on-track. The fade is
|
|
748
|
-
kept on the label alone, so the row still reads disabled at a glance while the
|
|
749
|
-
control keeps the contrast its colours were chosen for. */
|
|
752
|
+
/* Disabled switch colors preserve on/off contrast; row opacity would erase state
|
|
753
|
+
and double-fade the calibrated38% track. Only the label fades (switchRecipe.colors). */
|
|
750
754
|
.hjm-switch:disabled { cursor: not-allowed; }
|
|
751
755
|
.hjm-switch:disabled .hjm-switch__label { opacity: 0.5; }
|
|
752
756
|
.hjm-switch:disabled .hjm-switch__track { background: var(--hjm-color-border); box-shadow: inset 0 0 0 1px var(--hjm-color-border); }
|
|
@@ -776,33 +780,17 @@
|
|
|
776
780
|
[dir="rtl"] .hjm-switch[data-state="checked"] .hjm-switch__thumb { transform: translateX(calc(-1 * var(--hjm-switch-track-offset))); }
|
|
777
781
|
|
|
778
782
|
.hjm-segmented { min-inline-size: 0; padding: 0; border: 0; }
|
|
779
|
-
.hjm-segmented__items { display: flex; min-inline-size: 0; gap: 2px; padding: 2px; border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
783
|
+
.hjm-segmented__items { display: flex; min-inline-size: 0; gap: 2px; padding: 2px; border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); overflow-x: auto; }
|
|
780
784
|
.hjm-segmented__item { position: relative; flex: 1 1 0; min-inline-size: max-content; min-block-size: var(--hjm-control-min-touch-target); display: grid; place-items: center; padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: calc(var(--hjm-radius-md) - 2px); color: var(--hjm-color-text-muted); cursor: pointer; }
|
|
781
785
|
.hjm-segmented__item input { position: absolute; opacity: 0; }
|
|
782
|
-
.hjm-segmented__item[data-state="checked"] { color: var(--hjm-color-text); background: var(--hjm-color-
|
|
786
|
+
.hjm-segmented__item[data-state="checked"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); color: var(--hjm-color-text); background: var(--hjm-color-bg); font-weight: var(--hjm-font-weight-semibold); }
|
|
783
787
|
.hjm-segmented__item[data-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
784
788
|
|
|
785
|
-
/* segmentedControlRecipe.adaptive.largeTextLayout
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
There are two triggers because web has two large-text signals. A browser
|
|
792
|
-
user changes the default font size, which `em` in a media query reads
|
|
793
|
-
directly; a product that declares `textScale` to the provider publishes
|
|
794
|
-
`data-large-text`, which is the recipe's `stackAtFontScale` resolved once
|
|
795
|
-
(a stylesheet cannot compare the raw number). Before #20 only the first
|
|
796
|
-
existed, so the declared axis reached RN and not this renderer. 11em is 176px at 100% (no real viewport, so the
|
|
797
|
-
row is untouched) and 352px at 200%. Measured on the sea view: the row is
|
|
798
|
-
195px at 100%, 263px at 150% and 333px at 200%, so 320px/200% overflowed
|
|
799
|
-
(10em) while 360px/200% did not (11.25em) — the threshold sits between them.
|
|
800
|
-
Stacking releases two row-only declarations: `flex: 1 1 0` would collapse an
|
|
801
|
-
auto-height column to its padding, and `max-content` would stop a long label
|
|
802
|
-
from wrapping inside its own full-width row.
|
|
803
|
-
|
|
804
|
-
`renderers.ssr.test.tsx` fails if the recipe stops declaring "stacked" while
|
|
805
|
-
these rules remain, so the two do not drift apart silently. */
|
|
789
|
+
/* segmentedControlRecipe.adaptive.largeTextLayout stacks oversized labels, matching RN.
|
|
790
|
+
Both browser font size (em query) and provider data-large-text must trigger it (#20).
|
|
791
|
+
11em = 176px at100%, 352px at200%: measured row333px fits360px but overflows320px.
|
|
792
|
+
Reset flex and max-content in columns to avoid collapsed height and unwrapped labels.
|
|
793
|
+
renderers.ssr.test.tsx checks that the recipe still declares stacked. */
|
|
806
794
|
@media (max-width: 11em) {
|
|
807
795
|
.hjm-segmented__items { flex-direction: column; overflow-x: visible; }
|
|
808
796
|
.hjm-segmented__item { flex: 0 0 auto; min-inline-size: 0; }
|
|
@@ -829,11 +817,11 @@
|
|
|
829
817
|
.hjm-tabs[data-orientation="vertical"] .hjm-tabs__tab[data-state="selected"]::after { inset-block: 0; inset-inline-start: auto; inset-inline-end: 0; inline-size: 2px; block-size: auto; }
|
|
830
818
|
|
|
831
819
|
.hjm-badge, .hjm-tag { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); max-inline-size: 100%; overflow-wrap: anywhere; }
|
|
832
|
-
.hjm-badge { min-block-size: 24px; padding: 2px var(--hjm-space-xs); border: 1px solid transparent; border-radius: var(--hjm-radius-full); color: var(--hjm-color-text-muted); background: var(--hjm-color-
|
|
820
|
+
.hjm-badge { min-block-size: 24px; padding: 2px var(--hjm-space-xs); border: 1px solid transparent; border-radius: var(--hjm-radius-full); color: var(--hjm-color-text-muted); background: var(--hjm-color-bg); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-font-weight-bold); }
|
|
833
821
|
.hjm-badge[data-size="small"] { min-block-size: 20px; font-size: var(--hjm-type-caption-size); }
|
|
834
822
|
.hjm-badge[data-tone="strong"] { color: var(--hjm-color-bg); background: var(--hjm-color-text); }
|
|
835
823
|
.hjm-badge[data-tone="brand"] { color: var(--hjm-color-content-brand); }
|
|
836
|
-
.hjm-badge[data-tone="info"], .hjm-tag[data-tone="info"] { color: var(--hjm-accent-info); background:
|
|
824
|
+
.hjm-badge[data-tone="info"], .hjm-tag[data-tone="info"] { color: var(--hjm-accent-info); background: var(--hjm-color-bg); border-color: color-mix(in srgb, var(--hjm-accent-info) 30%, transparent); }
|
|
837
825
|
.hjm-badge[data-tone="success"], .hjm-tag[data-tone="success"] { color: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-success) 30%, transparent); }
|
|
838
826
|
.hjm-badge[data-tone="warning"] { color: var(--hjm-accent-warning); background: color-mix(in srgb, var(--hjm-accent-warning) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-warning) 30%, transparent); }
|
|
839
827
|
.hjm-badge[data-tone="attention"], .hjm-tag[data-tone="attention"] { color: var(--hjm-accent-attention); background: color-mix(in srgb, var(--hjm-accent-attention) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-attention) 30%, transparent); }
|
|
@@ -845,9 +833,9 @@
|
|
|
845
833
|
.hjm-badge[data-variant="outline"][data-tone="warning"] { border-color: color-mix(in srgb, var(--hjm-accent-warning) 30%, transparent); }
|
|
846
834
|
.hjm-badge[data-variant="outline"][data-tone="attention"] { border-color: color-mix(in srgb, var(--hjm-accent-attention) 30%, transparent); }
|
|
847
835
|
.hjm-badge[data-variant="outline"][data-tone="danger"] { border-color: color-mix(in srgb, var(--hjm-color-danger) 30%, transparent); }
|
|
848
|
-
.hjm-tag { min-block-size: 20px; padding-inline: var(--hjm-space-xxs); border: 1px solid transparent; border-radius: var(--hjm-radius-sm); color: var(--hjm-color-text-muted); background: var(--hjm-color-
|
|
849
|
-
.hjm-tag[data-tone="brand"] { color: var(--hjm-color-content-brand); background: var(--hjm-color-
|
|
850
|
-
.hjm-tag[data-tone="info"] { background:
|
|
836
|
+
.hjm-tag { min-block-size: 20px; padding-inline: var(--hjm-space-xxs); border: 1px solid transparent; border-radius: var(--hjm-radius-sm); color: var(--hjm-color-text-muted); background: var(--hjm-color-bg); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-font-weight-semibold); }
|
|
837
|
+
.hjm-tag[data-tone="brand"] { color: var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
838
|
+
.hjm-tag[data-tone="info"] { background: var(--hjm-color-bg); }
|
|
851
839
|
.hjm-tag[data-tone="success"] { background: color-mix(in srgb, var(--hjm-accent-success) 10%, transparent); }
|
|
852
840
|
.hjm-tag[data-tone="attention"] { background: color-mix(in srgb, var(--hjm-accent-attention) 10%, transparent); }
|
|
853
841
|
.hjm-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
|
|
@@ -860,7 +848,8 @@
|
|
|
860
848
|
.hjm-icon[data-tone="warning"] { color: var(--hjm-accent-warning); }
|
|
861
849
|
.hjm-icon[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
862
850
|
.hjm-icon[data-tone="inverse"] { color: var(--hjm-color-on-primary); }
|
|
863
|
-
|
|
851
|
+
/* Counts must not flex-shrink below their text and padding in narrow rows. */
|
|
852
|
+
.hjm-counter-badge { flex-shrink: 0; display: inline-grid; place-items: center; min-inline-size: 20px; block-size: 20px; padding-inline: var(--hjm-space-xs); border-radius: var(--hjm-radius-full); color: var(--hjm-color-bg); background: var(--hjm-color-text); font-size: var(--hjm-type-caption-size); line-height: 1; font-weight: var(--hjm-font-weight-bold); font-variant-numeric: tabular-nums; }
|
|
864
853
|
.hjm-counter-badge[data-size="small"] { min-inline-size: 16px; block-size: 16px; padding-inline: var(--hjm-space-xxs); }
|
|
865
854
|
.hjm-counter-badge[data-tone="brand"] { color: var(--hjm-color-on-primary); background: var(--hjm-color-primary); }
|
|
866
855
|
.hjm-counter-badge[data-tone="danger"] { color: var(--hjm-color-on-danger); background: var(--hjm-color-danger-fill); }
|
|
@@ -887,7 +876,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
887
876
|
.hjm-list-row[data-density="relaxed"][data-lines="two"] { min-block-size: var(--hjm-list-row-relaxed-two-line); }
|
|
888
877
|
.hjm-list-row[data-density="spacious"] { min-block-size: var(--hjm-list-row-spacious-one-line); padding-inline: var(--hjm-list-row-spacious-padding-inline); padding-block: var(--hjm-list-row-spacious-padding-block); }
|
|
889
878
|
.hjm-list-row[data-density="spacious"][data-lines="two"] { min-block-size: var(--hjm-list-row-spacious-two-line); }
|
|
890
|
-
.hjm-list-row[data-state="selected"] { background: var(--hjm-color-
|
|
879
|
+
.hjm-list-row[data-state="selected"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
891
880
|
.hjm-list-row[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
|
|
892
881
|
.hjm-list-row__leading, .hjm-list-row__trailing { flex: 0 0 auto; }
|
|
893
882
|
/* `leadingSize` was declared by the recipe but unbound, so consumers rebuilt
|
|
@@ -909,16 +898,16 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
909
898
|
.hjm-section__header { align-items: stretch; flex-direction: column; }
|
|
910
899
|
}
|
|
911
900
|
|
|
912
|
-
.hjm-chip { min-block-size: var(--hjm-control-min-touch-target); display: inline-flex; align-items: center; gap: var(--hjm-space-xs); padding-inline: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: 999px; background: var(--hjm-color-
|
|
901
|
+
.hjm-chip { min-block-size: var(--hjm-control-min-touch-target); display: inline-flex; align-items: center; gap: var(--hjm-space-xs); padding-inline: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: 999px; background: var(--hjm-color-bg); color: var(--hjm-color-text-body); font: inherit; font-weight: var(--hjm-font-weight-medium); cursor: pointer; }
|
|
913
902
|
.hjm-chip[data-size="small"] { min-block-size: 36px; padding-inline: var(--hjm-space-xs); }
|
|
914
|
-
.hjm-chip[data-selected] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-
|
|
903
|
+
.hjm-chip[data-selected] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-bg); color: var(--hjm-color-content-brand); }
|
|
915
904
|
.hjm-chip:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
916
905
|
.hjm-chip:focus-visible { outline: var(--hjm-focus-width) solid var(--hjm-color-focus); outline-offset: var(--hjm-focus-offset); }
|
|
917
906
|
.hjm-chip__indicator, .hjm-chip__leading, .hjm-chip__trailing { display: inline-flex; flex: 0 0 auto; }
|
|
918
907
|
.hjm-chip__label { overflow-wrap: anywhere; }
|
|
919
908
|
|
|
920
909
|
.hjm-list { overflow: hidden; min-inline-size: 0; }
|
|
921
|
-
.hjm-list[data-appearance="grouped"] { border-radius: var(--hjm-radius-lg); background: var(--hjm-color-
|
|
910
|
+
.hjm-list[data-appearance="grouped"] { border-radius: var(--hjm-radius-lg); background: var(--hjm-color-bg); }
|
|
922
911
|
.hjm-list__item { min-inline-size: 0; }
|
|
923
912
|
.hjm-list[data-separator="full"] > .hjm-list__item + .hjm-list__item { border-block-start: 1px solid var(--hjm-color-border); }
|
|
924
913
|
/* Indent only the divider: moving the row shifted every title after the first
|
|
@@ -927,7 +916,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
927
916
|
.hjm-list[data-separator="indented"] > .hjm-list__item + .hjm-list__item::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: var(--hjm-space-xl) 0; border-block-start: 1px solid var(--hjm-color-border); pointer-events: none; }
|
|
928
917
|
|
|
929
918
|
.hjm-statistic { display: grid; gap: var(--hjm-space-xxs); min-inline-size: 0; color: var(--hjm-color-text-body); }
|
|
930
|
-
.hjm-statistic[data-presentation="surface"] { padding: var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
919
|
+
.hjm-statistic[data-presentation="surface"] { padding: var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); }
|
|
931
920
|
.hjm-statistic[data-density="compact"] { gap: 2px; }
|
|
932
921
|
.hjm-statistic__label { color: var(--hjm-color-text-muted); font-weight: var(--hjm-font-weight-medium); overflow-wrap: anywhere; }
|
|
933
922
|
.hjm-statistic__value-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--hjm-space-xxs); min-inline-size: 0; }
|
|
@@ -942,7 +931,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
942
931
|
.hjm-statistic-group { grid-template-columns: minmax(0, 1fr); }
|
|
943
932
|
}
|
|
944
933
|
|
|
945
|
-
.hjm-notice { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--hjm-space-sm); padding: var(--hjm-space-md); border: 1px solid; border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-
|
|
934
|
+
.hjm-notice { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--hjm-space-sm); padding: var(--hjm-space-md); border: 1px solid; border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-bg); border-color: var(--hjm-color-border); }
|
|
946
935
|
.hjm-notice[data-tone="info"] { border-color: var(--hjm-accent-info); }
|
|
947
936
|
.hjm-notice[data-tone="success"] { border-color: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 10%, var(--hjm-color-bg)); }
|
|
948
937
|
.hjm-notice[data-tone="warning"] { border-color: var(--hjm-accent-warning); background: color-mix(in srgb, var(--hjm-accent-warning) 10%, var(--hjm-color-bg)); }
|
|
@@ -963,7 +952,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
963
952
|
.hjm-result[data-status="success"] .hjm-result__icon:empty::before { content: "✓"; }
|
|
964
953
|
.hjm-result[data-status="failure"] .hjm-result__icon { color: var(--hjm-color-danger); background: color-mix(in srgb, var(--hjm-color-danger) 12%, transparent); }
|
|
965
954
|
.hjm-result[data-status="failure"] .hjm-result__icon:empty::before { content: "!"; }
|
|
966
|
-
.hjm-result[data-status="info"] .hjm-result__icon { color: var(--hjm-accent-info); background:
|
|
955
|
+
.hjm-result[data-status="info"] .hjm-result__icon { color: var(--hjm-accent-info); background: var(--hjm-color-bg); }
|
|
967
956
|
.hjm-result__title { margin: 0; color: var(--hjm-color-text); font-size: var(--hjm-type-title-large-size); line-height: var(--hjm-type-title-large-line-height); overflow-wrap: anywhere; }
|
|
968
957
|
.hjm-result__description { max-inline-size: 40rem; margin: 0; color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
|
|
969
958
|
.hjm-result__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--hjm-space-sm); margin-block-start: var(--hjm-space-xs); }
|
|
@@ -1037,7 +1026,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1037
1026
|
.hjm-spinner[data-size="small"] { font-size: 14px; }
|
|
1038
1027
|
.hjm-spinner[data-size="medium"] { font-size: 20px; }
|
|
1039
1028
|
.hjm-spinner[data-size="large"] { font-size: 28px; }
|
|
1040
|
-
.hjm-skeleton { display: block; inline-size: 100%; min-block-size: var(--hjm-space-xxl); border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
1029
|
+
.hjm-skeleton { border: 1px solid var(--hjm-color-border); display: block; inline-size: 100%; min-block-size: var(--hjm-space-xxl); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); }
|
|
1041
1030
|
.hjm-skeleton[data-shape="text"] { min-block-size: var(--hjm-space-md); border-radius: var(--hjm-radius-sm); }
|
|
1042
1031
|
.hjm-skeleton[data-shape="circle"] { inline-size: var(--hjm-skeleton-circle-size); block-size: var(--hjm-skeleton-circle-size); border-radius: var(--hjm-radius-full); }
|
|
1043
1032
|
.hjm-skeleton[data-animated="true"] { animation: hjm-pulse var(--hjm-skeleton-duration) var(--hjm-skeleton-easing) infinite alternate; }
|
|
@@ -1057,7 +1046,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1057
1046
|
overflow: hidden;
|
|
1058
1047
|
border: 1px solid var(--hjm-color-border);
|
|
1059
1048
|
border-radius: var(--hjm-radius-lg);
|
|
1060
|
-
background: var(--hjm-color-
|
|
1049
|
+
background: var(--hjm-color-bg);
|
|
1061
1050
|
box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
|
|
1062
1051
|
}
|
|
1063
1052
|
.hjm-command-palette__search {
|
|
@@ -1081,7 +1070,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1081
1070
|
padding-inline: var(--hjm-space-sm);
|
|
1082
1071
|
border-radius: var(--hjm-radius-sm);
|
|
1083
1072
|
}
|
|
1084
|
-
.hjm-command-palette__item[aria-selected="true"] { background: var(--hjm-color-
|
|
1073
|
+
.hjm-command-palette__item[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1085
1074
|
.hjm-command-palette__item[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1086
1075
|
.hjm-command-palette__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
1087
1076
|
.hjm-command-palette__copy { display: flex; min-inline-size: 0; flex: 1 1 auto; flex-wrap: wrap; align-items: baseline; gap: var(--hjm-space-xs); overflow-wrap: anywhere; }
|
|
@@ -1161,7 +1150,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1161
1150
|
border-radius: var(--hjm-radius-sm);
|
|
1162
1151
|
overflow-wrap: anywhere;
|
|
1163
1152
|
}
|
|
1164
|
-
.hjm-mentions__option[aria-selected="true"] { background: var(--hjm-color-
|
|
1153
|
+
.hjm-mentions__option[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1165
1154
|
.hjm-mentions__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
1166
1155
|
.hjm-mentions__empty { margin: 0; padding: var(--hjm-space-xs); color: var(--hjm-color-text-muted); }
|
|
1167
1156
|
|
|
@@ -1218,7 +1207,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1218
1207
|
border-radius: var(--hjm-radius-sm);
|
|
1219
1208
|
overflow-wrap: anywhere;
|
|
1220
1209
|
}
|
|
1221
|
-
|
|
1210
|
+
/* The label is a flex item; reset its intrinsic min-width so long localized values wrap inside a narrow panel. */
|
|
1211
|
+
.hjm-transfer-list__option > span:last-child { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
1212
|
+
/* Panel headings and empty-state copy share the same narrow column as rows. */
|
|
1213
|
+
.hjm-transfer-list__title,
|
|
1214
|
+
.hjm-transfer-list__empty { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
1215
|
+
.hjm-transfer-list__option[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1222
1216
|
.hjm-transfer-list__option[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1223
1217
|
.hjm-transfer-list__option:focus-visible,
|
|
1224
1218
|
.hjm-transfer-list__empty:focus-visible,
|
|
@@ -1227,12 +1221,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1227
1221
|
.hjm-transfer-list__actions { display: flex; flex-direction: column; gap: var(--hjm-space-xs); padding-block-start: var(--hjm-space-xl); }
|
|
1228
1222
|
|
|
1229
1223
|
/* AuthProviderButton ------------------------------------------------------ */
|
|
1230
|
-
/*
|
|
1231
|
-
|
|
1232
|
-
never from the theme: recoloring them would fail provider review. HJM keeps
|
|
1233
|
-
the height, radius, target and focus ring so a stack of providers lines up,
|
|
1234
|
-
and the ring is drawn outside the fill so it survives every brand color.
|
|
1235
|
-
*/
|
|
1224
|
+
/* Provider guideline colors cannot follow the theme without failing provider review.
|
|
1225
|
+
HJM owns geometry and an outer focus ring that remains visible on every brand fill. */
|
|
1236
1226
|
.hjm-auth-provider-button {
|
|
1237
1227
|
display: flex;
|
|
1238
1228
|
align-items: center;
|
|
@@ -1284,10 +1274,14 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1284
1274
|
selection semantics underneath. The hovered preview uses the same states, so
|
|
1285
1275
|
there is one set of rules rather than a committed and a provisional set.
|
|
1286
1276
|
*/
|
|
1277
|
+
/* Each hit/hover layer belongs to its own day. Without this containing block
|
|
1278
|
+
the last absolute layer covered the whole preview and stole pointer clicks. */
|
|
1279
|
+
.hjm-date-range .hjm-calendar__day { position: relative; isolation: isolate; }
|
|
1280
|
+
.hjm-date-range .hjm-calendar__day-label { position: relative; z-index: 1; pointer-events: none; }
|
|
1287
1281
|
.hjm-date-range__cell { position: absolute; inset: 0; border-radius: var(--hjm-radius-sm); pointer-events: auto; }
|
|
1288
|
-
.hjm-date-range__cell[data-range="between"] {
|
|
1282
|
+
.hjm-date-range__cell[data-range="between"] { box-shadow: inset 0 -2px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
1289
1283
|
.hjm-date-range__cell[data-range="start"],
|
|
1290
|
-
.hjm-date-range__cell[data-range="end"] { background: var(--hjm-color-
|
|
1284
|
+
.hjm-date-range__cell[data-range="end"] { background: var(--hjm-color-bg); outline: 2px solid var(--hjm-color-focus); }
|
|
1291
1285
|
.hjm-date-range__cell[data-range="none"] { background: transparent; }
|
|
1292
1286
|
|
|
1293
1287
|
/* AvatarGroup: overlap comes from the recipe ratio, not a per-size pixel value. */
|
|
@@ -1302,7 +1296,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1302
1296
|
padding-inline: var(--hjm-space-xxs);
|
|
1303
1297
|
border: 2px solid var(--hjm-color-bg);
|
|
1304
1298
|
border-radius: var(--hjm-radius-full);
|
|
1305
|
-
background: var(--hjm-color-
|
|
1299
|
+
background: var(--hjm-color-bg);
|
|
1306
1300
|
color: var(--hjm-color-text-muted);
|
|
1307
1301
|
font-size: var(--hjm-type-label-size);
|
|
1308
1302
|
}
|
|
@@ -1322,7 +1316,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1322
1316
|
.hjm-text-format[data-kind="code"] {
|
|
1323
1317
|
padding-inline: var(--hjm-space-xxs);
|
|
1324
1318
|
border-radius: var(--hjm-radius-sm);
|
|
1325
|
-
background: var(--hjm-color-
|
|
1319
|
+
background: var(--hjm-color-bg);
|
|
1326
1320
|
font-family: var(--hjm-font-family-code, ui-monospace, SFMono-Regular, Consolas, monospace);
|
|
1327
1321
|
}
|
|
1328
1322
|
.hjm-text-format[data-kind="kbd"] {
|
|
@@ -1347,6 +1341,9 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1347
1341
|
position: absolute;
|
|
1348
1342
|
inset-block-start: var(--hjm-skip-nav-offset);
|
|
1349
1343
|
inset-inline-start: var(--hjm-skip-nav-offset);
|
|
1344
|
+
/* A localized skip label can be longer than a narrow viewport; keep the focused link on-screen. */
|
|
1345
|
+
box-sizing: border-box;
|
|
1346
|
+
max-inline-size: calc(100vw - var(--hjm-skip-nav-offset) * 2);
|
|
1350
1347
|
z-index: 1300;
|
|
1351
1348
|
display: inline-flex;
|
|
1352
1349
|
align-items: center;
|
|
@@ -1356,6 +1353,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1356
1353
|
background: var(--hjm-color-primary);
|
|
1357
1354
|
color: var(--hjm-color-on-primary);
|
|
1358
1355
|
text-decoration: none;
|
|
1356
|
+
overflow-wrap: anywhere;
|
|
1359
1357
|
transform: translateY(calc(-100% - var(--hjm-skip-nav-offset) * 2));
|
|
1360
1358
|
}
|
|
1361
1359
|
.hjm-skip-nav:focus-visible,
|
|
@@ -1429,7 +1427,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1429
1427
|
min-block-size: 100%;
|
|
1430
1428
|
padding: var(--hjm-space-sm) var(--hjm-space-xs);
|
|
1431
1429
|
border-inline-end: 1px solid var(--hjm-color-border);
|
|
1432
|
-
background: var(--hjm-color-
|
|
1430
|
+
background: var(--hjm-color-bg);
|
|
1433
1431
|
overflow: auto;
|
|
1434
1432
|
}
|
|
1435
1433
|
.hjm-sidebar__toggle {
|
|
@@ -1450,6 +1448,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1450
1448
|
color: var(--hjm-color-text-muted);
|
|
1451
1449
|
font-size: var(--hjm-type-label-size);
|
|
1452
1450
|
font-weight: var(--hjm-type-label-weight);
|
|
1451
|
+
/* The rail has a fixed width; wrap long localized headings so their meaning stays visible instead of clipping or widening the shell. */
|
|
1452
|
+
overflow-wrap: anywhere;
|
|
1453
1453
|
}
|
|
1454
1454
|
.hjm-sidebar__list { display: flex; flex-direction: column; gap: var(--hjm-sidebar-gap); margin: 0; padding: 0; list-style: none; }
|
|
1455
1455
|
.hjm-sidebar__item {
|
|
@@ -1464,10 +1464,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1464
1464
|
overflow-wrap: anywhere;
|
|
1465
1465
|
}
|
|
1466
1466
|
.hjm-sidebar__item[aria-current="page"] {
|
|
1467
|
-
background: var(--hjm-color-
|
|
1467
|
+
background: var(--hjm-color-bg);
|
|
1468
1468
|
color: var(--hjm-color-content-brand);
|
|
1469
1469
|
font-weight: var(--hjm-font-weight-semibold);
|
|
1470
|
-
}
|
|
1470
|
+
box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1471
1471
|
.hjm-sidebar__item[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1472
1472
|
.hjm-sidebar__item:focus-visible,
|
|
1473
1473
|
.hjm-sidebar__toggle:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
@@ -1491,7 +1491,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1491
1491
|
padding-inline: var(--hjm-toggle-padding);
|
|
1492
1492
|
border: 1px solid var(--hjm-color-border-control);
|
|
1493
1493
|
border-radius: var(--hjm-toggle-radius);
|
|
1494
|
-
background: var(--hjm-color-
|
|
1494
|
+
background: var(--hjm-color-bg);
|
|
1495
1495
|
color: var(--hjm-color-text-body);
|
|
1496
1496
|
font: inherit;
|
|
1497
1497
|
cursor: pointer;
|
|
@@ -1499,7 +1499,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1499
1499
|
/* The pressed state is announced by aria-pressed; color only reinforces it. */
|
|
1500
1500
|
.hjm-toggle-group__item[aria-pressed="true"] {
|
|
1501
1501
|
border-color: var(--hjm-color-focus);
|
|
1502
|
-
background: var(--hjm-color-
|
|
1502
|
+
background: var(--hjm-color-bg);
|
|
1503
1503
|
color: var(--hjm-color-content-brand);
|
|
1504
1504
|
font-weight: var(--hjm-font-weight-semibold);
|
|
1505
1505
|
}
|
|
@@ -1530,7 +1530,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1530
1530
|
min-block-size: var(--hjm-tags-tag-min-height);
|
|
1531
1531
|
padding-inline: var(--hjm-space-xs);
|
|
1532
1532
|
border-radius: var(--hjm-radius-full);
|
|
1533
|
-
background: var(--hjm-color-
|
|
1533
|
+
background: var(--hjm-color-bg);
|
|
1534
1534
|
color: var(--hjm-color-text-body);
|
|
1535
1535
|
overflow-wrap: anywhere;
|
|
1536
1536
|
}
|
|
@@ -1555,7 +1555,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1555
1555
|
min-inline-size: var(--hjm-tags-remove-target);
|
|
1556
1556
|
min-block-size: var(--hjm-tags-remove-target);
|
|
1557
1557
|
}
|
|
1558
|
-
.hjm-tags-input__tag { position: relative; }
|
|
1558
|
+
.hjm-tags-input__tag { position: relative; border: 1px solid var(--hjm-color-border-control); }
|
|
1559
1559
|
.hjm-tags-input__input {
|
|
1560
1560
|
flex: 1 1 8ch;
|
|
1561
1561
|
min-inline-size: 8ch;
|
|
@@ -1586,7 +1586,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1586
1586
|
cursor: pointer;
|
|
1587
1587
|
overflow-wrap: anywhere;
|
|
1588
1588
|
}
|
|
1589
|
-
.hjm-tags-input__suggestion[aria-selected="true"] {
|
|
1589
|
+
.hjm-tags-input__suggestion[aria-selected="true"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
1590
1590
|
.hjm-tags-input__suggestion[aria-disabled="true"] { color: var(--hjm-color-text-weak); cursor: default; }
|
|
1591
1591
|
.hjm-tags-input__description { margin: 0; color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
1592
1592
|
.hjm-tags-input[data-disabled] .hjm-tags-input__frame { opacity: 0.6; cursor: default; }
|
|
@@ -1666,7 +1666,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1666
1666
|
gap: var(--hjm-space-sm);
|
|
1667
1667
|
padding: var(--hjm-space-sm) var(--hjm-space-md);
|
|
1668
1668
|
border-radius: var(--hjm-radius-md);
|
|
1669
|
-
background: var(--hjm-color-
|
|
1669
|
+
background: var(--hjm-color-bg);
|
|
1670
1670
|
font-size: var(--hjm-type-body-large-size);
|
|
1671
1671
|
line-height: var(--hjm-type-body-large-line-height);
|
|
1672
1672
|
}
|
|
@@ -1718,12 +1718,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1718
1718
|
.hjm-agreement__detail:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
1719
1719
|
|
|
1720
1720
|
/* Tree -------------------------------------------------------------------- */
|
|
1721
|
-
/*
|
|
1722
|
-
|
|
1723
|
-
roving tab stop and the contract's visible-node navigation both operate on one
|
|
1724
|
-
resolved array, and WAI-ARIA accepts either shape. Indentation is presentation
|
|
1725
|
-
only — depth is announced, never inferred from the padding.
|
|
1726
|
-
*/
|
|
1721
|
+
/* Flat aria-level treeitems match the contract's visible-node array and roving focus.
|
|
1722
|
+
WAI-ARIA permits this shape; depth is announced rather than inferred from indentation. */
|
|
1727
1723
|
.hjm-tree { display: flex; flex-direction: column; }
|
|
1728
1724
|
.hjm-tree__node {
|
|
1729
1725
|
display: flex;
|
|
@@ -1736,7 +1732,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1736
1732
|
color: var(--hjm-color-text);
|
|
1737
1733
|
cursor: default;
|
|
1738
1734
|
}
|
|
1739
|
-
.hjm-tree__node[aria-selected="true"] { background: var(--hjm-color-
|
|
1735
|
+
.hjm-tree__node[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1740
1736
|
.hjm-tree__node[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1741
1737
|
.hjm-tree__node:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
1742
1738
|
.hjm-tree__indent { flex: 0 0 auto; inline-size: calc(var(--hjm-tree-depth) * var(--hjm-tree-indent)); }
|
|
@@ -1810,7 +1806,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1810
1806
|
align-items: center;
|
|
1811
1807
|
justify-content: center;
|
|
1812
1808
|
padding: var(--hjm-space-md);
|
|
1813
|
-
background:
|
|
1809
|
+
background: var(--hjm-backdrop-modal);
|
|
1814
1810
|
overscroll-behavior: contain;
|
|
1815
1811
|
}
|
|
1816
1812
|
.hjm-dialog,
|
|
@@ -1859,6 +1855,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1859
1855
|
overflow-wrap: anywhere;
|
|
1860
1856
|
}
|
|
1861
1857
|
.hjm-dialog > .hjm-dialog__description { padding-inline: var(--hjm-space-lg); }
|
|
1858
|
+
/* Consumer-authored identifiers can be unbroken; keep modal body text inside the narrow viewport. */
|
|
1859
|
+
.hjm-dialog__body { overflow-wrap: anywhere; }
|
|
1862
1860
|
.hjm-dialog__body,
|
|
1863
1861
|
.hjm-sheet__body { padding: var(--hjm-space-lg); }
|
|
1864
1862
|
.hjm-dialog__footer,
|
|
@@ -1977,12 +1975,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1977
1975
|
.hjm-sheet[data-placement="end"] {
|
|
1978
1976
|
block-size: calc(100dvh - (2 * var(--hjm-space-md)));
|
|
1979
1977
|
}
|
|
1980
|
-
/*
|
|
1981
|
-
|
|
1982
|
-
Dialog/Sheet cards keep (sidePanelRecipe.content.radius is null) and spans the
|
|
1983
|
-
full block size. The non-modal panel has no backdrop element at all — the page
|
|
1984
|
-
behind it stays interactive — so it positions itself instead of a positioner.
|
|
1985
|
-
*/
|
|
1978
|
+
/* sidePanelRecipe.content.radius=null: dock at a logical edge with full block height.
|
|
1979
|
+
Non-modal panels position themselves; no backdrop may block the interactive page. */
|
|
1986
1980
|
.hjm-side-panel-positioner { padding: 0; }
|
|
1987
1981
|
.hjm-side-panel-positioner[data-edge="start"] { justify-content: flex-start; }
|
|
1988
1982
|
.hjm-side-panel-positioner[data-edge="end"] { justify-content: flex-end; }
|
|
@@ -1996,7 +1990,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1996
1990
|
border: 1px solid var(--hjm-color-border);
|
|
1997
1991
|
border-radius: 0;
|
|
1998
1992
|
color: var(--hjm-color-text);
|
|
1999
|
-
background: var(--hjm-color-
|
|
1993
|
+
background: var(--hjm-color-bg);
|
|
2000
1994
|
box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
|
|
2001
1995
|
}
|
|
2002
1996
|
.hjm-side-panel[data-modal="false"] {
|
|
@@ -2048,13 +2042,9 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2048
2042
|
padding: var(--hjm-space-sm) var(--hjm-space-lg)
|
|
2049
2043
|
max(var(--hjm-space-sm), env(safe-area-inset-bottom, 0px));
|
|
2050
2044
|
}
|
|
2051
|
-
/*
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
popup helper owns the card's coordinates. The highlight is a ring drawn at the
|
|
2055
|
-
measured anchor box — decoration only, so it is hidden from assistive tech.
|
|
2056
|
-
*/
|
|
2057
|
-
.hjm-tour-backdrop { position: fixed; inset: 0; background: rgb(0 0 0 / 58%); pointer-events: auto; }
|
|
2045
|
+
/* Separate portals let Tour's veil cover the page while the shared popup helper anchors
|
|
2046
|
+
its card. The measured highlight ring is decorative and hidden from assistive tech. */
|
|
2047
|
+
.hjm-tour-backdrop { position: fixed; inset: 0; background: var(--hjm-backdrop-modal); pointer-events: auto; }
|
|
2058
2048
|
.hjm-tour-highlight {
|
|
2059
2049
|
position: fixed;
|
|
2060
2050
|
border-radius: var(--hjm-radius-md);
|
|
@@ -2065,12 +2055,15 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2065
2055
|
display: flex;
|
|
2066
2056
|
flex-direction: column;
|
|
2067
2057
|
gap: var(--hjm-space-sm);
|
|
2058
|
+
/* The anchored popup is viewport-height bounded; scrolling keeps long translations and actions usable without truncating copy or detaching controls. */
|
|
2059
|
+
overflow-y: auto;
|
|
2060
|
+
overscroll-behavior: contain;
|
|
2068
2061
|
box-sizing: border-box;
|
|
2069
2062
|
padding: var(--hjm-space-md);
|
|
2070
2063
|
border: 1px solid var(--hjm-color-border);
|
|
2071
2064
|
border-radius: var(--hjm-radius-md);
|
|
2072
2065
|
color: var(--hjm-color-text);
|
|
2073
|
-
background: var(--hjm-color-
|
|
2066
|
+
background: var(--hjm-color-bg);
|
|
2074
2067
|
box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
|
|
2075
2068
|
pointer-events: auto;
|
|
2076
2069
|
}
|
|
@@ -2106,7 +2099,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2106
2099
|
padding: var(--hjm-space-xxs);
|
|
2107
2100
|
border: 1px solid var(--hjm-color-border);
|
|
2108
2101
|
border-radius: var(--hjm-radius-md);
|
|
2109
|
-
background: var(--hjm-color-
|
|
2102
|
+
background: var(--hjm-color-bg);
|
|
2110
2103
|
box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
|
|
2111
2104
|
}
|
|
2112
2105
|
.hjm-menu__item {
|
|
@@ -2126,7 +2119,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2126
2119
|
}
|
|
2127
2120
|
.hjm-menu__content[data-density="comfortable"] .hjm-menu__item { min-block-size: 3.5rem; }
|
|
2128
2121
|
.hjm-menu__item:hover,
|
|
2129
|
-
.hjm-menu__item[data-focus="true"] { background: var(--hjm-color-
|
|
2122
|
+
.hjm-menu__item[data-focus="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2130
2123
|
.hjm-menu__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2131
2124
|
.hjm-menu__item[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-semibold); }
|
|
2132
2125
|
.hjm-menu__item:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
@@ -2151,13 +2144,13 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2151
2144
|
.hjm-select__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); pointer-events: none; }
|
|
2152
2145
|
.hjm-select__busy-indicator { flex: 0 0 auto; inline-size: 1em; block-size: 1em; border: 2px solid var(--hjm-color-content-brand); border-inline-end-color: transparent; border-radius: 50%; animation: hjm-spin 800ms linear infinite; }
|
|
2153
2146
|
.hjm-select__native + .hjm-select__indicator { margin-inline-start: calc(-1 * var(--hjm-space-lg)); }
|
|
2154
|
-
.hjm-select__listbox { position: fixed; z-index: 800; max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); max-block-size: 22.5rem; overflow: auto; padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
2147
|
+
.hjm-select__listbox { position: fixed; z-index: 800; max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); max-block-size: 22.5rem; overflow: auto; padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
|
|
2155
2148
|
.hjm-select__section-label { padding: var(--hjm-space-xs) var(--hjm-space-sm); color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-semibold); }
|
|
2156
2149
|
.hjm-select__option, .hjm-select__message { min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: var(--hjm-radius-sm); overflow-wrap: anywhere; }
|
|
2157
2150
|
.hjm-select[data-density="comfortable"] .hjm-select__option,
|
|
2158
2151
|
.hjm-select__listbox[data-density="comfortable"] .hjm-select__option { min-block-size: 3.5rem; }
|
|
2159
2152
|
.hjm-select__option { cursor: pointer; }
|
|
2160
|
-
.hjm-select__option[data-active="true"] {
|
|
2153
|
+
.hjm-select__option[data-active="true"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
2161
2154
|
.hjm-select__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
|
|
2162
2155
|
.hjm-select__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
|
|
2163
2156
|
.hjm-select__option-copy { min-inline-size: 0; flex: 1 1 auto; display: grid; gap: var(--hjm-space-xxs); }
|
|
@@ -2183,7 +2176,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2183
2176
|
padding: var(--hjm-space-xxs);
|
|
2184
2177
|
border: 1px solid var(--hjm-color-border);
|
|
2185
2178
|
border-radius: var(--hjm-radius-md);
|
|
2186
|
-
background: var(--hjm-color-
|
|
2179
|
+
background: var(--hjm-color-bg);
|
|
2187
2180
|
box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
|
|
2188
2181
|
}
|
|
2189
2182
|
.hjm-combobox__option,
|
|
@@ -2198,7 +2191,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2198
2191
|
.hjm-combobox[data-density="comfortable"] .hjm-combobox__option,
|
|
2199
2192
|
.hjm-combobox__listbox[data-density="comfortable"] .hjm-combobox__option { min-block-size: 3.5rem; }
|
|
2200
2193
|
.hjm-combobox__option { cursor: pointer; }
|
|
2201
|
-
.hjm-combobox__option[data-state="active"] {
|
|
2194
|
+
.hjm-combobox__option[data-state="active"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
2202
2195
|
.hjm-combobox__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
|
|
2203
2196
|
.hjm-combobox__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
|
|
2204
2197
|
.hjm-combobox__message { color: var(--hjm-color-text-muted); }
|
|
@@ -2242,7 +2235,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2242
2235
|
cursor: pointer;
|
|
2243
2236
|
}
|
|
2244
2237
|
.hjm-accordion[data-density="compact"] .hjm-accordion__trigger { min-block-size: var(--hjm-control-min-touch-target); padding-block: var(--hjm-space-xs); }
|
|
2245
|
-
.hjm-accordion__trigger:hover { background: var(--hjm-color-
|
|
2238
|
+
.hjm-accordion__trigger:hover { background: var(--hjm-color-bg); }
|
|
2246
2239
|
.hjm-accordion__trigger:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2247
2240
|
.hjm-accordion__title { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
2248
2241
|
.hjm-accordion__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); }
|
|
@@ -2256,7 +2249,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2256
2249
|
border: 1px solid var(--hjm-color-border);
|
|
2257
2250
|
border-radius: 50%;
|
|
2258
2251
|
color: var(--hjm-color-text-muted);
|
|
2259
|
-
background: var(--hjm-color-
|
|
2252
|
+
background: var(--hjm-color-bg);
|
|
2260
2253
|
font-weight: var(--hjm-font-weight-bold);
|
|
2261
2254
|
}
|
|
2262
2255
|
.hjm-avatar[data-size="small"] { inline-size: 2rem; block-size: 2rem; font-size: var(--hjm-type-label-size); }
|
|
@@ -2279,10 +2272,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2279
2272
|
.hjm-table__caption { padding: var(--hjm-space-sm); color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-bold); text-align: start; }
|
|
2280
2273
|
.hjm-table__header,
|
|
2281
2274
|
.hjm-table__cell { padding: var(--hjm-space-sm); border-block-end: 1px solid var(--hjm-color-border); text-align: start; vertical-align: top; overflow-wrap: anywhere; }
|
|
2282
|
-
.hjm-table__header { color: var(--hjm-color-text); background: var(--hjm-color-
|
|
2275
|
+
.hjm-table__header { color: var(--hjm-color-text); background: var(--hjm-color-bg); }
|
|
2283
2276
|
.hjm-table__header[data-align="center"], .hjm-table__cell[data-align="center"] { text-align: center; }
|
|
2284
2277
|
.hjm-table__header[data-align="end"], .hjm-table__cell[data-align="end"] { text-align: end; }
|
|
2285
|
-
.hjm-table__row:hover { background: var(--hjm-color-
|
|
2278
|
+
.hjm-table__row:hover { background: var(--hjm-color-bg); }
|
|
2286
2279
|
.hjm-table__sort { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); padding: var(--hjm-space-xxs); border: 0; color: inherit; background: transparent; font: inherit; font-weight: inherit; cursor: pointer; }
|
|
2287
2280
|
.hjm-table__empty { padding: var(--hjm-space-xl); color: var(--hjm-color-text-muted); text-align: center; }
|
|
2288
2281
|
|
|
@@ -2307,7 +2300,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2307
2300
|
border-radius: var(--hjm-radius-md);
|
|
2308
2301
|
}
|
|
2309
2302
|
.hjm-pagination__item { color: var(--hjm-color-text-body); background: transparent; font: inherit; cursor: pointer; }
|
|
2310
|
-
.hjm-pagination__item:hover:not([aria-disabled="true"]) { background: var(--hjm-color-
|
|
2303
|
+
.hjm-pagination__item:hover:not([aria-disabled="true"]) { background: var(--hjm-color-bg); }
|
|
2311
2304
|
.hjm-pagination__item[data-state="current"] { border-color: var(--hjm-color-content-brand); color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
|
|
2312
2305
|
.hjm-pagination__item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
2313
2306
|
.hjm-pagination__ellipsis { color: var(--hjm-color-text-muted); }
|
|
@@ -2324,10 +2317,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2324
2317
|
.hjm-steps { display: grid; grid-template-columns: repeat(var(--hjm-steps-count, auto-fit), minmax(0, 1fr)); gap: var(--hjm-space-xs); margin: 0; padding: 0; list-style: none; }
|
|
2325
2318
|
.hjm-steps__step { min-inline-size: 0; display: grid; gap: var(--hjm-space-xs); }
|
|
2326
2319
|
.hjm-steps__rail { display: flex; align-items: center; min-inline-size: 0; }
|
|
2327
|
-
.hjm-steps__indicator { flex: 0 0 auto; inline-size: 1.5rem; block-size: 1.5rem; display: grid; place-items: center; border: 1px solid var(--hjm-color-border); border-radius: 50%; color: var(--hjm-color-text-muted); background: var(--hjm-color-
|
|
2320
|
+
.hjm-steps__indicator { flex: 0 0 auto; inline-size: 1.5rem; block-size: 1.5rem; display: grid; place-items: center; border: 1px solid var(--hjm-color-border); border-radius: 50%; color: var(--hjm-color-text-muted); background: var(--hjm-color-bg); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-bold); }
|
|
2328
2321
|
.hjm-steps__connector { flex: 1 1 auto; block-size: 1px; background: var(--hjm-color-border); }
|
|
2329
2322
|
.hjm-steps__step[data-status="current"] .hjm-steps__indicator { border: 2px solid var(--hjm-color-content-brand); color: var(--hjm-color-content-brand); }
|
|
2330
|
-
.hjm-steps__step[data-status="complete"] .hjm-steps__indicator { border-color: var(--hjm-accent-success); color: var(--hjm-accent-success); background: var(--hjm-color-
|
|
2323
|
+
.hjm-steps__step[data-status="complete"] .hjm-steps__indicator { border-color: var(--hjm-accent-success); color: var(--hjm-accent-success); background: var(--hjm-color-bg); }
|
|
2331
2324
|
.hjm-steps__step[data-status="complete"] .hjm-steps__connector { background: var(--hjm-color-content-brand); }
|
|
2332
2325
|
.hjm-steps__step[data-status="error"] .hjm-steps__indicator { border: 2px solid var(--hjm-color-danger); color: var(--hjm-color-danger); background: var(--hjm-color-danger-fill); }
|
|
2333
2326
|
.hjm-steps__copy { min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); padding-inline-end: var(--hjm-space-sm); }
|
|
@@ -2338,8 +2331,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2338
2331
|
|
|
2339
2332
|
.hjm-file-picker { display: grid; gap: var(--hjm-space-xs); }
|
|
2340
2333
|
.hjm-file-picker__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); }
|
|
2341
|
-
.hjm-file-picker__dropzone { min-block-size: 8rem; display: grid; place-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xl); border: 1px dashed var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text-muted); background: var(--hjm-color-
|
|
2342
|
-
.hjm-file-picker[data-dragging] .hjm-file-picker__dropzone { border-color: var(--hjm-color-focus); background: var(--hjm-color-
|
|
2334
|
+
.hjm-file-picker__dropzone { min-block-size: 8rem; display: grid; place-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xl); border: 1px dashed var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text-muted); background: var(--hjm-color-bg); text-align: center; }
|
|
2335
|
+
.hjm-file-picker[data-dragging] .hjm-file-picker__dropzone { border-color: var(--hjm-color-focus); background: var(--hjm-color-bg); }
|
|
2343
2336
|
.hjm-file-picker__dropzone button { min-block-size: var(--hjm-control-min-touch-target); padding-inline: var(--hjm-space-md); border: 0; border-radius: var(--hjm-radius-md); color: var(--hjm-color-content-brand); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-bold); cursor: pointer; }
|
|
2344
2337
|
.hjm-file-picker__hint { color: var(--hjm-color-text-muted); }
|
|
2345
2338
|
.hjm-file-picker__error { color: var(--hjm-color-danger); }
|
|
@@ -2361,12 +2354,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2361
2354
|
.hjm-date-picker { display: grid; gap: var(--hjm-space-xs); }
|
|
2362
2355
|
.hjm-date-picker__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); }
|
|
2363
2356
|
.hjm-date-picker__anchor { position: relative; display: flex; align-items: center; }
|
|
2364
|
-
.hjm-date-picker__trigger { inline-size: 100%; min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; gap: var(--hjm-space-sm); padding-inline: var(--hjm-space-md) 3rem; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-
|
|
2357
|
+
.hjm-date-picker__trigger { inline-size: 100%; min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; gap: var(--hjm-space-sm); padding-inline: var(--hjm-space-md) 3rem; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-bg); font: inherit; text-align: start; cursor: pointer; }
|
|
2365
2358
|
.hjm-date-picker[data-size="large"] .hjm-date-picker__trigger { min-block-size: 3.5rem; padding-inline-start: var(--hjm-space-lg); }
|
|
2366
2359
|
.hjm-date-picker[data-invalid] .hjm-date-picker__trigger { border-color: var(--hjm-color-danger); }
|
|
2367
2360
|
.hjm-date-picker__trigger [data-placeholder] { color: var(--hjm-color-text-muted); }
|
|
2368
2361
|
.hjm-date-picker__clear { position: absolute; inset-inline-end: 0; inline-size: var(--hjm-control-min-touch-target); block-size: var(--hjm-control-min-touch-target); border: 0; color: var(--hjm-color-text-muted); background: transparent; font: inherit; cursor: pointer; }
|
|
2369
|
-
.hjm-date-picker__popover { position: absolute; z-index: 800; inset-block-start: calc(100% + var(--hjm-space-xs)); inset-inline-start: 0; inline-size: min(22.5rem, calc(100vw - 2rem)); padding: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text); background: var(--hjm-color-
|
|
2362
|
+
.hjm-date-picker__popover { position: absolute; z-index: 800; inset-block-start: calc(100% + var(--hjm-space-xs)); inset-inline-start: 0; inline-size: min(22.5rem, calc(100vw - 2rem)); padding: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text); background: var(--hjm-color-bg); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
|
|
2370
2363
|
.hjm-date-picker__description { color: var(--hjm-color-text-muted); }
|
|
2371
2364
|
.hjm-date-picker__error { color: var(--hjm-color-danger); }
|
|
2372
2365
|
|
|
@@ -2463,7 +2456,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2463
2456
|
.hjm-top-bar[data-large-text="true"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
|
|
2464
2457
|
.hjm-top-bar[data-large-text="true"] .hjm-top-bar__title { grid-column: 1 / -1; grid-row: 2; padding-block: var(--hjm-space-xs); text-align: start; }
|
|
2465
2458
|
.hjm-top-bar[data-large-text="true"] .hjm-top-bar__trailing { grid-column: 2; grid-row: 1; }
|
|
2466
|
-
.hjm-bottom-cta { display: grid; gap: var(--hjm-bottom-cta-gap); min-block-size: var(--hjm-bottom-cta-min-height); padding: var(--hjm-bottom-cta-padding-top) var(--hjm-bottom-cta-padding-inline) max(var(--hjm-bottom-cta-padding-bottom), env(safe-area-inset-bottom, 0px), var(--hjm-bottom-cta-safe-area)); border-block-start: 1px solid var(--hjm-color-border); background: var(--hjm-color-
|
|
2459
|
+
.hjm-bottom-cta { display: grid; gap: var(--hjm-bottom-cta-gap); min-block-size: var(--hjm-bottom-cta-min-height); padding: var(--hjm-bottom-cta-padding-top) var(--hjm-bottom-cta-padding-inline) max(var(--hjm-bottom-cta-padding-bottom), env(safe-area-inset-bottom, 0px), var(--hjm-bottom-cta-safe-area)); border-block-start: 1px solid var(--hjm-color-border); background: var(--hjm-color-bg); }
|
|
2467
2460
|
.hjm-bottom-cta[data-position="sticky"] { position: sticky; inset-block-end: 0; z-index: 1; }
|
|
2468
2461
|
.hjm-bottom-cta__description { margin: 0; font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
|
|
2469
2462
|
.hjm-bottom-cta__actions { display: flex; flex-wrap: wrap; gap: var(--hjm-bottom-cta-gap); }
|
|
@@ -2564,29 +2557,31 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2564
2557
|
/* Both surfaces reuse the menu's floating look; only the anchor differs. */
|
|
2565
2558
|
.hjm-context-menu-host { min-inline-size: 0; }
|
|
2566
2559
|
.hjm-context-menu-host:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
2567
|
-
.hjm-context-menu { position: fixed; max-inline-size: min(24rem, 90vw); max-block-size: calc(100dvh - (2 * var(--hjm-space-md))); overflow: auto; padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
2560
|
+
.hjm-context-menu { position: fixed; max-inline-size: min(24rem, 90vw); max-block-size: calc(100dvh - (2 * var(--hjm-space-md))); overflow: auto; padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
|
|
2568
2561
|
.hjm-context-menu__item { min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; justify-content: space-between; gap: var(--hjm-space-sm); padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: var(--hjm-radius-sm); color: var(--hjm-color-text-body); cursor: pointer; }
|
|
2569
|
-
|
|
2562
|
+
/* Wrap long labels so commands stay readable inside the viewport-bounded menu; truncation was rejected because it hides command meaning. */
|
|
2563
|
+
.hjm-context-menu__item > span { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
2564
|
+
.hjm-context-menu__item[data-active] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2570
2565
|
.hjm-context-menu__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2571
2566
|
.hjm-context-menu__item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
2572
|
-
.hjm-context-menu__shortcut { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
2567
|
+
.hjm-context-menu__shortcut { flex: 0 0 auto; white-space: nowrap; color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
2573
2568
|
|
|
2574
2569
|
.hjm-menubar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--hjm-menubar-gap); min-block-size: var(--hjm-menubar-min-height); padding-inline: var(--hjm-menubar-padding); }
|
|
2575
2570
|
.hjm-menubar__menu { position: relative; }
|
|
2576
2571
|
.hjm-menubar__label { min-block-size: var(--hjm-control-min-touch-target); padding-inline: var(--hjm-menubar-label-padding); border: 0; border-radius: var(--hjm-menubar-label-radius); background: transparent; color: var(--hjm-color-text-body); font: inherit; cursor: pointer; }
|
|
2577
|
-
.hjm-menubar__label[data-open] { background: var(--hjm-color-
|
|
2572
|
+
.hjm-menubar__label[data-open] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2578
2573
|
.hjm-menubar__label:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2579
2574
|
.hjm-menubar__label:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
2580
|
-
.hjm-menubar__panel { position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 900; min-inline-size: 13.75rem; max-inline-size: min(24rem, 90vw); padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-
|
|
2575
|
+
.hjm-menubar__panel { position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 900; min-inline-size: 13.75rem; max-inline-size: min(24rem, 90vw); padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
|
|
2581
2576
|
.hjm-menubar__item { min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; justify-content: space-between; gap: var(--hjm-space-sm); padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: var(--hjm-radius-sm); color: var(--hjm-color-text-body); cursor: pointer; }
|
|
2582
|
-
.hjm-menubar__item[data-active] { background: var(--hjm-color-
|
|
2577
|
+
.hjm-menubar__item[data-active] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2583
2578
|
.hjm-menubar__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2584
2579
|
.hjm-menubar__item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
2585
2580
|
.hjm-menubar__shortcut { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
2586
2581
|
|
|
2587
2582
|
/* Asset frame ------------------------------------------------------------ */
|
|
2588
2583
|
.hjm-asset { position: relative; display: inline-flex; flex: 0 0 auto; }
|
|
2589
|
-
.hjm-asset__frame { inline-size: var(--hjm-asset-size); block-size: var(--hjm-asset-size); display: grid; place-items: center; overflow: hidden; border: var(--hjm-stroke-default) solid var(--hjm-color-border); border-radius: var(--hjm-asset-radius); background: var(--hjm-color-
|
|
2584
|
+
.hjm-asset__frame { inline-size: var(--hjm-asset-size); block-size: var(--hjm-asset-size); display: grid; place-items: center; overflow: hidden; border: var(--hjm-stroke-default) solid var(--hjm-color-border); border-radius: var(--hjm-asset-radius); background: var(--hjm-color-bg); }
|
|
2590
2585
|
.hjm-asset__media { inline-size: 100%; block-size: 100%; display: grid; place-items: center; }
|
|
2591
2586
|
.hjm-asset__media > * { max-inline-size: 100%; max-block-size: 100%; }
|
|
2592
2587
|
/* The accessory hangs off the outer corner so it never covers the frame's middle. */
|
|
@@ -2594,4 +2589,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2594
2589
|
.hjm-asset-group { display: inline-flex; align-items: center; }
|
|
2595
2590
|
.hjm-asset-group > .hjm-asset + .hjm-asset { margin-inline-start: var(--hjm-asset-overlap); }
|
|
2596
2591
|
|
|
2592
|
+
/* Bloom owns geometry only; HJM owns target size, theme and keyboard focus. */
|
|
2593
|
+
.hjm-menu-morph { position: relative; z-index: 1; }
|
|
2594
|
+
.hjm-menu-morph [role="button"]:focus-visible, .hjm-menu-morph__item:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
2595
|
+
.hjm-menu-morph__item { display: flex; width: 100%; align-items: center; gap: var(--hjm-space-sm); min-height: var(--hjm-control-min-touch-target); padding: var(--hjm-space-sm); border: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; }
|
|
2596
|
+
.hjm-menu-morph__item:hover, .hjm-menu-morph__item:focus { background: var(--hjm-color-bg); }
|
|
2597
|
+
.hjm-menu-morph__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2598
|
+
.hjm-menu-morph__item:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2599
|
+
|
|
2597
2600
|
}
|