@ihabdevteam/core 0.178.0 → 0.180.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 +47 -0
  2. package/dist/components.cjs.js +14 -14
  3. package/dist/components.esm.css +3 -3
  4. package/dist/hooks.cjs.js +1 -1
  5. package/dist/i18n.cjs.js +1 -1
  6. package/dist/ihabdevteam-core.cjs.js +176 -176
  7. package/dist/ihabdevteam-core.d.ts +50 -3
  8. package/dist/packages/core/src/components/Button.css +16 -0
  9. package/dist/packages/core/src/components/Button.js +3 -2
  10. package/dist/packages/core/src/components/Panel.css +19 -0
  11. package/dist/packages/core/src/components/PanelRow.d.ts +9 -0
  12. package/dist/packages/core/src/components/PanelRow.js +2 -2
  13. package/dist/packages/core/src/components/Popup/Popup.css +10 -1
  14. package/dist/packages/core/src/components/Popup/Popup.d.ts +10 -0
  15. package/dist/packages/core/src/components/Popup/Popup.js +2 -2
  16. package/dist/packages/core/src/components/Section.css +4 -0
  17. package/dist/packages/core/src/components/Section.d.ts +12 -1
  18. package/dist/packages/core/src/components/Section.js +2 -2
  19. package/dist/packages/core/src/components/Training/TrainingBlock.css +20 -0
  20. package/dist/packages/core/src/components/Training/TrainingPagePopup.css +6 -0
  21. package/dist/packages/core/src/components/Training/TrainingPagePopup.d.ts +4 -0
  22. package/dist/packages/core/src/components/Training/TrainingPagePopup.js +3 -3
  23. package/dist/packages/core/src/components/Training/WordTablePopup.d.ts +5 -1
  24. package/dist/packages/core/src/components/Training/WordTablePopup.js +2 -2
  25. package/dist/packages/core/src/components/buttonTypes.d.ts +9 -0
  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 +1 -1
  29. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,53 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.180.0
11
+
12
+ ### 소비자에게 먼저 — 같은 요구가 여러 자리에 흩어져 있던 둘, 그리고 넘김 하나
13
+
14
+ 말귀가 앱 CSS 를 다시 전수로 세어(115규칙·32파일 → 104·28) 찾아낸 것이다(2026-09-18). 셋 다 **안 주면 예전 그대로** 다.
15
+
16
+ - **`Section inGrid`**: 격자 칸 안에서 아래 여백(`--spacing-page`)을 푼다. `Section` 은 **세로로 이어 놓는 것**을 전제로 그 여백을 두고
17
+ 마지막 것만 `:last-child` 로 빼는데, 2×2 격자에 넣으면 그 규칙이 **마지막 칸에만** 걸려 넷 중 셋이 여백을 달고 섰다 —
18
+ 카드 바닥선이 어긋나고 줄 사이 간격도 달라 보였다(말귀 문장훈련 분석 실측: 카드 506 vs 566px).
19
+ `ChartSection inGrid` 와 **같은 이름** 이다. 두 카드가 한 격자에 설 때 같은 말이어야 한다.
20
+ - **`PanelRow useFullWidth` 가 children 모드에도 있다**: 라벨을 고정 폭으로 두고 오른쪽이 남은 폭을 채우며,
21
+ **그 안의 입력칸도 함께 늘어난다.** `variant='input'`·`'dropdown'` 은 늘 이 꼴이고 `'text'`·`'custom'` 은 이 prop 으로 켰는데,
22
+ `TextField`·`Dropdown`·`form-input` 을 **children 으로 넣는 길에만 통로가 없었다** — 그래서 소비자가
23
+ `.panel-row__right { display: flex }` + `> * { flex: 1 }` 을 손으로 붙였고, 같은 한 줄이 **말귀 앱 넷 · 어드민 셋** 에 흩어져 있었다.
24
+ 라벨 폭은 `Panel labelWidth` 가 정한다(기본 120px).
25
+ - **`WordTablePopup footerLayout`**: `Popup` 의 것을 그대로 내려보낸다. `footerClassName` 을 소비자에게 여는 감싸개는 이것 하나인데
26
+ 0.179.0 에서 이 prop 을 빼먹어, 이 창만 앱 CSS 로 정렬을 칠해야 했다. 0.173.0 의 `Header` 넘김 빠뜨림과 같은 꼴이라
27
+ 이번에는 그 감싸개를 **전부 훑어** 함께 열고, **새 감싸개가 한쪽만 열면 우는 시험**을 뒀다.
28
+
29
+ ## 0.179.0
30
+
31
+ ### 소비자에게 먼저 — 앱이 코어 이름을 겨냥하던 자리 다섯을 코어가 쥔다
32
+
33
+ 말귀가 앱 CSS 를 **전수로 세어(117규칙 · 34파일)** 보낸 둘째 묶음이다(2026-09-18). 그 가운데 코어가 쥐는 편이 나은
34
+ 다섯을 받았다. 나머지는 그 화면만의 쓰임이라 앱에 남는다(랜딩 폰 목업 · 게임 입력칸 · 어드민 사이드내브 등).
35
+
36
+ - **`Popup footerLayout`**(`'center'` 기본 · `'fill'` · `'between'`): 바닥 줄의 가로 배치. `'fill'` 은 폭을 똑같이 나누고(단추 둘 반반),
37
+ `'between'` 은 양 끝으로 밀며 양옆에 `--spacing-xl` 을 둔다(왼쪽 보조 · 오른쪽 주액션). `buttons` 배열에도 듣는다.
38
+ **바닥 줄의 세로가 이제 늘 가운데다** — 안 적어 두면 `stretch` 라 키가 다른 것을 나란히 두면 늘어났고, 소비자 셋이 이 자리를
39
+ 각자 `align-items: center` 로 칠하고 있었다. 바닥에 **키를 채우던 것**(칸막이 등)을 둔 창은 한 번 본다.
40
+ - **`PagePopup contentFull`**: 속 통의 `max-width: 800px` 과 `--spacing-page` 여백을 푼다. 안에 넣는 화면이 제 폭·여백을 그대로 쓰는 쓰임
41
+ (표 한 판을 꽉 채우는 창). 소비자 둘이 `.page-popup__content { padding: 0; max-width: none }` 로 각자 풀고 있었다.
42
+ - **`Button nowrap`**: 라벨을 한 줄로 둔다. '문자'·'카카오' 처럼 **한 낱말인 두 글자**가 표 칸에서 갈리던 자리다.
43
+ **기본은 그대로 줄바꿈이다** — 두 줄 라벨이 이미 선 화면이 있고, 좁은 자리에서 nowrap 은 넘쳐 **잘린다**(줄바꿈은 키만 늘어난다).
44
+ - **`Button align='left'` 가 교차축까지 왼쪽이다**: 두 줄 라벨(`label` + `subLabel`)이 `align='left'` 에서도 가운데로 모여
45
+ 소비자 둘이 `align-items: flex-start` 를 다시 칠하고 있었다. 한 줄 라벨은 가로 자리만 바뀐다(세로 가운데는 그대로).
46
+ `align='left'` 를 **두 줄 라벨에 쓰고 있던** 화면은 라벨이 왼쪽으로 붙는다 — 그게 이 prop 의 뜻이다.
47
+ - **훈련 갈래 목록이 폰(≤767px)에서 두 열이다**: 전에는 `flex-wrap` + 단추 `width: calc(50% - 5px)` 로 두 열을 노렸는데
48
+ **둘 합이 폭과 딱 같아서** 테두리·반올림 한 픽셀에 밀려 한 열로 떨어졌다. 이제 코어가 그 화면 규칙(2칸 격자)을 쥔다 —
49
+ 소비자가 `.page .training-list` 로 특이도를 못박아 격자를 다시 깔던 것(코어와 같은 셈수로는 **청크 차례가 승자를 정했다**)을 걷을 수 있다.
50
+ 감싸개를 한 겹 두는 화면도 셀을 채운다(손자까지 본다).
51
+
52
+ ### 안 바꾼 것 — 이미 있었다
53
+
54
+ - **`StatChart` 를 눌러지는 카드로** 는 새로 넣을 것이 없었다. `onClick` 을 주면 `manager-stat-card--clickable` 이 붙어
55
+ 커서·hover 테두리·Enter/Space·`role="button"`·Tab 자리가 함께 온다(`ChartSection onClick` 과 같은 결). 앱이 손으로 붙일 것이 아니다.
56
+
10
57
  ## 0.178.0
11
58
 
12
59
  ### 소비자에게 먼저 — 앱이 덮고 있던 자리 넷을 코어가 쥔다