@ihabdevteam/core 0.238.0 → 0.240.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 +81 -0
- package/dist/components.cjs.js +177 -177
- package/dist/components.esm.css +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +179 -179
- package/dist/ihabdevteam-core.d.ts +22 -3
- package/dist/packages/core/src/components/BarChart.d.ts +1 -1
- package/dist/packages/core/src/components/BarChart.js +68 -39
- package/dist/packages/core/src/components/ChartSection.d.ts +11 -1
- package/dist/packages/core/src/components/ChartSection.js +6 -4
- package/dist/packages/core/src/components/Table.js +25 -2
- package/dist/packages/core/src/components/TableField.css +6 -1
- package/dist/packages/core/src/components/barChartTypes.d.ts +9 -0
- 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,87 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.240.0
|
|
11
|
+
|
|
12
|
+
### `ChartSection` 의 제목이 **머리글**이 되고, 칸이 **이름**을 갖는다 (말귀 요청 (51))
|
|
13
|
+
|
|
14
|
+
단어훈련 분석 창은 `ChartSection` 셋을 나란히 세운다 — 초성·모음·종성. 셋은 속이 똑같아
|
|
15
|
+
안의 단추 이름도 똑같다. 말귀 실측(창 하나): 이름 가진 것 81 개 중 **같은 이름이 거듭 선 것
|
|
16
|
+
여덟 갈래**(`문장훈련 추천`×3 …), 창 안의 **머리글 0 개**, `<section>` 셋 다 이름 없음.
|
|
17
|
+
|
|
18
|
+
**눈으로는 제목이 큼직하게 서 있는데 그 글자가 나무에는 없었다.** `h3` 는 글자 꼴이지
|
|
19
|
+
머리글이 아니고, 이름 없는 `<section>` 은 지역으로 안 잡힌다.
|
|
20
|
+
|
|
21
|
+
- 제목을 **진짜 머리글**로 그린다. `titleLevel` 로 급을 고른다(기본 3 — 글자 꼴 기본과 같은
|
|
22
|
+
급. 페이지 본문에 바로 서는 칸이면 2. `0` 이면 전과 같이 `div`).
|
|
23
|
+
- 제목이 `<section>` 의 이름이 된다(`aria-labelledby`). 똑같이 생긴 셋이 갈린다.
|
|
24
|
+
- **누르는 칸에는 안 건다** — 거기는 `role="button"` 에 `aria-label` 이 이미 이름이고,
|
|
25
|
+
`aria-labelledby` 가 그것을 덮어 버린다.
|
|
26
|
+
|
|
27
|
+
> **머리글이 새로 생긴다.** 급이 안 맞는 자리가 있으면 `titleLevel` 로 맞춘다 — 급을
|
|
28
|
+
> 건너뛰면 머리글로 훑는 사람에게 층이 빈 것처럼 읽힌다.
|
|
29
|
+
|
|
30
|
+
### `BarChart` 의 막대 수를 **자판·낭독기로도 읽는다** — `focusableBars` (말귀 요청 (52))
|
|
31
|
+
|
|
32
|
+
값이 **얹어야 뜨는 풍선에만** 있었다. `tabIndex` 도 `onFocus` 도 파일 전체에 0 회라,
|
|
33
|
+
자판·낭독기로는 막대 하나하나의 수를 읽을 길이 **아예 없었다.**
|
|
34
|
+
|
|
35
|
+
`focusableBars` 를 켜면 칸마다 `tabIndex=0` 과 이름이 붙고, 초점을 받으면 얹었을 때와
|
|
36
|
+
**같은 풍선**이 뜬다. 풍선 글을 짓는 셈을 `onMouseEnter` 손잡이 밖으로 빼서 풍선·초점·
|
|
37
|
+
`aria-label` 셋이 **같은 글**을 쓴다 — 보는 말과 들리는 말이 안 갈린다.
|
|
38
|
+
|
|
39
|
+
**기본은 거짓이다** — 막대가 서른이면 정지점이 서른 는다. 그 차림표가 화면의 본문인
|
|
40
|
+
자리에서 켠다. 값이 없는 미래 칸은 켜도 안 짚는다.
|
|
41
|
+
|
|
42
|
+
### 손가락 커서 — 하나는 걷고 하나는 **그대로 둔다**
|
|
43
|
+
|
|
44
|
+
말귀가 둘을 함께 짚었는데 **답이 갈린다.**
|
|
45
|
+
|
|
46
|
+
- **`.table-field`**(표 머리) — 걷었다. `.table-field` 전부에 `cursor: pointer` 가 걸려
|
|
47
|
+
**정렬 못 하는 칸까지** 손가락을 띄웠다(말귀 보고서 목록 머리 여섯). 누르는 것은 그 안의
|
|
48
|
+
진짜 `<button>` 이라, 그쪽으로 옮겼다.
|
|
49
|
+
- **`BarChart` 의 막대 칸** — **안 걷는다.** `onClick` 이 없는데 손가락이 뜬다는 지적은
|
|
50
|
+
맞다. 그런데 **iOS 는 '누를 수 없는' 요소에 톡하면 호환 마우스 이벤트를 아예 안 보내고**,
|
|
51
|
+
`cursor: pointer` 가 그 판정에 든다(`test/touchInteractions0915.test.tsx` 머리글에 그
|
|
52
|
+
차례가 적혀 있다). 걷으면 데스크톱의 거짓 손가락 하나를 없애는 대신 **손가락으로 쓰는
|
|
53
|
+
기기에서 수를 읽을 길이 통째로 사라진다.** 얹으면 값이 뜨니 아주 거짓도 아니다.
|
|
54
|
+
자판 쪽은 `focusableBars` 가 따로 연다.
|
|
55
|
+
|
|
56
|
+
> 한 번 걷었다가 되돌렸다 — 걷으니 `barChartHoverTooltip`·`touchInteractions0915` 의 시험
|
|
57
|
+
> 여덟이 울었고, 그 시험들이 **손가락으로 호버할 수 있는 칸을 고르는 기준**으로 그 커서를
|
|
58
|
+
> 쓰고 있었다. 되살리지 말 것: 걷으려면 iOS 에서 톡해 풍선이 뜨는지 먼저 재야 한다.
|
|
59
|
+
|
|
60
|
+
## 0.239.0
|
|
61
|
+
|
|
62
|
+
### 표 굴림통 — **넘치나는 상자 크기가 아니다.** 보개만으로는 못 잡는다
|
|
63
|
+
|
|
64
|
+
0.238.0 으로도 안 켜졌다. 말귀가 섬유를 열어 재 준 값이 길을 좁혔다 — 마디도 `ref` 도 다
|
|
65
|
+
제자리이고 보개도 살아 있는데 **아무 일도 안 일어난다.**
|
|
66
|
+
|
|
67
|
+
까닭은 **재는 것과 듣는 것이 다른 것**이기 때문이다.
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
넘치나 scrollWidth > clientWidth ← 내용이 얼마나 넓은가
|
|
71
|
+
ResizeObserver 상자가 바뀔 때만 운다 ← 상자가 얼마나 넓은가
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`.table` 은 `width: 100%` 다 — **칸이 넘쳐도 제 상자는 통을 안 넘는다.** 넘침은 그 안의
|
|
75
|
+
칸들이 만들고, `.table` 의 상자도 통의 상자도 **안 바뀐 채** `scrollWidth` 만 자란다. 그러면
|
|
76
|
+
보개는 살아서 지금 마디를 보면서도 **울 까닭이 없다.** 말귀가 본 모습이 설명 없이 성립한다.
|
|
77
|
+
|
|
78
|
+
받는 도중에 붙으면 더 그렇다 — 글꼴·내용이 앉기 전에 재어 아직 안 자란 `scrollWidth` 를
|
|
79
|
+
보고, 그 뒤 **상자가 더 안 바뀌면 영영 그 값으로 남는다.**
|
|
80
|
+
|
|
81
|
+
그래서 보개와 **무관한 길 둘**을 더 둔다.
|
|
82
|
+
|
|
83
|
+
- **창 크기를 따로 듣는다**(`resize`). 가장 흔한 바뀜이고 보개를 안 거친다.
|
|
84
|
+
- **자리잡기 뒤에 한 번 더 잰다**(`requestAnimationFrame`). 너무 일찍 잰 값을 덮는다.
|
|
85
|
+
|
|
86
|
+
보개와 매 렌더 안전줄은 그대로 둔다 — 넷 중 **어느 하나만 울어도** 맞는 값이 된다.
|
|
87
|
+
|
|
88
|
+
> 0.236.0 부터 네 판째다. 처음에 `ResizeObserver` 하나로 될 일이라 본 것이 틀렸다 —
|
|
89
|
+
> 재는 값(`scrollWidth`)과 보개가 듣는 값(상자)이 다르다는 것을 **지금까지 안 봤다.**
|
|
90
|
+
|
|
10
91
|
## 0.238.0
|
|
11
92
|
|
|
12
93
|
### 표 굴림통 — **보개의 목숨을 `ref` 하나가 쥔다.** 0.237.0 도 모자랐다
|