fix(sw): refine process header empty title states and UI guidance
- AI_GUIDE stage 5 "Header 전용 스타일의 적용 범위": header-only styles stay in the header (SW SWHeader / SWProcessHeader / SWViewerHeader, Web GNB / LNBMobileHeader / DashboardHeader); no header CSS or tokens on body UI, no global overrides, layout-only joins, package-shared tokens unchanged, whole-screen use only on explicit request. Synced to the 4 package copies; referenced from stage 6, SW and Web AI_USAGE §3 - SWProcessHeader: with documentTitle "" the file name keeps #AEDBCC on hover and a default cursor (root data-document-untitled). The button, focus and onDocumentClick are kept; a real file name keeps the yellow hover and pointer. Visual vs. click difference recorded as a UX item - Step enablement documented as implemented: only an explicit disabled (step, group, process, header) turns steps off; project / file state never does; selection is activeStepId + onStepSelect (also for host previous / next); no activeStepId and empty groups described - Regression check tests/process-header-states.check.mjs (15/15); typecheck:sw, build:sw, check:ai-docs pass; public-api keeps its 3 existing failures, none new
This commit is contained in:
1 parent
6c61edadc1
commit
0086d66a94
14 files changed
+177
-9
No files matched your search
@@ -52,10 +52,14 @@ export const SWProcessHeader = forwardRef<HTMLElement, SWProcessHeaderProps>(fun
|
||||
const captions = (["minimize", "maximize", "close"] as const).filter(id => !hidden.has(id))
|
||||
const windowShown = toolsShown || !hidden.has("windowMove") || captions.length > 0
|
||||
const documentEmpty = documentTitle === "" && !!documentEmptyLabel
|
||||
// No file yet (documentTitle ""): the file name does not look clickable (no hover color, default cursor). The button
|
||||
// and `onDocumentClick` stay as they were (2026-11-05: hosts may still listen to it); only the look changes.
|
||||
const documentUntitled = documentTitle === ""
|
||||
|
||||
return (
|
||||
<header ref={ref} className={`hm-sw-theme hm-sw-process-header${className ? ` ${className}` : ""}`}
|
||||
data-appearance={appearance === "multi" ? "multi" : undefined} data-document-empty={documentEmpty || undefined} {...rest}>
|
||||
data-appearance={appearance === "multi" ? "multi" : undefined} data-document-empty={documentEmpty || undefined}
|
||||
data-document-untitled={documentUntitled || undefined} {...rest}>
|
||||
<div className="hm-sw-process-header__bar">
|
||||
<SWHeaderHome logo={logoNode} logoSrc={logoSrc} logoAlt={logoAlt ?? logoText} onClick={onHomeClick} aria-expanded={homeMenuOpen} />
|
||||
<SWHeaderDocumentTitle title={documentEmpty ? documentEmptyLabel : documentTitle} onClick={onDocumentClick} />
|
||||
|
||||
Reference in new issue
Block a user