Commit Graph
148 Commits
Author SHA1 Message Date
shkim4 fc856f5e86 Merge docs/sw-ai-usage-examples: list all AI examples A-J in AI_USAGE.md 2026-10-22 09:14:20 +09:00
shkim4 00180bacac docs(sw): list all AI examples A-J in AI_USAGE.md
Add the missing G (home menu), I (footer) and J (theme) with every example's real file name; the A-F consumer verification note is kept.
2026-10-22 09:14:19 +09:00
shkim4 7efb58ef12 test(sw): approve the 5a40796 AI docs alignment merge baseline
Deploy Storybook / deploy (push) Successful in 1m19s
Test-only approval commit after the 5a40796 main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit 955581c -> 5a40796.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/ai-docs-alignment-merge-2026-10-22.md: change and verification.
2026-10-22 09:02:34 +09:00
shkim4 5a40796b7e Merge docs/sw-viewer-ai-docs-p1-p3: align AI docs with the current viewer header (P1-P3, R1-R5) 2026-10-22 08:59:15 +09:00
shkim4 e267b1b441 docs(ai): apply recommended doc alignment R1-R5
- R1 sw COMPONENT_CATALOG §9: SWViewerHeaderButton is 32 x 48 in the trailing strip, 32 x 40 inside custom items
- R2 sw COMPOSITION_PATTERNS §7: open icon has only its own black outline, no frame border or face
- R3 sw VIEWER §2: open icon area 16 x 16 and button padding 0 12px 0 24px
- R4 docs/ai/MAINTAINING §1: sw ai files incl. FOOTER.md and examples A-J (G, I)
- R5 docs/ai/AI_GUIDE: center-graphic entries /reference and /style.css, synced to 4 package copies
2026-10-22 08:59:03 +09:00
shkim4 d03cc910b2 docs(sw): align viewer AI docs with open button, documents list and hover
- AI_USAGE.md §0.4: viewer hover changes only text and icon to #FFC600 (no #266651 face)
- AI_USAGE.md §0.2: file open is the onDocumentOpen button next to the logo, samples are documents
- COMPONENT_CATALOG.md §9: SWViewerHeader open button position, logoMenu marked compatibility only
2026-10-22 08:55:09 +09:00
shkim4 d71db6c5b0 test(sw): approve the 955581c SW viewer button-height merge baseline
Deploy Storybook / deploy (push) Successful in 1m2s
Test-only approval commit after the 955581c main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit f340a26 -> 955581c.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-viewer-button-height-2026-10-21.md: change and verification.
2026-10-21 19:27:26 +09:00
shkim4 955581c6c4 Merge fix/sw-viewer-button-height-34: restore the viewer button-height token to 34px 2026-10-21 19:24:57 +09:00
shkim4 51d03698ce fix(sw): restore the viewer button-height token to 34px
User request (2026-10-21): --hm-sw-viewer-button-height back to 34px (16px shrank
other viewer header buttons, e.g. 전체 보기); DESIGN_RULES token table matches.
The open icon keeps its 16 x 16 area (--hm-sw-viewer-icon-size, margin 0) and the open
padding 0 12px 0 24px. No Props, public .d.ts unchanged.
2026-10-21 19:24:57 +09:00
shkim4 c7f29b0142 test(sw): approve the f340a26 SW viewer open icon merge baseline
Deploy Storybook / deploy (push) Successful in 1m2s
Test-only approval commit after the f340a26 main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit 6b6f17c -> f340a26.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-viewer-open-icon-2026-10-21.md: changes and verification.
2026-10-21 19:18:55 +09:00
shkim4 f340a264b8 Merge fix/sw-viewer-open-icon-16: viewer open icon 16px area, open padding and button-height token 2026-10-21 19:16:39 +09:00
shkim4 0840d76c76 fix(sw): viewer open icon 16px area, open padding and button-height token
User requests (2026-10-21), CSS and docs only; no Props, public .d.ts unchanged.
- .hm-sw-viewer-header__open-icon: the 16 x 16 icon itself (--hm-sw-viewer-icon-size),
  margin 0; the black icon outline (SWViewerIcon) is unchanged.
- .hm-sw-viewer-header__open padding 0 12px 0 24px.
- --hm-sw-viewer-button-height 34px -> 16px (user change, DESIGN_RULES token table
  updated with it).
2026-10-21 19:16:39 +09:00
shkim4 65bc134045 test(sw): approve the 6b6f17c SW viewer round boundary merge baseline
Deploy Storybook / deploy (push) Successful in 1m3s
Test-only approval commit after the 6b6f17c main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit f26ec7c -> 6b6f17c.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-viewer-round-background-2026-10-21.md: changes and verification.
2026-10-21 19:04:27 +09:00
shkim4 6b6f17c1a9 Merge fix/sw-viewer-strip-round: rounded viewer menu surface end and solid viewer background 2026-10-21 19:02:13 +09:00
shkim4 3671657ee0 fix(sw): rounded menu surface end before the viewer strip; solid viewer background
User requests (2026-10-21), CSS and docs only; no Props, public .d.ts unchanged.
- The viewer menu surface ends before the trailing strip like the SWHeader object area:
  6px right radius (--hm-sw-header-object-radius), the same face and border, a 2px
  header gap. Painted by the first strip segment over the empty group padding + gap
  (4px more room below 1180px); heights, edges and button positions unchanged.
- --hm-sw-viewer-background: the Storybook viewer canvas solid #0a0a0b instead of the
  gradient (viewer header only; SWHeader, Footer, Popup unchanged).
2026-10-21 19:02:11 +09:00
shkim4 d63a9ac9e8 test(sw): approve the f26ec7c SW viewer header merge baseline
Deploy Storybook / deploy (push) Successful in 1m3s
Test-only approval commit after the f26ec7c main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit 21fe7a2 -> f26ec7c.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-viewer-header-strip-2026-10-21.md: changes and verification.
2026-10-21 18:55:06 +09:00
shkim4 f26ec7c696 Merge docs/sw-viewer-layer-eye: SW Viewer layer eye-icon rule, header hover, trailing strip and file name width 2026-10-21 18:52:39 +09:00
shkim4 caf4c32592 feat(sw): viewer layer eye-icon rule, header hover, trailing strip and file name width
User-requested SW Viewer changes (2026-10-21); no new Props, public .d.ts unchanged.
- Layer popup visibility: AI docs (VIEWER §4.1, catalog, design rules, patterns,
  AI_GUIDE) require the Eye / EyeOff icon button, never a switch; example H now
  renders a real layer list with eye buttons; Storybook eye button gets the pointer.
- Viewer header hover: text and icon #FFC600, the #266651 hover face removed; size and
  position unchanged. Status stays display only.
- Trailing strip: status, the trailing icon button (info / license) and SWHeader
  minimize / close are full-height (48px) segments on the window-area face, no gap, top
  and bottom on the object surface border; no line around the license button.
- File name: the measured steps use the file-name basis (header width), not the text
  width, so a short and a long name give the same Open / file-name widths.
- File open icon: the black icon outline of every viewer icon (SWViewerIcon), no frame.
2026-10-21 18:52:38 +09:00
shkim4 32e46c32be test(sw): approve the 21fe7a2 property count hover merge baseline
Deploy Storybook / deploy (push) Successful in 1m4s
Test-only approval commit after the 21fe7a2 main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit c73f043 -> 21fe7a2.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-property-counts-hover-2026-10-21.md: change and verification.
2026-10-21 18:08:03 +09:00
shkim4 21fe7a29c7 Merge fix/sw-property-counts-hover: property popup count hover only on the object list 2026-10-21 18:06:00 +09:00
shkim4 17170d2be9 fix(sw): limit the property popup count hover to the object list
User request (2026-10-21): in the all-selection property popup only the object
list on the right (columns 3-4: 원 1, 광선 1, 곡선 10, 호 1, 폴리선 10, 폴리선 2,
문자 1) keeps the #FF5C00 text Hover and the pointer. The summary entries of
columns 1-2 (도형 10, 직선 10, 문자 1 …) stay plain text: no Hover color, no
pointer, no click (none was added). The area is decided by the entry's column,
not by its text; entries without a column keep the Hover as before.
- SWHeaderPropertyPanel: internal data-count-summary on columns 1-2 (no Props
  or type change; public .d.ts byte-identical).
- sw.css: hover and pointer selectors skip [data-count-summary].
Count, order, layout (314 x 361) and editing are unchanged.
2026-10-21 18:05:59 +09:00
shkim4 f195c932f8 test(sw): refresh the detail-buttons header baseline for the current Stories
Deploy Storybook / deploy (push) Successful in 2m7s
The 2026-10-16 baseline (fc26afd) only had default-* / controls-* header
snapshots of Stories retired since, so verify compared overview-* / k-guide-*
against missing keys (102/122). Regenerated with the suite's `baseline` mode
from the Storybook of the approved 2d5d2d9 product source (approved 2026-10-21
header: 49px, five menus without More from 760px header width, More below).
- overview-* / k-guide-* at 10 widths replace default-* / controls-*.
- textDefault / textHover unchanged (byte-identical).
- baseline-story-ids.json kept: it is the 2026-10-16 reference list the Story
  inventory check uses against unapproved additions; that check passes.
verify: 122/122 PASS (evidence outside the repository).
2026-10-21 17:53:07 +09:00
shkim4 2d5d2d9848 test(sw): approve the c73f043 SW doc alignment merge baselines
Deploy Storybook / deploy (push) Successful in 1m7s
Test-only approval commit after the c73f043 main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit c1a69a4 -> c73f043.
- public-api.approved.json from the clean c73f043 build: 170 exports, 42
  declaration files and the manifest kept; only comment changes in
  SWRecentFiles / home-menu types / viewer types .d.ts.
- docs/sw/sw-doc-alignment-merge-2026-10-21.md: changes and verification.
2026-10-21 17:48:31 +09:00
shkim4 c73f043a01 Merge fix/sw-design-review-2026-10-21: align SW AI docs and comments with the 2026-10-21 implementation 2026-10-21 17:45:45 +09:00
shkim4 8127cc72c4 docs(sw): align AI docs and comments with the 2026-10-21 implementation
Documentation and comment-only changes (no component logic, Props or design change):
- VIEWER.md / AI_GUIDE / AI_USAGE / catalog / patterns: the two SWViewerHeader versions
  (default, and minimize/close with SWHeaderWindowControls at the end of `trailing`);
  the earlier "never mix SWHeader parts" rule now names this approved exception.
- collapseBelow / iconOnlyBelow (types.ts JSDoc, VIEWER.md, AI_GUIDE): measured steps,
  the numbers only set the order, not pixel breakpoints. Viewer file open is the
  onDocumentOpen button (logoMenu is compatibility only).
- COMPONENT_CATALOG / DESIGN_RULES: recent files show at most 3 rows; preview caption is
  previewTitle or path + file name; body is the red no-preview sign on the brown panel;
  preview / renderPreview are accepted but not rendered (JSDoc updated to match).
- packages/sw/README.md and sw-header-usage.md: current Story list and counts (40, 14
  shown + 26 verification); 760px+ no-More condition; read-only Property Bar values as
  <output>.
- SWHeader.tsx comment: titles are kept (not hidden) from 760px up.
- AI_GUIDE synced into the package ai/ copies (npm run sync:ai-docs).
2026-10-21 17:45:26 +09:00
shkim4 646fb60462 test(sw): approve the c1a69a4 SW design review merge baselines
Deploy Storybook / deploy (push) Successful in 7m48s
Test-only approval commit after the c1a69a4 main merge (sw-test-regression-
baseline section 9); no protected path changes.
- approvedMainCommit b320a8f -> c1a69a4.
- public-api.approved.json from the clean c1a69a4 build: 170 exports and the
  manifest kept; only comment changes in SWFooter / SWFooterParts /
  SWRecentFiles / home-menu types .d.ts (approved defaults documented).
2026-10-21 17:30:37 +09:00
shkim4 c1a69a4948 Merge fix/sw-design-review-2026-10-21: SW design review and responsive header without More from 760px 2026-10-21 17:29:50 +09:00
shkim4 e1e6fcaf14 test(sw): approve the 2fc1b3e SW Header Story declarations
Test-only: approvedHeaderDeclarations and approvedHeaderSourceChanges name the
user-approved 2026-10-21 design review changes of sw-header.stories.tsx
(Overview, ComposedDemo, MORE_WIDTHS, PROPERTY_FIXTURE, BAR_TITLE, BAR_FIXTURE).
2026-10-21 17:29:45 +09:00
shkim4 2fc1b3e108 fix(sw): 2026-10-21 SW design review and responsive header without More from 760px
User-approved design review (2026-10-21):
- SW Header: from 760px up nothing moves into More; the five menus stay with their
  titles (titles and values ellipsize), file name shrinks to 96px. Open next to the
  logo no longer blocks field shrinking above 760px (760/768 overflow fixed, also for
  configured `controls` headers). Dropdown yellow ring inside the button, black seam.
- Property Bar values as read-only red text; property popup "=" labels, read-only
  black values, per-entry hover with pointer.
- Home Menu recent files (3 rows, path + name caption, empty preview), Footer + slot
  guide off by default, Viewer file list without icons, Storybook widths 1920-760.
- Tests: old More expectations (integrated-improvement, keyboard-dismiss,
  footer-popup-viewer-refinement, storybook-cleanup-stage1) moved to the new rule;
  functional checks kept.
2026-10-21 17:29:25 +09:00
shkim4 a25d2b31c5 test(sw): approve the SW Viewer Header API and Storybook cleanup baselines
Deploy Storybook / deploy (push) Successful in 1m10s
Test-only approval commit after the 34f02bf main merge (sw-test-regression-
baseline section 9); no protected path changes.
- public-api.approved.json from the clean 34f02bf build: 170 exports kept,
  only SWViewerHeader.d.ts changes (7 optional SWViewerHeaderProps).
- approvedMainCommit b4e0771 -> b320a8f; approvedHeaderDeclarations for the
  23d522c Story declarations; withApprovedOrder for the approved SW Header
  first position; storybook-simplification expects SW/Theme hidden.
- Verification report: docs/sw/sw-viewer-storybook-merge-verification-2026-10-21.md
2026-10-21 15:21:30 +09:00
shkim4 b320a8f1e0 fix(sw): fit the Viewer Settings Popup Story in one viewport; update its guide name
The merged Settings Popup Story (sw-viewer--content-variants) was 870px tall,
so a full-page capture resized the viewport and the live Properties values
moved (theme-inheritance regression, control run changed the same 9 elements).
The frame is 760px again with Options at the right and the scale popup under
Properties; the four popups do not overlap at the 1200px Storybook column.
VIEWER.md now names the Story SW/Viewer > Settings Popup (was Popup Content
Variants). No component or public API change.
2026-10-21 15:20:00 +09:00
shkim4 34f02bf0f4 test(sw): approve the 23d522c sw-header.stories.tsx declaration changes
Deploy Storybook / deploy (push) Successful in 1m7s
Records the user-approved Storybook cleanup declarations of 23d522c in
approvedHeaderSourceChanges (Overview, InteractiveStates, DocumentDropdown,
MORE_WIDTHS, ResponsiveMore, PROPERTY_STATES, PropertyCompare,
PropertyPanelComparePage, import:@hm-design/sw; StyleDemo and
MeasuredMoreDemo removed). approvedMainCommit is unchanged here; it moves in
the test-only commit after the main merge (sw-test-regression-baseline §9).
2026-10-21 14:59:32 +09:00
shkim4 23d522c136 feat(sw): viewer header logo menu and file list; simplify SW Storybook
SW Viewer Header (approved optional props, public export names unchanged at 170):
- SWViewerHeader: logoMenu, documents, activeDocumentId, onDocumentSelect,
  onDocumentOpen, documentOpenLabel; measured responsive toggles (full ->
  icons -> More) with the SWHeader More / file-list styling.
- SW AI guides, ExampleH, viewer/text-weight/theme-inheritance tests and the
  logo-document-menu tests with their QA record.

SW Storybook cleanup (Story IDs and test fixtures kept):
- Sidebar: Overview -> "SW Header" (first), 전체 Footer -> "SW Footer",
  Footer/Viewer responsive pages -> "Responsive More", Viewer content-variants
  -> "Settings Popup" (merges the settings popup page).
- Hidden by the verification tag (direct URL kept): Header Dropdown,
  Document Open, Interactive States, Document Dropdown, Hidden Sub Controls,
  Home Menu standalone; Footer tool groups / custom content / parts;
  SW/Theme; Viewer menu groups / item states / variable size / settings
  panel / Header + Dropdown.
- Removed demo UI: Overview size and callback output (demo data and
  selection only with &verification), Home Menu Figma node table and width
  demo, Header Responsive More reduced to 1440 / 768 / 390, Popup reopen
  button, property-panel comparison captions, Viewer context-menu demo
  (&verification only).
- Tests: storybook-inventory records the hidden and renamed Stories;
  overview / range-cross-browser / viewer open the demo controls with
  &verification; integrated-popup reloads the Story instead of the reopen
  button; dropdown-consolidation asserts Dropdown is hidden from the sidebar
  and still opens by its direct URL.
2026-10-21 14:52:46 +09:00
shkim4 46119eacb5 test(sw): move approvedMainCommit to the reviewed merge b4e0771
Deploy Storybook / deploy (push) Successful in 2m2s
The merge of fix/test-home-menu-integration carries only approved SW changes (shared roving focus / outside pointer
helpers, Firefox line-values grid); no Story change, public API unchanged (public-api.approved.json kept). Guards:
overview 54/54, overlays 20/20, unused 93/93, dropdown 228/228, stage1 41/41, home menu 23/23, public API 7/7.
2026-10-21 06:14:40 +09:00
shkim4 b4e0771dd0 Merge branch 'fix/test-home-menu-integration' into main 2026-10-21 06:10:06 +09:00
shkim4 c89407a436 docs(sw): record the 2026-10-21 follow-up
Unattended follow-up report: test alignment, Firefox fixes, shared helpers, source guard and public API checks,
verification results and the commit split.
2026-10-21 06:09:25 +09:00
shkim4 0f9e9b0e4c test(sw): cover roving focus wrap and outside pointer dismissal
keyboard-dismiss.browser.mjs + fixtures/tool-group.tsx: end-point wrap, Home / End, disabled items and a pointerdown
outside that does not move focus, for the callers of the shared helpers (22 checks; same result before the refactor).
2026-10-21 06:08:46 +09:00
shkim4 7cc3aa1ff8 refactor(sw): share roving focus and outside pointer handling
- components/shared/roving-focus.ts (moveRovingFocus): the same Arrow / Home / End algorithm of SWFooter, SWToolGroup,
  the SWViewerHeader tabs and SWHomeMenu; each caller passes its own keys, wrap and select behavior.
- components/shared/use-outside-pointer.ts (useOutsidePointerDown): the same pointerdown effect of the SWHeader
  dropdowns, layer menu, document title and More. Escape, focus return and positioning stay in each component.
Both modules are internal: the package entry and the public declarations are unchanged.
2026-10-21 06:08:45 +09:00
shkim4 af7f98d66b test(sw): stabilize Firefox hover, pixel and timing checks
- hover-stability-firefox: instant scroll and state waits instead of a fixed 60ms delay (smooth scroll in preview).
- integrated-visual, viewer-regression, theme-inheritance: deterministic Chromium raster flags, animations held at
  time 0, layout settle wait, integer instant scroll of inner panels; tolerance stays 0.
- text-weight: wait for the Viewer More panel instead of a fixed 200ms and fix the failure report.
2026-10-21 06:08:31 +09:00
shkim4 1ffff67991 fix(sw): keep the line style name uncut in Firefox
Firefox computed the max-content of the flex line-values row 6.4px short and cut "Continuous" in the 284px field.
The row is now a grid with the same tracks (name minmax(28px, auto), weight 38px, scale 38px, gap 12px); Chromium
geometry and pixels are unchanged and the narrow-field ellipsis stays.
2026-10-21 06:08:31 +09:00
shkim4 b50e95c325 test(sw): align legacy storybook suites and add header composition fixture
- dropdown-consolidation, storybook-cleanup-stage1, detail-buttons, property-panel-comparison: assert their recorded
  state and accept today only the approved later Story changes (storybook-inventory.mjs helpers).
- header-composition.browser.mjs + fixtures/header-composition.tsx: the removed Composition Story presets, hidden
  controls, invalid menuOrder / hiddenControls and live changes, on a test-only page using the public API only.
- storybook-unused-removal: header comment lists which older scripts run on current Stories again.
2026-10-21 06:08:23 +09:00
shkim4 1e05eaf1de test(sw): detect untracked source files and public API changes
- source-changes.mjs: source guards list untracked, staged, deleted and renamed files, not only git diff --name-only.
- overview / storybook-unused-removal: production source guards use the helper (assertions, paths, approved list unchanged).
- public-api.check.mjs + public-api.approved.json: the built @hm-design/sw entry must export exactly the approved
  names and kinds, keep the package.json export settings and keep every declaration reachable from dist/index.d.ts
  byte-identical. The approved surface was written from a build of 553e4df (approvedMainCommit).
2026-10-21 06:08:16 +09:00
shkim4 96f7a846cb docs(sw): document storybook regression baseline maintenance 2026-10-20 23:42:06 +09:00
shkim4 20ed2f2afb test(sw): align storybook inventory checks with approved changes 2026-10-20 23:04:14 +09:00
shkim4 522ecbd193 test(sw): align overview regression checks with approved changes 2026-10-20 22:37:52 +09:00
shkim4 7fd73425c5 test(sw): align home menu integration with current stories 2026-10-20 22:19:49 +09:00
shkim4 553e4df4a8 Merge branch 'feature/sw-package' into main
Deploy Storybook / deploy (push) Successful in 1m9s
2026-10-20 21:53:55 +09:00
shkim4 e32a138f28 docs(sw): Popup guidance, example comments, package README and link check 2026-10-20 21:49:47 +09:00
shkim4 2ce24b8b43 fix(storybook): use SWSlider in the SW Popup story 2026-10-20 21:49:46 +09:00
shkim4 5032c94d9e test(sw): restore range cross-browser test on the Overview story 2026-10-20 21:49:46 +09:00