@hjmds/design-contracts 1.16.0 → 1.16.2

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/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Package release shown by documentation surfaces. Kept in sync by a test. */
2
- export declare const designSystemVersion: "1.16.0";
2
+ export declare const designSystemVersion: "1.16.2";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Package release shown by documentation surfaces. Kept in sync by a test. */
2
- export const designSystemVersion = "1.16.0";
2
+ export const designSystemVersion = "1.16.2";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAiB,CAAC","sourcesContent":["/** Package release shown by documentation surfaces. Kept in sync by a test. */\nexport const designSystemVersion = \"1.16.0\" as const;\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAiB,CAAC","sourcesContent":["/** Package release shown by documentation surfaces. Kept in sync by a test. */\nexport const designSystemVersion = \"1.16.2\" as const;\n"]}
@@ -147,3 +147,10 @@ icon/label을 제공합니다. `primaryAction`은 컬렉션 밖의 별도 원형
147
147
  선택 캡슐과 분리된 추가 행동을 참고했으며, 원본 소스는 복제하지 않았습니다.
148
148
 
149
149
  Storybook: **컴포넌트 → 탐색 → 캡슐 네비게이션**, Default/Dark/LargeText.
150
+
151
+ ### Native floating pressed-edge geometry (2026-10-08)
152
+
153
+ Spint reproduced the first/last pressed background covering the rounded frame. Edge destinations now
154
+ use the frame radius minus its border width on their logical outer corners; interior corners keep
155
+ the item radius. This preserves the existing public API, router activation and focus behavior. Do not
156
+ clip the entire elevated surface as a workaround: that also clips its shadow and focus outline.
@@ -1,6 +1,6 @@
1
1
  # Finite collection rail
2
2
 
3
- 검토일: 2026-10-07 · 새 공개 진입점 미게시(1.15.0 이후)
3
+ 검토일: 2026-10-08 · 공개 진입점: 1.16.0
4
4
 
5
5
  2026-10-07 Aceternity 다중 카드 예제와 기존 API를 대조했다. 기존 List는 세로 행 의미/구분선,
6
6
  Carousel/CarouselMotion은 단일 활성 패널의 숨김·inert·선택을 소유한다. 여러 카드가 함께 보이며
@@ -1,6 +1,6 @@
1
1
  # 디자인 프리셋 계약
2
2
 
3
- 검토일: 2026-10-07 · 상태: 기본 10종 프로필 1.15.0 게시 · 후속 글자/질감/토큰 소비 개선 미게시
3
+ 검토일: 2026-10-08 · 상태: 기본 10종 프로필 1.15.0 · 후속 글자/질감/토큰 소비 개선 1.16.0
4
4
 
5
5
  사용자가 레트로·종이·숲 등의 테마에 따라 같은 기능의 상호작용·구성·화면 배치도 자동으로 달라지고, 앱이 자기 테마를 한 번 주입하기를 요청했다. 색상 프리셋만으로는 그 요구를 충족하지 못하므로 네 축을 하나의 데이터 계약으로 둔다. 기존 상태 엔진을 테마마다 복제하는 방식은 채택하지 않는다.
6
6
 
@@ -57,7 +57,7 @@ export const productDesign = defineHjmDesignProfile({
57
57
 
58
58
  ## 현재 증거와 남은 조건
59
59
 
60
- 공통 데이터·Provider·기본 토큰 소비·상호작용 기본값·OverviewScreen 구성과 화면·양쪽 Storybook 비교를 구현했다. 2026-10-07 npm 1.15.0의 세 tarball integrity와 design-profile 진입점, 기본 10종 계약을 확인했다. 후속 CollectionRail·Text.fontRole·ruledSpacing과 토큰 소비 개선은 해당 게시본에 포함되지 않는다. 필요한 후보 조사는 마감했고, 확인한 모서리·제목 메트릭·UI 라벨·Toast 행간 누락을 [후속 QA](../../../docs/qa/2026-10-07-design-profile-research.md)에 따라 수정했다. 이는 모든 공개 컴포넌트/플랫폼 자동 검수 완료가 아니다.
60
+ 공통 데이터·Provider·기본 토큰 소비·상호작용 기본값·OverviewScreen 구성과 화면·양쪽 Storybook 비교를 구현했다. 2026-10-07 npm 1.15.0의 세 tarball integrity와 design-profile 진입점, 기본 10종 계약을 확인했다. 후속 CollectionRail·Text.fontRole·ruledSpacing과 토큰 소비 개선은 해당 1.15.0 게시본에 포함되지 않으며, 2026-10-08 npm 세 tarball을 검증한 1.16.0부터 제공한다. 필요한 후보 조사는 마감했고, 확인한 모서리·제목 메트릭·UI 라벨·Toast 행간 누락을 [후속 QA](../../../docs/qa/2026-10-07-design-profile-research.md)에 따라 수정했다. 이는 모든 공개 컴포넌트/플랫폼 자동 검수 완료가 아니다.
61
61
 
62
62
  브라우저의 입력 유지·복구와 선택 환경은 위 QA에, 기존 iPhone 17 Pro/iOS26.5 개발 호스트에서 수행한 테마·카드/글자/종이·전환/날짜/명령·독립 OverviewScreen 선택 흐름은 [Native QA](../../../docs/qa/2026-10-07-native-reference-validation.md)에 있다. Android·실물/Release 성능·실제 VoiceOver 순회와 소비 앱 반영은 미확인이다. OS 최대 글자 및 최대값 모사는 검사·후속·완료 조건에서 제외한다. 기본 npm 게시와 실험 승급, 후속 npm 게시, 소비 제품 적용을 각각 구분한다.
63
63
 
@@ -270,14 +270,14 @@ fallback은 유지한다. Web은 일반 Toast fallback이므로 Native 효과를
270
270
  2026-10-07 A-05/C-T01 적용: optional `tokens.fontFamily.display/reading`은 제목과 본문 역할을
271
271
  독립적으로 지정한다. 생략하면 현재 ui stack을 따르므로 기존 ui-only 제품 설정은 유지된다.
272
272
  Heading/Text의 의미·크기·굵기와 입력/버튼의 ui는 바꾸지 않는다. `Text.fontRole`로 명시 역할을 선택한다.
273
- [역할 계약](font-roles.md)과 [사용 지침](usage/tokens/font-roles.md)을 따른다. 이 추가 API는 1.15.0 이후 미게시다.
273
+ [역할 계약](font-roles.md)과 [사용 지침](usage/tokens/font-roles.md)을 따른다. 이 추가 API는 1.16.0부터 제공한다.
274
274
 
275
275
  ## 종이 줄무늬와 앱 소유 표현
276
276
 
277
277
  2026-10-07 A-02의 줄무늬는 기존 점/노이즈와 구분되는 표현이라 EffectSurface의 정적 ruled 레이어로 보완했다.
278
278
  paper canvas는 grain+ruled/intensity0.06/ruledSpacing24다. 실제 내용은 회전하거나 선의 기준에 맞추지 않는다.
279
279
  앱은 `material.canvas`를 grain만으로 교체하거나 ruledSpacing을 지정한다. 새로운 종이 상태/입력 엔진은 없다.
280
- 이 변경은 1.15.0 이후 미게시이며 [실험 사용 지침](usage/compositions/paper-surface.md)과 [질감 계약](effect-surface.md)을 따른다.
280
+ 이 변경은 1.16.0부터 제공하며 [사용 지침](usage/compositions/paper-surface.md)과 [질감 계약](effect-surface.md)을 따른다.
281
281
 
282
282
 
283
283
  ## 플로팅 실행 버튼의 깊이 상속
@@ -1,6 +1,6 @@
1
1
  # Display, reading and technical font roles
2
2
 
3
- 검토일: 2026-10-07 · 추가 역할은 1.15.0 이후 미게시
3
+ 검토일: 2026-10-08 · 추가 역할: 1.16.0
4
4
 
5
5
  조사 후보 A-05/C-T01은 제목과 읽기 본문에 다른 서체를 사용하는 실제 차이를 남겼다.
6
6
  기존 `tokens.fontFamily.ui/code`만으로는 크기를 변경해도 이 차이를 전달할 수 없었다.
@@ -36,7 +36,7 @@ iOS는 Apple이 열거한 동일 시스템 이름, 다른 Native host는 serif
36
36
 
37
37
  [사용 지침](usage/tokens/font-roles.md)·[프로필](design-profile.md)·[타이포그래피](usage/tokens/typography.md)를 함께 따른다.
38
38
 
39
- ## 조작 라벨과 읽기 본문의 구분 — 미게시
39
+ ## 조작 라벨과 읽기 본문의 구분 — 1.16.0
40
40
 
41
41
  2026-10-07 소비 감사에서 Native 조작 라벨 24곳이 body/bodyLarge 크기를 사용하면서 읽기 서체로 해석됐다.
42
42
  Button의 내부 라벨·제공자 버튼·ToggleGroup·선택 컨트롤·Switch·SegmentedControl·Chip·Tabs·Menu·Select·
@@ -1,6 +1,6 @@
1
1
  # Component maturity and evidence manifest
2
2
 
3
- > Generated from `@hjmds/design-contracts` 1.16.0. Do not edit this file directly; run `pnpm contracts:sync`.
3
+ > Generated from `@hjmds/design-contracts` 1.16.2. Do not edit this file directly; run `pnpm contracts:sync`.
4
4
 
5
5
  This document is the human-readable projection of the same catalog and Showcase manifest consumed by product CI.
6
6
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "designSystemVersion": "1.16.0",
3
+ "designSystemVersion": "1.16.2",
4
4
  "source": "packages/design-contracts/docs/generated/showcase-manifest.json",
5
5
  "surfaces": {
6
6
  "web": {
7
7
  "packageName": "@hjmds/react",
8
- "packageVersion": "1.16.0",
8
+ "packageVersion": "1.16.2",
9
9
  "activeComponents": 103,
10
10
  "claimedComponents": 103,
11
11
  "completeScenarioComponents": 103,
@@ -5642,7 +5642,7 @@
5642
5642
  },
5643
5643
  "native": {
5644
5644
  "packageName": "@hjmds/react-native",
5645
- "packageVersion": "1.16.0",
5645
+ "packageVersion": "1.16.2",
5646
5646
  "activeComponents": 83,
5647
5647
  "claimedComponents": 83,
5648
5648
  "completeScenarioComponents": 83,
@@ -1,6 +1,6 @@
1
1
  # Renderer evidence coverage
2
2
 
3
- > Generated for HJM 1.16.0. Do not edit directly; run `pnpm evidence:sync`.
3
+ > Generated for HJM 1.16.2. Do not edit directly; run `pnpm evidence:sync`.
4
4
 
5
5
  This projection joins the canonical surface maturity manifest with first-party renderer claims. Missing scenarios are explicit beta promotion debt; stable surfaces are blocked by CI until none remain.
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "designSystemVersion": "1.16.0",
3
+ "designSystemVersion": "1.16.2",
4
4
  "packageName": "@hjmds/design-contracts",
5
5
  "components": [
6
6
  {
@@ -376,3 +376,7 @@ Web·Native가 같은 규칙이라 홈 actions 병합이나 콜백 분리는 양
376
376
  - `./screens`, `./screen-flows`, `./saved-items`의 화면 루트는 ScreenLayout을 통해
377
377
  `layoutStyle`을 받는다(Native ScreenLayout과 같음). ListDetailScreen·SavedItemsScreen은
378
378
  목록·상세를 감싸는 바깥 host에 적용한다. PhotoSourceSheet는 portal Sheet라 제외한다.
379
+
380
+ CommentThreadItem.actions sits beside likeAction in one inline row, with spacing.xxs between them,
381
+ since the 2026-10-07 user requested a vertical-ellipsis overflow next to the heart. The slot remains
382
+ product-owned and nullable custom likeAction remains supported; action handlers are independent.
@@ -4,7 +4,7 @@
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
6
  - 적용: 1.12.1
7
- - 검토일: 2026-10-07
7
+ - 검토일: 2026-10-08
8
8
  - 근거: [BottomNavigation](../../bottom-navigation.md), recipe `bottomNavigationRecipe`
9
9
  - 스토리북: `배포/컴포넌트/탐색/하단 탐색`
10
10
 
@@ -87,6 +87,8 @@ import { BottomNavigation } from "@hjmds/react-native/navigation";
87
87
 
88
88
  ## 배치
89
89
 
90
+ 2026-10-08 Spint 누름 상태 점검: Native floating의 양 끝 항목은 프레임 안쪽 곡률을 따라 누름 배경을 그린다. 작은 일반 항목 모서리가 프레임을 덮던 문제를 수정하며, 전체 표면 clipping으로 그림자·포커스를 자르지 않는다.
91
+
90
92
  Native floating 프레임·선택 표시·항목 모서리는 각 recipe radius 역할을 Provider token에서 읽는다. full/capsule 원형 역할과 목적지·키보드 동작은 유지한다.
91
93
 
92
94
  | 항목 | 값 | 근거 |
@@ -4,7 +4,7 @@
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
6
  - 적용: 미게시(1.12.1 이후)
7
- - 검토일: 2026-10-06
7
+ - 검토일: 2026-10-07
8
8
  - 근거: [반복 화면 조합](../../screen-patterns.md), Web·Native `src/screens.tsx`·`src/screen-flows.tsx`; 기존 개별 지침을 새 규격으로 통합. 예제 스토리는 2026-10-06 사용자 승인으로 스토리북 배포([승인 기록](../../../../../docs/STORYBOOK_NAVIGATION.md#21-2026-10-06-전체-승격과-규격-확정)). 스토리북 배포는 API 게시가 아니다(`적용` 참고)
9
9
  - 스토리북: `배포/화면/소통/댓글`
10
10
 
@@ -88,15 +88,15 @@ import { MessageComposer } from "@hjmds/react-native/screens";
88
88
 
89
89
  `CommentThreadItem`: `id`, `parentId`(`null`이면 최상위), `author`, `body`(노드), `timeLabel`, `likeCountLabel`,
90
90
  `likeIcon`, `likeLabel`은 필수. 선택은 `bodyText`(작성자와 본문을 한 줄 흐름으로), `avatar`, `likeAction`(기본
91
- 좋아요 버튼 교체, `null`이면 생략), `actions`(신고·수정 등), `canReply`(기본: 최상위만 true), `replyDisabled`.
91
+ 좋아요 버튼 교체, `null`이면 생략), `actions`(하트 바로 옆의 더보기 메뉴 등), `canReply`(기본: 최상위만 true), `replyDisabled`.
92
92
 
93
93
  ## 배치
94
94
 
95
95
  | 항목 | 값 | 근거 |
96
96
  | --- | --- | --- |
97
- | 크기 | ScreenLayout 폭(최대 720); 본문 열이 남은 폭을 채우고(`flex: 1`, 최소 폭 0) 오른쪽 끝에 좋아요 `IconButton` 하나; 답글·펼침 버튼은 `Button size="small"` ghost | Web·Native `CommentThreadScreen` |
98
- | 간격 | 화면 padding `spacing.md` 16; 최상위 댓글 묶음 사이 `spacing.lg` 20; 댓글 행–답글 묶음 `spacing.xs` 8; 답글 묶음 들여쓰기 `sectionGap`(`spacing.xl`) 24, 펼침 버튼·답글 사이 `spacing.md` 16; 행 안 아바타–본문–좋아요 `spacing.sm` 12, 본문 줄 사이 `spacing.xxs` 4, 시각·좋아요 수·답글 버튼 사이 `spacing.sm` 12 | `screen-flows.tsx` `Stack gap`, `screenPatternRecipe.sectionGap` |
99
- | 순서·정렬 | 최상위 댓글(아바타 → 작성자·본문 → 시각·좋아요 수·답글 → `actions` → 좋아요) → 답글 펼침 버튼 → 펼친 답글 → … → `threadFooter` → composer(footer) | 렌더 순서 |
97
+ | 크기 | ScreenLayout 폭(최대 720); 본문 열이 남은 폭을 채우고(`flex: 1`, 최소 폭 0) 오른쪽 끝에 좋아요와 `actions`를 같은 가로 행으로; 답글·펼침 버튼은 `Button size="small"` ghost | Web·Native `CommentThreadScreen` |
98
+ | 간격 | 화면 padding `spacing.md` 16; 최상위 댓글 묶음 사이 `spacing.lg` 20; 댓글 행–답글 묶음 `spacing.xs` 8; 답글 묶음 들여쓰기 `sectionGap`(`spacing.xl`) 24, 펼침 버튼·답글 사이 `spacing.md` 16; 행 안 아바타–본문–좋아요 `spacing.sm` 12, 본문 줄 사이 `spacing.xxs` 4, 좋아요–actions 사이 `spacing.xxs` 4, 시각·좋아요 수·답글 버튼 사이 `spacing.sm` 12 | `screen-flows.tsx` `Stack gap`, `screenPatternRecipe.sectionGap` |
99
+ | 순서·정렬 | 최상위 댓글(아바타 → 작성자·본문 → 시각·좋아요 수·답글) + 행 오른쪽 좋아요 → `actions` → 답글 펼침 버튼 → 펼친 답글 → … → `threadFooter` → composer(footer) | 렌더 순서 |
100
100
  | 고정·스크롤 | 헤더·composer 고정, 댓글은 본문 화면 스크롤(`scroll` 기본 `"screen"`); composer는 `ready`·`empty`에서만 | `ScreenLayout`, `screen-flows.tsx` |
101
101
  | 좁은 폭·큰 글자 | 시각·좋아요 수·답글 버튼 줄과 작성자 줄은 줄바꿈(`flexWrap: "wrap"`); 답글은 한 단계만 들여써 좁은 폭에서도 본문 폭을 지킨다 | `screen-flows.tsx` |
102
102
 
@@ -123,3 +123,10 @@ import { MessageComposer } from "@hjmds/react-native/screens";
123
123
 
124
124
  - 작성창 노출 조건이 ChatScreen과 다르다. ChatScreen은 `ready`에서만, CommentThreadScreen은 `ready`·`empty`에서 보인다.
125
125
  `loading`·`error`·`restricted`에서는 둘 다 숨는다.
126
+
127
+ 2026-10-07 사용자 요청으로 댓글의 추가 행동을 본문 아래에서 하트 바로 옆으로 옮겼다.
128
+ 기존 위치는 답글 행동과 섞였고 세로로 쌓으면 하트와 더보기의 관계가 떨어져 보였다.
129
+ 두 버튼은 같은 가로 행이며 더보기 glyph는 세로 점3개(`MoreVertical`)를 제품이 Menu
130
+ trigger로 공급한다. `actions`는 자유 노드 슬롯을 유지하고 메뉴 권한/항목/전송은 제품 소유다.
131
+ 순서는 좋아요 → 더보기이며 RTL에서는 논리 방향을 따른다. `likeAction=null`도 그대로 지원한다.
132
+ 이 배치 수정은 1.14.0 이후 미게시 변경이며 npm/제품 배포와 별개다.
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.15.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [원제품과 기존 API 대조](../../../../../docs/plans/aceternity-interaction-adoption-2026-10-07.md), 양 Showcase `collection-detail-preview.tsx`
9
9
  - 스토리북: `배포/구성/직접 조작과 모션/카드 상세 연결`
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.14.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [후보 조사](../../../../../docs/qa/2026-10-07-reference-parallel-b.md), 양 Showcase `command-records-preview.tsx`
9
9
  - 스토리북: `배포/구성/정보 표시/명령 기록 표시`
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.14.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [Motion 검토](../../../../../docs/qa/2026-10-07-motion-reference-page-review.md), 양 Showcase `content-transition-comparison-preview.tsx`
9
9
  - 스토리북: `배포/구성/비교와 검증/내용 전환 비교`
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.14.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [Magic 조사](../../../../../docs/qa/2026-10-07-reference-parallel-b.md), 양 Showcase `date-time-selection-preview.tsx`, shared `date-time-selection.ts`
9
9
  - 스토리북: `배포/구성/선택과 필터/날짜와 시각 선택`
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.14.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [프로필 계약](../../design-profile.md), [조사와 QA](../../../../../docs/qa/2026-10-07-design-profile-research.md), 두 Showcase `design-profile-preview.tsx`
9
9
  - 스토리북: `배포/구성/비교와 검증/테마 조합`
@@ -3,7 +3,7 @@
3
3
  - 단계: 구성
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.15.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [EffectSurface 계약](../../effect-surface.md), A-02 종이 표현 후보의 줄무늬 보완
9
9
  - 스토리북: `배포/구성/비교와 검증/종이 줄무늬 비교`
@@ -4,7 +4,7 @@
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
6
  - 적용: 미게시(1.12.1 이후)
7
- - 검토일: 2026-10-06
7
+ - 검토일: 2026-10-07
8
8
  - 근거: [반복 화면 조합](../../screen-patterns.md); 공통 API와 실제 Web·Native 예제의 슬롯·상태를 대조해 중복 조립 방지. 2026-10-06 사용자 승인으로 스토리북 배포(이전 `실험/화면/공통 화면/댓글`, [승인 기록](../../../../../docs/STORYBOOK_NAVIGATION.md#21-2026-10-06-전체-승격과-규격-확정))
9
9
  - 스토리북: `배포/화면/소통/댓글`
10
10
 
@@ -29,7 +29,7 @@ host: 남은 높이·safe area·키보드
29
29
 
30
30
  | 행동 | 컴포넌트·tone | 위치 | 개수·순서 |
31
31
  | --- | --- | --- | --- |
32
- | 작업 | CommentThreadScreen 공개 행동 슬롯 | 좋아요·답글은 각 댓글; 보내기는 하단 composer | 같은 표면에 경쟁하는 primary 하나만 |
32
+ | 작업 | CommentThreadScreen 공개 행동 슬롯 | 좋아요와 세로 점 더보기는 댓글 오른쪽의 같은 행; 답글은 본문 아래; 보내기는 하단 composer | 같은 표면에 경쟁하는 primary 하나만 |
33
33
  | 복구 | Button·secondary | 오류 근처 | 재시도할 대상과 범위를 표시 |
34
34
 
35
35
  ## 상태
@@ -106,3 +106,7 @@ import { MessageComposer } from "@hjmds/react-native/screens";
106
106
 
107
107
  - 빈 댓글에서도 작성창 유지; 실패한 전송은 초안 유지.
108
108
  - Storybook은 실제 서버·OS 권한·라우터 연동 증거가 아니다. 기본·다크·큰 글자와 실패/복구를 각각 확인한다.
109
+
110
+ 2026-10-07 하트 옆 더보기 요청에 따라 두 renderer의 `CommentThreadItem.actions`를
111
+ 좋아요 바로 뒤에 둔다. Storybook 예제는 공개 Menu와 MoreVertical을 쓰며 메뉴의 답글/좋아요는
112
+ 기존 controlled callback을 호출한다. 제품의 신고·삭제 권한이나 서버를 예제에서 추정하지 않는다.
@@ -3,7 +3,7 @@
3
3
  - 단계: 토큰
4
4
  - 상태: 배포
5
5
  - 지원: Web · Native
6
- - 적용: 미게시(1.15.0 이후)
6
+ - 적용: 1.16.0
7
7
  - 검토일: 2026-10-08
8
8
  - 근거: [서체 역할 계약](../../font-roles.md), `src/foundations.ts`, `src/design-profile.ts`, 양 renderer Text/Heading/Provider
9
9
  - 스토리북: `배포/토큰/색과 글자/표시·읽기·기술 글자`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hjmds/design-contracts",
3
- "version": "1.16.0",
3
+ "version": "1.16.2",
4
4
  "description": "Renderer-neutral design contracts, tokens, recipes, and behaviors shared by HJM products.",
5
5
  "license": "MIT",
6
6
  "repository": {