@ihabdevteam/core 0.254.0 → 0.256.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 +97 -0
- package/dist/components.cjs.js +24 -24
- package/dist/components.esm.css +2 -2
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +14 -14
- package/dist/ihabdevteam-core.d.ts +24 -3
- package/dist/packages/core/src/components/Calendar.css +6 -0
- package/dist/packages/core/src/components/Calendar.js +23 -1
- package/dist/packages/core/src/components/Toast.css +27 -3
- package/dist/packages/core/src/components/Toast.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingCard.d.ts +15 -1
- package/dist/packages/core/src/components/Training/TrainingCard.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingCardGroup.d.ts +8 -1
- package/dist/packages/core/src/components/Training/TrainingCardGroup.js +10 -2
- package/dist/packages/core/src/i18n/locales/en.json +5 -1
- package/dist/packages/core/src/i18n/locales/ko.json +5 -1
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,103 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.256.0
|
|
11
|
+
|
|
12
|
+
### 훈련 카드가 **단추 안 단추**였다 — `TrainingCard` (말귀 요청 (65))
|
|
13
|
+
|
|
14
|
+
카드는 `role="button"` 인데 그 안 `topActions` 에 진짜 `<button>`(더보기)이 든다. `role="button"`
|
|
15
|
+
의 이름은 **안 글자 전부**로 지어지므로 안쪽 단추의 이름까지 삼켰다. 말귀 실측(나의 단어훈련
|
|
16
|
+
375px, **그 화면 카드 여섯 장 전부**):
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
훈련하자!! (복사) 훈련하자!! (복사) 더보기 음절 2개 합치기 1 같은 소리 단어 고르기 3 3개월 전
|
|
20
|
+
└ 제목 ─────┘ └ 안쪽 단추 이름 ──────┘
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
제목이 두 번 읽히고 사이에 `더보기` 가 꼈다. 0.254.0 에서 `Table` 머리에 걷은 것과 같은 집안이고,
|
|
24
|
+
**`TrainingBlockButton` 이 이미 같은 길로 풀어 둔 자리**다 — 겉에 `aria-label` 을 주어 이름을
|
|
25
|
+
내용으로 안 짓는다. 그 본을 그대로 따라 `ariaLabel` 을 열고, 안 주면 `title` 을 쓴다.
|
|
26
|
+
|
|
27
|
+
> **값을 치른다** — 갈래별 수와 마지막 쓴 날이 이름에서 빠진다(`TrainingBlockButton` 때
|
|
28
|
+
> `3문장` 이 빠진 것과 같다). 코어는 children 의 뜻을 모르므로 제목까지만 지을 수 있다.
|
|
29
|
+
> 그것까지 들려주려면 부르는 쪽이 `ariaLabel` 에 갖춰 쓴 이름을 넘긴다.
|
|
30
|
+
|
|
31
|
+
### **내가 쓴 지침 한 줄이 틀렸다** — `TrainingCardGroup` 의 `접기`·`정렬`
|
|
32
|
+
|
|
33
|
+
(54)① 머리말에 *"이름 있는 지역이 서면 단추 이름은 짧은 채로 둬도 된다(지역이 가린다)"* 고
|
|
34
|
+
적어 두었다. **그 말이 틀렸다.** `role="group"` 은 landmark 가 아니다 — 초점이 묶음 안으로
|
|
35
|
+
들어가 읽을 때는 묶음 이름이 먼저 읽히니 맞지만, **낭독기로 단추 목록을 훑는 길**에서는 묶음
|
|
36
|
+
맥락이 안 따라온다. 바로 윗줄에 내가 적어 둔 *"`접기` 가 세 번 선다"* 가 그대로 남는 것이다.
|
|
37
|
+
**한 조각 안에서 앞뒤가 서로를 부정하고 있었다.**
|
|
38
|
+
|
|
39
|
+
말귀가 그 한 줄을 믿고 **앱 세 파일에서 그룹 이름을 걷으려다** 물어 와서 드러났다. 혼자
|
|
40
|
+
뒤집지 않고 물어본 쪽이 맞았다.
|
|
41
|
+
|
|
42
|
+
이제 코어가 제 단추에 묶음 이름을 직접 단다 — `내 훈련 접기` · `내 훈련 정렬`
|
|
43
|
+
(`common.collapseFor` · `expandFor` · `sortFor`, 이미 있던 `moreFor` 와 같은 집안). 제목이
|
|
44
|
+
글자가 아니면 지을 이름이 없으니 짧은 이름으로 돌아간다.
|
|
45
|
+
|
|
46
|
+
> **틀린 믿음을 시험도 지키고 있었다** — `toBe('접기')` 를 박아 둔 시험 이름이 하필
|
|
47
|
+
> *"`접기` 이름은 짧은 채로 둔다 — 지역이 가려 준다"* 였다. 뒤집었다.
|
|
48
|
+
|
|
49
|
+
### 달력의 **좁은 칸 꼴**이 예약·미방문을 `방문` 이라 말했다 — `Calendar` (말귀 요청 (66))
|
|
50
|
+
|
|
51
|
+
칸이 좁아지면 이름표가 접히고 점 하나 + 수가 대신 선다(`@container (max-width: 96px)`).
|
|
52
|
+
그 꼴이 **세 갈래를 하나로 뭉갰다** — 머리 바로 위 범례는 셋이라고 적어 둔 채로.
|
|
53
|
+
|
|
54
|
+
| | 넓은 칸(이름표) | 좁은 칸(점 + 수) — 전 | 좁은 칸 — 후 |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| 예약 하나뿐인 날 | `… 예약` | **`방문 1건`** · 방문 색 | `예약 1건` · 예약 색 |
|
|
57
|
+
| 미방문뿐인 날 | `… 미방문` | **`방문 1건`** | `미방문 1건` |
|
|
58
|
+
| 섞인 날 | 갈래마다 | **`방문 2건`** | `방문 1건 · 예약 1건` |
|
|
59
|
+
|
|
60
|
+
**아직 안 온 예약과 안 온 것(미방문)을 치료사가 "왔다" 로 읽었다.** 드문 자리가 아니다 —
|
|
61
|
+
375 에서 칸이 37px, **1189 에서도 111px** 이라 둘 다 이 꼴이 선다. 넓은 칸 이름표는 멀쩡해서
|
|
62
|
+
그쪽만 보면 안 보인다.
|
|
63
|
+
|
|
64
|
+
점도 갈래마다 **범례와 같은 세 색**을 쓴다. 낭독기는 색을 못 보므로 이름표 쪽이 본디 몫이고
|
|
65
|
+
점은 그 거듦이다. **방문뿐인 날은 전 글귀 그대로** 간다 — `calendar.visitCount`("방문 N건")의
|
|
66
|
+
뜻이 실제로 맞는 자리이고, 부르는 쪽이 덮어 둔 글도 그대로 산다.
|
|
67
|
+
|
|
68
|
+
> **실측**(놀이터 `#calendar`, 통을 340px 로 좁혀 접힌 꼴을 세움, 2026-10-02):
|
|
69
|
+
> 범례 `rgb(73,156,223)` · `rgb(77,205,192)` · `rgb(191,199,209)` 와 점 색이 **그대로 맞는다.**
|
|
70
|
+
> 말귀가 잰 "예약인데 방문 색" 이 사라졌다.
|
|
71
|
+
|
|
72
|
+
## 0.255.0
|
|
73
|
+
|
|
74
|
+
### 토스트가 긴 말을 잘랐다 — **잘리는 쪽이 늘 "할 일"** (말귀 요청 (64))
|
|
75
|
+
|
|
76
|
+
`.toast__inner` 가 `white-space: nowrap` + `text-overflow: ellipsis` 였다. 그런데 이 앱의
|
|
77
|
+
오류 문구는 거의 다 **"무엇이 잘못됐나 + 무엇을 하라"** 두 문장이고(코어 `toUserErrorMessage`
|
|
78
|
+
가 내주는 말도 그 꼴이다), 한 줄에 안 들어가면 **뒷문장 — 할 일 —** 이 사라졌다:
|
|
79
|
+
`네트워크 연결이 불안정합니다. 연결 상태를 확…` 까지만 읽혔다.
|
|
80
|
+
|
|
81
|
+
말귀 실측(`scrollWidth - clientWidth`, 2026-10-02): 320 에서 98~125px, 375 에서 70~98px,
|
|
82
|
+
**1440 에서도** 가장 긴 말이 `max-width: 520px` 에 닿아 19px 잘렸다 — 좁은 화면만의 일이
|
|
83
|
+
아니었다. 가운데 맞춤이라 **말줄임표가 눈에 안 띄어** 오래 안 드러난 자리이기도 하다.
|
|
84
|
+
|
|
85
|
+
이제 줄을 넘긴다. 칸이 이미 `min-height: 60px` 에 가운데 맞춤이라 두 줄이 자연스럽게 들어간다.
|
|
86
|
+
줄 수는 **셋**에서 멎는다 — 알림이 화면을 덮으면 그것대로 곤란하다. 두 문장짜리는 두 줄에 다
|
|
87
|
+
들어가므로 실제로 잘릴 말은 아주 긴 것뿐이다. `pre-line` 이라 부르는 쪽이 넣은 줄바꿈 문자도 산다.
|
|
88
|
+
|
|
89
|
+
| 글 | 320 | 375 | 넓은 화면 |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| 네트워크 연결이 불안정합니다. 연결 상태를 확인한 뒤 … | **0** (2줄) | **0** (2줄) | 0 (1줄) |
|
|
92
|
+
| 이용권 정보를 불러오지 못했습니다. 네트워크 상태를 … | **0** (2줄) | **0** (2줄) | **0** (2줄, 520x92) |
|
|
93
|
+
| 단어 자료를 불러오지 못했습니다. | 0 (1줄) | 0 (1줄) | 0 (1줄) |
|
|
94
|
+
|
|
95
|
+
> **꼴이 한 겹 늘었다** — 글이 `<span class="toast__text">` 안에 든다. 줄 수 상한
|
|
96
|
+
> (`-webkit-line-clamp`)은 `display: -webkit-box` 를 요구하는데 겉칸은 가운데 맞춤 때문에
|
|
97
|
+
> `display: flex` 여야 한다. **둘을 한 상자에 못 담는다.** 읽히는 글자는 그대로라
|
|
98
|
+
> `textContent` · `getByText` · `role="status"` 로 찾는 길은 안 바뀐다.
|
|
99
|
+
>
|
|
100
|
+
> 앱이 `.toast__inner` 에 글자 꼴을 걸어 뒀다면 그대로 물려받는다(상속되는 속성).
|
|
101
|
+
> 다만 **글자 상자 자체**를 겨눈 규칙(`overflow` · `white-space` 같은 것)이 있으면
|
|
102
|
+
> `.toast__text` 로 옮겨야 한다.
|
|
103
|
+
>
|
|
104
|
+
> **jsdom 은 자리를 못 잰다** — 위 표는 브라우저 실측이다(놀이터 `#toast`, 진짜 토스트
|
|
105
|
+
> 하나와 같은 클래스로 세운 측정용 몇). 시험은 규칙과 꼴을 지킨다.
|
|
106
|
+
|
|
10
107
|
## 0.254.0
|
|
11
108
|
|
|
12
109
|
### 접히는 머리의 **단추 안 단추**를 걷는다 — `Table` (사장님 지시)
|