@ihabdevteam/core 0.346.0 → 0.347.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 +32 -0
- package/dist/components.cjs.js +12 -12
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +176 -176
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Popup/Popup.js +12 -1
- package/dist/packages/core/src/components/Training/TrainingPagePopup.js +8 -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,38 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.347.0 — `autoFocus` 자식이 있는 창을 닫으면 초점을 잃던 것 (310)
|
|
11
|
+
|
|
12
|
+
창은 열 때 *"지금 초점이 어디였나"* 를 적어 두고 닫을 때 그리로 돌려준다. 그 적는 줄이
|
|
13
|
+
**효과 안**에 있었다:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
useEffect(() => { const prev = document.activeElement; … }) // 커밋 뒤
|
|
17
|
+
<TextField autoFocus /> // 커밋 중
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
자식의 `autoFocus` 는 브라우저가 **커밋 시점에** 처리하고 효과는 그 **뒤에** 돈다. 그래서
|
|
21
|
+
적히는 것이 부른 사람이 아니라 **그 자식**이고, 닫을 때는 이미 사라진 자리라 거는 것이 아무
|
|
22
|
+
일도 안 했다. 키보드로 쓰는 사람은 Tab 을 어디서부터 이어야 할지 몰랐다.
|
|
23
|
+
|
|
24
|
+
`useRef` 의 **초깃값**으로 옮겼다 — 첫 그림에서 한 번만 셈되니 자식의 `autoFocus` 보다 먼저다.
|
|
25
|
+
**같은 흠이 두 자리에 있었다**: `Popup` · `TrainingPagePopup`.
|
|
26
|
+
|
|
27
|
+
### 왜 몇 달 안 보였나 — 각각은 초록이다
|
|
28
|
+
|
|
29
|
+
*"자식이 초점을 쥔다"* 도 참이고 *"닫으면 되돌린다"* 도 참인데 **겹치면** 깨졌다.
|
|
30
|
+
그래서 못(`test/popupFocusReturnWithAutoFocus.test.tsx`)이 둘을 **한 시험 안에서** 함께 센다.
|
|
31
|
+
되돌려 깨 보니 그 모양이 그대로 나왔다 — **겹치는 시험만 빨갛고** `autoFocus` 없는 갈래는
|
|
32
|
+
초록이었다. 가름이 그 자리다.
|
|
33
|
+
|
|
34
|
+
> 세우며 **시험대에 한 번 속았다.** 처음 판은 `autoFocus` 없는 갈래까지 빨개서 결함이 더
|
|
35
|
+
> 넓은 줄 알았는데, ESC 는 **닫힘 애니메이션(260ms)** 을 걸고 내가 시간을 안 돌려 창이 아직
|
|
36
|
+
> 떠 있었다 — 그때 초점은 **그 창의 닫기 단추**였다. `Popup.test.tsx` 의 `flushClose` 규약을
|
|
37
|
+
> 따르니 가름이 선명해졌다. 잰 값이 맞아도 **잰 때가 틀리면** 결함이 더 커 보인다.
|
|
38
|
+
|
|
39
|
+
말귀 실측(0.343.0 · `나의 단어표 → 그룹 추가`): 연 뒤 `그룹 이름` 칸, ESC 로 닫은 뒤
|
|
40
|
+
**앱 뿌리**(`.ihabdevteam-core-scope`). 같은 자리에서 `autoFocus` 없는 창은 제대로 돌아왔다.
|
|
41
|
+
|
|
10
42
|
## 0.346.0 — 기다리는 동안 글을 안 띄운다 · 묶음 이름이 뜬다 · 옛 짝을 걷었다
|
|
11
43
|
|
|
12
44
|
### (305) 개발자의 말이 화면에 안 뜬다 — 그런데 전제가 달랐다
|