@ihabdevteam/core 0.127.0 → 0.128.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 CHANGED
@@ -7,6 +7,70 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.128.0
11
+
12
+ ### 더해짐 — `Popup` 의 **어두운 바탕을 누르면 닫힌다** (기본값)
13
+
14
+ ✕ 와 ESC 로만 닫혔다. 이제 바깥 `.popup` 층을 눌러도 닫힌다. 끄려면
15
+ `closeOnBackdrop={false}`.
16
+
17
+ - **누른 곳과 뗀 곳이 둘 다 바탕일 때만** 닫는다. click 의 target 만 보면, 패널
18
+ 안에서 글자를 긁어 고르다 바깥에서 놓았을 때도 바탕에 click 이 떨어져 창이
19
+ 사라진다(브라우저는 공통 조상에 click 을 쏜다).
20
+ - 닫기는 `closeWithAnimation` 을 그대로 거친다 — `closeDisabled`(요청 도는 중)와
21
+ `beforeClose`(입력 중 확인)가 똑같이 막는다.
22
+ - ESC 와 같은 조건에서만 건다 — `inline` 이 아니고 `onClose` 가 있을 때.
23
+ - **팝업 위 팝업은 위 창만 닫힌다.** 위 창이 아래 창의 React 자식이면 합성
24
+ 이벤트가 DOM 이 아니라 React 나무를 따라 아래 창의 바탕까지 올라오는데, 그때
25
+ target 이 위 창의 바탕이라 아래 창은 넘긴다.
26
+
27
+ **새로 노출되는 것**: 입력칸이 있는데 `beforeClose` 가 없는 창은 바깥을 잘못 눌러
28
+ 입력이 날아갈 수 있다. 코어에서는 셋이다 — `CouponInputPopup`(쿠폰 번호 한 칸),
29
+ `SaveTablePopup`(표 이름), `WordTableBlock` 안의 저장 창. 모두 짧은 한 줄 입력이라
30
+ 기본값을 그대로 뒀다.
31
+
32
+ ### 고침 — 사이드바 **오른쪽 여백이 1px 로 좁아졌다** (`SideNav` · `Header`)
33
+
34
+ 오른쪽 여백을 스크롤바 자리(gutter)가 만든다고 보고 `padding-right` 를 0 으로
35
+ 뒀다. 스크롤바가 자리를 차지하는 환경(윈도우 등)에서는 맞았지만, macOS 오버레이
36
+ 스크롤바는 gutter 가 **0** 이라 오른쪽이 테두리 1px 만 남았다(실측: 좌 12 / 우 1).
37
+
38
+ 좌우 padding 을 같게 두고, 투명 테두리를 양쪽에 짝으로 두고, 스크롤바 자리를
39
+ `stable both-edges` 로 **양쪽에 똑같이** 비운다.
40
+
41
+ | 1400px 펼침 | 전 | 후 |
42
+ |---|---|---|
43
+ | 오버레이 | 좌 12 / **우 1** | 좌 13 / 우 13 |
44
+ | 클래식 11px | 좌 12 / 우 12 | 좌 24 / 우 24 (항목 196 → 172) |
45
+
46
+ 스크롤을 억지로 세워도 같은 값이다.
47
+
48
+ **접힌 72px 레일은 따로 다룬다.** 양쪽 gutter 를 그대로 떼면 클래식에서 항목이
49
+ 28px 로 짓눌려 24px 아이콘이 10px 삐져나간다(실측). 아이콘만 있는 좁은 레일에는
50
+ 스크롤바를 그릴 자리가 애초에 없어, 레일에서만 막대를 숨기고 자리를 비우지 않는다.
51
+ 휠·터치·키보드 스크롤은 그대로다. 결과: 오버레이·클래식 모두 좌 11 / 우 11, 항목 50.
52
+
53
+ 클래식 스크롤바는 이 기계(macOS 오버레이)에서 `::-webkit-scrollbar { width: 11px }`
54
+ 로 흉내 내 쟀다. 윈도우 실기에서 한 번 더 보는 편이 좋다.
55
+
56
+ ### 고침 — 사이드바 바닥의 아이콘 넷이 **눌러도 아무 일이 없었다** (`SideNav`)
57
+
58
+ 바닥 아이콘을 그리는 방식이 갈려 있었다. 디버그는 핸들러가 있을 때만 그리는데,
59
+ 알림·설정·도움말·계정 넷은 **핸들러와 무관하게 늘** 그렸다. 그래서 그 넷을 안
60
+ 넘기는 앱에서는 `onClick` 이 `undefined` 인 단추가 넷 서 있었다.
61
+
62
+ 눌러도 아무 일이 없으니 사람은 고장으로 읽는다. 낭독기에는 '알림 단추' 라고
63
+ 읽히는데 실제로는 아무 데도 못 간다. 소비자 앱 어드민에서 열일곱 화면을 하나씩
64
+ 눌러 보다가 찾았다 — 넷만 제목도 안 바뀌고 창도 안 떴다.
65
+
66
+ **없는 단추가 죽은 단추보다 낫다.** 넷을 `onDebug` 와 같은 결로 맞췄다 — 핸들러를
67
+ 준 것만 그린다. 읽지 않은 수(뱃지)는 알림 단추에 딸린 것이라 껍데기째 함께 빠진다.
68
+ 누를 수 없는 자리에 수만 떠 있으면 그것대로 막다른 길이다. 다섯이 다 없으면 바닥
69
+ 자체를 그리지 않는다 — 빈 채로 두면 여백(`margin-top` + `padding`)만 남아 아래가
70
+ 뜬다.
71
+
72
+ **넷을 넘기던 앱은 전과 같다.** 안 넘기던 앱에서만 죽어 있던 단추가 사라진다.
73
+
10
74
  ## 0.127.0
11
75
 
12
76
  ### 고침 — 소음 파형 막대가 `noiseFileGain` 을 나누지 않아 1배에서도 문제 소리의 2배로 그려졌다 (`TrainingStepAudioPlayer` 파형)