@hjmds/react 1.7.0 → 1.9.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 +21 -0
- package/THIRD_PARTY_NOTICES.md +57 -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/affix.d.ts +10 -0
- package/dist/affix.d.ts.map +1 -0
- package/dist/affix.js +51 -0
- package/dist/affix.js.map +1 -0
- package/dist/carousel-motion.d.ts +13 -0
- package/dist/carousel-motion.d.ts.map +1 -0
- package/dist/carousel-motion.js +35 -0
- package/dist/carousel-motion.js.map +1 -0
- package/dist/celebration.d.ts +8 -0
- package/dist/celebration.d.ts.map +1 -0
- package/dist/celebration.js +51 -0
- package/dist/celebration.js.map +1 -0
- package/dist/color-picker.d.ts +18 -0
- package/dist/color-picker.d.ts.map +1 -0
- package/dist/color-picker.js +40 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/content-transition.d.ts +18 -0
- package/dist/content-transition.d.ts.map +1 -0
- package/dist/content-transition.js +33 -0
- package/dist/content-transition.js.map +1 -0
- 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/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +39 -1
- package/dist/date-picker.js.map +1 -1
- package/dist/evidence.d.ts +106 -2
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +136 -64
- package/dist/evidence.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 +80 -0
- package/dist/menu-morph.js.map +1 -0
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.js +24 -15
- package/dist/menubar.js.map +1 -1
- package/dist/modal.d.ts +1 -0
- package/dist/modal.d.ts.map +1 -1
- package/dist/modal.js.map +1 -1
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +13 -1
- package/dist/navigation.js.map +1 -1
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +33 -2
- package/dist/overlays.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/sortable.d.ts +14 -0
- package/dist/sortable.d.ts.map +1 -0
- package/dist/sortable.js +87 -0
- package/dist/sortable.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 +166 -134
- package/dist/styles.layered.css +166 -134
- package/dist/swipe-actions.d.ts +13 -0
- package/dist/swipe-actions.d.ts.map +1 -0
- package/dist/swipe-actions.js +25 -0
- package/dist/swipe-actions.js.map +1 -0
- 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/tree.d.ts.map +1 -1
- package/dist/tree.js +14 -3
- package/dist/tree.js.map +1 -1
- 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/dist/watermark.d.ts +12 -0
- package/dist/watermark.d.ts.map +1 -0
- package/dist/watermark.js +10 -0
- package/dist/watermark.js.map +1 -0
- package/package.json +122 -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); }
|
|
@@ -339,7 +344,7 @@
|
|
|
339
344
|
.hjm-field__affix { display: inline-flex; align-items: center; color: var(--hjm-color-text-muted); }
|
|
340
345
|
.hjm-field__description, .hjm-choice__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
|
|
341
346
|
.hjm-field__error { color: var(--hjm-color-danger); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
|
|
342
|
-
.hjm-search-field__clear { inline-size:
|
|
347
|
+
.hjm-search-field__clear { inline-size: var(--hjm-control-min-touch-target); block-size: var(--hjm-control-min-touch-target); display: inline-grid; place-items: center; border: 0; border-radius: 50%; color: inherit; background: transparent; font: inherit; cursor: pointer; }
|
|
343
348
|
.hjm-search-field__spinner { inline-size: 32px; block-size: 32px; display: inline-grid; place-items: center; color: var(--hjm-color-content-brand); }
|
|
344
349
|
.hjm-search-field__spinner:empty::before { content: ""; inline-size: 1em; block-size: 1em; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: hjm-spin 800ms linear infinite; }
|
|
345
350
|
.hjm-password-field--large .hjm-field__control { min-block-size: var(--hjm-control-button-large); padding-inline: var(--hjm-space-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; }
|
|
@@ -1125,6 +1114,9 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1125
1114
|
color: var(--hjm-color-on-primary);
|
|
1126
1115
|
font-size: var(--hjm-type-label-size);
|
|
1127
1116
|
}
|
|
1117
|
+
/* 44px hit slop without growing the mark (2026-09-30 audit WR-0930-5/7) */
|
|
1118
|
+
.hjm-data-table__check, .hjm-data-table__sort, .hjm-transfer-list__select-all { position: relative; }
|
|
1119
|
+
.hjm-data-table__check::after, .hjm-data-table__sort::after, .hjm-transfer-list__select-all::after { content: ""; position: absolute; inset: calc(50% - var(--hjm-control-min-touch-target) / 2); }
|
|
1128
1120
|
.hjm-data-table__check[aria-checked="true"],
|
|
1129
1121
|
.hjm-data-table__check[aria-checked="mixed"] { border-color: var(--hjm-color-primary); background: var(--hjm-color-primary); }
|
|
1130
1122
|
.hjm-data-table__sort:focus-visible,
|
|
@@ -1161,7 +1153,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1161
1153
|
border-radius: var(--hjm-radius-sm);
|
|
1162
1154
|
overflow-wrap: anywhere;
|
|
1163
1155
|
}
|
|
1164
|
-
.hjm-mentions__option[aria-selected="true"] { background: var(--hjm-color-
|
|
1156
|
+
.hjm-mentions__option[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1165
1157
|
.hjm-mentions__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
1166
1158
|
.hjm-mentions__empty { margin: 0; padding: var(--hjm-space-xs); color: var(--hjm-color-text-muted); }
|
|
1167
1159
|
|
|
@@ -1218,7 +1210,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1218
1210
|
border-radius: var(--hjm-radius-sm);
|
|
1219
1211
|
overflow-wrap: anywhere;
|
|
1220
1212
|
}
|
|
1221
|
-
|
|
1213
|
+
/* The label is a flex item; reset its intrinsic min-width so long localized values wrap inside a narrow panel. */
|
|
1214
|
+
.hjm-transfer-list__option > span:last-child { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
1215
|
+
/* Panel headings and empty-state copy share the same narrow column as rows. */
|
|
1216
|
+
.hjm-transfer-list__title,
|
|
1217
|
+
.hjm-transfer-list__empty { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
1218
|
+
.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
1219
|
.hjm-transfer-list__option[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1223
1220
|
.hjm-transfer-list__option:focus-visible,
|
|
1224
1221
|
.hjm-transfer-list__empty:focus-visible,
|
|
@@ -1227,12 +1224,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1227
1224
|
.hjm-transfer-list__actions { display: flex; flex-direction: column; gap: var(--hjm-space-xs); padding-block-start: var(--hjm-space-xl); }
|
|
1228
1225
|
|
|
1229
1226
|
/* 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
|
-
*/
|
|
1227
|
+
/* Provider guideline colors cannot follow the theme without failing provider review.
|
|
1228
|
+
HJM owns geometry and an outer focus ring that remains visible on every brand fill. */
|
|
1236
1229
|
.hjm-auth-provider-button {
|
|
1237
1230
|
display: flex;
|
|
1238
1231
|
align-items: center;
|
|
@@ -1284,10 +1277,14 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1284
1277
|
selection semantics underneath. The hovered preview uses the same states, so
|
|
1285
1278
|
there is one set of rules rather than a committed and a provisional set.
|
|
1286
1279
|
*/
|
|
1280
|
+
/* Each hit/hover layer belongs to its own day. Without this containing block
|
|
1281
|
+
the last absolute layer covered the whole preview and stole pointer clicks. */
|
|
1282
|
+
.hjm-date-range .hjm-calendar__day { position: relative; isolation: isolate; }
|
|
1283
|
+
.hjm-date-range .hjm-calendar__day-label { position: relative; z-index: 1; pointer-events: none; }
|
|
1287
1284
|
.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"] {
|
|
1285
|
+
.hjm-date-range__cell[data-range="between"] { box-shadow: inset 0 -2px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
1289
1286
|
.hjm-date-range__cell[data-range="start"],
|
|
1290
|
-
.hjm-date-range__cell[data-range="end"] { background: var(--hjm-color-
|
|
1287
|
+
.hjm-date-range__cell[data-range="end"] { background: var(--hjm-color-bg); outline: 2px solid var(--hjm-color-focus); }
|
|
1291
1288
|
.hjm-date-range__cell[data-range="none"] { background: transparent; }
|
|
1292
1289
|
|
|
1293
1290
|
/* AvatarGroup: overlap comes from the recipe ratio, not a per-size pixel value. */
|
|
@@ -1302,7 +1299,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1302
1299
|
padding-inline: var(--hjm-space-xxs);
|
|
1303
1300
|
border: 2px solid var(--hjm-color-bg);
|
|
1304
1301
|
border-radius: var(--hjm-radius-full);
|
|
1305
|
-
background: var(--hjm-color-
|
|
1302
|
+
background: var(--hjm-color-bg);
|
|
1306
1303
|
color: var(--hjm-color-text-muted);
|
|
1307
1304
|
font-size: var(--hjm-type-label-size);
|
|
1308
1305
|
}
|
|
@@ -1322,7 +1319,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1322
1319
|
.hjm-text-format[data-kind="code"] {
|
|
1323
1320
|
padding-inline: var(--hjm-space-xxs);
|
|
1324
1321
|
border-radius: var(--hjm-radius-sm);
|
|
1325
|
-
background: var(--hjm-color-
|
|
1322
|
+
background: var(--hjm-color-bg);
|
|
1326
1323
|
font-family: var(--hjm-font-family-code, ui-monospace, SFMono-Regular, Consolas, monospace);
|
|
1327
1324
|
}
|
|
1328
1325
|
.hjm-text-format[data-kind="kbd"] {
|
|
@@ -1347,6 +1344,9 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1347
1344
|
position: absolute;
|
|
1348
1345
|
inset-block-start: var(--hjm-skip-nav-offset);
|
|
1349
1346
|
inset-inline-start: var(--hjm-skip-nav-offset);
|
|
1347
|
+
/* A localized skip label can be longer than a narrow viewport; keep the focused link on-screen. */
|
|
1348
|
+
box-sizing: border-box;
|
|
1349
|
+
max-inline-size: calc(100vw - var(--hjm-skip-nav-offset) * 2);
|
|
1350
1350
|
z-index: 1300;
|
|
1351
1351
|
display: inline-flex;
|
|
1352
1352
|
align-items: center;
|
|
@@ -1356,6 +1356,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1356
1356
|
background: var(--hjm-color-primary);
|
|
1357
1357
|
color: var(--hjm-color-on-primary);
|
|
1358
1358
|
text-decoration: none;
|
|
1359
|
+
overflow-wrap: anywhere;
|
|
1359
1360
|
transform: translateY(calc(-100% - var(--hjm-skip-nav-offset) * 2));
|
|
1360
1361
|
}
|
|
1361
1362
|
.hjm-skip-nav:focus-visible,
|
|
@@ -1429,7 +1430,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1429
1430
|
min-block-size: 100%;
|
|
1430
1431
|
padding: var(--hjm-space-sm) var(--hjm-space-xs);
|
|
1431
1432
|
border-inline-end: 1px solid var(--hjm-color-border);
|
|
1432
|
-
background: var(--hjm-color-
|
|
1433
|
+
background: var(--hjm-color-bg);
|
|
1433
1434
|
overflow: auto;
|
|
1434
1435
|
}
|
|
1435
1436
|
.hjm-sidebar__toggle {
|
|
@@ -1450,6 +1451,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1450
1451
|
color: var(--hjm-color-text-muted);
|
|
1451
1452
|
font-size: var(--hjm-type-label-size);
|
|
1452
1453
|
font-weight: var(--hjm-type-label-weight);
|
|
1454
|
+
/* The rail has a fixed width; wrap long localized headings so their meaning stays visible instead of clipping or widening the shell. */
|
|
1455
|
+
overflow-wrap: anywhere;
|
|
1453
1456
|
}
|
|
1454
1457
|
.hjm-sidebar__list { display: flex; flex-direction: column; gap: var(--hjm-sidebar-gap); margin: 0; padding: 0; list-style: none; }
|
|
1455
1458
|
.hjm-sidebar__item {
|
|
@@ -1464,10 +1467,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1464
1467
|
overflow-wrap: anywhere;
|
|
1465
1468
|
}
|
|
1466
1469
|
.hjm-sidebar__item[aria-current="page"] {
|
|
1467
|
-
background: var(--hjm-color-
|
|
1470
|
+
background: var(--hjm-color-bg);
|
|
1468
1471
|
color: var(--hjm-color-content-brand);
|
|
1469
1472
|
font-weight: var(--hjm-font-weight-semibold);
|
|
1470
|
-
}
|
|
1473
|
+
box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1471
1474
|
.hjm-sidebar__item[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1472
1475
|
.hjm-sidebar__item:focus-visible,
|
|
1473
1476
|
.hjm-sidebar__toggle:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
@@ -1491,7 +1494,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1491
1494
|
padding-inline: var(--hjm-toggle-padding);
|
|
1492
1495
|
border: 1px solid var(--hjm-color-border-control);
|
|
1493
1496
|
border-radius: var(--hjm-toggle-radius);
|
|
1494
|
-
background: var(--hjm-color-
|
|
1497
|
+
background: var(--hjm-color-bg);
|
|
1495
1498
|
color: var(--hjm-color-text-body);
|
|
1496
1499
|
font: inherit;
|
|
1497
1500
|
cursor: pointer;
|
|
@@ -1499,7 +1502,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1499
1502
|
/* The pressed state is announced by aria-pressed; color only reinforces it. */
|
|
1500
1503
|
.hjm-toggle-group__item[aria-pressed="true"] {
|
|
1501
1504
|
border-color: var(--hjm-color-focus);
|
|
1502
|
-
background: var(--hjm-color-
|
|
1505
|
+
background: var(--hjm-color-bg);
|
|
1503
1506
|
color: var(--hjm-color-content-brand);
|
|
1504
1507
|
font-weight: var(--hjm-font-weight-semibold);
|
|
1505
1508
|
}
|
|
@@ -1530,7 +1533,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1530
1533
|
min-block-size: var(--hjm-tags-tag-min-height);
|
|
1531
1534
|
padding-inline: var(--hjm-space-xs);
|
|
1532
1535
|
border-radius: var(--hjm-radius-full);
|
|
1533
|
-
background: var(--hjm-color-
|
|
1536
|
+
background: var(--hjm-color-bg);
|
|
1534
1537
|
color: var(--hjm-color-text-body);
|
|
1535
1538
|
overflow-wrap: anywhere;
|
|
1536
1539
|
}
|
|
@@ -1555,7 +1558,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1555
1558
|
min-inline-size: var(--hjm-tags-remove-target);
|
|
1556
1559
|
min-block-size: var(--hjm-tags-remove-target);
|
|
1557
1560
|
}
|
|
1558
|
-
.hjm-tags-input__tag { position: relative; }
|
|
1561
|
+
.hjm-tags-input__tag { position: relative; border: 1px solid var(--hjm-color-border-control); }
|
|
1559
1562
|
.hjm-tags-input__input {
|
|
1560
1563
|
flex: 1 1 8ch;
|
|
1561
1564
|
min-inline-size: 8ch;
|
|
@@ -1586,7 +1589,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1586
1589
|
cursor: pointer;
|
|
1587
1590
|
overflow-wrap: anywhere;
|
|
1588
1591
|
}
|
|
1589
|
-
.hjm-tags-input__suggestion[aria-selected="true"] {
|
|
1592
|
+
.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
1593
|
.hjm-tags-input__suggestion[aria-disabled="true"] { color: var(--hjm-color-text-weak); cursor: default; }
|
|
1591
1594
|
.hjm-tags-input__description { margin: 0; color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
1592
1595
|
.hjm-tags-input[data-disabled] .hjm-tags-input__frame { opacity: 0.6; cursor: default; }
|
|
@@ -1666,7 +1669,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1666
1669
|
gap: var(--hjm-space-sm);
|
|
1667
1670
|
padding: var(--hjm-space-sm) var(--hjm-space-md);
|
|
1668
1671
|
border-radius: var(--hjm-radius-md);
|
|
1669
|
-
background: var(--hjm-color-
|
|
1672
|
+
background: var(--hjm-color-bg);
|
|
1670
1673
|
font-size: var(--hjm-type-body-large-size);
|
|
1671
1674
|
line-height: var(--hjm-type-body-large-line-height);
|
|
1672
1675
|
}
|
|
@@ -1718,12 +1721,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1718
1721
|
.hjm-agreement__detail:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
1719
1722
|
|
|
1720
1723
|
/* 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
|
-
*/
|
|
1724
|
+
/* Flat aria-level treeitems match the contract's visible-node array and roving focus.
|
|
1725
|
+
WAI-ARIA permits this shape; depth is announced rather than inferred from indentation. */
|
|
1727
1726
|
.hjm-tree { display: flex; flex-direction: column; }
|
|
1728
1727
|
.hjm-tree__node {
|
|
1729
1728
|
display: flex;
|
|
@@ -1736,7 +1735,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1736
1735
|
color: var(--hjm-color-text);
|
|
1737
1736
|
cursor: default;
|
|
1738
1737
|
}
|
|
1739
|
-
.hjm-tree__node[aria-selected="true"] { background: var(--hjm-color-
|
|
1738
|
+
.hjm-tree__node[aria-selected="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
1740
1739
|
.hjm-tree__node[aria-disabled="true"] { color: var(--hjm-color-text-weak); }
|
|
1741
1740
|
.hjm-tree__node:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
1742
1741
|
.hjm-tree__indent { flex: 0 0 auto; inline-size: calc(var(--hjm-tree-depth) * var(--hjm-tree-indent)); }
|
|
@@ -1810,7 +1809,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1810
1809
|
align-items: center;
|
|
1811
1810
|
justify-content: center;
|
|
1812
1811
|
padding: var(--hjm-space-md);
|
|
1813
|
-
background:
|
|
1812
|
+
background: var(--hjm-backdrop-modal);
|
|
1814
1813
|
overscroll-behavior: contain;
|
|
1815
1814
|
}
|
|
1816
1815
|
.hjm-dialog,
|
|
@@ -1859,6 +1858,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1859
1858
|
overflow-wrap: anywhere;
|
|
1860
1859
|
}
|
|
1861
1860
|
.hjm-dialog > .hjm-dialog__description { padding-inline: var(--hjm-space-lg); }
|
|
1861
|
+
/* Consumer-authored identifiers can be unbroken; keep modal body text inside the narrow viewport. */
|
|
1862
|
+
.hjm-dialog__body { overflow-wrap: anywhere; }
|
|
1862
1863
|
.hjm-dialog__body,
|
|
1863
1864
|
.hjm-sheet__body { padding: var(--hjm-space-lg); }
|
|
1864
1865
|
.hjm-dialog__footer,
|
|
@@ -1977,12 +1978,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1977
1978
|
.hjm-sheet[data-placement="end"] {
|
|
1978
1979
|
block-size: calc(100dvh - (2 * var(--hjm-space-md)));
|
|
1979
1980
|
}
|
|
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
|
-
*/
|
|
1981
|
+
/* sidePanelRecipe.content.radius=null: dock at a logical edge with full block height.
|
|
1982
|
+
Non-modal panels position themselves; no backdrop may block the interactive page. */
|
|
1986
1983
|
.hjm-side-panel-positioner { padding: 0; }
|
|
1987
1984
|
.hjm-side-panel-positioner[data-edge="start"] { justify-content: flex-start; }
|
|
1988
1985
|
.hjm-side-panel-positioner[data-edge="end"] { justify-content: flex-end; }
|
|
@@ -1996,7 +1993,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1996
1993
|
border: 1px solid var(--hjm-color-border);
|
|
1997
1994
|
border-radius: 0;
|
|
1998
1995
|
color: var(--hjm-color-text);
|
|
1999
|
-
background: var(--hjm-color-
|
|
1996
|
+
background: var(--hjm-color-bg);
|
|
2000
1997
|
box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
|
|
2001
1998
|
}
|
|
2002
1999
|
.hjm-side-panel[data-modal="false"] {
|
|
@@ -2048,13 +2045,9 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2048
2045
|
padding: var(--hjm-space-sm) var(--hjm-space-lg)
|
|
2049
2046
|
max(var(--hjm-space-sm), env(safe-area-inset-bottom, 0px));
|
|
2050
2047
|
}
|
|
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; }
|
|
2048
|
+
/* Separate portals let Tour's veil cover the page while the shared popup helper anchors
|
|
2049
|
+
its card. The measured highlight ring is decorative and hidden from assistive tech. */
|
|
2050
|
+
.hjm-tour-backdrop { position: fixed; inset: 0; background: var(--hjm-backdrop-modal); pointer-events: auto; }
|
|
2058
2051
|
.hjm-tour-highlight {
|
|
2059
2052
|
position: fixed;
|
|
2060
2053
|
border-radius: var(--hjm-radius-md);
|
|
@@ -2065,12 +2058,15 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2065
2058
|
display: flex;
|
|
2066
2059
|
flex-direction: column;
|
|
2067
2060
|
gap: var(--hjm-space-sm);
|
|
2061
|
+
/* The anchored popup is viewport-height bounded; scrolling keeps long translations and actions usable without truncating copy or detaching controls. */
|
|
2062
|
+
overflow-y: auto;
|
|
2063
|
+
overscroll-behavior: contain;
|
|
2068
2064
|
box-sizing: border-box;
|
|
2069
2065
|
padding: var(--hjm-space-md);
|
|
2070
2066
|
border: 1px solid var(--hjm-color-border);
|
|
2071
2067
|
border-radius: var(--hjm-radius-md);
|
|
2072
2068
|
color: var(--hjm-color-text);
|
|
2073
|
-
background: var(--hjm-color-
|
|
2069
|
+
background: var(--hjm-color-bg);
|
|
2074
2070
|
box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
|
|
2075
2071
|
pointer-events: auto;
|
|
2076
2072
|
}
|
|
@@ -2106,7 +2102,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2106
2102
|
padding: var(--hjm-space-xxs);
|
|
2107
2103
|
border: 1px solid var(--hjm-color-border);
|
|
2108
2104
|
border-radius: var(--hjm-radius-md);
|
|
2109
|
-
background: var(--hjm-color-
|
|
2105
|
+
background: var(--hjm-color-bg);
|
|
2110
2106
|
box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
|
|
2111
2107
|
}
|
|
2112
2108
|
.hjm-menu__item {
|
|
@@ -2126,7 +2122,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2126
2122
|
}
|
|
2127
2123
|
.hjm-menu__content[data-density="comfortable"] .hjm-menu__item { min-block-size: 3.5rem; }
|
|
2128
2124
|
.hjm-menu__item:hover,
|
|
2129
|
-
.hjm-menu__item[data-focus="true"] { background: var(--hjm-color-
|
|
2125
|
+
.hjm-menu__item[data-focus="true"] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2130
2126
|
.hjm-menu__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2131
2127
|
.hjm-menu__item[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-semibold); }
|
|
2132
2128
|
.hjm-menu__item:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
@@ -2151,13 +2147,13 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2151
2147
|
.hjm-select__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); pointer-events: none; }
|
|
2152
2148
|
.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
2149
|
.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-
|
|
2150
|
+
.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
2151
|
.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
2152
|
.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
2153
|
.hjm-select[data-density="comfortable"] .hjm-select__option,
|
|
2158
2154
|
.hjm-select__listbox[data-density="comfortable"] .hjm-select__option { min-block-size: 3.5rem; }
|
|
2159
2155
|
.hjm-select__option { cursor: pointer; }
|
|
2160
|
-
.hjm-select__option[data-active="true"] {
|
|
2156
|
+
.hjm-select__option[data-active="true"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
2161
2157
|
.hjm-select__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
|
|
2162
2158
|
.hjm-select__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
|
|
2163
2159
|
.hjm-select__option-copy { min-inline-size: 0; flex: 1 1 auto; display: grid; gap: var(--hjm-space-xxs); }
|
|
@@ -2183,7 +2179,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2183
2179
|
padding: var(--hjm-space-xxs);
|
|
2184
2180
|
border: 1px solid var(--hjm-color-border);
|
|
2185
2181
|
border-radius: var(--hjm-radius-md);
|
|
2186
|
-
background: var(--hjm-color-
|
|
2182
|
+
background: var(--hjm-color-bg);
|
|
2187
2183
|
box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
|
|
2188
2184
|
}
|
|
2189
2185
|
.hjm-combobox__option,
|
|
@@ -2198,7 +2194,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2198
2194
|
.hjm-combobox[data-density="comfortable"] .hjm-combobox__option,
|
|
2199
2195
|
.hjm-combobox__listbox[data-density="comfortable"] .hjm-combobox__option { min-block-size: 3.5rem; }
|
|
2200
2196
|
.hjm-combobox__option { cursor: pointer; }
|
|
2201
|
-
.hjm-combobox__option[data-state="active"] {
|
|
2197
|
+
.hjm-combobox__option[data-state="active"] { box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); background: var(--hjm-color-bg); }
|
|
2202
2198
|
.hjm-combobox__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
|
|
2203
2199
|
.hjm-combobox__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
|
|
2204
2200
|
.hjm-combobox__message { color: var(--hjm-color-text-muted); }
|
|
@@ -2242,7 +2238,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2242
2238
|
cursor: pointer;
|
|
2243
2239
|
}
|
|
2244
2240
|
.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-
|
|
2241
|
+
.hjm-accordion__trigger:hover { background: var(--hjm-color-bg); }
|
|
2246
2242
|
.hjm-accordion__trigger:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2247
2243
|
.hjm-accordion__title { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
2248
2244
|
.hjm-accordion__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); }
|
|
@@ -2256,7 +2252,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2256
2252
|
border: 1px solid var(--hjm-color-border);
|
|
2257
2253
|
border-radius: 50%;
|
|
2258
2254
|
color: var(--hjm-color-text-muted);
|
|
2259
|
-
background: var(--hjm-color-
|
|
2255
|
+
background: var(--hjm-color-bg);
|
|
2260
2256
|
font-weight: var(--hjm-font-weight-bold);
|
|
2261
2257
|
}
|
|
2262
2258
|
.hjm-avatar[data-size="small"] { inline-size: 2rem; block-size: 2rem; font-size: var(--hjm-type-label-size); }
|
|
@@ -2279,10 +2275,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2279
2275
|
.hjm-table__caption { padding: var(--hjm-space-sm); color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-bold); text-align: start; }
|
|
2280
2276
|
.hjm-table__header,
|
|
2281
2277
|
.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-
|
|
2278
|
+
.hjm-table__header { color: var(--hjm-color-text); background: var(--hjm-color-bg); }
|
|
2283
2279
|
.hjm-table__header[data-align="center"], .hjm-table__cell[data-align="center"] { text-align: center; }
|
|
2284
2280
|
.hjm-table__header[data-align="end"], .hjm-table__cell[data-align="end"] { text-align: end; }
|
|
2285
|
-
.hjm-table__row:hover { background: var(--hjm-color-
|
|
2281
|
+
.hjm-table__row:hover { background: var(--hjm-color-bg); }
|
|
2286
2282
|
.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
2283
|
.hjm-table__empty { padding: var(--hjm-space-xl); color: var(--hjm-color-text-muted); text-align: center; }
|
|
2288
2284
|
|
|
@@ -2307,7 +2303,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2307
2303
|
border-radius: var(--hjm-radius-md);
|
|
2308
2304
|
}
|
|
2309
2305
|
.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-
|
|
2306
|
+
.hjm-pagination__item:hover:not([aria-disabled="true"]) { background: var(--hjm-color-bg); }
|
|
2311
2307
|
.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
2308
|
.hjm-pagination__item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
2313
2309
|
.hjm-pagination__ellipsis { color: var(--hjm-color-text-muted); }
|
|
@@ -2324,10 +2320,10 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2324
2320
|
.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
2321
|
.hjm-steps__step { min-inline-size: 0; display: grid; gap: var(--hjm-space-xs); }
|
|
2326
2322
|
.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-
|
|
2323
|
+
.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
2324
|
.hjm-steps__connector { flex: 1 1 auto; block-size: 1px; background: var(--hjm-color-border); }
|
|
2329
2325
|
.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-
|
|
2326
|
+
.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
2327
|
.hjm-steps__step[data-status="complete"] .hjm-steps__connector { background: var(--hjm-color-content-brand); }
|
|
2332
2328
|
.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
2329
|
.hjm-steps__copy { min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); padding-inline-end: var(--hjm-space-sm); }
|
|
@@ -2338,8 +2334,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2338
2334
|
|
|
2339
2335
|
.hjm-file-picker { display: grid; gap: var(--hjm-space-xs); }
|
|
2340
2336
|
.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-
|
|
2337
|
+
.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; }
|
|
2338
|
+
.hjm-file-picker[data-dragging] .hjm-file-picker__dropzone { border-color: var(--hjm-color-focus); background: var(--hjm-color-bg); }
|
|
2343
2339
|
.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
2340
|
.hjm-file-picker__hint { color: var(--hjm-color-text-muted); }
|
|
2345
2341
|
.hjm-file-picker__error { color: var(--hjm-color-danger); }
|
|
@@ -2361,12 +2357,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2361
2357
|
.hjm-date-picker { display: grid; gap: var(--hjm-space-xs); }
|
|
2362
2358
|
.hjm-date-picker__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); }
|
|
2363
2359
|
.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-
|
|
2360
|
+
.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
2361
|
.hjm-date-picker[data-size="large"] .hjm-date-picker__trigger { min-block-size: 3.5rem; padding-inline-start: var(--hjm-space-lg); }
|
|
2366
2362
|
.hjm-date-picker[data-invalid] .hjm-date-picker__trigger { border-color: var(--hjm-color-danger); }
|
|
2367
2363
|
.hjm-date-picker__trigger [data-placeholder] { color: var(--hjm-color-text-muted); }
|
|
2368
2364
|
.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-
|
|
2365
|
+
.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
2366
|
.hjm-date-picker__description { color: var(--hjm-color-text-muted); }
|
|
2371
2367
|
.hjm-date-picker__error { color: var(--hjm-color-danger); }
|
|
2372
2368
|
|
|
@@ -2463,7 +2459,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2463
2459
|
.hjm-top-bar[data-large-text="true"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
|
|
2464
2460
|
.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
2461
|
.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-
|
|
2462
|
+
.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
2463
|
.hjm-bottom-cta[data-position="sticky"] { position: sticky; inset-block-end: 0; z-index: 1; }
|
|
2468
2464
|
.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
2465
|
.hjm-bottom-cta__actions { display: flex; flex-wrap: wrap; gap: var(--hjm-bottom-cta-gap); }
|
|
@@ -2564,29 +2560,31 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2564
2560
|
/* Both surfaces reuse the menu's floating look; only the anchor differs. */
|
|
2565
2561
|
.hjm-context-menu-host { min-inline-size: 0; }
|
|
2566
2562
|
.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-
|
|
2563
|
+
.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
2564
|
.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
|
-
|
|
2565
|
+
/* Wrap long labels so commands stay readable inside the viewport-bounded menu; truncation was rejected because it hides command meaning. */
|
|
2566
|
+
.hjm-context-menu__item > span { min-inline-size: 0; overflow-wrap: anywhere; }
|
|
2567
|
+
.hjm-context-menu__item[data-active] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2570
2568
|
.hjm-context-menu__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2571
2569
|
.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); }
|
|
2570
|
+
.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
2571
|
|
|
2574
2572
|
.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
2573
|
.hjm-menubar__menu { position: relative; }
|
|
2576
2574
|
.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-
|
|
2575
|
+
.hjm-menubar__label[data-open] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2578
2576
|
.hjm-menubar__label:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2579
2577
|
.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-
|
|
2578
|
+
.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
2579
|
.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-
|
|
2580
|
+
.hjm-menubar__item[data-active] { background: var(--hjm-color-bg); box-shadow: inset 0 0 0 1px var(--hjm-color-content-brand); }
|
|
2583
2581
|
.hjm-menubar__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2584
2582
|
.hjm-menubar__item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
|
|
2585
2583
|
.hjm-menubar__shortcut { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
|
|
2586
2584
|
|
|
2587
2585
|
/* Asset frame ------------------------------------------------------------ */
|
|
2588
2586
|
.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-
|
|
2587
|
+
.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
2588
|
.hjm-asset__media { inline-size: 100%; block-size: 100%; display: grid; place-items: center; }
|
|
2591
2589
|
.hjm-asset__media > * { max-inline-size: 100%; max-block-size: 100%; }
|
|
2592
2590
|
/* The accessory hangs off the outer corner so it never covers the frame's middle. */
|
|
@@ -2594,4 +2592,38 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2594
2592
|
.hjm-asset-group { display: inline-flex; align-items: center; }
|
|
2595
2593
|
.hjm-asset-group > .hjm-asset + .hjm-asset { margin-inline-start: var(--hjm-asset-overlap); }
|
|
2596
2594
|
|
|
2595
|
+
/* Bloom owns geometry only; HJM owns target size, theme and keyboard focus. */
|
|
2596
|
+
.hjm-menu-morph { position: relative; z-index: 1; }
|
|
2597
|
+
.hjm-menu-morph [role="button"]:focus-visible, .hjm-menu-morph__item:focus-visible { outline: 2px solid var(--hjm-color-focus); outline-offset: -2px; }
|
|
2598
|
+
.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; }
|
|
2599
|
+
.hjm-menu-morph__item:hover, .hjm-menu-morph__item:focus { background: var(--hjm-color-bg); }
|
|
2600
|
+
.hjm-menu-morph__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
2601
|
+
.hjm-menu-morph__item:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
2602
|
+
|
|
2603
|
+
/* Selected colors are user data; control surfaces keep the same canvas tokens as other inputs. */
|
|
2604
|
+
.hjm-color-picker { border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); color: var(--hjm-color-text); padding: 1rem; margin: 0; min-inline-size: 0; overflow-wrap: anywhere; }
|
|
2605
|
+
.hjm-color-picker legend { max-inline-size: 100%; overflow-wrap: anywhere; }
|
|
2606
|
+
.hjm-color-picker__row { display: flex; flex-wrap: wrap; gap: 0.75rem; }
|
|
2607
|
+
.hjm-color-picker label { display: flex; flex-direction: column; gap: 0.5rem; min-inline-size: 0; }
|
|
2608
|
+
.hjm-color-picker__hex { flex: 1 1 10rem; }
|
|
2609
|
+
.hjm-color-picker input { box-sizing: border-box; min-block-size: var(--hjm-color-picker-target); min-inline-size: 0; max-inline-size: 100%; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); color: var(--hjm-color-text); font: inherit; }
|
|
2610
|
+
.hjm-color-picker input[type="text"] { inline-size: 100%; padding-inline: 0.5rem; }
|
|
2611
|
+
.hjm-color-picker input[type="color"] { inline-size: 3rem; padding: 0.25rem; }
|
|
2612
|
+
.hjm-color-picker__opacity { margin-block-start: 0.75rem; }
|
|
2613
|
+
.hjm-color-picker__opacity input[type="range"] { accent-color: var(--hjm-color-primary); }
|
|
2614
|
+
.hjm-color-picker__preview { block-size: 1.5rem; margin-block-start: 0.75rem; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); }
|
|
2615
|
+
.hjm-color-picker__presets { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block-start: 0.75rem; }
|
|
2616
|
+
.hjm-color-picker__presets button { display: inline-flex; align-items: center; gap: 0.5rem; min-block-size: var(--hjm-color-picker-target); max-inline-size: 100%; overflow-wrap: anywhere; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); padding: 0.5rem; background: var(--hjm-color-bg); color: var(--hjm-color-text); font: inherit; cursor: pointer; }
|
|
2617
|
+
.hjm-color-picker__presets button[aria-pressed="true"] { border-color: var(--hjm-color-primary); }
|
|
2618
|
+
.hjm-color-picker__swatch { inline-size: 1rem; block-size: 1rem; flex-shrink: 0; border: 1px solid var(--hjm-color-border); }
|
|
2619
|
+
.hjm-color-picker :is(input, button):focus-visible { outline: 2px solid var(--hjm-color-primary); outline-offset: 2px; }
|
|
2620
|
+
.hjm-color-picker__error { color: var(--hjm-color-danger); margin-block: 0.5rem; }
|
|
2621
|
+
.hjm-color-picker:disabled { opacity: 0.5; }
|
|
2622
|
+
/* SVG labels are decorative and print with the content; neither selection nor pointer input is intercepted. */
|
|
2623
|
+
.hjm-watermark { position: relative; isolation: isolate; }
|
|
2624
|
+
.hjm-watermark__content { position: relative; z-index: 0; overflow-wrap: anywhere; }
|
|
2625
|
+
.hjm-watermark__overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; user-select: none; overflow: hidden; color: var(--hjm-color-text-sub); font: inherit; }
|
|
2626
|
+
.hjm-affix { color: var(--hjm-color-text); background: var(--hjm-color-bg); overflow-wrap: anywhere; }
|
|
2627
|
+
.hjm-affix__marker { display: block; block-size: 0; pointer-events: none; }
|
|
2628
|
+
|
|
2597
2629
|
}
|