@ihabdevteam/core 0.139.0 → 0.141.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 (29) hide show
  1. package/CHANGELOG.md +58 -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 +1 -1
  7. package/dist/packages/core/src/components/BarChart.js +21 -1
  8. package/dist/packages/core/src/components/BottomNav.js +4 -2
  9. package/dist/packages/core/src/components/BulkBar.js +26 -3
  10. package/dist/packages/core/src/components/DatePicker.js +8 -3
  11. package/dist/packages/core/src/components/Dropdown.js +1 -1
  12. package/dist/packages/core/src/components/PassCard/PassCard.js +9 -5
  13. package/dist/packages/core/src/components/Table.js +3 -0
  14. package/dist/packages/core/src/components/Toast.js +6 -1
  15. package/dist/packages/core/src/components/Tooltip/Tooltip.js +17 -3
  16. package/dist/packages/core/src/components/Training/TrainingStepConfirmWithText.js +2 -1
  17. package/dist/packages/core/src/components/Training/TrainingWordCard.js +1 -1
  18. package/dist/packages/core/src/components/Training/useTTSPlayback.js +2 -1
  19. package/dist/packages/core/src/components/Word/wordTablePrint.js +3 -1
  20. package/dist/packages/core/src/components/barChartTypes.js +3 -2
  21. package/dist/packages/core/src/components/useComboboxSuggestions.js +5 -1
  22. package/dist/packages/core/src/hooks/escStack.js +3 -0
  23. package/dist/packages/core/src/hooks/useAnchoredMenu.js +3 -0
  24. package/dist/packages/core/src/hooks/useTablePaging.js +2 -1
  25. package/dist/packages/core/src/utils/theme.js +5 -2
  26. package/dist/packages/core/src/version.d.ts +1 -1
  27. package/dist/packages/core/src/version.js +1 -1
  28. package/dist/utils.cjs.js +2 -2
  29. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,64 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.141.0
11
+
12
+ 10차 검수 판이다 — 렌더 되먹임·보안(주입) 검수에서 **재현된** 결함을 고쳤다. 보안 수정이 들어 있어 따로 판을 낸다.
13
+ 걷거나 더한 공개 API 는 없다.
14
+
15
+ ### 소비자에게 먼저
16
+
17
+ - **보안 — `applyTheme`·단어표 인쇄(`captureHtml`)**: 테마는 `light`·`dark`·`auto` 만 받는다(모르는 값은 `light`). 전에는 테마 값을 검증 없이
18
+ `<html data-theme>` 에 넣고, 인쇄·새 창·내려받기 문서가 그 값을 이스케이프 없이 끼워 넣어 `"><script>` 가 앱 출처에서 실행될 수 있었다
19
+ (테마가 서버 설정 JSON 에서 오는 앱에서).
20
+ - **BulkBar**: 단추를 세로로 쌓았다가 되돌리는 판단에 여유를 두었다 — 칩 수에 따라 단추 배치가 매 프레임 오가던 것.
21
+
22
+ ### 바뀜
23
+
24
+ - **BulkBar**: 칩이 넘쳐 단추를 쌓으면 칸이 넓어져 한 줄에 들고, 되돌리면 또 넘쳐 1초에 60번 배치가 뒤집혔다(말귀 단어 고름 막대, 데스크톱).
25
+ - **useTTSPlayback**: 음성 합성으로 재생하는 동안 매 프레임 상태를 올려 플레이어·파형이 초당 60번 다시 그려졌다.
26
+ - **useTablePaging**: `resetOn` 이 NaN 이면 렌더가 끝나지 않았다.
27
+
28
+ ### 고치지 않은 것 — 결정·확인이 필요하다
29
+
30
+ - `escapeCsvField` 가 수식 앞에 탭을 붙인다 — 앞 공백을 자르는 가져오기에서 풀릴 수 있다(`'` 접두로 바꿀지).
31
+ - SideNav·Header 의 `window.open(href)` 스킴 검사, useIcon DOMPurify 가 인라인 SVG 의 `<style>` 을 남기는 것.
32
+ - 소음 설정 저장이 슬라이더 한 칸마다 나간다(잠근 시험이 있어 두었다).
33
+ - 앞 판에 적은 결정은 그대로.
34
+
35
+ ## 0.140.0
36
+
37
+ 9차 검수 판이다 — 가로지르는 검수 다섯(날짜 경계·한글 조합·터치·불완전한 자료·오버레이 쌓임)에서 **재현된** 결함을 고쳤다. 항목마다
38
+ 시험을 붙이고 고친 줄을 되돌리면 붉어지는 것을 확인했다. 걷거나 더한 공개 API 는 없다.
39
+
40
+ ### 소비자에게 먼저
41
+
42
+ - **PassCard** "N일 남음" 을 **KST 달력날** 로 센다 — 한국 밖 기기(또는 KST 00:00~08:59 의 UTC 기기)에서만 값이 바뀐다.
43
+ - **getControlDateRange**: 끝이 그날의 마지막 밀리초(`23:59:59.999`)다(전에는 `.000`).
44
+ - **한글 조합 중 키**: 후보 목록(`useComboboxSuggestions`)과 ESC 스택이 조합 중(`isComposing`·keyCode 229) 키를 세지 않는다 — 조합 중 Esc 로는
45
+ 팝업이 닫히지 않는다.
46
+ - **Tooltip**: `anchorRect` 로 띄우고 `onClose` 가 있으면 **바깥이 스크롤될 때 닫는다**(툴팁 안 스크롤은 제외). `anchorEl` 로 띄운 것은 전과 같이 따라간다.
47
+ - **Toast**: 터치로 톡하면 멈추지 않는다(마우스 머무름·키보드 포커스는 그대로 멈춘다).
48
+
49
+ ### 바뀜
50
+
51
+ - **DatePicker**: PageUp/PageDown 이 말일에서 넘쳤다(1/31 → 3/3, 3/31 에서 앞 달로 못 감, 2028-02-29 → 2029-03-01).
52
+ - **useComboboxSuggestions**: 조합 중 ↓ 가 첫 후보를 건너뛰었고, 조합 중 Esc 가 목록을 닫아 이어 오는 Esc 가 팝업까지 닫았다(입력하던 것 잃음).
53
+ - **useAnchoredMenu**(Dropdown·DatePicker·BottomNav 더보기·Header): 바깥 닫기가 mousedown 만 들어 iOS 에서 누를 수 없는 곳을 톡하면 안 닫혔다.
54
+ - **Table 칸 폭 조절**: 터치 조절이 취소(pointercancel)되면 리스너가 남아 다음 스크롤이 폭을 바꿨다.
55
+ - **BarChart**: 막대 툴팁이 터치에서 스크롤·바깥 톡에도 안 닫혔다.
56
+ - **Tooltip 안 Dropdown·DatePicker**: 메뉴 항목을 누르면 툴팁이 바깥 누름으로 닫혀 고를 수 없었다.
57
+ - **BottomNav**: key 없는 항목의 key 경고. **TrainingWordCard·TrainingStepConfirmWithText**: NaN 이 렌더 중 비교를 끝없이 돌렸다.
58
+
59
+ ### 고치지 않은 것 — 결정·확인이 필요하다
60
+
61
+ - 한국 밖 기기에서 BarChart '오늘'·조회 구간이 기기 시간대 기준이다 — 말귀와 함께 KST 로 바꿀지(사용자 결정 대기).
62
+ - 조합 중간값('사'→'삭'→'사고')에서 후보·검색 결과가 사라졌다 돌아온다. TextField maxLength 와 조합의 브라우저별 동작.
63
+ - 터치에서 막힌 단추 사유 툴팁·tooltipOnly 칩·정보 i 를 볼 수 없다, 제거 배지·:hover 로만 보이는 단추 — 실기기 확인·겉모양 결정.
64
+ - UpdateAlert 가 모달 위에 떠 닫기 단추를 가리고 두 벌이 포개진다, TextField 후보 목록이 팝업 본문에 갇힌다, 메뉴 z-index 매직 넘버.
65
+ - words 가 없는 단어 항목에서 단어표 컴포넌트가 터진다(LoadTablePopup 만 막음).
66
+ - 앞 판에 적은 결정은 그대로.
67
+
10
68
  ## 0.139.0
11
69
 
12
70
  8차 검수 판이다 — "실패 뒤 멈춘 채 남는 화면" 을 가로질러 훑어 **재현된** 결함을 고쳤다. 말귀에서 실제로 페이지를 쓸 수 없게