@ihabdevteam/core 0.226.0 → 0.228.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,62 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.228.0
11
+
12
+ ### 읽기만 하는 채점 표 — **표시 되감기와 ○△✕ 드러내기를 끈다** (말귀 요청 ㊷)
13
+
14
+ 지난 채점을 **매긴 그 표 그대로** 펴 보이는 창이 생겼다. `scoring` 과 `marks` 는 주고
15
+ `onMarkClick` 은 안 준다 — 매길 일이 없는 표다. 거기서 둘이 거꾸로 해로웠다.
16
+
17
+ **① 표시 되감기.** 폰에서 배율이 0.28 이면 40px 단추가 11px 이 되어 손가락으로 못 누르므로,
18
+ 표시에만 되돌림을 씌워 왔다(2026-09-22). 그런데 되돌림이 배율을 약분해 **표시만 늘 같은
19
+ 픽셀로 남고** 칸은 배율을 그대로 받아 작아진다 — 칸이 작을수록 표시가 **낱말 위로
20
+ 올라탄다**. 말귀 실측: 데스크톱 배율 0.54 · 40px 에서 `사과`·`수박` 을 덮었고, 폰 375px
21
+ 배율 0.28 · 24px 에서 `기지`·`[낙찌]` 를 덮었다.
22
+
23
+ **② 손가락 기기에서 안 매긴 ○△✕ 가 늘 선다.** `@media (hover: none)` 이 그렇게 둔 것은
24
+ "매기려면 보여야 한다" 는 까닭인데(2026-09-22: 안 매긴 칸의 단추가 영영 0×0 이라 채점을
25
+ 시작할 수가 없었다), 읽기만 하는 표가 **아직 안 매긴 표**처럼 보였다.
26
+
27
+ **`onMarkClick` 하나로 가른다 — 프롭을 새로 만들지 않는다.** 둘 다 '매길 수 있게' 하려고
28
+ 있는 것이고, `onMarkClick` 이 없는 표는 눌러도 아무 일이 없는 표다(`clickMark` 가 빈
29
+ 호출이다). 조건이 같으니 스위치도 하나다.
30
+
31
+ - 되감기: `onMarkClick` 이 없으면 `1`(안 씌운다).
32
+ - 표에 `word-table--score-readonly` 가 서고, 그 아래에서 **안 매긴** 칸만 감춘다.
33
+ `--on`(고른 것)은 건드리지 않는다 — 그것이 이 표의 알맹이다.
34
+
35
+ > **`scoring` 과 `marks` 만 주고 `onMarkClick` 은 안 주던 곳이 있으면 모습이 달라진다.**
36
+ > 표시가 칸과 함께 작아지고, 손가락 기기에서 안 매긴 ○△✕ 가 사라진다. 그 자리가 정말로
37
+ > 매기는 자리였다면 `onMarkClick` 을 주면 전과 같다.
38
+
39
+ ## 0.227.0
40
+
41
+ ### 글자 칸 가운데에 서던 **세로줄**을 걷는다 (말귀 요청 ㊶)
42
+
43
+ `styles.css` 의 전역 `:focus-visible` 이 `<input class="text-field__input">` 에도 걸려 **칸
44
+ 안쪽에 사각형이 하나 더** 그려졌다. 그 왼쪽 변이 `leftIcon` 바로 뒤에 서서 세로줄로 보였고
45
+ (그림 오른끝과 입력 왼끝이 붙어 있어 더 도드라졌다), 사용자가 "가운데에 뭐 이상한 줄
46
+ 생긴다" 고 짚었다 — 글자 커서가 아니다.
47
+
48
+ **`.text-field__input` 에는 `outline: none` 이 이미 있었는데 지고 있었다.** 스코핑을 거치면
49
+ 전역 규칙이 `.ihabdevteam-core-scope :focus-visible`(0-2-0)이 되어 `.text-field__input`
50
+ (0-1-0)보다 세다. `:focus-visible` 을 붙여 0-3-0 으로 올려야 이긴다.
51
+
52
+ **글자 칸은 마우스로 눌러도 `:focus-visible` 에 걸린다** — 명세가 그렇게 정해 두었다(단추는
53
+ 키보드일 때만 걸린다). 그래서 이 줄은 **누를 때마다** 보였다.
54
+
55
+ 접근성은 안 깎인다. `.text-field__wrap:focus-within` 이 테두리 색(`--color-main`)과 3px 고리로
56
+ 이미 초점을 말하고 있고, 지우는 것은 두 겹 중 **안쪽 하나**다. 브라우저 실측(Tab 으로 진짜
57
+ 초점을 옮겨서): 입력 `outline-style: none`, 틀 `border #499cdf` · `box-shadow 0 0 0 3px`.
58
+
59
+ **강제 색 모드(`forced-colors: active`)에서는 되살린다.** 거기서는 `box-shadow` 가 버려져
60
+ 틀의 고리가 통째로 사라지므로, 안 되살리면 초점이 아무 데서도 안 보인다. 칸 **안쪽**에
61
+ 붙여 그린다(`outline-offset: -2px`) — 밖으로 내면 틀 테두리와 겹쳐 두 줄이 된다.
62
+
63
+ > 이 고침은 **모든 `TextField`** 에 간다. `leftIcon` 이 없는 칸에서도 사각형은 그려지고 있었고,
64
+ > 변이 칸 테두리와 겹쳐 잘 안 보였을 뿐이다.
65
+
10
66
  ## 0.226.0
11
67
 
12
68
  ### 카드의 표 번호가 **곁의 글과 같은 글꼴**이 된다 — 고정폭을 걷는다