@ihabdevteam/core 0.146.0 → 0.148.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 (40) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/components.cjs.js +176 -176
  3. package/dist/hooks.cjs.js +1 -1
  4. package/dist/i18n.cjs.js +1 -1
  5. package/dist/ihabdevteam-core.cjs.js +181 -181
  6. package/dist/ihabdevteam-core.d.ts +22 -14
  7. package/dist/packages/core/src/components/BottomNav.js +15 -6
  8. package/dist/packages/core/src/components/Dropdown.js +2 -2
  9. package/dist/packages/core/src/components/Popup/ConfirmPopup.d.ts +3 -1
  10. package/dist/packages/core/src/components/Popup/Popup.d.ts +5 -4
  11. package/dist/packages/core/src/components/Popup/Popup.js +1 -1
  12. package/dist/packages/core/src/components/Report/ReportDocument.d.ts +3 -2
  13. package/dist/packages/core/src/components/Report/ReportDocument.js +5 -3
  14. package/dist/packages/core/src/components/SegmentedControl.js +3 -1
  15. package/dist/packages/core/src/components/SideNav.js +1 -1
  16. package/dist/packages/core/src/components/TopBanner.js +7 -2
  17. package/dist/packages/core/src/components/Training/WordTablePopup.js +5 -5
  18. package/dist/packages/core/src/components/Training/useNoiseFade.js +25 -7
  19. package/dist/packages/core/src/components/Word/WordTableBlock.d.ts +0 -1
  20. package/dist/packages/core/src/components/Word/WordTableBlock.js +47 -22
  21. package/dist/packages/core/src/components/Word/useWordTablePrint.d.ts +2 -1
  22. package/dist/packages/core/src/components/Word/wordTablePrint.js +8 -1
  23. package/dist/packages/core/src/hooks/useDailyTrainingSelection.js +35 -7
  24. package/dist/packages/core/src/hooks/useTrainingSessionLog.d.ts +5 -2
  25. package/dist/packages/core/src/hooks/useTrainingSessionLog.js +45 -8
  26. package/dist/packages/core/src/hooks/useWordMeanings.js +13 -2
  27. package/dist/packages/core/src/utils/getTrainingData.d.ts +5 -1
  28. package/dist/packages/core/src/utils/getTrainingData.js +20 -4
  29. package/dist/packages/core/src/utils/phonemePairSearch.js +10 -4
  30. package/dist/packages/core/src/utils/planFeatures.d.ts +1 -1
  31. package/dist/packages/core/src/utils/planFeatures.js +7 -1
  32. package/dist/packages/core/src/utils/textSort.js +4 -2
  33. package/dist/packages/core/src/utils/wordTrainingGenerators.d.ts +2 -2
  34. package/dist/packages/core/src/utils/wordTrainingGenerators.js +2 -2
  35. package/dist/packages/core/src/utils/wordTrainingRuntime.d.ts +2 -1
  36. package/dist/packages/core/src/utils/wordTrainingRuntime.js +5 -2
  37. package/dist/packages/core/src/version.d.ts +1 -1
  38. package/dist/packages/core/src/version.js +1 -1
  39. package/dist/utils.cjs.js +2 -2
  40. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,63 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.148.0
11
+
12
+ 17차 검수 판이다 — 탐색(TopBanner·BottomNav·SideNav·SegmentedControl)과 단어 검색·단어표 편집 검수에서 재현된 것을 고쳤다.
13
+ 이 수정들을 다시 회귀 검수해 나온 두 가지(대립쌍 id 방향·BottomNav 한 칸)도 판 안에서 바로잡았다.
14
+
15
+ ### 소비자에게 먼저
16
+
17
+ - **`searchWordsByPhonemes`(단어쌍 검색)**: '일치'(ordered) 에서 앞 슬롯을 비우고 뒤에만 음소를 고르면 그 조건이 **첫 음절** 에 걸렸다 — 이제 고른 자리에 건다.
18
+ 음소 대립(contrast) + 일치에서는 **고른 음절에서 대립한 쌍만** 낸다(다른 음절에서 대립한 쌍이 섞였다). 결과가 줄 수 있다. 쌍 `id` 는 그대로(정렬 꼴).
19
+ - **TopBanner**: 호버와 포커스를 따로 든다 — 키보드로 배너 안 단추에 선 채 마우스가 스쳐도 장이 넘어가지 않는다. 포커스가 배너 밖으로 나가야 다시 돈다.
20
+ - **BottomNav**: 넘침을 "…" 없는 폭으로 판정한다 — 같은 폭·같은 항목인데 지나온 길(메뉴 전환·유틸 있다 없어짐)에 따라 한 항목이 "…" 에 갇히던 것.
21
+ - **SideNav·BottomNav**: `activeKey` 가 없을 때 key 없는 항목이 지금 페이지가 되지 않는다. **SegmentedControl**: 기본값이 꺼진(disabled) 첫 칸이 아니라 첫 켜진 칸.
22
+
23
+ ### 바뀜
24
+
25
+ - **WordTableBlock 편집 모드**: 저장 항목에서 구어체 발음·등급·품사·유형이 빠짐 · 저장 id 가 첫 낱말뿐이라 동음이의어·첫 낱말이 같은 짝이 겹침(이제 `낱말#동음이의어` 를 `|` 로 잇고 겹치면 `~2`) ·
26
+ 빈 선택으로 확인하면 던짐 · 칸 수를 줄였다 되돌리면 채운 낱말이 사라짐(저장은 보이는 칸만) · showCellCount 에서 켜진 칸 수와 표가 다름 · onAddItem 새 항목 id 가 기존 동음이의어와 겹침.
27
+
28
+ ### 고치지 않은 것 — 결정·확인이 필요하다
29
+
30
+ - 같은 쌍이 음소 포함 검색(정렬 id)과 음소 대립 지정(기준|대립 id)에서 다른 id — 바구니는 낱말 열쇠로 견주기를 권함(저장된 표에 두 꼴이 이미 있다).
31
+ - TopBanner 마우스로 누른 단추에 포커스가 남으면 자동 넘김이 멈춘 채 · 장 수가 바뀌면 엉뚱한 장 · PassCard 마지막 날 · Accordion 자리 번호 펼침.
32
+ - 페이지당 개수 첫 칸(전체)을 표준값과 같은 개수일 때 숫자로 기억 · 대립쌍 등급순이 첫 낱말만 · 공유 열람에서 받은 순서 대신 가나다.
33
+
34
+ ## 0.147.0
35
+
36
+ 16차 검수 판이다 — 오늘의 훈련·자료 받기·훈련 시간·요금제·소음 검수, 그리고 **0.142~0.146 수정의 회귀 검수** 에서 재현된 것을 고쳤다.
37
+ 놀이터·주석을 0.142~0.146 동작에 맞췄다.
38
+
39
+ ### 소비자에게 먼저
40
+
41
+ - **회귀 — 단어표 인쇄(0.144~0.146)**: 불러오는 중이던 그림 중 **없는 그림(404)이 깨진 그림 아이콘과 낱말 글자로** 인쇄됐다. 받아지면 보이고
42
+ 실패하면 숨는다. 그림 없는 낱말이 섞인 표를 인쇄하는 앱은 올려야 한다.
43
+ - **회귀 — `countUsableWords`(0.146)**: 늘 서로 다른 소리 오답 둘을 요구해 만들 수 있는 유형이 있는데도 "0개" 가 떴다. `choicesPerItem` 을 줄 때만
44
+ 그만큼 요구하고, 안 주면 오답 하나로 센다(0.145 이전과 같은 기준). 보기형 카드의 문항 수와 맞추려면 `choicesPerItem` 을 넘긴다.
45
+ - **`ensureTrainingDataLoaded` 가 받았는지(boolean)를 돌려준다**(전에는 늘 undefined). 늦게 도착하면 `speechear.data.updated` 가 온다.
46
+ - **`useTrainingSessionLog`**: 보이던 시간만 모아 **한 팝업 한 줄** 로 보낸다(떠날 때, 또는 pagehide). 백그라운드 시간은 빠진다.
47
+ - **`getPlanTier`**: 'speechear_free' → free, 'manager_free'·'mgr_free' → mgr_free, null → none.
48
+ - **Dropdown**: 가리킨 것이 없을 때 Enter 도 목록을 닫는다.
49
+
50
+ ### 바뀜
51
+
52
+ - **useDailyTrainingSelection**: 자료가 10초 넘게 걸려 늦게 오면 새로고침 전까지 "자료를 못 찾음" · 받기가 곧바로 실패하면 10초에 40번 받음.
53
+ - **getTrainingData**: 한 행 null 에 자료 전체를 버림 · 'updated' 를 보낼 때 아직 미완료.
54
+ - **useNoiseFade**: 종류를 바꾸고 새 파일을 불러오는 동안 바꾼 비율·끄기가 canplay 에서 옛 값으로 덮여 소음이 되살아남 · 150ms 안에 다른 설정을 바꾸면
55
+ 새 파일로 안 바뀜 · 음성 합성 경로에서 비율을 바꾸면 소음이 멈춤.
56
+ - **회귀**: useWordMeanings 뜻 없는 낱말 재조회(1분 유예) · 칸순 극단 수 · ReportDocument 배율 오차로 딱 찬 장이 둘 · WordTablePopup StrictMode 첫 알림 ·
57
+ 훈련 시간 구간마다 보내 서버 세션 수 증가(0.147 개발 중).
58
+ - **놀이터·주석**: 0.142~0.146 동작에 맞게 42곳.
59
+
60
+ ### 고치지 않은 것 — 결정·확인이 필요하다
61
+
62
+ - 전날과 같은 오늘의 훈련 항목 · 같은 날 자료가 바뀌면 오늘 세트 전체가 바뀜 · 요금제 homework 표 모순·티어 순위·light 레거시.
63
+ - 탭 복귀 뒤 소음 다시 켜기 · 옛 소음 기록 옮기기 반올림 · 훈련 시간 한 줄의 pagehide 의존(모바일).
64
+ - 칸순 전화번호 칸 차례.
65
+ - 앞 판에 적은 결정은 그대로.
66
+
10
67
  ## 0.146.0
11
68
 
12
69
  15차 검수 판이다 — kscan 이 쓰는 컴포넌트·표 데이터 흐름·훈련 채점과 기록·**단어훈련 문제 내용**을 검수했다. 문제 내용은 말귀 실제