@ihabdevteam/core 0.145.0 → 0.147.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 (47) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/components.cjs.js +174 -174
  3. package/dist/hooks.cjs.js +1 -1
  4. package/dist/i18n.cjs.js +1 -1
  5. package/dist/ihabdevteam-core.cjs.js +182 -182
  6. package/dist/ihabdevteam-core.d.ts +24 -13
  7. package/dist/packages/core/src/components/ActionCard.js +10 -2
  8. package/dist/packages/core/src/components/Dropdown.js +2 -2
  9. package/dist/packages/core/src/components/LandingHeader.js +12 -5
  10. package/dist/packages/core/src/components/Popup/ConfirmPopup.d.ts +3 -1
  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.d.ts +5 -4
  14. package/dist/packages/core/src/components/Popup/Popup.js +5 -1
  15. package/dist/packages/core/src/components/Report/ReportDocument.d.ts +3 -2
  16. package/dist/packages/core/src/components/Report/ReportDocument.js +5 -3
  17. package/dist/packages/core/src/components/Section.js +2 -1
  18. package/dist/packages/core/src/components/Table.js +18 -8
  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/Training/WordTablePopup.js +5 -5
  22. package/dist/packages/core/src/components/Training/useNoiseFade.js +25 -7
  23. package/dist/packages/core/src/components/Word/useWordTablePrint.d.ts +2 -1
  24. package/dist/packages/core/src/components/Word/wordTablePrint.js +8 -1
  25. package/dist/packages/core/src/hooks/useDailyTrainingSelection.js +35 -7
  26. package/dist/packages/core/src/hooks/useTablePaging.js +4 -3
  27. package/dist/packages/core/src/hooks/useTrainingSessionLog.d.ts +5 -2
  28. package/dist/packages/core/src/hooks/useTrainingSessionLog.js +45 -8
  29. package/dist/packages/core/src/hooks/useWordMeanings.js +13 -2
  30. package/dist/packages/core/src/utils/getTrainingData.d.ts +5 -1
  31. package/dist/packages/core/src/utils/getTrainingData.js +20 -4
  32. package/dist/packages/core/src/utils/planFeatures.d.ts +1 -1
  33. package/dist/packages/core/src/utils/planFeatures.js +7 -1
  34. package/dist/packages/core/src/utils/textSort.d.ts +4 -4
  35. package/dist/packages/core/src/utils/textSort.js +58 -28
  36. package/dist/packages/core/src/utils/trainingItemResults.js +3 -1
  37. package/dist/packages/core/src/utils/wordTrainingGenerators.d.ts +4 -2
  38. package/dist/packages/core/src/utils/wordTrainingGenerators.js +7 -4
  39. package/dist/packages/core/src/utils/wordTrainingPool.d.ts +1 -0
  40. package/dist/packages/core/src/utils/wordTrainingPool.js +20 -6
  41. package/dist/packages/core/src/utils/wordTrainingRuntime.d.ts +2 -1
  42. package/dist/packages/core/src/utils/wordTrainingRuntime.js +39 -15
  43. package/dist/packages/core/src/utils/wordTrainingRuntimeTypes.js +4 -3
  44. package/dist/packages/core/src/version.d.ts +1 -1
  45. package/dist/packages/core/src/version.js +1 -1
  46. package/dist/utils.cjs.js +2 -2
  47. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,73 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.147.0
11
+
12
+ 16차 검수 판이다 — 오늘의 훈련·자료 받기·훈련 시간·요금제·소음 검수, 그리고 **0.142~0.146 수정의 회귀 검수** 에서 재현된 것을 고쳤다.
13
+ 놀이터·주석을 0.142~0.146 동작에 맞췄다.
14
+
15
+ ### 소비자에게 먼저
16
+
17
+ - **회귀 — 단어표 인쇄(0.144~0.146)**: 불러오는 중이던 그림 중 **없는 그림(404)이 깨진 그림 아이콘과 낱말 글자로** 인쇄됐다. 받아지면 보이고
18
+ 실패하면 숨는다. 그림 없는 낱말이 섞인 표를 인쇄하는 앱은 올려야 한다.
19
+ - **회귀 — `countUsableWords`(0.146)**: 늘 서로 다른 소리 오답 둘을 요구해 만들 수 있는 유형이 있는데도 "0개" 가 떴다. `choicesPerItem` 을 줄 때만
20
+ 그만큼 요구하고, 안 주면 오답 하나로 센다(0.145 이전과 같은 기준). 보기형 카드의 문항 수와 맞추려면 `choicesPerItem` 을 넘긴다.
21
+ - **`ensureTrainingDataLoaded` 가 받았는지(boolean)를 돌려준다**(전에는 늘 undefined). 늦게 도착하면 `speechear.data.updated` 가 온다.
22
+ - **`useTrainingSessionLog`**: 보이던 시간만 모아 **한 팝업 한 줄** 로 보낸다(떠날 때, 또는 pagehide). 백그라운드 시간은 빠진다.
23
+ - **`getPlanTier`**: 'speechear_free' → free, 'manager_free'·'mgr_free' → mgr_free, null → none.
24
+ - **Dropdown**: 가리킨 것이 없을 때 Enter 도 목록을 닫는다.
25
+
26
+ ### 바뀜
27
+
28
+ - **useDailyTrainingSelection**: 자료가 10초 넘게 걸려 늦게 오면 새로고침 전까지 "자료를 못 찾음" · 받기가 곧바로 실패하면 10초에 40번 받음.
29
+ - **getTrainingData**: 한 행 null 에 자료 전체를 버림 · 'updated' 를 보낼 때 아직 미완료.
30
+ - **useNoiseFade**: 종류를 바꾸고 새 파일을 불러오는 동안 바꾼 비율·끄기가 canplay 에서 옛 값으로 덮여 소음이 되살아남 · 150ms 안에 다른 설정을 바꾸면
31
+ 새 파일로 안 바뀜 · 음성 합성 경로에서 비율을 바꾸면 소음이 멈춤.
32
+ - **회귀**: useWordMeanings 뜻 없는 낱말 재조회(1분 유예) · 칸순 극단 수 · ReportDocument 배율 오차로 딱 찬 장이 둘 · WordTablePopup StrictMode 첫 알림 ·
33
+ 훈련 시간 구간마다 보내 서버 세션 수 증가(0.147 개발 중).
34
+ - **놀이터·주석**: 0.142~0.146 동작에 맞게 42곳.
35
+
36
+ ### 고치지 않은 것 — 결정·확인이 필요하다
37
+
38
+ - 전날과 같은 오늘의 훈련 항목 · 같은 날 자료가 바뀌면 오늘 세트 전체가 바뀜 · 요금제 homework 표 모순·티어 순위·light 레거시.
39
+ - 탭 복귀 뒤 소음 다시 켜기 · 옛 소음 기록 옮기기 반올림 · 훈련 시간 한 줄의 pagehide 의존(모바일).
40
+ - 칸순 전화번호 칸 차례.
41
+ - 앞 판에 적은 결정은 그대로.
42
+
43
+ ## 0.146.0
44
+
45
+ 15차 검수 판이다 — kscan 이 쓰는 컴포넌트·표 데이터 흐름·훈련 채점과 기록·**단어훈련 문제 내용**을 검수했다. 문제 내용은 말귀 실제
46
+ 23,000 낱말로 19유형 × 16조합 × 시드 3 불변식 검사를 돌려 반례를 찾았고, 고친 뒤 0건이다.
47
+ 더한 공개 API: `TrainingProblem.dropped`(선택 필드).
48
+
49
+ ### 소비자에게 먼저
50
+
51
+ - **ConfirmPopup·Popup**: onConfirm 안에서 부모가 창을 치우면 떠난 뒤 onClose 가 불리던 것을 막았다 — `closeOnConfirm={false}` 우회는
52
+ 이제 필요 없다(kscan ConfirmModal·AdminModal). onConfirm 이 넘겨받은 `close()` 를 스스로 불러도 두 번 나가지 않는다. 거절은 console.error 로 받는다.
53
+ - **칸순(표 정렬)이 값을 숫자·글자 조각으로 나눠 견준다** — 섞인 칸의 차례가 전과 다를 수 있다(전에는 들어온 차례에 따라 달랐다).
54
+ 숫자 조각이 글자 조각 앞이다.
55
+ - **단어훈련**:
56
+ - `countUsableWords` 가 보기형(genChoicePick)과 같게 **서로 소리가 다른 오답이 보기 수 − 1 개** 인 낱말만 센다 — 안내 숫자가 줄어든다.
57
+ - 탈락 3종이 '이미지 있는 단어만' 을, 음절 바꾸기가 받침 없음·음절 수·자리 음소를 따른다 — 조건에 따라 문항 수가 줄거나 0 이 된다.
58
+ - `QUESTION_WORD_RULE.MERGE_3_PHONEMES` 가 겹받침을 받지 않는다. `syllMatchesComp` 가 `jongNone` 을 본다.
59
+ - **ActionCard** 이름은 제목(aria-labelledby), 설명·cta 는 aria-describedby. **ListPopup** 은 정렬을 바꾸면 첫 쪽으로.
60
+
61
+ ### 바뀜
62
+
63
+ - **훈련 기록**: 단어 조작·확인형 물음(`text`)이 기록 question 에 안 남아 오답 패널에서 빠짐 · 다시하기 뒤 소요 시간에 앞 판이 섞임 ·
64
+ 듣고 순서대로 기억하기가 보기가 같은 다음 문항에 앞 순서를 남겨 채점.
65
+ - **단어훈련 문제**: 음소 바꾸기 오답 0–1개 문항 · count 대립 N≥2 를 철자로 셈 · 합성어 탈락 어근을 잘못 읽음('일요일' 에서 '요일').
66
+ - **표**: useTablePaging 이 1 보다 작은 쪽을 안 막음 · 줄 열쇠가 id 없음/0·1/'1' 로 겹침 · 칸 폭 마지막 이동이 저장에서 빠짐 ·
67
+ 칸 너비 초기화 뒤 좁은 고정 칸 때문에 오른쪽이 빔.
68
+ - **kscan 쪽 컴포넌트**: Section 이 action·icon 만 받으면 머리를 안 그림 · LandingHeader Esc 뒤 포커스 잃음·같은 href 열쇠.
69
+
70
+ ### 고치지 않은 것 — 결정·확인이 필요하다
71
+
72
+ - 1음절 음소 바꾸기 질문이 정답을 말함 · 한 음절 포함 고르기 타깃 음절 · 음소 합치기의 초성 ㅇ · 합성어 판정 기준.
73
+ - 문장 순서화에 같은 글이 둘일 때 점수 기준 · 다시하기 전 판 기록.
74
+ - ConfirmPopup 확인 시 onClose · 기본 포커스 단추 · Breadcrumb href · 다시 시도 중복 방지 · 정렬과 쪽넘김 잇기.
75
+ - 앞 판에 적은 결정은 그대로.
76
+
10
77
  ## 0.145.0
11
78
 
12
79
  14차 검수 판이다 — 움직임·오래된 값·SSR·소리방향성이 기대는 컴포넌트 검수에서 **재현된** 결함을 고쳤다.