@hjmds/react 1.46.1 → 1.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions.d.ts +2 -2
- package/dist/activity-chip.d.ts +1 -1
- package/dist/advanced-display.d.ts +6 -0
- package/dist/advanced-display.d.ts.map +1 -1
- package/dist/advanced-display.js +4 -2
- package/dist/advanced-display.js.map +1 -1
- package/dist/advanced-forms.d.ts +2 -2
- package/dist/auth-screen.d.ts +1 -1
- package/dist/bottom-navigation.d.ts.map +1 -1
- package/dist/bottom-navigation.js +1 -1
- package/dist/bottom-navigation.js.map +1 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +31 -24
- package/dist/calendar.js.map +1 -1
- package/dist/carousel.d.ts +5 -1
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +2 -2
- package/dist/carousel.js.map +1 -1
- package/dist/clipboard.d.ts +2 -2
- package/dist/color-picker.d.ts +33 -3
- package/dist/color-picker.d.ts.map +1 -1
- package/dist/color-picker.js +73 -10
- package/dist/color-picker.js.map +1 -1
- package/dist/communication.d.ts +6 -1
- package/dist/communication.d.ts.map +1 -1
- package/dist/communication.js +2 -2
- package/dist/communication.js.map +1 -1
- package/dist/conversation-row.d.ts +7 -1
- package/dist/conversation-row.d.ts.map +1 -1
- package/dist/conversation-row.js +4 -2
- package/dist/conversation-row.js.map +1 -1
- package/dist/date-range.d.ts +24 -3
- package/dist/date-range.d.ts.map +1 -1
- package/dist/date-range.js +38 -17
- package/dist/date-range.js.map +1 -1
- package/dist/display.d.ts +28 -0
- package/dist/display.d.ts.map +1 -1
- package/dist/display.js +11 -9
- package/dist/display.js.map +1 -1
- package/dist/evidence.d.ts +1 -1
- package/dist/evidence.js +1 -1
- package/dist/evidence.js.map +1 -1
- package/dist/feedback.d.ts +1 -1
- package/dist/floating-action-button.d.ts +1 -1
- package/dist/follow-list.d.ts +58 -0
- package/dist/follow-list.d.ts.map +1 -0
- package/dist/follow-list.js +25 -0
- package/dist/follow-list.js.map +1 -0
- package/dist/forms.d.ts +3 -3
- package/dist/image-viewer.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/calendar-paint.d.ts +12 -0
- package/dist/internal/calendar-paint.d.ts.map +1 -0
- package/dist/internal/calendar-paint.js +3 -0
- package/dist/internal/calendar-paint.js.map +1 -0
- package/dist/internal/identity-action.d.ts +12 -0
- package/dist/internal/identity-action.d.ts.map +1 -0
- package/dist/internal/identity-action.js +10 -0
- package/dist/internal/identity-action.js.map +1 -0
- package/dist/internal.d.ts +1 -1
- package/dist/layout.d.ts +1 -1
- package/dist/overlays.d.ts +4 -0
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +3 -3
- package/dist/overlays.js.map +1 -1
- package/dist/provider-button.d.ts +1 -1
- package/dist/public-exports.generated.d.ts +4 -0
- package/dist/public-exports.generated.d.ts.map +1 -1
- package/dist/public-exports.generated.js +12 -0
- package/dist/public-exports.generated.js.map +1 -1
- package/dist/screen-flows.d.ts +33 -4
- package/dist/screen-flows.d.ts.map +1 -1
- package/dist/screen-flows.js +25 -10
- package/dist/screen-flows.js.map +1 -1
- package/dist/screens.d.ts +38 -6
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +26 -12
- package/dist/screens.js.map +1 -1
- package/dist/selection.d.ts +1 -1
- package/dist/share-sheet.d.ts +65 -0
- package/dist/share-sheet.d.ts.map +1 -0
- package/dist/share-sheet.js +145 -0
- package/dist/share-sheet.js.map +1 -0
- package/dist/social-compositions.d.ts +10 -0
- package/dist/social-compositions.d.ts.map +1 -1
- package/dist/social-compositions.js +3 -2
- package/dist/social-compositions.js.map +1 -1
- package/dist/styles.css +122 -48
- package/dist/styles.layered.css +122 -48
- package/dist/table-family.js +1 -1
- package/dist/table-family.js.map +1 -1
- package/dist/toast.d.ts +1 -1
- package/dist/top-bar.d.ts +1 -1
- package/package.json +13 -3
package/dist/styles.css
CHANGED
|
@@ -1014,6 +1014,18 @@
|
|
|
1014
1014
|
/* Product classification color (Badge categoryColor): the renderer resolves fill, ink and stroke per theme and checks AA. */
|
|
1015
1015
|
.hjm-badge[data-tone="category"] { color: var(--hjm-badge-category-content); background: var(--hjm-badge-category-background); }
|
|
1016
1016
|
.hjm-badge[data-variant="outline"][data-tone="category"] { background: transparent; border-color: var(--hjm-badge-category-border); }
|
|
1017
|
+
|
|
1018
|
+
/* Plain status badges keep semantic ink without a plate or outline. */
|
|
1019
|
+
.hjm-badge[data-variant="plain"] { background: transparent; border: 1px solid var(--hjm-color-border); color: var(--hjm-color-text-muted); }
|
|
1020
|
+
.hjm-badge[data-variant="plain"][data-tone="strong"] { color: var(--hjm-color-text); }
|
|
1021
|
+
.hjm-badge[data-variant="plain"][data-tone="brand"] { color: var(--hjm-color-content-brand); }
|
|
1022
|
+
.hjm-badge[data-variant="plain"][data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
1023
|
+
.hjm-badge[data-variant="plain"][data-tone="info"] { background: transparent; color: var(--hjm-accent-info); border-color: color-mix(in srgb, var(--hjm-accent-info) 30%, transparent); }
|
|
1024
|
+
.hjm-badge[data-variant="plain"][data-tone="success"] { background: transparent; color: var(--hjm-accent-success); border-color: color-mix(in srgb, var(--hjm-accent-success) 30%, transparent); }
|
|
1025
|
+
.hjm-badge[data-variant="plain"][data-tone="warning"] { background: transparent; color: var(--hjm-accent-warning); border-color: color-mix(in srgb, var(--hjm-accent-warning) 30%, transparent); }
|
|
1026
|
+
.hjm-badge[data-variant="plain"][data-tone="attention"] { background: transparent; color: var(--hjm-accent-attention); border-color: color-mix(in srgb, var(--hjm-accent-attention) 30%, transparent); }
|
|
1027
|
+
.hjm-badge[data-variant="plain"][data-tone="category"] { background: transparent; border-color: var(--hjm-badge-category-border); }
|
|
1028
|
+
.hjm-badge[data-variant="plain"] { border: 0; }
|
|
1017
1029
|
.hjm-tag[data-tone="info"] { color: var(--hjm-accent-info); background: color-mix(in srgb, var(--hjm-accent-info) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-info) 30%, transparent); }
|
|
1018
1030
|
.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); }
|
|
1019
1031
|
.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); }
|
|
@@ -1051,8 +1063,8 @@
|
|
|
1051
1063
|
.hjm-card__header-actions { position: relative; z-index: 1; display: flex; flex: 0 0 auto; align-items: center; gap: var(--hjm-space-xs); }
|
|
1052
1064
|
.hjm-card__leading { flex: 0 0 auto; display: inline-grid; place-items: center; line-height: 1; }
|
|
1053
1065
|
.hjm-card__copy { flex: 1 1 auto; min-inline-size: 0; display: grid; gap: var(--hjm-space-xs); }
|
|
1054
|
-
/* cardRecipe.title
|
|
1055
|
-
.hjm-card__title { margin: 0; color: var(--hjm-color-text); font-size: var(--hjm-type-
|
|
1066
|
+
/* Follow cardRecipe.title: native headings must not fall back to the UA bold weight. */
|
|
1067
|
+
.hjm-card__title { margin: 0; color: var(--hjm-color-text); font-size: var(--hjm-type-body-large-size); line-height: var(--hjm-type-body-large-line-height); font-weight: var(--hjm-text-emphasis-medium); overflow-wrap: anywhere; }
|
|
1056
1068
|
.hjm-card__description { margin: 0; overflow-wrap: anywhere; }
|
|
1057
1069
|
.hjm-card__actions { display: flex; flex-wrap: wrap; gap: var(--hjm-space-xs); padding: 0 var(--hjm-space-md) var(--hjm-space-md); }
|
|
1058
1070
|
/* Row rhythm reads the recipe density variables so the stylesheet does not
|
|
@@ -1118,7 +1130,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1118
1130
|
.hjm-section__copy { display: grid; flex: 1 1 auto; gap: var(--hjm-space-xxs); min-inline-size: 0; }
|
|
1119
1131
|
/* sectionRecipe.title is the `title` variant (18/26 bold) and description the `caption` variant (11/16), as Native draws them.
|
|
1120
1132
|
Until 2026-10-06 Web inherited body (14) for both, so the same Section header was smaller on Web. */
|
|
1121
|
-
.hjm-section__title { margin: 0; color: var(--hjm-color-text-body); font-size: var(--hjm-type-
|
|
1133
|
+
.hjm-section__title { margin: 0; color: var(--hjm-color-text-body); font-size: var(--hjm-type-body-large-size); line-height: var(--hjm-type-body-large-line-height); font-weight: var(--hjm-type-title-weight); overflow-wrap: anywhere; }
|
|
1122
1134
|
.hjm-section__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); overflow-wrap: anywhere; }
|
|
1123
1135
|
.hjm-section__action { flex: 0 0 auto; }
|
|
1124
1136
|
.hjm-section__content { min-inline-size: 0; }
|
|
@@ -1183,7 +1195,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1183
1195
|
.hjm-statistic__label { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); font-weight: var(--hjm-text-emphasis-medium); overflow-wrap: anywhere; }
|
|
1184
1196
|
.hjm-statistic[data-density="compact"] .hjm-statistic__label { font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); }
|
|
1185
1197
|
.hjm-statistic__value-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--hjm-space-xxs); min-inline-size: 0; }
|
|
1186
|
-
.hjm-statistic__value { color: var(--hjm-statistic-value-color, var(--hjm-color-text)); font-size: var(--hjm-type-
|
|
1198
|
+
.hjm-statistic__value { color: var(--hjm-statistic-value-color, var(--hjm-color-text)); font-size: var(--hjm-type-title-size); line-height: var(--hjm-type-title-line-height); font-weight: var(--hjm-font-weight-semibold); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
|
|
1187
1199
|
.hjm-statistic[data-density="compact"] .hjm-statistic__value { font-size: var(--hjm-type-body-large-size); line-height: var(--hjm-type-body-large-line-height); }
|
|
1188
1200
|
.hjm-statistic__affix { color: var(--hjm-color-text-body); font-size: var(--hjm-type-body-size); line-height: var(--hjm-type-body-line-height); font-weight: var(--hjm-text-emphasis-medium); }
|
|
1189
1201
|
.hjm-statistic__hint { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); }
|
|
@@ -1196,14 +1208,16 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1196
1208
|
.hjm-statistic-group { grid-template-columns: minmax(0, 1fr); }
|
|
1197
1209
|
}
|
|
1198
1210
|
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
.hjm-notice
|
|
1202
|
-
.hjm-notice[data-
|
|
1203
|
-
.hjm-notice[data-tone="
|
|
1204
|
-
.hjm-notice[data-tone="
|
|
1211
|
+
/* noticeRecipe 2026-10-25: no outline; tone lives in the tint, the leading accentBar and the icon. The bar is
|
|
1212
|
+
positioned in the padding so it spans the whole notice even when the action wraps to a second line. */
|
|
1213
|
+
.hjm-notice { --hjm-notice-accent: var(--hjm-accent-info); position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-md); padding-inline-start: calc(var(--hjm-space-md) + 4px + var(--hjm-space-sm)); border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-surface-alt); }
|
|
1214
|
+
.hjm-notice[data-appearance="panel"]::before { content: ""; position: absolute; inset-block: var(--hjm-space-md); inset-inline-start: var(--hjm-space-md); inline-size: 4px; border-radius: var(--hjm-radius-full); background: var(--hjm-notice-accent); }
|
|
1215
|
+
.hjm-notice[data-tone="success"] { --hjm-notice-accent: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 10%, var(--hjm-color-bg)); }
|
|
1216
|
+
.hjm-notice[data-tone="warning"] { --hjm-notice-accent: var(--hjm-accent-warning); background: color-mix(in srgb, var(--hjm-accent-warning) 10%, var(--hjm-color-bg)); }
|
|
1217
|
+
.hjm-notice[data-tone="attention"] { --hjm-notice-accent: var(--hjm-accent-attention); background: color-mix(in srgb, var(--hjm-accent-attention) 10%, var(--hjm-color-bg)); }
|
|
1218
|
+
.hjm-notice[data-tone="danger"] { --hjm-notice-accent: var(--hjm-color-danger); background: color-mix(in srgb, var(--hjm-color-danger) 10%, var(--hjm-color-bg)); }
|
|
1205
1219
|
/* Status is placed inside the saved card/form; Badge carries tone without a second surface. */
|
|
1206
|
-
.hjm-notice[data-appearance="status"] { padding: 0;
|
|
1220
|
+
.hjm-notice[data-appearance="status"] { padding: 0; background: transparent; }
|
|
1207
1221
|
.hjm-notice[data-appearance="status"] .hjm-notice__content { justify-items: start; }
|
|
1208
1222
|
/* Reserve readable copy; wrap the action instead of crushing its label. */
|
|
1209
1223
|
.hjm-notice__content { flex: 1 1 60%; min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
|
|
@@ -1213,7 +1227,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1213
1227
|
.hjm-notice__action { flex: 0 0 auto; max-inline-size: 100%; }
|
|
1214
1228
|
.hjm-notice__title, .hjm-notice__description { overflow-wrap: anywhere; }
|
|
1215
1229
|
/* noticeRecipe/emptyStateRecipe title weight; the <strong> otherwise draws the UA bold (700). */
|
|
1216
|
-
.hjm-notice__title { font-weight: var(--hjm-type-title-weight); }
|
|
1230
|
+
.hjm-notice__title { font-weight: var(--hjm-type-title-weight); color: var(--hjm-color-text); }
|
|
1217
1231
|
|
|
1218
1232
|
/* emptyStateRecipe.density.regular paddingVertical xxxl 40 (2026-10-06; Web had xxl 32, Native read the recipe). */
|
|
1219
1233
|
/* Like Native, a regular empty state fills the rest of a flex host and centers in it; compact (cards, sheets) stays content-high. */
|
|
@@ -1469,8 +1483,8 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1469
1483
|
.hjm-line-score__table .hjm-line-score__team { inset-inline-start: 0; }
|
|
1470
1484
|
.hjm-line-score__table td.hjm-line-score__period { min-inline-size: 26px; color: var(--hjm-color-text-sub); }
|
|
1471
1485
|
.hjm-line-score__table td[data-scored] { color: var(--hjm-color-text); font-weight: var(--hjm-text-emphasis-medium); }
|
|
1472
|
-
.hjm-line-score__table [data-current] { background: var(--hjm-
|
|
1473
|
-
.hjm-line-score__table th[data-current] { color: var(--hjm-
|
|
1486
|
+
.hjm-line-score__table [data-current] { background: var(--hjm-line-score-current-background); }
|
|
1487
|
+
.hjm-line-score__table th[data-current] { color: var(--hjm-line-score-current-color); }
|
|
1474
1488
|
.hjm-line-score__total { inline-size: var(--hjm-line-score-total-width); min-inline-size: var(--hjm-line-score-total-width); color: var(--hjm-color-text-muted); font-weight: var(--hjm-text-emphasis-medium); }
|
|
1475
1489
|
/* A collapsed-table border stays with the table, not the pinned cell, so the edge is an inset shadow. */
|
|
1476
1490
|
.hjm-line-score__total-edge { box-shadow: inset 1px 0 0 var(--hjm-color-border); }
|
|
@@ -1731,18 +1745,29 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1731
1745
|
*/
|
|
1732
1746
|
/* Each hit/hover layer belongs to its own day. Without this containing block
|
|
1733
1747
|
the last absolute layer covered the whole preview and stole pointer clicks. */
|
|
1748
|
+
/* dateRangeRecipe 2026-10-25: one band between two filled edges (Material 3/Airbnb motif) instead of an underline and
|
|
1749
|
+
outlines; the band is as tall as the date circle and rounds off where a week row starts or ends. */
|
|
1750
|
+
.hjm-date-range { display: grid; gap: var(--hjm-space-md); }
|
|
1734
1751
|
.hjm-date-range .hjm-calendar__day { position: relative; isolation: isolate; }
|
|
1735
1752
|
.hjm-date-range .hjm-calendar__day-label { position: relative; z-index: 1; pointer-events: none; }
|
|
1736
|
-
.hjm-
|
|
1737
|
-
.hjm-
|
|
1738
|
-
.hjm-
|
|
1739
|
-
.hjm-
|
|
1740
|
-
.hjm-
|
|
1753
|
+
.hjm-calendar__band { position: absolute; inset-block-start: 0; inset-inline: 0; block-size: var(--hjm-calendar-indicator-size, var(--hjm-calendar-cell-size)); background: color-mix(in srgb, var(--hjm-color-primary) 15%, transparent); pointer-events: none; }
|
|
1754
|
+
.hjm-calendar__day[data-range-band="toEnd"] .hjm-calendar__band { inset-inline-start: 50%; }
|
|
1755
|
+
.hjm-calendar__day[data-range-band="toStart"] .hjm-calendar__band { inset-inline-end: 50%; }
|
|
1756
|
+
.hjm-calendar__day:first-child:not([data-range-band="toEnd"]) .hjm-calendar__band { border-start-start-radius: var(--hjm-radius-full); border-end-start-radius: var(--hjm-radius-full); }
|
|
1757
|
+
.hjm-calendar__day:last-child:not([data-range-band="toStart"]) .hjm-calendar__band { border-start-end-radius: var(--hjm-radius-full); border-end-end-radius: var(--hjm-radius-full); }
|
|
1758
|
+
.hjm-calendar__day[data-today][data-selected] .hjm-calendar__day-label { border-color: transparent; }
|
|
1759
|
+
.hjm-date-range__presets { display: flex; flex-wrap: wrap; gap: var(--hjm-space-xs); }
|
|
1760
|
+
.hjm-date-range__summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--hjm-space-xs); }
|
|
1761
|
+
.hjm-date-range__field { display: grid; gap: var(--hjm-space-xxs); min-inline-size: 0; padding: var(--hjm-space-xs) var(--hjm-space-sm); border: 2px solid transparent; border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface-alt); }
|
|
1762
|
+
.hjm-date-range__field[data-active] { border-color: var(--hjm-color-primary); }
|
|
1763
|
+
.hjm-date-range__field-label { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
|
|
1764
|
+
.hjm-date-range__field-value { overflow: hidden; color: var(--hjm-color-text); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
|
|
1765
|
+
.hjm-date-range__field[data-empty] .hjm-date-range__field-value { color: var(--hjm-color-text-sub); }
|
|
1741
1766
|
|
|
1742
1767
|
/* AvatarGroup: overlap comes from the recipe ratio, not a per-size pixel value. */
|
|
1743
1768
|
.hjm-avatar-group { display: inline-flex; align-items: center; }
|
|
1744
1769
|
.hjm-avatar-group > * + * { margin-inline-start: calc(var(--hjm-avatar-overlap) * -1); }
|
|
1745
|
-
.hjm-avatar-group > .hjm-avatar { border: 2px solid var(--hjm-color-bg); border-radius: var(--hjm-radius-full); }
|
|
1770
|
+
.hjm-avatar-group > .hjm-avatar, .hjm-avatar-group > .hjm-identity-action .hjm-avatar { border: 2px solid var(--hjm-color-bg); border-radius: var(--hjm-radius-full); }
|
|
1746
1771
|
.hjm-avatar-group__overflow {
|
|
1747
1772
|
display: grid;
|
|
1748
1773
|
place-items: center;
|
|
@@ -1775,7 +1800,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1775
1800
|
font-family: var(--hjm-font-family-code, ui-monospace, SFMono-Regular, Consolas, monospace);
|
|
1776
1801
|
}
|
|
1777
1802
|
.hjm-text-format[data-kind="kbd"] {
|
|
1778
|
-
border: 1px solid var(--hjm-color-border);
|
|
1803
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
1779
1804
|
color: var(--hjm-color-text-body);
|
|
1780
1805
|
font-size: var(--hjm-type-label-size);
|
|
1781
1806
|
}
|
|
@@ -2090,7 +2115,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2090
2115
|
max-block-size: 12rem;
|
|
2091
2116
|
margin: var(--hjm-space-xxs) 0 0;
|
|
2092
2117
|
padding: var(--hjm-space-xxs);
|
|
2093
|
-
border: 1px solid var(--hjm-color-border);
|
|
2118
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2094
2119
|
border-radius: var(--hjm-radius-md);
|
|
2095
2120
|
background: var(--hjm-color-bg);
|
|
2096
2121
|
list-style: none;
|
|
@@ -2578,7 +2603,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2578
2603
|
block-size: 100dvh;
|
|
2579
2604
|
min-inline-size: 0;
|
|
2580
2605
|
overflow: hidden;
|
|
2581
|
-
border: 1px solid var(--hjm-color-border);
|
|
2606
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2582
2607
|
border-radius: 0;
|
|
2583
2608
|
color: var(--hjm-color-text);
|
|
2584
2609
|
background: var(--hjm-color-bg);
|
|
@@ -2652,7 +2677,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2652
2677
|
overscroll-behavior: contain;
|
|
2653
2678
|
box-sizing: border-box;
|
|
2654
2679
|
padding: var(--hjm-space-md);
|
|
2655
|
-
border: 1px solid var(--hjm-color-border);
|
|
2680
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2656
2681
|
border-radius: var(--hjm-radius-md);
|
|
2657
2682
|
color: var(--hjm-color-text);
|
|
2658
2683
|
background: var(--hjm-color-bg);
|
|
@@ -2695,7 +2720,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2695
2720
|
/* menuRecipe.surface (floatingSurfaceContract) padding spacing.xs 8. Until 2026-10-06 Web drew 4 here and in the
|
|
2696
2721
|
Select/Combobox/ContextMenu popups that share the same surface contract. */
|
|
2697
2722
|
padding: var(--hjm-menu-padding, var(--hjm-space-xs));
|
|
2698
|
-
border: 1px solid var(--hjm-color-border);
|
|
2723
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2699
2724
|
border-radius: var(--hjm-radius-md);
|
|
2700
2725
|
background: var(--hjm-color-bg);
|
|
2701
2726
|
box-shadow: var(--hjm-shadow-floating);
|
|
@@ -2767,7 +2792,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2767
2792
|
.hjm-select__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); pointer-events: none; }
|
|
2768
2793
|
.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; }
|
|
2769
2794
|
.hjm-select__native + .hjm-select__indicator { margin-inline-start: calc(-1 * var(--hjm-space-lg)); }
|
|
2770
|
-
.hjm-select__listbox { position: fixed; z-index: var(--hjm-layer-dropdown); max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); max-block-size: 22.5rem; overflow: auto; padding: var(--hjm-select-popover-padding, var(--hjm-space-xs)); /* selectRecipe.popover.padding 8 (was 4 until 2026-10-06) */ border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); box-shadow: var(--hjm-shadow-floating); }
|
|
2795
|
+
.hjm-select__listbox { position: fixed; z-index: var(--hjm-layer-dropdown); max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); max-block-size: 22.5rem; overflow: auto; padding: var(--hjm-select-popover-padding, var(--hjm-space-xs)); /* selectRecipe.popover.padding 8 (was 4 until 2026-10-06) */ border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent); border-radius: var(--hjm-radius-md); background: var(--hjm-color-bg); box-shadow: var(--hjm-shadow-floating); }
|
|
2771
2796
|
.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-text-emphasis-medium); }
|
|
2772
2797
|
.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; }
|
|
2773
2798
|
.hjm-select[data-density="comfortable"] .hjm-select__option,
|
|
@@ -2797,7 +2822,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2797
2822
|
max-block-size: 22.5rem;
|
|
2798
2823
|
overflow: auto;
|
|
2799
2824
|
padding: var(--hjm-combobox-popover-padding, var(--hjm-space-xs)); /* comboboxRecipe.popover = selectRecipe.popover, 8 (was 4 until 2026-10-06) */
|
|
2800
|
-
border: 1px solid var(--hjm-color-border);
|
|
2825
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2801
2826
|
border-radius: var(--hjm-radius-md);
|
|
2802
2827
|
background: var(--hjm-color-bg);
|
|
2803
2828
|
box-shadow: var(--hjm-shadow-floating);
|
|
@@ -2883,7 +2908,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
2883
2908
|
place-items: center;
|
|
2884
2909
|
inline-size: var(--hjm-avatar-size, 2.5rem);
|
|
2885
2910
|
block-size: var(--hjm-avatar-size, 2.5rem);
|
|
2886
|
-
border: 1px solid var(--hjm-color-border);
|
|
2911
|
+
border: 1px solid color-mix(in srgb, var(--hjm-color-border-control) 50%, transparent);
|
|
2887
2912
|
border-radius: 50%;
|
|
2888
2913
|
color: var(--hjm-color-text-muted);
|
|
2889
2914
|
background: var(--hjm-color-bg);
|
|
@@ -3340,25 +3365,40 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
3340
3365
|
.hjm-menu-morph__item[data-tone="danger"] { color: var(--hjm-color-danger); }
|
|
3341
3366
|
.hjm-menu-morph__item:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
3342
3367
|
|
|
3343
|
-
/* Selected colors are user data; control surfaces keep the same canvas tokens as other inputs.
|
|
3344
|
-
|
|
3345
|
-
.hjm-color-picker
|
|
3346
|
-
.hjm-color-
|
|
3347
|
-
.hjm-color-
|
|
3348
|
-
.hjm-color-
|
|
3349
|
-
.hjm-color-
|
|
3350
|
-
.hjm-color-
|
|
3351
|
-
.hjm-color-
|
|
3352
|
-
.hjm-color-
|
|
3353
|
-
.hjm-color-
|
|
3354
|
-
.hjm-color-
|
|
3355
|
-
.hjm-color-
|
|
3356
|
-
.hjm-color-
|
|
3357
|
-
.hjm-color-
|
|
3358
|
-
.hjm-color-
|
|
3359
|
-
.hjm-color-
|
|
3360
|
-
.hjm-color-
|
|
3368
|
+
/* Selected colors are user data; control surfaces keep the same canvas tokens as other inputs. The 2026-10-25 redesign
|
|
3369
|
+
edits HSV: a saturation/brightness area over the hue colour, then hue and opacity bars (Figma/Procreate Classic). */
|
|
3370
|
+
.hjm-color-picker { --hjm-color-picker-checker: repeating-conic-gradient(#d6d6d6 0% 25%, #ffffff 0% 50%) 0 0 / 12px 12px; display: grid; gap: var(--hjm-space-md); 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; }
|
|
3371
|
+
.hjm-color-picker legend { max-inline-size: 100%; overflow-wrap: anywhere; padding-inline: 0.25rem; }
|
|
3372
|
+
.hjm-color-picker__area { position: relative; aspect-ratio: var(--hjm-color-picker-area-ratio); border-radius: var(--hjm-radius-md); background: linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent), var(--hjm-color-picker-hue); touch-action: none; cursor: crosshair; user-select: none; }
|
|
3373
|
+
.hjm-color-picker__area[data-disabled] { cursor: not-allowed; }
|
|
3374
|
+
.hjm-color-picker__area:focus-within { outline: var(--hjm-focus-width, 2px) solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
3375
|
+
.hjm-color-picker__area-thumb { position: absolute; inline-size: var(--hjm-color-picker-area-thumb); block-size: var(--hjm-color-picker-area-thumb); box-sizing: border-box; translate: -50% -50%; border: 3px solid #fff; border-radius: 50%; background: var(--hjm-color-picker-opaque); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.3), 0 1px 4px rgb(0 0 0 / 0.35); pointer-events: none; }
|
|
3376
|
+
.hjm-color-picker__bar { appearance: none; -webkit-appearance: none; display: block; inline-size: 100%; block-size: var(--hjm-color-picker-target); margin: 0; background: transparent; cursor: pointer; }
|
|
3377
|
+
.hjm-color-picker__bar::-webkit-slider-runnable-track { block-size: var(--hjm-color-picker-bar); border-radius: 999px; background: var(--hjm-color-picker-bar-fill); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.12); }
|
|
3378
|
+
.hjm-color-picker__bar::-moz-range-track { block-size: var(--hjm-color-picker-bar); border-radius: 999px; background: var(--hjm-color-picker-bar-fill); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.12); }
|
|
3379
|
+
.hjm-color-picker__bar::-webkit-slider-thumb { -webkit-appearance: none; inline-size: var(--hjm-color-picker-bar-thumb); block-size: var(--hjm-color-picker-bar-thumb); margin-block-start: calc((var(--hjm-color-picker-bar) - var(--hjm-color-picker-bar-thumb)) / 2); box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: var(--hjm-color-picker-bar-thumb-fill); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.3), 0 1px 4px rgb(0 0 0 / 0.35); }
|
|
3380
|
+
.hjm-color-picker__bar::-moz-range-thumb { inline-size: var(--hjm-color-picker-bar-thumb); block-size: var(--hjm-color-picker-bar-thumb); box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: var(--hjm-color-picker-bar-thumb-fill); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.3), 0 1px 4px rgb(0 0 0 / 0.35); }
|
|
3381
|
+
.hjm-color-picker__bar--hue { --hjm-color-picker-bar-fill: var(--hjm-color-picker-hue-gradient); --hjm-color-picker-bar-thumb-fill: var(--hjm-color-picker-hue); }
|
|
3382
|
+
.hjm-color-picker__bar--alpha { --hjm-color-picker-bar-fill: linear-gradient(to right, transparent, var(--hjm-color-picker-opaque)), var(--hjm-color-picker-checker); --hjm-color-picker-bar-thumb-fill: linear-gradient(var(--hjm-color-picker-current), var(--hjm-color-picker-current)), var(--hjm-color-picker-checker); }
|
|
3383
|
+
.hjm-color-picker__bar:focus-visible { outline: var(--hjm-focus-width, 2px) solid var(--hjm-color-focus); outline-offset: 2px; border-radius: 999px; }
|
|
3384
|
+
.hjm-color-picker__row { display: flex; align-items: flex-end; gap: 0.75rem; }
|
|
3385
|
+
.hjm-color-picker__preview { flex-shrink: 0; inline-size: var(--hjm-color-picker-preview); block-size: var(--hjm-color-picker-preview); border-radius: 50%; background: linear-gradient(var(--hjm-color-picker-current), var(--hjm-color-picker-current)), var(--hjm-color-picker-checker); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.15); }
|
|
3386
|
+
.hjm-color-picker__hex { display: flex; flex: 1 1 8rem; flex-direction: column; gap: 0.25rem; min-inline-size: 0; }
|
|
3387
|
+
.hjm-color-picker__hex input { box-sizing: border-box; inline-size: 100%; min-block-size: var(--hjm-color-picker-target); padding-inline: 0.5rem; 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; font-variant-numeric: tabular-nums; }
|
|
3388
|
+
.hjm-color-picker__hex input:focus-visible { outline: var(--hjm-focus-width, 2px) solid var(--hjm-color-focus); outline-offset: 2px; }
|
|
3389
|
+
.hjm-color-picker__opacity { min-block-size: var(--hjm-color-picker-target); display: inline-flex; align-items: center; font-variant-numeric: tabular-nums; color: var(--hjm-color-text-muted, inherit); }
|
|
3390
|
+
.hjm-color-picker__error { color: var(--hjm-color-danger); margin: 0; }
|
|
3361
3391
|
.hjm-color-picker:disabled { opacity: 0.5; }
|
|
3392
|
+
.hjm-color-picker:disabled .hjm-color-picker__bar { cursor: not-allowed; }
|
|
3393
|
+
.hjm-color-swatches { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
|
|
3394
|
+
.hjm-color-swatches legend { padding: 0; margin-block-end: 0.5rem; }
|
|
3395
|
+
.hjm-color-swatches__list { display: flex; flex-wrap: wrap; gap: 0.25rem; }
|
|
3396
|
+
.hjm-color-swatches[data-layout="scroll"] .hjm-color-swatches__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
|
|
3397
|
+
.hjm-color-swatches__item { position: relative; display: inline-grid; place-items: center; flex-shrink: 0; inline-size: var(--hjm-color-swatch-target); block-size: var(--hjm-color-swatch-target); cursor: pointer; }
|
|
3398
|
+
.hjm-color-swatches__swatch { inline-size: var(--hjm-color-swatch-size); block-size: var(--hjm-color-swatch-size); border-radius: 50%; background: linear-gradient(var(--hjm-color-swatch), var(--hjm-color-swatch)), repeating-conic-gradient(#d6d6d6 0% 25%, #ffffff 0% 50%) 0 0 / 10px 10px; box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.15); }
|
|
3399
|
+
.hjm-color-swatches__item input:checked + .hjm-color-swatches__swatch { box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.15), 0 0 0 var(--hjm-color-swatch-gap) var(--hjm-color-bg), 0 0 0 calc(var(--hjm-color-swatch-gap) + var(--hjm-color-swatch-ring)) var(--hjm-color-text); }
|
|
3400
|
+
.hjm-color-swatches__item input:focus-visible + .hjm-color-swatches__swatch { outline: var(--hjm-focus-width, 2px) solid var(--hjm-color-focus); outline-offset: calc(var(--hjm-color-swatch-gap) + var(--hjm-color-swatch-ring) + 2px); }
|
|
3401
|
+
.hjm-color-swatches:disabled .hjm-color-swatches__item { cursor: not-allowed; opacity: 0.5; }
|
|
3362
3402
|
/* SVG labels are decorative and print with the content; neither selection nor pointer input is intercepted. */
|
|
3363
3403
|
.hjm-watermark { position: relative; isolation: isolate; }
|
|
3364
3404
|
.hjm-watermark__content { position: relative; z-index: 0; overflow-wrap: anywhere; }
|
|
@@ -3663,8 +3703,8 @@ button.hjm-chat-message__media-item:focus-visible { outline: 2px solid var(--hjm
|
|
|
3663
3703
|
(--hjm-comment-anchor-line, set per row), so like/more glyphs share the author line's centre instead of sitting
|
|
3664
3704
|
12px below it. When HJM's own like/more is the last control (data-edge), the whole column takes the IconButton edge
|
|
3665
3705
|
overhang: the 44-wide like count under the heart shares the column, so a margin on the button alone was absorbed. */
|
|
3666
|
-
.hjm-comment-row__like { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; margin-block-start: calc((var(--hjm-comment-anchor-line) - var(--hjm-control-button-
|
|
3667
|
-
.hjm-comment-row__like[data-edge="end"] { margin-inline-end: calc(-1 * var(--hjm-icon-button-edge-
|
|
3706
|
+
.hjm-comment-row__like { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; margin-block-start: calc((var(--hjm-comment-anchor-line) - var(--hjm-control-button-small)) / 2); }
|
|
3707
|
+
.hjm-comment-row__like[data-edge="end"] { margin-inline-end: calc(-1 * var(--hjm-icon-button-edge-small)); }
|
|
3668
3708
|
.hjm-comment-row__like-count { text-align: center; }
|
|
3669
3709
|
.hjm-comment-row__action { align-self: flex-start; padding: 0; border: 0; background: none; color: var(--hjm-color-text-muted); font: inherit; font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-text-emphasis-medium); cursor: pointer; }
|
|
3670
3710
|
.hjm-comment-row__action:disabled { opacity: 0.5; cursor: default; }
|
|
@@ -3789,6 +3829,7 @@ button.hjm-chat-message__media-item:focus-visible { outline: 2px solid var(--hjm
|
|
|
3789
3829
|
|
|
3790
3830
|
/* Full destination cards keep all names and widths stable; colors remain product semantic roles. */
|
|
3791
3831
|
.hjm-bottom-navigation[data-selection="tile"] .hjm-bottom-navigation__surface { background: var(--hjm-color-surface-accent); }
|
|
3832
|
+
.hjm-bottom-navigation[data-selection="tile"][data-tone="neutral"] .hjm-bottom-navigation__surface { background: var(--hjm-color-surface); }
|
|
3792
3833
|
.hjm-bottom-navigation[data-selection="tile"] .hjm-bottom-navigation__list { padding: var(--hjm-space-xxs); gap: var(--hjm-space-xxs); }
|
|
3793
3834
|
.hjm-bottom-navigation[data-selection="tile"] .hjm-bottom-navigation__item[data-state="selected"] { background: var(--hjm-color-primary); color: var(--hjm-color-on-primary); }
|
|
3794
3835
|
.hjm-bottom-navigation[data-selection="tile"] .hjm-bottom-navigation__item:not([data-state="selected"]):active { background: var(--hjm-bottom-navigation-pressed-background); }
|
|
@@ -3987,3 +4028,36 @@ button.hjm-chat-message__media-item:focus-visible { outline: 2px solid var(--hjm
|
|
|
3987
4028
|
.hjm-chat-room__selected-item { display:flex; flex-direction:column; align-items:center; gap:var(--hjm-space-xxs); inline-size:64px; padding:0; border:0; border-radius:var(--hjm-radius-md); background:transparent; color:inherit; cursor:pointer; }
|
|
3988
4029
|
.hjm-chat-room__selected-name { max-inline-size:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
3989
4030
|
:is(.hjm-chat-room__tool,.hjm-chat-room__photo,.hjm-chat-room__selected-item):focus-visible { outline:2px solid var(--hjm-color-content-brand); outline-offset:2px; }
|
|
4031
|
+
|
|
4032
|
+
/* FollowListScreen already receives the screen body inset; external tab panels add no second gutter. */
|
|
4033
|
+
.hjm-follow-list__panel { padding-block: 0; }
|
|
4034
|
+
|
|
4035
|
+
/* Narrow pager placement without shrinking the vertical tap target or overlapping adjacent buttons. */
|
|
4036
|
+
.hjm-page-indicator[data-density="compact"][data-interactive="true"] { gap: 0; }
|
|
4037
|
+
.hjm-page-indicator[data-density="compact"] .hjm-page-indicator__dot { min-inline-size: var(--hjm-space-lg); inline-size: var(--hjm-space-lg); padding-inline: 0; }
|
|
4038
|
+
|
|
4039
|
+
/* Identity navigation preserves small avatar geometry while exposing a keyboard/touch target. */
|
|
4040
|
+
.hjm-identity-action { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-inline-size: var(--hjm-identity-target); min-block-size: var(--hjm-identity-target); margin: 0; padding: 0; border: 0; border-radius: var(--hjm-radius-full, 9999px); background: transparent; color: inherit; cursor: pointer; }
|
|
4041
|
+
.hjm-identity-action > span { display: inline-flex; }
|
|
4042
|
+
.hjm-identity-action:focus-visible { outline: 2px solid var(--hjm-color-content-brand); outline-offset: 2px; }
|
|
4043
|
+
.hjm-identity-action:active { opacity: var(--hjm-identity-pressed-opacity); }
|
|
4044
|
+
.hjm-identity-action:disabled { cursor: default; }
|
|
4045
|
+
|
|
4046
|
+
/* Independent identity navigation is a sibling of row commands, including links. */
|
|
4047
|
+
.hjm-list-row__profile { display: flex; flex: 0 0 auto; padding-inline-start: var(--hjm-list-row-inline); }
|
|
4048
|
+
.hjm-list-row-frame[data-leading-action] > .hjm-list-row { padding-inline-start: 0; }
|
|
4049
|
+
.hjm-list-row-frame[data-leading-action]:not([data-trailing-action]) > .hjm-list-row { padding-inline-end: var(--hjm-list-row-inline); }
|
|
4050
|
+
|
|
4051
|
+
.hjm-card[data-activation="overlay"] .hjm-card__leading[data-interactive] { position: relative; z-index: 1; }
|
|
4052
|
+
|
|
4053
|
+
/* Header dismissal keeps a single modal surface and leaves the action viewport scrollable. */
|
|
4054
|
+
.hjm-menu__content[data-presentation="bottom"][data-dismiss-placement="header"] { background: var(--hjm-color-bg); padding: var(--hjm-space-sm); }
|
|
4055
|
+
.hjm-menu__header { display: flex; align-items: center; gap: var(--hjm-space-sm); flex-shrink: 0; }
|
|
4056
|
+
.hjm-menu__heading { flex: 1; min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
|
|
4057
|
+
.hjm-menu__title { font-weight: var(--hjm-text-emphasis-strong); }
|
|
4058
|
+
.hjm-menu__subtitle { font-size: var(--hjm-type-label-size); color: var(--hjm-color-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
4059
|
+
|
|
4060
|
+
/* Relationship lists use the large Avatar (48) and 64px rows so identity stays legible beside actions. */
|
|
4061
|
+
.hjm-follow-list__person { min-block-size: 64px; }
|
|
4062
|
+
.hjm-list-row__leading[data-size="large"] { inline-size: 48px; block-size: 48px; }
|
|
4063
|
+
.hjm-follow-list__relationship { min-inline-size: 108px; }
|