@ihabdevteam/core 0.144.0 → 0.146.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/components.cjs.js +175 -175
  3. package/dist/components.esm.css +2 -2
  4. package/dist/hooks.cjs.js +1 -1
  5. package/dist/i18n.cjs.js +1 -1
  6. package/dist/ihabdevteam-core.cjs.js +182 -182
  7. package/dist/ihabdevteam-core.d.ts +3 -1
  8. package/dist/packages/core/src/components/ActionCard.js +10 -2
  9. package/dist/packages/core/src/components/Dropdown.js +22 -3
  10. package/dist/packages/core/src/components/LandingHeader.js +12 -5
  11. package/dist/packages/core/src/components/Popup/ConfirmPopup.js +17 -4
  12. package/dist/packages/core/src/components/Popup/ListPopup.js +1 -0
  13. package/dist/packages/core/src/components/Popup/Popup.js +4 -0
  14. package/dist/packages/core/src/components/Report/ReportDocument.css +11 -0
  15. package/dist/packages/core/src/components/Report/ReportDocument.js +11 -5
  16. package/dist/packages/core/src/components/Section.js +2 -1
  17. package/dist/packages/core/src/components/Table.js +18 -8
  18. package/dist/packages/core/src/components/Toast.css +5 -0
  19. package/dist/packages/core/src/components/Training/TrainingPagePopup.js +2 -0
  20. package/dist/packages/core/src/components/Training/TrainingStepCardOrder.js +11 -1
  21. package/dist/packages/core/src/components/useToastLifecycle.d.ts +1 -0
  22. package/dist/packages/core/src/components/useToastLifecycle.js +3 -1
  23. package/dist/packages/core/src/hooks/useTablePaging.js +4 -3
  24. package/dist/packages/core/src/utils/textSort.d.ts +4 -4
  25. package/dist/packages/core/src/utils/textSort.js +56 -28
  26. package/dist/packages/core/src/utils/trainingItemResults.js +3 -1
  27. package/dist/packages/core/src/utils/wordTrainingGenerators.d.ts +2 -0
  28. package/dist/packages/core/src/utils/wordTrainingGenerators.js +5 -2
  29. package/dist/packages/core/src/utils/wordTrainingPool.d.ts +1 -0
  30. package/dist/packages/core/src/utils/wordTrainingPool.js +20 -6
  31. package/dist/packages/core/src/utils/wordTrainingRuntime.js +35 -14
  32. package/dist/packages/core/src/utils/wordTrainingRuntimeTypes.js +4 -3
  33. package/dist/packages/core/src/version.d.ts +1 -1
  34. package/dist/packages/core/src/version.js +1 -1
  35. package/dist/utils.cjs.js +2 -2
  36. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,65 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.146.0
11
+
12
+ 15차 검수 판이다 — kscan 이 쓰는 컴포넌트·표 데이터 흐름·훈련 채점과 기록·**단어훈련 문제 내용**을 검수했다. 문제 내용은 말귀 실제
13
+ 23,000 낱말로 19유형 × 16조합 × 시드 3 불변식 검사를 돌려 반례를 찾았고, 고친 뒤 0건이다.
14
+ 더한 공개 API: `TrainingProblem.dropped`(선택 필드).
15
+
16
+ ### 소비자에게 먼저
17
+
18
+ - **ConfirmPopup·Popup**: onConfirm 안에서 부모가 창을 치우면 떠난 뒤 onClose 가 불리던 것을 막았다 — `closeOnConfirm={false}` 우회는
19
+ 이제 필요 없다(kscan ConfirmModal·AdminModal). onConfirm 이 넘겨받은 `close()` 를 스스로 불러도 두 번 나가지 않는다. 거절은 console.error 로 받는다.
20
+ - **칸순(표 정렬)이 값을 숫자·글자 조각으로 나눠 견준다** — 섞인 칸의 차례가 전과 다를 수 있다(전에는 들어온 차례에 따라 달랐다).
21
+ 숫자 조각이 글자 조각 앞이다.
22
+ - **단어훈련**:
23
+ - `countUsableWords` 가 보기형(genChoicePick)과 같게 **서로 소리가 다른 오답이 보기 수 − 1 개** 인 낱말만 센다 — 안내 숫자가 줄어든다.
24
+ - 탈락 3종이 '이미지 있는 단어만' 을, 음절 바꾸기가 받침 없음·음절 수·자리 음소를 따른다 — 조건에 따라 문항 수가 줄거나 0 이 된다.
25
+ - `QUESTION_WORD_RULE.MERGE_3_PHONEMES` 가 겹받침을 받지 않는다. `syllMatchesComp` 가 `jongNone` 을 본다.
26
+ - **ActionCard** 이름은 제목(aria-labelledby), 설명·cta 는 aria-describedby. **ListPopup** 은 정렬을 바꾸면 첫 쪽으로.
27
+
28
+ ### 바뀜
29
+
30
+ - **훈련 기록**: 단어 조작·확인형 물음(`text`)이 기록 question 에 안 남아 오답 패널에서 빠짐 · 다시하기 뒤 소요 시간에 앞 판이 섞임 ·
31
+ 듣고 순서대로 기억하기가 보기가 같은 다음 문항에 앞 순서를 남겨 채점.
32
+ - **단어훈련 문제**: 음소 바꾸기 오답 0–1개 문항 · count 대립 N≥2 를 철자로 셈 · 합성어 탈락 어근을 잘못 읽음('일요일' 에서 '요일').
33
+ - **표**: useTablePaging 이 1 보다 작은 쪽을 안 막음 · 줄 열쇠가 id 없음/0·1/'1' 로 겹침 · 칸 폭 마지막 이동이 저장에서 빠짐 ·
34
+ 칸 너비 초기화 뒤 좁은 고정 칸 때문에 오른쪽이 빔.
35
+ - **kscan 쪽 컴포넌트**: Section 이 action·icon 만 받으면 머리를 안 그림 · LandingHeader Esc 뒤 포커스 잃음·같은 href 열쇠.
36
+
37
+ ### 고치지 않은 것 — 결정·확인이 필요하다
38
+
39
+ - 1음절 음소 바꾸기 질문이 정답을 말함 · 한 음절 포함 고르기 타깃 음절 · 음소 합치기의 초성 ㅇ · 합성어 판정 기준.
40
+ - 문장 순서화에 같은 글이 둘일 때 점수 기준 · 다시하기 전 판 기록.
41
+ - ConfirmPopup 확인 시 onClose · 기본 포커스 단추 · Breadcrumb href · 다시 시도 중복 방지 · 정렬과 쪽넘김 잇기.
42
+ - 앞 판에 적은 결정은 그대로.
43
+
44
+ ## 0.145.0
45
+
46
+ 14차 검수 판이다 — 움직임·오래된 값·SSR·소리방향성이 기대는 컴포넌트 검수에서 **재현된** 결함을 고쳤다.
47
+ 걷거나 더한 공개 API 는 없다.
48
+
49
+ ### 소비자에게 먼저
50
+
51
+ - **Toast**: 사라지는 대기를 CSS 전환(260ms)과 같게 줄였다(전에는 500ms) — onClose 가 240ms 일찍 불린다. 보이지 않는 동안에는 누름이
52
+ 통과한다. 전에는 투명해진 알림이 화면 맨 위 띠의 클릭을 삼켰다(Chromium 실측, 모바일 헤더 단추 윗부분).
53
+ - **Dropdown**: 열린 목록에서 **Space 도 가리킨 항목을 고른다**(Enter 와 같게, 네이티브 select 처럼). 전에는 고르지 않고 닫혔다.
54
+ - **ReportDocument**: 블록 높이를 소수로 잰다 — 경계에 걸린 결과지는 장 나눔이 한 블록 달라질 수 있다(전에는 종이보다 몇 px 넘쳤다).
55
+
56
+ ### 바뀜
57
+
58
+ - **Dropdown**: 열린 동안 목록 길이가 바뀌면(불러오는 중 `[]` 로 열었다 도착·목록이 줄어듦) Enter 가 TypeError 로 던지거나 첫 항목을 골랐다.
59
+ - **ReportDocument**: 인쇄하면 끝에 빈 쪽 · 장 규격(pageWidth·pageHeight·margin)이 바뀌어도 다시 안 잼 · section 이 바뀌어도 같은
60
+ group 이면 새 장이 안 됨. Chromium PDF 로 확인했다.
61
+
62
+ ### 고치지 않은 것 — 결정·확인이 필요하다
63
+
64
+ - 움직임 줄이기에서 JS 닫기 대기(Popup·Tooltip·TrainingPagePopup) · TopBanner 자동 롤링 · 전역 reduce 규칙이 무한 진행 표시를 멈춤.
65
+ - ReportDocument 내용 높이만 바뀔 때 다시 재기 · 한 장보다 큰 group 을 앞 장에서 이어 채울지 · ProgressIndicator dot 폭 상한.
66
+ - Table 저장 폭·i18n 저장 언어의 SSR 하이드레이트(지금 SSR 소비자 경로 없음).
67
+ - 앞 판에 적은 결정은 그대로.
68
+
10
69
  ## 0.144.0
11
70
 
12
71
  13차 검수 판이다 — 해외 기기 KST(달력·날짜 고르개·방문 폼), 낭독기, 떠난 뒤 불리던 콜백, 단어표 인쇄를 고쳤다.