@ihabdevteam/core 0.235.0 → 0.237.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 +53 -0
- package/dist/components.cjs.js +26 -26
- package/dist/hooks.cjs.js +2 -2
- package/dist/i18n.cjs.js +2 -2
- package/dist/ihabdevteam-core.cjs.js +16 -16
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Table.js +54 -1
- package/dist/packages/core/src/i18n/locales/en.json +2 -1
- package/dist/packages/core/src/i18n/locales/ko.json +2 -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,59 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.237.0
|
|
11
|
+
|
|
12
|
+
### 표 굴림통의 보개가 **지금 마디**를 본다 — 한 번 잡고 굳지 않는다
|
|
13
|
+
|
|
14
|
+
0.236.0(㊿)은 `useEffect([])` 로 첫 렌더의 마디를 **한 번만** 잡았다. 그러면 통이나 안엣것이
|
|
15
|
+
그 뒤 **다른 마디로 갈릴 때**(받는 중 자리 → 줄이 든 표) 보개가 **옛 마디**에 남고, 창을
|
|
16
|
+
줄여도 영영 안 켜진다. 통이 첫 렌더에 아직 없으면 보개가 아예 안 걸린다.
|
|
17
|
+
|
|
18
|
+
말귀가 그 꼴을 한 번 봤다 — 넓은 화면에서 새로고침하며 **받는 도중에** 폭을 375 로 바꾸니
|
|
19
|
+
958/333 인데 `tabindex`·`role`·`aria-label` 셋 다 안 붙은 채로 굳었고, 3초를 더 기다려도
|
|
20
|
+
`resize` 를 쏘아도 그대로였다. **다시 내지는 못했다.**
|
|
21
|
+
|
|
22
|
+
**재현은 못 했지만 구멍은 실재한다.** `ref` 를 **함수로** 받아 막는다 — 마디가 바뀔 때마다
|
|
23
|
+
React 가 불러 주므로 보개가 늘 지금 마디를 본다. 옛 마디는 `unobserve` 로 놓아 준다.
|
|
24
|
+
|
|
25
|
+
> 안엣것(`.table`)도 따로 지켜본다. 통만 보면 **칸 폭을 끌어 넓히거나 줄이 늘 때**를 놓친다 —
|
|
26
|
+
> 그때 통의 바깥 상자는 그대로이고 `scrollWidth` 만 바뀐다. 0.236.0 도 안엣것을 봤지만,
|
|
27
|
+
> 거기서는 그 마디 역시 첫 렌더 때 `firstElementChild` 로 한 번 잡은 것이었다.
|
|
28
|
+
|
|
29
|
+
## 0.236.0
|
|
30
|
+
|
|
31
|
+
### 가로로 넘치는 표를 **자판으로 굴릴 수 있다** (말귀 요청 ㊿)
|
|
32
|
+
|
|
33
|
+
`.table-wrap` 은 `overflow-x: auto` 인데 초점을 못 받았다. 안에 초점 받을 것이 없으면 Tab 이
|
|
34
|
+
왼쪽 칸을 벗어나지 않으니 **브라우저가 굴려 줄 일이 없고**, 통이 초점을 못 받으니 ←→ 로
|
|
35
|
+
굴릴 수도 없다. 말귀 실측(좁은 화면 375, 단어 관리): 표 너비 958 · 보이는 폭 333, 초점 받는
|
|
36
|
+
것 스물다섯이 전부 x=36 — **여덟 칸 중 여섯이 자판으로 안 닿았다**(WCAG 2.1.1).
|
|
37
|
+
|
|
38
|
+
넓은 화면에서는 표가 다 들어가 안 생긴다. 방문기록 표는 줄마다 단추가 있어 초점이 따라가며
|
|
39
|
+
조금 굴려 주는데, **그건 운이지 설계가 아니다.**
|
|
40
|
+
|
|
41
|
+
```jsx
|
|
42
|
+
tabIndex={넘치나 ? 0 : undefined}
|
|
43
|
+
role={넘치나 ? 'region' : undefined}
|
|
44
|
+
aria-label={넘치나 ? (표 이름 ?? '가로로 굴릴 수 있는 표') : undefined}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- **넘칠 때만**이다. 다 들어가는 표까지 정지점이 되면 자판 길에 빈 걸음이 한 칸씩 는다.
|
|
48
|
+
`scrollWidth > clientWidth + 1` 로 잰다(1px 은 반올림 몫).
|
|
49
|
+
- **이름 있는 `region`** 이다. 이름 없는 `region` 은 낭독기가 건너뛰고, 초점만 받는 `div` 는
|
|
50
|
+
"여기서 뭘 하라는 건지" 를 말해 주지 못한다. 표에 `title` 이 있으면 그 이름을 쓴다 — 표가
|
|
51
|
+
여럿인 화면에서 가려진다.
|
|
52
|
+
- **`ResizeObserver` 로 지켜본다.** 좁은 화면에서만 나는 자리라 한 번 재고 끝내면 창을
|
|
53
|
+
줄였을 때 안 켜진다. 통과 안엣것을 함께 본다 — 통만 보면 칸 폭을 끌어 넓히거나 줄이 늘 때를
|
|
54
|
+
놓친다. 없는 환경에서는 한 번 잰 값으로 둔다.
|
|
55
|
+
|
|
56
|
+
**셈이 코어 안에 있다** — 말귀가 `<Table>` 을 쓰는 자리가 서른둘이라 한 자리씩 덮개를 댈 수
|
|
57
|
+
없었다.
|
|
58
|
+
|
|
59
|
+
> **굴릴 수 있다는 것이 눈으로는 아직 안 보인다.** 오른쪽 끝이 그냥 잘려 있어 마우스를 쓰는
|
|
60
|
+
> 사람도 더 있는 줄 모르고 지나간다. 가장자리 그늘이 흔한 답인데 **모양에 관한 일이라 따로
|
|
61
|
+
> 본다** — 자판 쪽이 먼저다.
|
|
62
|
+
|
|
10
63
|
## 0.235.0
|
|
11
64
|
|
|
12
65
|
### `PassCard` 의 이름에서 **저작권 줄**을 뺀다 · 이름을 받는다 (말귀 요청 ㊾)
|