@ihabdevteam/core 0.308.0 → 0.310.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 (30) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/components.cjs.js +173 -173
  3. package/dist/components.esm.css +1 -1
  4. package/dist/hooks.cjs.js +1 -1
  5. package/dist/i18n.cjs.js +1 -1
  6. package/dist/ihabdevteam-core.cjs.js +43 -43
  7. package/dist/ihabdevteam-core.d.ts +22 -7
  8. package/dist/packages/core/src/components/CountTile.css +6 -3
  9. package/dist/packages/core/src/components/CountTile.js +11 -1
  10. package/dist/packages/core/src/components/Training/CategoryIcon.css +8 -0
  11. package/dist/packages/core/src/components/Training/CategoryIcon.js +9 -1
  12. package/dist/packages/core/src/components/Training/TrainingStep.d.ts +9 -2
  13. package/dist/packages/core/src/components/Training/TrainingStep.js +2 -2
  14. package/dist/packages/core/src/components/Training/TrainingStepCard.d.ts +4 -1
  15. package/dist/packages/core/src/components/Training/TrainingStepCard.js +2 -2
  16. package/dist/packages/core/src/components/Training/TrainingStepCardOrder.d.ts +4 -1
  17. package/dist/packages/core/src/components/Training/TrainingStepCardOrder.js +2 -2
  18. package/dist/packages/core/src/components/Training/TrainingStepConfirm.d.ts +4 -1
  19. package/dist/packages/core/src/components/Training/TrainingStepConfirm.js +2 -2
  20. package/dist/packages/core/src/components/Training/TrainingStepConfirmWithText.d.ts +4 -1
  21. package/dist/packages/core/src/components/Training/TrainingStepConfirmWithText.js +2 -2
  22. package/dist/packages/core/src/components/Training/TrainingStepOrderList.d.ts +1 -1
  23. package/dist/packages/core/src/components/Training/TrainingStepOrderList.js +2 -2
  24. package/dist/packages/core/src/components/Training/trainingStepOrderListTypes.d.ts +3 -0
  25. package/dist/packages/core/src/components/Training/trainingStepOrderListTypes.js +0 -4
  26. package/dist/packages/core/src/utils/lazyPage.js +10 -1
  27. package/dist/packages/core/src/version.d.ts +1 -1
  28. package/dist/packages/core/src/version.js +1 -1
  29. package/dist/utils.cjs.js +1 -1
  30. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,79 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.310.0
11
+
12
+ ### `TrainingStep.lockedHint` — **주는 곳에서만 선다, 기본값이 없다** (말귀 요청 (107), 사용자 지시)
13
+
14
+ 사용자가 실행 창의 *"다 들으면 고를 수 있어요."* 를 보고 *"이거 뭐야. 누가 추가했어, 제거해"*
15
+ (2026-10-10). 출처는 (99) — 0.302.0 부터 잠긴 단계 바로 다음 차례에 그 말이 **기본으로** 섰고
16
+ `null` 을 줘야 꺼졌다. 그런데 **앱에서는 끌 길이 없었다**: 그 단계는 코어 러너(`TrainingPagePopup`
17
+ 의 `ConfirmWithTextStep` 등)가 세워서 앱이 `lockedHint` 를 만질 자리가 없다(앱 저장소 0건).
18
+
19
+ 이제 `lockedHint` 를 **준 곳에서만** 그 줄이 선다. 안 주면(또는 `null`) 아무것도 안 선다.
20
+ 열쇠 `training.answerLockedHint` 는 남겨 두었다 — 켜고 싶은 자리는 `lockedHint={t('training.answerLockedHint')}`.
21
+
22
+ (99) 의 낭독기 쪽 까닭(단추가 진짜 `disabled` 라 초점이 안 가 까닭을 들을 길이 없다)은 그대로
23
+ 참이다 — **주면** 여전히 `role="status"` 다. 코어가 보이지 않는 줄을 몰래 세우지는 않는다 —
24
+ 걷으라 하신 것은 화면의 그 글줄이고, 숨긴 노드도 "누가 추가한 것" 이다. 그 길은 앱이 정한다.
25
+
26
+ 못(`test/answerLockedHint.test.tsx`)을 **뒤집었다**: 여섯 단계를 다 돌려 전에는 1줄을 셌고 이제
27
+ **0줄**을 센다 — 누가 기본을 다시 두면 여섯이 한꺼번에 운다. 주면 서고 · 바로 다음 차례에만 ·
28
+ 열리면 사라지고 · 단추는 여전히 잠겨 있는 것은 그대로 지킨다. `LIVE-ONLY-CHECKS` 5번도 같은
29
+ 자로 **반대 값**(0)을 기다린다.
30
+
31
+ ### 그리고 **다섯 겉싸개가 `lockedHint` 를 안 넘기고 있었다** — (107) 을 하다 찾음
32
+
33
+ 기본을 끄고 "주는 곳에서만" 을 못으로 세우려고 겉싸개(`TrainingStepConfirmWithText`)에 `lockedHint`
34
+ 를 줘 봤더니 **아무 데도 안 닿았다.** 다섯 겉싸개(`ConfirmWithText` · `Confirm` · `Card` · `CardOrder` ·
35
+ `OrderList`) 모두 그 prop 을 받지도 넘기지도 않았다 — (99) 때 못이 맨 `TrainingStep` 에만 줘 보고
36
+ 끝나서 **여섯 중 하나만** 열린 문이었다. 기본이 켜져 있던 동안은 아무도 몰랐다(안 줘도 섰으니까).
37
+ 기본을 끄는 순간 *"주는 곳에서만 선다"* 가 *"아무 데서도 못 세운다"* 가 될 자리였다.
38
+
39
+ 다섯 겉싸개가 이제 `lockedHint?: ReactNode | null` 을 받아 그대로 넘긴다. 못은 같은 여섯 목록으로
40
+ **안 주면 0줄 · 주면 1줄** 을 둘 다 센다. 둘 다 깨뜨려 확인했다(기본을 다시 두면 여섯이 울고, 겉싸개
41
+ 하나의 넘김을 걷으면 그 하나가 운다).
42
+
43
+ > **기본값은 그것을 끌 자리가 있는지 먼저 센다.** (99) 는 자리를 여섯으로 세어 고쳤지만, 그
44
+ > 말을 **끌 수 있는 자리가 0** 인 것은 안 셌다 — 그리고 **켤 수 있는 자리도 하나**였다. 둘 다
45
+ > 기본값이 켜져 있어서 안 보였다. 청한 쪽이 아니라 쓰는 쪽이 보고 걷으라 했다.
46
+
47
+ ## 0.309.0
48
+
49
+ ### `CountTile` — **반응하는 타일이면 반응하는 것처럼 보인다** (말귀 요청 (105))
50
+
51
+ 사용자 보고(2026-10-10): *"count tile 에 호버되었을 때 호버 표현 해 줘."* 코어가 `onClick` 이 있을
52
+ 때만 호버 모양을 줬는데, 이 타일이 반응하는 길은 **셋**이다:
53
+
54
+ 누르기 onClick
55
+ 얹으면 담긴 훈련이 뜸 tooltip && plan ← 매니저 숙제 카드
56
+ 부르는 쪽이 제 툴팁을 띄움 onMouseEnter ← 회원 숙제 카드
57
+
58
+ 뒤의 둘은 **반응하는 자리인데 반응하는 것처럼 안 보였다.** 이제 호버 모양은 `count-tile--interactive`
59
+ 가 맡고(`background: --color-white` · `border-color: --color-lightGray`), `count-tile--clickable` 은
60
+ **커서만** 지킨다 — 누르는 타일과 얹는 타일이 같은 호버를 쓰고 커서만 갈린다. 아무것도 안 하는
61
+ 타일과 `tooltip={false}` 인 타일은 그대로다(반응 안 하는데 반응하는 척하면 거짓말이다).
62
+
63
+ 못(`test/countTileHoverAffordance.test.tsx`)은 **표가 붙는가**와 **호버 규칙이 한 클래스에만
64
+ 사는가**를 본다 — `--clickable:hover` 에 배경이 다시 생기면 운다(호버가 두 자리에 살게 되니까).
65
+ *그려진 색*은 jsdom 이 못 보니 `LIVE-ONLY-CHECKS.md` 6번이다. 둘 다 깨뜨려 확인했다.
66
+
67
+ ### `CategoryIcon` — **올리면 아이콘 색으로 1px 테두리** (말귀 요청 (106))
68
+
69
+ 사용자 지시(2026-10-10): *"category icon 에 color 로 border 1 표현."* 올리면 설명 말풍선이 뜨는데
70
+ 상자는 그대로였다 — (105) 와 같은 결. 이제 `category-icon__wrap--interactive:hover .category-icon` 에
71
+ `box-shadow: inset 0 0 0 1px var(--t-item-fg, --color-lightGray)` — 안쪽 그림자라 40px 이 안 흔들린다.
72
+
73
+ 표는 **말풍선이 설 때만** 붙는다(`useHover` 이고 보여 줄 글이 있을 때). `useHover={false}` 면
74
+ 말풍선과 함께 테두리도 안 선다 — 반응 안 하는 자리에 표를 주면 (105) 의 반대 거짓이다.
75
+ 못(`test/categoryIconHoverAffordance.test.tsx`)은 표의 짜임과 **맨 `.category-icon__wrap:hover` 규칙이
76
+ 없는가**를 본다. 키보드 초점(`:focus-visible`)은 이 판에 안 넣었다 — 청이 호버였다.
77
+
78
+ > **같은 꼴이 코어에 여덟 더 있다** — `--clickable` 을 `onClick` 으로만 거는 조각들(ChartSection ·
79
+ > PanelRow · StatChart · Badge · TrainingCard · Calendar · Table · LandingBottomSticky). 그중 **얹기만
80
+ > 해도 반응하는** 것은 `ChartSection`(설명 툴팁) 하나다. 이 판에서는 안 건드렸다 — 매니저 대시보드의
81
+ > 모습이 바뀌는 일이라 청이 와야 한다.
82
+
10
83
  ## 0.308.0
11
84
 
12
85
  ### `renderResultPopup` 이 **가운데 겹에도** 있다 — 말귀 요청 (104)