@qualisoft/ai-skills 1.4.0 → 1.4.1

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 CHANGED
@@ -1,5 +1,37 @@
1
1
  # 변경 이력
2
2
 
3
+ ## 1.4.1 — 2026-09-14
4
+
5
+ `비활성 관리` 를 켰을 때 체크박스가 상태 점에 붙어 보이던 것을 고쳤습니다.
6
+
7
+ 체크박스를 절대 배치해서 상태 점과 **1px 겹쳐 있었습니다.**
8
+
9
+ ```
10
+ 체크박스 left 7px + 폭 12 → 7 ~ 19
11
+ 상태 점 left 18px + 폭 5 → 18 ~ 23 ← 겹침
12
+ ```
13
+
14
+ 행은 이미 `flex` + `gap:8px` 이므로, 체크박스를 절대 배치하지 않고 **흐름 안에
15
+ 두면 간격이 저절로 맞습니다.** 절대 배치와 `padding-left` 로 억지로 맞추던 것을
16
+ 걷어냈습니다.
17
+
18
+ 체크박스가 없는 행(홈 · 가이드 · 추적성 매트릭스)도 같은 만큼 밀어 주어, 관리
19
+ 모드에서 왼쪽 끝이 들쭉날쭉하지 않습니다. 어느 행에 체크박스가 있는지는 JS 가
20
+ `has-check` 클래스로 표시합니다 — `:has()` 선택자에 기대지 않아 브라우저를 가리지
21
+ 않습니다.
22
+
23
+ 곁들여: 체크박스 12px → 13px, 관리 모드에서 행 hover 표시, 상단 관리 줄 여백 정리.
24
+
25
+ ### 검증
26
+
27
+ ```
28
+ 체크박스 16~29 · 상태 점 37~42 · 이름표 50~
29
+ 간격 8px 균일 · 겹침 없음
30
+ 체크박스 없는 행과 점·이름표 좌표 일치 (37 / 50)
31
+ 모드 해제 시 원래 정렬로 복귀 (16 / 16)
32
+ ```
33
+
34
+
3
35
  ## 1.4.0 — 2026-09-14
4
36
 
5
37
  대본을 **고객 송부용**으로 다시 세웠습니다. 세 가지 문제를 고쳤습니다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qualisoft/ai-skills",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "기획 인터뷰부터 문서 체계·디자인 시안·구현까지 이어지는 AI 에이전트 스킬 5종. Claude Code · Codex · Gemini 등 어느 도구에서나 쓴다. 외부 의존성 없음.",
5
5
  "keywords": [
6
6
  "ai-skills",
@@ -1889,15 +1889,21 @@ const CSS = `
1889
1889
  background:#000; box-shadow:0 0 0 1px rgba(255,255,255,.22)}
1890
1890
  .nav-item.unused .nav-label{color:var(--tx-faint)}
1891
1891
  .nav-item.unused:hover .nav-label{color:var(--tx-dim)}
1892
- /* 관리 모드 */
1893
- body.inactive-mode .nav-item{position:relative; padding-left:30px}
1894
- body.inactive-mode .nav-item .nav-dot{position:absolute; left:18px}
1895
- .nav-check{position:absolute; left:7px; top:50%; transform:translateY(-50%);
1896
- width:12px; height:12px; margin:0; cursor:pointer; accent-color:var(--accent);
1897
- display:none}
1892
+ /* 관리 모드
1893
+ *
1894
+ * 체크박스를 절대 배치하면 상태 점과 겹친다(7~19 vs 18~23). 행은 이미
1895
+ * flex + gap 이므로 흐름 안에 두면 간격이 저절로 맞는다. */
1896
+ .nav-check{display:none; flex:none; width:13px; height:13px; margin:0;
1897
+ cursor:pointer; accent-color:var(--accent)}
1898
1898
  body.inactive-mode .nav-check{display:block}
1899
+ /* 체크박스가 없는 행(홈·가이드·추적성)도 왼쪽을 맞춘다.
1900
+ * 8 + 13 + 8 = 29 — 체크박스가 차지하는 폭만큼 밀어 준다. */
1901
+ body.inactive-mode .nav-item{padding-left:29px}
1902
+ body.inactive-mode .nav-item.has-check{padding-left:8px}
1903
+ body.inactive-mode .nav-item:hover{background:var(--hover)}
1899
1904
  body.inactive-mode .nav-tools{background:var(--hover); border-radius:7px;
1900
- margin:0 6px 6px; padding:6px 8px}
1905
+ margin:0 6px 8px; padding:7px 9px}
1906
+ body.inactive-mode .nav-toggle{color:var(--tx)}
1901
1907
  html{-webkit-text-size-adjust:100%}
1902
1908
  body{
1903
1909
  margin:0; background:var(--bg); color:var(--tx);
@@ -2300,6 +2306,7 @@ const JS = `
2300
2306
  cb.className = 'nav-check';
2301
2307
  cb.title = '비활성으로 표시';
2302
2308
  item.insertBefore(cb, item.firstChild);
2309
+ item.classList.add('has-check');
2303
2310
  });
2304
2311
 
2305
2312
  /* 체크박스가 <a> 안에 있어 클릭이 그대로 두면 문서 이동까지 간다.