@hjmds/react 1.42.0 → 1.44.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/communication.d.ts +103 -0
- package/dist/communication.d.ts.map +1 -1
- package/dist/communication.js +74 -2
- package/dist/communication.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/public-exports.generated.d.ts +6 -0
- package/dist/public-exports.generated.d.ts.map +1 -1
- package/dist/public-exports.generated.js +18 -0
- package/dist/public-exports.generated.js.map +1 -1
- package/dist/screens.js +1 -1
- package/dist/screens.js.map +1 -1
- package/dist/styles.css +32 -6
- package/dist/styles.layered.css +32 -6
- package/package.json +3 -3
package/dist/styles.layered.css
CHANGED
|
@@ -1110,6 +1110,7 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
1110
1110
|
/* listRowRecipe title bodyLarge / description body (2026-10-17: Web inherited 14 for both while Native used the recipe). */
|
|
1111
1111
|
.hjm-list-row__title { 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; }
|
|
1112
1112
|
.hjm-list-row[data-tone="danger"] .hjm-list-row__title { color: var(--hjm-color-danger); }
|
|
1113
|
+
.hjm-list-row[data-tone="brand"] .hjm-list-row__title { color: var(--hjm-color-content-brand); }
|
|
1113
1114
|
.hjm-list-row__description, .hjm-list-row__trailing { color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
|
|
1114
1115
|
.hjm-list-row__description { font-size: var(--hjm-type-body-size); line-height: var(--hjm-type-body-line-height); }
|
|
1115
1116
|
|
|
@@ -3531,14 +3532,17 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
3531
3532
|
/* Wrapped bubbles (reaction trigger anchors) must shrink so the time stays beside them. */
|
|
3532
3533
|
.hjm-chat-message__body > :not(.hjm-chat-message__meta) { flex: 0 1 auto; min-inline-size: 0; }
|
|
3533
3534
|
.hjm-chat-message[data-direction="outgoing"] .hjm-chat-message__body { flex-direction: row-reverse; }
|
|
3534
|
-
|
|
3535
|
-
.hjm-chat-
|
|
3535
|
+
/* Incoming bubbles use the alternate surface because the light canvas and surface are both white. */
|
|
3536
|
+
.hjm-chat-message__bubble { border-radius: 14px; background: var(--hjm-color-surface-alt); padding: 6px 10px; min-inline-size: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
|
|
3537
|
+
/* iMessage-style filled authorship contrast; the product primary/onPrimary pair stays authoritative. */
|
|
3538
|
+
.hjm-chat-message[data-direction="outgoing"] .hjm-chat-message__bubble { background: var(--hjm-color-primary); color: var(--hjm-color-on-primary); }
|
|
3539
|
+
.hjm-chat-message[data-direction="outgoing"] .hjm-chat-message__bubble .hjm-text:is([data-tone="primary"], [data-tone="body"], [data-tone="muted"], [data-tone="subtle"], [data-tone="weak"]) { color: var(--hjm-color-on-primary); }
|
|
3536
3540
|
/* Tighten the first corner to join the overlapping rounded tip. */
|
|
3537
3541
|
.hjm-chat-message[data-tail] .hjm-chat-message__bubble { position: relative; border-start-start-radius: 4px; }
|
|
3538
3542
|
/* The reference tip follows the top edge; its curved underside joins the bubble (2026-10-20). */
|
|
3539
|
-
.hjm-chat-message[data-tail] .hjm-chat-message__bubble::before { content: ""; position: absolute; top: 0; inset-inline-start: -6px; width: 11px; height: 10px; border-start-start-radius: 1px; border-end-start-radius: 10px; background: var(--hjm-color-surface); pointer-events: none; }
|
|
3543
|
+
.hjm-chat-message[data-tail] .hjm-chat-message__bubble::before { content: ""; position: absolute; top: 0; inset-inline-start: -6px; width: 11px; height: 10px; border-start-start-radius: 1px; border-end-start-radius: 10px; background: var(--hjm-color-surface-alt); pointer-events: none; }
|
|
3540
3544
|
.hjm-chat-message[data-tail][data-direction="outgoing"] .hjm-chat-message__bubble { border-start-start-radius: 14px; border-start-end-radius: 4px; }
|
|
3541
|
-
.hjm-chat-message[data-tail][data-direction="outgoing"] .hjm-chat-message__bubble::before { inset-inline-start: auto; inset-inline-end: -6px; border-start-start-radius: 0; border-end-start-radius: 0; border-start-end-radius: 1px; border-end-end-radius: 10px; background: var(--hjm-color-
|
|
3545
|
+
.hjm-chat-message[data-tail][data-direction="outgoing"] .hjm-chat-message__bubble::before { inset-inline-start: auto; inset-inline-end: -6px; border-start-start-radius: 0; border-end-start-radius: 0; border-start-end-radius: 1px; border-end-end-radius: 10px; background: var(--hjm-color-primary); }
|
|
3542
3546
|
/* Logical corner radii and insets mirror the curved tail in RTL. */
|
|
3543
3547
|
|
|
3544
3548
|
.hjm-chat-message__meta { display: flex; flex-shrink: 0; align-items: center; gap: var(--hjm-space-xs); }
|
|
@@ -3556,8 +3560,12 @@ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
|
|
|
3556
3560
|
@media (prefers-reduced-motion: reduce) { .hjm-typing-indicator__dot { animation: none; } }
|
|
3557
3561
|
@keyframes hjm-typing-pulse { 0%, 100% { opacity: var(--hjm-typing-rest); } 50% { opacity: 1; } }
|
|
3558
3562
|
/* A quoted reply heads the bubble and is divided from the answer. */
|
|
3559
|
-
|
|
3560
|
-
.hjm-chat-
|
|
3563
|
+
/* Telegram-style quote: a tinted inset whose rounded box clips a straight leading rail. A one-sided border would follow the radius and taper at both ends. */
|
|
3564
|
+
.hjm-chat-message__reply { position: relative; overflow: hidden; border-radius: var(--hjm-radius-sm); padding: var(--hjm-space-xs); padding-inline-start: calc(3px + var(--hjm-space-xs)); background: color-mix(in srgb, var(--hjm-color-content-brand) 12%, transparent); margin-block-end: var(--hjm-space-xs); display: flex; flex-direction: column; gap: 2px; min-inline-size: 0; }
|
|
3565
|
+
.hjm-chat-message__reply::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; inline-size: 3px; background: var(--hjm-color-content-brand); }
|
|
3566
|
+
.hjm-chat-message[data-direction="outgoing"] .hjm-chat-message__reply { background: color-mix(in srgb, var(--hjm-color-on-primary) 12%, transparent); }
|
|
3567
|
+
.hjm-chat-message[data-direction="outgoing"] .hjm-chat-message__reply::before { background: var(--hjm-color-on-primary); }
|
|
3568
|
+
.hjm-chat-message__quote { inline-size: 100%; border: 0; color: inherit; font: inherit; text-align: start; cursor: pointer; }
|
|
3561
3569
|
.hjm-chat-message__quote:focus-visible { outline: 2px solid var(--hjm-color-focus, currentColor); outline-offset: 2px; border-radius: var(--hjm-radius-sm); }
|
|
3562
3570
|
.hjm-chat-message__quote-excerpt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3563
3571
|
.hjm-chat-message__media { display: grid; border-radius: 14px; overflow: hidden; max-inline-size: 100%; }
|
|
@@ -3965,4 +3973,22 @@ button.hjm-chat-message__media-item:focus-visible { outline: 2px solid var(--hjm
|
|
|
3965
3973
|
.hjm-surface[data-tone="selected"][data-bordered="true"] { border-color: var(--hjm-color-border-control); }
|
|
3966
3974
|
.hjm-data-table__table tr[aria-selected="true"] > :is(td, th) { background-color: var(--hjm-color-surface-selected); }
|
|
3967
3975
|
|
|
3976
|
+
/* Room management (chatRoomRecipe): Telegram/KakaoTalk/WhatsApp hierarchy; canvas and surfaces follow the HJM/product theme. */
|
|
3977
|
+
.hjm-chat-room { background:var(--hjm-color-bg); padding:var(--hjm-space-md); }
|
|
3978
|
+
.hjm-chat-room__name { text-align:center; overflow-wrap:anywhere; }
|
|
3979
|
+
.hjm-chat-room__group { background:var(--hjm-color-surface); padding:var(--hjm-space-md); border-radius:var(--hjm-radius-lg); }
|
|
3980
|
+
.hjm-chat-room__group[data-flush="true"] { padding-block:var(--hjm-space-xxs); }
|
|
3981
|
+
.hjm-chat-room__heading { display:flex; align-items:baseline; gap:var(--hjm-space-xxs); }
|
|
3982
|
+
.hjm-chat-room__tools { display:flex; gap:var(--hjm-space-xs); }
|
|
3983
|
+
.hjm-chat-room__tool { flex:1; min-width:0; min-height:64px; border:0; border-radius:var(--hjm-radius-md); padding:var(--hjm-space-xs); background:var(--hjm-color-surface); color:var(--hjm-color-content-brand); cursor:pointer; }
|
|
3984
|
+
.hjm-chat-room__tool:disabled { cursor:default; opacity:.6; }
|
|
3985
|
+
.hjm-chat-room__add { display:inline-flex; align-items:center; justify-content:center; inline-size:40px; block-size:40px; border-radius:50%; background:color-mix(in srgb,var(--hjm-color-content-brand) 12%,transparent); color:var(--hjm-color-content-brand); }
|
|
3986
|
+
.hjm-chat-room__photo { display:block; padding:0; border:0; background:transparent; border-radius:50%; cursor:pointer; color:inherit; }
|
|
3987
|
+
.hjm-chat-room__badge { display:inline-flex; align-items:center; justify-content:center; inline-size:24px; block-size:24px; border-radius:50%; background:var(--hjm-color-primary); color:var(--hjm-color-on-primary); box-shadow:0 0 0 2px var(--hjm-color-bg); }
|
|
3988
|
+
.hjm-chat-room__badge[data-tone="neutral"] { inline-size:20px; block-size:20px; background:var(--hjm-color-text-muted); }
|
|
3989
|
+
.hjm-chat-room__selected { display:flex; gap:var(--hjm-space-sm); margin:0; padding:var(--hjm-space-xxs) 0; list-style:none; overflow-x:auto; scrollbar-width:none; }
|
|
3990
|
+
.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; }
|
|
3991
|
+
.hjm-chat-room__selected-name { max-inline-size:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
3992
|
+
: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; }
|
|
3993
|
+
|
|
3968
3994
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hjmds/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.44.0",
|
|
4
4
|
"description": "Accessible React 19 renderers for HJM design contracts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -623,7 +623,7 @@
|
|
|
623
623
|
"THIRD_PARTY_NOTICES.md"
|
|
624
624
|
],
|
|
625
625
|
"peerDependencies": {
|
|
626
|
-
"@hjmds/design-contracts": ">=1.
|
|
626
|
+
"@hjmds/design-contracts": ">=1.44.0 <1.45.0",
|
|
627
627
|
"react": ">=19.0.0",
|
|
628
628
|
"react-dom": ">=19.0.0",
|
|
629
629
|
"@number-flow/react": "0.6.2",
|
|
@@ -661,7 +661,7 @@
|
|
|
661
661
|
"@blobatar/react": "2.7.0",
|
|
662
662
|
"lucide-react": "1.59.0",
|
|
663
663
|
"vite": "8.3.4",
|
|
664
|
-
"@hjmds/design-contracts": "1.
|
|
664
|
+
"@hjmds/design-contracts": "1.44.0"
|
|
665
665
|
},
|
|
666
666
|
"peerDependenciesMeta": {
|
|
667
667
|
"@number-flow/react": {
|