@ihabdevteam/core 0.180.0 → 0.182.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/CHANGELOG.md +63 -0
- package/dist/components.cjs.js +14 -14
- package/dist/components.esm.css +2 -2
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +185 -185
- package/dist/ihabdevteam-core.d.ts +61 -16
- package/dist/packages/core/src/components/EmptyState.css +4 -3
- package/dist/packages/core/src/components/EmptyState.d.ts +7 -4
- package/dist/packages/core/src/components/EmptyState.js +6 -3
- package/dist/packages/core/src/components/ErrorState.css +3 -0
- package/dist/packages/core/src/components/ErrorState.d.ts +3 -1
- package/dist/packages/core/src/components/ErrorState.js +1 -1
- package/dist/packages/core/src/components/Popup/Popup.css +3 -0
- package/dist/packages/core/src/components/Popup/Popup.d.ts +14 -0
- package/dist/packages/core/src/components/Popup/Popup.js +3 -2
- package/dist/packages/core/src/components/SegmentedControl.d.ts +6 -2
- package/dist/packages/core/src/components/SegmentedControl.js +1 -1
- package/dist/packages/core/src/components/barChartTypes.d.ts +11 -1
- package/dist/packages/core/src/hooks/wordTrainingFilterModel.d.ts +3 -3
- package/dist/packages/core/src/utils/koreanSyllable.d.ts +18 -7
- package/dist/packages/core/src/utils/koreanSyllable.js +20 -16
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,69 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.182.0
|
|
11
|
+
|
|
12
|
+
### 소비자에게 먼저 — 기본값 하나와 걷어낸 prop 둘
|
|
13
|
+
|
|
14
|
+
사용자 지시 2026-09-21(놀이터 화면을 짚으며 넷).
|
|
15
|
+
|
|
16
|
+
- **`SegmentedControl` 기본 크기가 48 → 40 이다.** 코어가 제 안에서 세우는 고르개는 이미 **전부 40**(`Toolbar`·`FilterPanel`·`BarChart`·`PanelRow`…)이고,
|
|
17
|
+
옆에 서는 `Dropdown`·`TextField` 도 40 이다 — 기본값만 혼자 48 이라 **안 주고 쓴 자리가 한 급 크게** 섰다.
|
|
18
|
+
소비자 셋을 세어 보니 고르개를 세우는 **19곳이 모두 크기를 적고 있어**(말귀 18 · 소리방향성 1) 움직이는 화면은 없다.
|
|
19
|
+
48 을 원하는 자리는 `size={48}` 로 적는다. 크기를 안 적고 세우는 자리가 코어에 생기면 새 시험이 운다.
|
|
20
|
+
- **`Popup headerSegment`**: 창 머리 **오른쪽에 서는 보기 고르개**(`{ value, onChange, options, ariaLabel? }`).
|
|
21
|
+
창 하나가 갈래 둘(고객정보 · 훈련기록)을 담을 때 쓴다. `headerActions`·닫기 **앞** 에 서고 `SegmentedControl size={40}` 으로 그린다.
|
|
22
|
+
제목 칸이 먼저 줄어 **고르개가 제목을 밀어내지 않는다.** 전에는 `headerActions` 에 손으로 넣어야 했고(놀이터 시연도 그랬다) 크기·자리를 부르는 쪽마다 정했다.
|
|
23
|
+
- **`EmptyState emoji` 를 걷었다 — 아이콘은 `icon`(lucide) 하나다.** 같은 자리에 두 갈래가 있으면 제품마다 다른 것이 서고,
|
|
24
|
+
그림문자는 기기·글꼴마다 다르게 그려지며 색·크기를 토큰으로 못 맞춘다(낭독기는 "돋보기" 로 읽는다).
|
|
25
|
+
- **`EmptyState hint` 를 걷었다** — 빈 화면의 글자 줄이 넷(제목·본문·힌트·단추)이면 그것이 대신하는 목록보다 읽기 느리다.
|
|
26
|
+
할 말이 남으면 `message` 한 줄로 줄인다.
|
|
27
|
+
- **`EmptyState` 제목이 `h4` 이고 본문과 같은 색** 이다. 전에는 제목이 `body-2` 에 한 단계 옅은 색(lightGray)이라 **본문보다 뒤로 물러나** 보였다.
|
|
28
|
+
위계는 글자 등급이 준다. 같은 색으로 모을 때 `--color-gray` 를 고른 것은 `--color-lightGray` 가 흰 지면에서 AA(4.5:1)에 못 미치기 때문이다.
|
|
29
|
+
|
|
30
|
+
**소비자 확인**: `emoji`·`hint` 는 세 소비자 어디에서도 안 쓰고 있었다(말귀 `EmptyState` 17곳 전부 `icon`/`title`/`message`/`action`). 지우는 자리가 없다.
|
|
31
|
+
|
|
32
|
+
## 0.181.0
|
|
33
|
+
|
|
34
|
+
### 소비자에게 먼저 — 받침으로 고를 때 **글자도 소리도 아니던** 규칙을 고친다
|
|
35
|
+
|
|
36
|
+
`wordHasSyllableMatching`(그리고 `wordContainsJongseong`)의 **종성 매칭이 바뀐다.** 겹받침이 든 낱말을 다루는
|
|
37
|
+
소비자는 결과가 달라지므로 먼저 읽어야 한다. 말귀 전수 검수 2026-09-21 에서 나온 확정 결함이다.
|
|
38
|
+
|
|
39
|
+
**무엇이 틀렸나** — 원형이 아니면 **겹받침 구성 자모 아무거나** 로 걸렸다. 그래서
|
|
40
|
+
- `ㅅ` 을 고르면 `값(갑)·넋(넉)·몫(목)·삯(삭)` 이 함께 나왔다 — 그 받침 소리는 ㅂ·ㄱ·ㄱ·ㄱ 이다.
|
|
41
|
+
- `ㄱ` 에는 `넋·몫·삯·닭·흙` 은 드는데 **소리가 같은 `밖(박)·녘(녁)` 은 안 들었다** — 한쪽은 넓고 한쪽은 좁았다.
|
|
42
|
+
- 라이브 낱말 23,000 중 겹받침이 든 **308개**가 제 받침 소리가 아닌 자모로 한 번씩 더 걸렸다.
|
|
43
|
+
|
|
44
|
+
주석은 "글자 입력은 원형, 발음 입력은 대표음" 이라 적고 있었지만 **함수에 모드 인자가 없었고**, 구성 자모는 대표음이 아니다.
|
|
45
|
+
아픈 자리는 말귀의 단어표·대립쌍표·단어훈련 만들기 — "ㅅ 받침 떼는 연습" 을 고른 치료사에게 받침 소리가 ㅂ·ㄱ 인 낱말이 섞여 나왔다.
|
|
46
|
+
|
|
47
|
+
**무엇이 되나** — 이름 있는 두 규칙(`JongMatch`)이다.
|
|
48
|
+
- `'glyph'`(**기본**): 쓰인 글자 그대로. `ㅅ` 은 받침이 `ㅅ` 인 음절만, 겹받침은 제 원형(`ㅄ`)으로만.
|
|
49
|
+
- `'phoneme'`: 받침 **소리**로. `ㄱ` 에 `ㄱ·ㄲ·ㅋ·ㄳ·ㄺ`(국·밖·녘·넋·닭)이 함께 든다.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
wordHasSyllableMatching(word, parts, position?, jongMatch?) // 넷째 인자가 늘었다(기본 'glyph')
|
|
53
|
+
wordContainsJongseong(word, jamo, jongMatch?) // 셋째 인자가 늘었다(기본 'glyph')
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**발음 입력 화면은 건드릴 것이 없다** — 그쪽은 넘기는 낱말 자체가 표준발음이라 겹받침이 나오지 않는다.
|
|
57
|
+
`wordContainsPhoneme`(초성 거르개)은 "어디든 이 자모가 있나" 라는 다른 뜻이라 그대로 둔다.
|
|
58
|
+
|
|
59
|
+
**시험 셋이 옛 동작을 옳은 것으로 적어 두고 있었다**(`값`이 `ㅂ`·`ㅅ` 둘 다로 잡힌다 등). 기대치를 고치고 왜 고쳤는지 그 자리에 적었다.
|
|
60
|
+
|
|
61
|
+
### `EmptyState` action 단추 크기
|
|
62
|
+
|
|
63
|
+
- **`action.size`**(`40` 기본 · `48` · `56`): 빈 화면이 한 쪽을 통째로 차지하면 40 은 작다. 소비자가 키·최소폭·모서리를
|
|
64
|
+
앱 CSS 로 덮던 자리다(말귀 고객관리). 코어 `Button` 을 안 쓰고 클래스를 적는 것은 `aria-busy`(약속이 끝날 때까지 알림) 때문이고,
|
|
65
|
+
이제 크기만 그 prop 이 정한다.
|
|
66
|
+
|
|
67
|
+
### 함께 나가는 것 — 미배포로 쌓여 있던 문서
|
|
68
|
+
|
|
69
|
+
- **`BarChart avgMode` 의 셈을 문서에 못박았다**(코드는 안 바뀌었다). "경과한 일별 `a` 평균" 까지만 적혀 있어
|
|
70
|
+
**분모에 기록 없는 날(0)이 든다는 것**과 **월 보기는 주 막대가 아니라 `daily` 를 잰다는 것**(주가 달 경계를 넘기 때문)이
|
|
71
|
+
빠져 있었다. 말귀가 검수하다 막대 평균으로 머리 수를 맞추려다 못 맞췄다(실제 자료로는 217 / 18(경과일) = 12.06).
|
|
72
|
+
|
|
10
73
|
## 0.180.0
|
|
11
74
|
|
|
12
75
|
### 소비자에게 먼저 — 같은 요구가 여러 자리에 흩어져 있던 둘, 그리고 넘김 하나
|