@ihabdevteam/core 0.132.0 → 0.133.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 +65 -0
- package/dist/components.cjs.js +178 -178
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +182 -182
- package/dist/ihabdevteam-core.d.ts +1 -12
- package/dist/packages/core/src/components/BarChart.js +2 -2
- package/dist/packages/core/src/components/BottomNav.js +3 -3
- package/dist/packages/core/src/components/BulkBar.js +1 -1
- package/dist/packages/core/src/components/ChoiceChips.js +1 -1
- package/dist/packages/core/src/components/CodeBox.js +1 -1
- package/dist/packages/core/src/components/DatePicker.js +16 -3
- package/dist/packages/core/src/components/Dropdown.js +13 -3
- package/dist/packages/core/src/components/FileUpload.js +8 -7
- package/dist/packages/core/src/components/FilterPanel.js +8 -5
- package/dist/packages/core/src/components/FilterSectionInfo.js +1 -1
- package/dist/packages/core/src/components/Header.js +1 -1
- package/dist/packages/core/src/components/HearingDeviceInfo.js +1 -1
- package/dist/packages/core/src/components/PageTitle.js +1 -1
- package/dist/packages/core/src/components/Pagination.js +1 -1
- package/dist/packages/core/src/components/PanelRow.js +3 -3
- package/dist/packages/core/src/components/PaymentPlan.js +1 -1
- package/dist/packages/core/src/components/Popup/DeviceSideTable.js +2 -2
- package/dist/packages/core/src/components/Popup/LoadTablePopup.js +2 -2
- package/dist/packages/core/src/components/Popup/Popup.js +15 -3
- package/dist/packages/core/src/components/Popup/SaveTablePopup.js +1 -1
- package/dist/packages/core/src/components/Popup/TrainingResultPopup.js +1 -1
- package/dist/packages/core/src/components/Popup/WordDataUpdatePopup.js +3 -3
- package/dist/packages/core/src/components/SegmentedControl.js +1 -1
- package/dist/packages/core/src/components/SideNav.js +1 -1
- package/dist/packages/core/src/components/Table.js +2 -2
- package/dist/packages/core/src/components/Tabs.js +7 -2
- package/dist/packages/core/src/components/Tooltip/MenuTooltip.js +1 -1
- package/dist/packages/core/src/components/Tooltip/TextBoxTooltip.js +1 -1
- package/dist/packages/core/src/components/Tooltip/Tooltip.js +13 -5
- package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingBlock.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingBlockButton.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingCardGroup.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingPagePopup.js +51 -23
- package/dist/packages/core/src/components/Training/TrainingPagePopupBottom.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingPagePopupTitle.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingStepAudioPlayer.js +26 -5
- package/dist/packages/core/src/components/Training/TrainingStepConfirm.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingStepConfirmWithText.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingStepOrderList.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingStepTextBox.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingStepTitle.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingWordCard.js +11 -6
- package/dist/packages/core/src/components/Training/useAudioPreview.js +7 -3
- package/dist/packages/core/src/components/UpdateAlert.js +1 -1
- package/dist/packages/core/src/components/Word/PhonemeSelectBlock.js +2 -2
- package/dist/packages/core/src/components/Word/WordSearchResultBlock.js +3 -3
- package/dist/packages/core/src/components/Word/WordTableBlock.js +2 -2
- package/dist/packages/core/src/components/Word/WordTableButton.js +1 -1
- package/dist/packages/core/src/components/WordTable.js +6 -6
- package/dist/packages/core/src/components/useToastLifecycle.js +8 -1
- package/dist/packages/core/src/hooks/useAnchoredMenu.js +10 -9
- package/dist/packages/core/src/hooks/useDocumentTitle.d.ts +0 -11
- package/dist/packages/core/src/hooks/useDocumentTitle.js +16 -3
- package/dist/packages/core/src/hooks/useFocusTrap.js +6 -2
- package/dist/packages/core/src/utils/audioPeaks.js +13 -5
- package/dist/packages/core/src/utils/csv.js +3 -1
- package/dist/packages/core/src/utils/koreanSyllable.js +2 -1
- package/dist/packages/core/src/utils/textSort.d.ts +0 -10
- package/dist/packages/core/src/utils/textSort.js +7 -2
- package/dist/packages/core/src/utils/wordTrainingRuntime.js +28 -4
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,71 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.133.0
|
|
11
|
+
|
|
12
|
+
2026-09-14 저녁 검수 판이다 — 오버레이·입력·훅·유틸을 네 갈래로 훑어 **실제로 재현된** 결함만 고쳤다. 항목마다 시험을 붙이고,
|
|
13
|
+
고친 줄을 되돌리면 그 시험이 붉어지는 것을 확인했다. 걷은 prop·타입·열쇠는 없다(새 prop 도 없다).
|
|
14
|
+
|
|
15
|
+
### 바뀜 — Esc 는 맨 위 하나만 닫는다
|
|
16
|
+
|
|
17
|
+
- **앵커 메뉴**(`useAnchoredMenu` — DatePicker·BottomNav 더보기·Header 메뉴)와 **Tooltip**(onClose 있는 떠 있는 툴팁)의 Esc 가
|
|
18
|
+
Popup 과 **같은 공유 ESC 스택**에 오른다. 전에는 document 에서 따로 들어, 팝업 안 달력·툴팁에서 Esc 한 번에 **팝업까지** 닫혔다
|
|
19
|
+
(말귀 어드민 쿠폰 생성 팝업 — 입력이 날아갔다). 달력 안 연월 Dropdown 의 Esc 도 달력까지 닫던 것이 멎는다.
|
|
20
|
+
- **TrainingPagePopup**: Esc 를 판 keydown 에서만 들어 문제 글·그림을 눌러 포커스가 body 로 가면 Esc 가 먹지 않았다 — 공유 스택으로.
|
|
21
|
+
훈련 창이 다른 팝업 위에 있을 때 가려진 팝업이 닫히던 것도 멎는다.
|
|
22
|
+
|
|
23
|
+
### 바뀜 — 포커스
|
|
24
|
+
|
|
25
|
+
- **Popup**: 닫으면서 다음 창을 열면(미리보기 → 삭제 확인) 닫힘 애니메이션 뒤 **뒤 화면의 여는 단추로 포커스를 빼앗던** 것.
|
|
26
|
+
포커스가 그 창 안이거나 body 일 때만 되돌린다.
|
|
27
|
+
- **Popup Tab 가둠**: 판 자체(본문 글자를 누르면 판이 받는다)에 포커스가 있을 때 Shift+Tab 이 뒤 화면으로 나가던 것, 닫히지 않는
|
|
28
|
+
바탕(`closeOnBackdrop={false}` 등)을 누르면 포커스가 body 로 떨어져 가둠이 풀리던 것.
|
|
29
|
+
- **TrainingPagePopup**: 첫 칸 포커스가 `onBack` 이 바뀔 때마다 다시 돌아 **훈련 중 포커스를 첫 칸으로 끌어오던** 것 — 마운트 때 한 번만.
|
|
30
|
+
닫히면 연 곳으로 포커스를 되돌린다.
|
|
31
|
+
- **Dropdown**: Tab 으로 트리거를 떠나면 메뉴를 닫는다(열린 채 남아 화살표·Enter 가 안 가던 죽은 메뉴). 열린 동안 부모가 `options` 를
|
|
32
|
+
새 배열로 넘겨도 화살표로 옮긴 가리킴이 선택값 자리로 튀지 않는다.
|
|
33
|
+
- **DatePicker**: 오늘·활성일이 min/max 밖이라 꺼져 있으면 격자에 Tab 자리가 없어 키보드로 들어갈 수 없던 것 — 켜진 날이 받는다.
|
|
34
|
+
- **Tabs**: 첫 탭이 꺼져 있거나 `value` 가 items 에 없으면 켜진 첫 탭을 고르고 Tab 자리를 준다.
|
|
35
|
+
|
|
36
|
+
### 바뀜 — 폼 안에서 제출되던 단추(113곳)
|
|
37
|
+
|
|
38
|
+
코어가 제 안에서 그리는 `Button` 113곳에 `htmlType="button"`. Button 은 htmlType 이 없으면 type 을 붙이지 않아(앱 로그인 폼이 그
|
|
39
|
+
기본값으로 제출하므로 **기본값은 그대로**) 앱이 Pagination·SegmentedControl·FilterPanel·ChoiceChips 등을 `<form>` 안에 두면 누를 때마다
|
|
40
|
+
폼이 제출됐다. `test/noSubmitButtonsInCore` 가 소스를 훑어 지킨다.
|
|
41
|
+
|
|
42
|
+
### 바뀜 — 입력
|
|
43
|
+
|
|
44
|
+
- **FilterPanel** `display:'segmented'`(allOption 없음): 고른 것이 없는데 첫 보기가 골라진 것처럼 보이던 것.
|
|
45
|
+
- **FileUpload** 비제어 모드: `onRemove` 를 주면 뺀 파일이 목록에 남던 것 — 알림은 onRemove 한 번(전과 같음), 보이는 목록은 줄인다.
|
|
46
|
+
|
|
47
|
+
### 바뀜 — 훈련·소리
|
|
48
|
+
|
|
49
|
+
- **소음 설정**: 저장된 설정을 **불러오기 전에** 바꾸면 `enabled:false` 초기값 위에 합쳐 곧바로 저장돼 **다음 판부터 소음이 꺼졌고**,
|
|
50
|
+
늦게 온 불러오기가 그 변경을 덮었다. 불러오기 전 변경은 모아 두었다가 불러온 값 위에 얹어 한 번 저장한다.
|
|
51
|
+
- **TrainingStepAudioPlayer**: 불러오는 중 다음 문항으로 넘기거나 팝업을 닫아도 흐름이 돌아 **떼어진 `<audio>` 에서 이전 문장이 끝까지
|
|
52
|
+
울리던** 것. 쓸 소스를 하나도 못 얻으면 'load' 에 갇혀 듣기 단추가 사라지던 것 — 알리고 누를 수 있는 상태로.
|
|
53
|
+
- **TrainingWordCard**: 카드가 번호 key 로 재사용될 때 새 낱말의 URL 을 받기 전·못 받았을 때 **이전 낱말 소리**가 나던 것.
|
|
54
|
+
- **한 음소 바꾸기**(`CHANGE_1_PHONEME_IN_1SYLL`·`2SYLL`): 오답끼리·정답과 소리가 같은 보기(낮·낯)를 거르고, 철자가 두 자리 이상 다른
|
|
55
|
+
발음 대립쌍(같이↔가지)은 바꾼 단어로 쓰지 않는다('같이에서 같을 가로' 가 되어 문제 글과 정답이 어긋났다).
|
|
56
|
+
- **useAudioPreview**: 코드 없는 훈련으로 바뀌어도 이전 훈련 주소로 미리듣기가 나던 것.
|
|
57
|
+
- **computePeaksFromUrl**: 디코딩 실패·채널 없음에서 AudioContext 를 닫지 않던 것(파형 실패마다 하나씩 남음), `ok:false` 응답도 디코딩하던 것.
|
|
58
|
+
|
|
59
|
+
### 바뀜 — 훅·유틸
|
|
60
|
+
|
|
61
|
+
- **useDocumentTitle**: 화면이 겹쳐 떠 있다가 먼저 붙은 쪽이 나중에 떠나면 뒤 화면의 제목을 지우던 것 — 건 제목을 쌓아 남은 맨 위로
|
|
62
|
+
돌린다(말귀 CustomersPage 의 우회는 그대로 두어도 된다).
|
|
63
|
+
- **Toast**(useToastLifecycle): 보이는 중 문구를 바꾼 뒤 떠나면 타이머가 살아 **떠난 뒤 `onClose`** 가 불리던 것.
|
|
64
|
+
- **escapeCsvField**: 숫자 값(음수·환불 금액)에 탭을 붙여 엑셀이 글자 칸으로 읽던 것. 글자 `'-2+3'` 은 그대로 막는다.
|
|
65
|
+
- **칸순**(ListPopup 정렬): 글자로 온 숫자('10'·'9')를 글자로 견주던 것, NaN 이 비교를 흐트러뜨리던 것.
|
|
66
|
+
- **matchesWordQuery**: 영문을 대소문자 구분해 'apple' 로 'Apple' 을 못 찾던 것.
|
|
67
|
+
|
|
68
|
+
### 소비자에게
|
|
69
|
+
|
|
70
|
+
- **Dropdown 을 시험에서 열고 다른 요소로 포커스를 옮기면 메뉴가 닫힌다.** 항목은 click 으로 고르면 그대로 된다.
|
|
71
|
+
- 훈련 러너에서 Esc 는 **포커스가 어디 있든** 훈련 창을 닫는다(맨 위 팝업일 때). 판에 keyDown 을 쏘던 시험은 그대로 통과한다.
|
|
72
|
+
- 고치지 않은 것: 조사 `pickIga` 등이 숫자 끝('Step 1')에서 기본값 '가' 를 쓰는 것 — `사과(1)` 같은 동음이의 번호를 위해 숫자를 건너뛰도록
|
|
73
|
+
시험(josaFormat)이 정해 두었다.
|
|
74
|
+
|
|
10
75
|
## 0.132.0
|
|
11
76
|
|
|
12
77
|
말귀가 "스타일 오버라이드 없도록 모두 정리" 하다 코어에 길이 없어 못 걷은 덮음 여섯을 prop 으로 연 판이다.
|