@ihabdevteam/core 0.136.0 → 0.137.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 +53 -0
- package/dist/components.cjs.js +176 -176
- package/dist/components.esm.css +2 -2
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +182 -182
- package/dist/ihabdevteam-core.d.ts +20 -5
- package/dist/packages/core/src/components/Breadcrumb.js +1 -0
- package/dist/packages/core/src/components/Effect/EffectPartyPopper.js +3 -2
- package/dist/packages/core/src/components/Icon.js +4 -1
- package/dist/packages/core/src/components/LandingHeader.d.ts +1 -1
- package/dist/packages/core/src/components/LandingHeader.js +5 -1
- package/dist/packages/core/src/components/PageTitle.js +1 -0
- package/dist/packages/core/src/components/Pagination.js +1 -1
- package/dist/packages/core/src/components/Panel.css +3 -0
- package/dist/packages/core/src/components/Panel.d.ts +11 -1
- package/dist/packages/core/src/components/Panel.js +3 -3
- package/dist/packages/core/src/components/PanelRow.js +8 -1
- package/dist/packages/core/src/components/PassCard/PassCardBgIHAB.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgLeftColorGrid.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgSoundMove.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgSoundMoveV1.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgTalk.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgTalkV1.js +1 -0
- package/dist/packages/core/src/components/PassCard/PassCardBgTwoCircle.js +1 -0
- package/dist/packages/core/src/components/Popup/DeviceSideTable.js +8 -1
- package/dist/packages/core/src/components/Popup/Popup.css +10 -0
- package/dist/packages/core/src/components/Popup/Popup.d.ts +5 -0
- package/dist/packages/core/src/components/Popup/Popup.js +5 -4
- package/dist/packages/core/src/components/Popup/TrainingResultPopup.js +6 -1
- package/dist/packages/core/src/components/ProgressIndicator.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgDark.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgDeep.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgDiagonal.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgDots.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgInstagram.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgMain.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgNaver.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgOutline.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgRadial.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgSoft.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgSoftSub.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgSub.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgSuccess.js +1 -0
- package/dist/packages/core/src/components/PromoBannerBg/PromoBannerBgWarm.js +1 -0
- package/dist/packages/core/src/components/TextField.js +3 -1
- package/dist/packages/core/src/components/Tooltip/DescriptionTooltip.js +1 -0
- package/dist/packages/core/src/components/Training/TrainingBlockButton.js +10 -4
- package/dist/packages/core/src/components/Training/TrainingCardGroup.js +1 -0
- package/dist/packages/core/src/components/Training/TrainingStepAudioPlayer.js +28 -1
- package/dist/packages/core/src/components/Training/TrainingStepCard.js +7 -1
- package/dist/packages/core/src/components/Training/TrainingStepOrderList.d.ts +0 -1
- package/dist/packages/core/src/components/Training/TrainingStepOrderList.js +16 -1
- package/dist/packages/core/src/components/Training/TrainingWordCard.js +21 -4
- package/dist/packages/core/src/components/Training/currentSound.d.ts +5 -0
- package/dist/packages/core/src/components/Training/currentSound.js +13 -0
- package/dist/packages/core/src/components/Training/trainingPopupUtils.js +12 -1
- package/dist/packages/core/src/components/Training/useNoiseFade.js +4 -0
- package/dist/packages/core/src/components/Training/useTTSPlayback.js +5 -1
- package/dist/packages/core/src/components/WordTable.js +19 -5
- package/dist/packages/core/src/hooks/useFontScale.js +13 -4
- package/dist/packages/core/src/hooks/useIcon.js +3 -0
- package/dist/packages/core/src/hooks/useLucideIcon.js +3 -0
- package/dist/packages/core/src/hooks/useMediaQuery.d.ts +2 -1
- package/dist/packages/core/src/hooks/useMediaQuery.js +37 -8
- package/dist/packages/core/src/hooks/usePagedList.js +1 -0
- package/dist/packages/core/src/hooks/useTrainingTypeLabels.js +1 -0
- package/dist/packages/core/src/hooks/useVisitHistory.js +1 -0
- package/dist/packages/core/src/hooks/useWordTrainingDataGeneration.js +18 -3
- package/dist/packages/core/src/i18n/locales/en.json +41 -4
- package/dist/packages/core/src/i18n/locales/ko.json +41 -4
- package/dist/packages/core/src/utils/errorMessage.js +7 -1
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,59 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.137.0
|
|
11
|
+
|
|
12
|
+
6차 검수 판이다 — 이번에는 가로지르는 검수 넷(서버 렌더 안전·StrictMode 부작용·언마운트 뒤 남는 것·영어 화면의 한국어)과
|
|
13
|
+
훅·기본 컴포넌트 2차 검수에서 **재현된** 결함을 고쳤다. 항목마다 시험을 붙이고 고친 줄을 되돌리면 붉어지는 것을 확인했다.
|
|
14
|
+
말귀 훈련 계획 창이 덮어쓰던 규칙을 prop 으로 더 가져왔다. 걷은 prop·타입·열쇠는 없다. 사전 열쇠를 더했다
|
|
15
|
+
(`wordTable.info.*`·`wordTable.pos.*`·`common.networkError`·`training.audioStatus.*`·`device.type.*`·`header.menuClose`).
|
|
16
|
+
|
|
17
|
+
### 소비자에게 먼저
|
|
18
|
+
|
|
19
|
+
- **Popup `height`**: 인라인 `height` 대신 CSS 변수 `--popup-height` + `.popup-panel--has-height` 로 건다 — 앱의
|
|
20
|
+
`.x .popup-panel { height }` 미디어 규칙이 이긴다. 패널 `style.height` 를 읽는 시험은 `style.getPropertyValue('--popup-height')` 로.
|
|
21
|
+
- **useMediaQuery**(React 18+): 서버 렌더 HTML 을 붙일 때 첫 렌더는 `false`(서버와 같게), 붙인 뒤 곧바로 실제 값. 서버 렌더가
|
|
22
|
+
아닌 첫 렌더는 전과 같이 실제 값이다. React 16/17 은 예전 그대로.
|
|
23
|
+
- **'use client'**: 훅을 쓰는 모듈 30곳에 지시문을 달았다(Icon·PageTitle·Breadcrumb·ProgressIndicator·DescriptionTooltip·
|
|
24
|
+
TrainingCardGroup·PassCardBg*·PromoBannerBg*·usePagedList·useTrainingTypeLabels·useVisitHistory). 빠뜨림을 잡는 시험을 둔다.
|
|
25
|
+
- **영어 화면**: 훈련 블록 유형·카테고리, 팝업 아이콘 툴팁, 낱말 정보 툴팁, 네트워크 오류 안내(`toUserErrorMessage` —
|
|
26
|
+
`NETWORK_ERROR_MESSAGE` 상수는 그대로), 오디오 불러오기 상태, 기기 종류 배지, LandingHeader 기본 메뉴 이름이 사전을 거친다.
|
|
27
|
+
한국어 화면의 글자는 그대로다.
|
|
28
|
+
- **Pagination** `totalPages=0`: `"1 / 1"`(전에는 `"1 / 0"`).
|
|
29
|
+
- **Icon**: `label` 이 요소면 `img alt=""`(전에는 `"[object Object]"`).
|
|
30
|
+
|
|
31
|
+
### 더함 (말귀 요청)
|
|
32
|
+
|
|
33
|
+
- **Popup `fillBody`**: 본문은 굴리지 않고 안쪽이 세로 flex·높이 100% — 안의 한 칸만 굴린다.
|
|
34
|
+
- **Panel `scrollbarGutter`**: `'auto'`(기본) | `'stable'`.
|
|
35
|
+
- **Panel `compactRows`**: 행 최소 높이 46px·위아래 3px — `size="small"` 행 하나짜리 패널이 테두리까지 48px.
|
|
36
|
+
|
|
37
|
+
### 바뀜 — 훈련
|
|
38
|
+
|
|
39
|
+
- **TrainingStepOrderList**: `context` 를 안 주면 렌더가 끝없이 돌았다(CPU 100%). 끌기 첫 프레임 전에 끝내거나 떠나면 rAF 루프가
|
|
40
|
+
영영 돌았다. StrictMode 에서 처음 배치 알림이 두 번(첫 알림은 화면에 안 뜬 배치).
|
|
41
|
+
- **useNoiseFade**(StrictMode·`<Activity>`): 소음 요소를 다시 만들면 파일이 안 물려, 소음이 켜진 채 마운트된 단계에서 소음이 안 났다.
|
|
42
|
+
- **TrainingWordCard·TrainingStepCard**: 음성 합성으로 듣는 중·합성 주소를 기다리는 중·'모두 듣기' 중에 떠나면 소리가 계속 났다 —
|
|
43
|
+
떠날 때 제가 쥔 소리만 끊는다.
|
|
44
|
+
- **TrainingStepAudioPlayer**: 불러오는 중 떠나면 늦게 온 소리로 blob 주소를 남기고 떼어진 `<audio>` 를 불러왔다.
|
|
45
|
+
- **useTTSPlayback**: 마운트만 한 단계가 떠날 때 다른 곳의 음성 합성을 끊었다.
|
|
46
|
+
- **TrainingResultPopup** 폭죽 신호 · **EffectPartyPopper** 움직임 줄이기 `onComplete`: StrictMode 에서 두 번.
|
|
47
|
+
- **useWordTrainingDataGeneration**: `types` 가 늦게 오면 끝까지 안 만들었고, 언어를 바꿔도 단추 제목이 옛 언어였다.
|
|
48
|
+
|
|
49
|
+
### 바뀜 — 훅·기본 컴포넌트
|
|
50
|
+
|
|
51
|
+
- **useFontScale**: `storageKey` 가 바뀌면 앞 값으로 새 열쇠의 저장값을 덮었다. 저장소를 못 읽으면 범위를 안 조였다.
|
|
52
|
+
- **Icon·useIcon**: 다른 SVG 로 바꾸는 동안 앞 아이콘이 그려졌다. 그림 파일 경로를 lucide 이름으로 찾아 개발 경고를 냈다.
|
|
53
|
+
- **TextField**: 서버 렌더(React 18)에서 `useLayoutEffect` 경고.
|
|
54
|
+
|
|
55
|
+
### 고치지 않은 것 — 결정·확인이 필요하다
|
|
56
|
+
|
|
57
|
+
- i18n 이 불러오는 순간 저장된 언어로 시작해, 서버 렌더 앱에서 저장 언어가 en 이면 hydration 이 어긋난다(말귀 SPA 에는 장점).
|
|
58
|
+
- Calendar·BarChart·useRelativeDay 가 렌더 중 '지금' 을 읽는다 — 서버·브라우저 날짜가 다르면 어긋난다.
|
|
59
|
+
- `/images/brand/check.svg` 같은 파일 경로가 lucide `check` 로 그려진다. PanelRowDevice·HearingDeviceInfo 좌·우 단추 이름이 같다.
|
|
60
|
+
- `reviewTableName` "N차 복습"·`duplicateTable` "(복사)" 가 저장 이름에 한국어로 붙는다. 한국어 원본 상수(POS_LABEL 등)를 계속 공개할지.
|
|
61
|
+
- 앞 판에 적은 결정(저장 실패 반환·오프셋 없는 시각·Board 빈 문구·Rating 조작 소수·ConfirmPopup 거절)은 그대로.
|
|
62
|
+
|
|
10
63
|
## 0.136.0
|
|
11
64
|
|
|
12
65
|
5차 검수 판이다 — 이번에는 아직 깊이 안 본 곳(context·i18n·유틸, 입력·표시 컴포넌트, 팝업·툴팁·단어표 도구, 훈련 단계)을
|