feat(sw): integrated improvement 0.2.0 (popup content, header open, tool buttons)
SW package 0.2.0 integrated improvement (Task A, steps 1-8). All new props are
optional; existing SW Stories are pixel-identical to the previous build (28/28).
- Build reproducibility: dist text normalized to LF, dist/build-info.json
(commit, dirty, tool versions, no timestamp), packages/sw/.gitattributes
(eol=lf). LF checkouts give identical dist and tarball.
- SWHeader: documentOpenPlacement ("menu" default | "header": Open right of
the logo in the existing document-button look, reusing onDocumentOpen and
documentOpenLabel, no duplicate Open in the dropdown), leading slot,
hiddenControls sub-items documentNew / documentOpen / layerFreeze /
layerLock. Open moves into More on measured overflow (with hysteresis).
- showNew / showOpen (SWHeaderDocumentTitle), showFreeze / showLock (layer
menu, field, property window list).
- SWToolButton (text / pill / document) and SWToolGroup (radio selection),
reusing the existing toggle, pill and file-name looks.
- SWPopup / SWPopupSection / SWPopupRow on the shared property window frame;
SWHeaderPropertyPanel gains children, title, autoFocus and optional
selection / properties / groups. Escape stack for several popups.
- Field dropdowns inside a popup use the shared fixed overlay
(useSWFixedDropdownPosition), so the scrolling body no longer clips them.
- AI guide, examples E/F, README, Storybook (SW/Header/Options, SW/Tool,
SW/Popup) and verification record docs/sw/sw-integrated-improvement-2026-10-19.md.
- Regression scripts rescoped for the intended changes (unused-removal 81/81,
overview 52/54 with the two pre-existing historical assertions).
Known limitation (unresolved): tools / leading content (incl. SWToolGroup)
does not move into More. With a wide tool bar the configured fields shrink
instead; in Example F the document name and layer field reach 0px at 390px.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5faa1f1ffe
commit
55179b4577
138 files changed
+17194
-162
No files matched your search
@@ -0,0 +1,152 @@
|
||||
[
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--composed-controls",
|
||||
"name": "Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header-dropdown.stories.tsx",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "ComposedControls"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--detail-buttons",
|
||||
"name": "Detail Buttons (Shared States)",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest",
|
||||
"verification"
|
||||
],
|
||||
"exportName": "DetailButtons"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--overview",
|
||||
"name": "Overview",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "Overview"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--interactive-states",
|
||||
"name": "Interactive States",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "InteractiveStates"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--window-move-motion",
|
||||
"name": "Window Move Motion",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "WindowMoveMotion"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--logo-slot",
|
||||
"name": "Logo Slot",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "LogoSlot"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--document-dropdown",
|
||||
"name": "Document Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "DocumentDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--responsive-more",
|
||||
"name": "Responsive More",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "ResponsiveMore"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--k-guide",
|
||||
"name": "K Guide",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "KGuide"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-compare",
|
||||
"name": "Property Panel · 4개 비교",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelCompare"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,423 @@
|
||||
[
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--detail-buttons",
|
||||
"name": "Detail Buttons (Shared States)",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest",
|
||||
"verification"
|
||||
],
|
||||
"exportName": "DetailButtons"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--overview",
|
||||
"name": "Overview",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "Overview"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--interactive-states",
|
||||
"name": "Interactive States",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "InteractiveStates"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--window-move-motion",
|
||||
"name": "Window Move Motion",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "WindowMoveMotion"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--composed-controls",
|
||||
"name": "Composed Controls",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "ComposedControls"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--logo-slot",
|
||||
"name": "Logo Slot",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "LogoSlot"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--document-dropdown",
|
||||
"name": "Document Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "DocumentDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--layer-dropdown",
|
||||
"name": "Layer Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "LayerDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--color-dropdown",
|
||||
"name": "Color Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "ColorDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--line-style-dropdown",
|
||||
"name": "Line Style Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "LineStyleDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--text-dimension-style-dropdown",
|
||||
"name": "Text · Dimension Style Dropdown",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "TextDimensionStyleDropdown"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--responsive-more",
|
||||
"name": "Responsive More",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "ResponsiveMore"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--layer-detail-input",
|
||||
"name": "Layer Detail · Input",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "LayerDetailInput"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel",
|
||||
"name": "Property Panel",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanel"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-variants",
|
||||
"name": "Property Panel Variants",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelVariants"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--k-guide",
|
||||
"name": "K Guide",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "KGuide"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--additional-hover",
|
||||
"name": "Additional Hover",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "AdditionalHover"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-bar",
|
||||
"name": "Property Bar",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyBar"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--dynamic-controls",
|
||||
"name": "Dynamic Controls",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "DynamicControls"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--colorize",
|
||||
"name": "Colorize",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "Colorize"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--composition",
|
||||
"name": "Composition (Visibility · Order)",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "Composition"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-none",
|
||||
"name": "Property Panel · 선택 없음",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelNone"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-all",
|
||||
"name": "Property Panel · 전체 선택",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelAll"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-circle",
|
||||
"name": "Property Panel · 원 1개",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelCircle"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-expanded",
|
||||
"name": "Property Panel · 모두 펼침",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelExpanded"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-panel-compare",
|
||||
"name": "Property Panel · 4개 비교",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyPanelCompare"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-shape-slot",
|
||||
"name": "Property Panel · 형상 Slot",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyShapeSlot"
|
||||
},
|
||||
{
|
||||
"type": "story",
|
||||
"subtype": "story",
|
||||
"id": "sw-header--property-fields",
|
||||
"name": "Property Panel · 필드 13개",
|
||||
"title": "SW/Header",
|
||||
"importPath": "./src/sw/sw-header.stories.tsx",
|
||||
"componentPath": "./packages/sw/dist/index.js",
|
||||
"tags": [
|
||||
"dev",
|
||||
"test",
|
||||
"manifest"
|
||||
],
|
||||
"exportName": "PropertyFields"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,657 @@
|
||||
{
|
||||
"baseCommit": "50bf5bda8e956a4973b923d64131f2f2285bd38c",
|
||||
"checks": [
|
||||
{
|
||||
"name": "24 retained Story IDs, names and tags; only approved Dropdown retirements",
|
||||
"status": "FAIL"
|
||||
},
|
||||
{
|
||||
"name": "retained non-Overview declarations byte-identical; relocated composition separately verified",
|
||||
"status": "FAIL"
|
||||
},
|
||||
{
|
||||
"name": "retired Dropdown IDs absent",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "package production source untouched except the integrated-improvement files",
|
||||
"status": "PASS",
|
||||
"data": []
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 1920x1080",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 360,
|
||||
"y": 264.25,
|
||||
"w": 1200,
|
||||
"h": 675,
|
||||
"right": 1560,
|
||||
"bottom": 939.25
|
||||
},
|
||||
"slot": {
|
||||
"x": 360,
|
||||
"y": 169.5,
|
||||
"w": 1200,
|
||||
"h": 864.5,
|
||||
"right": 1560,
|
||||
"bottom": 1034
|
||||
},
|
||||
"header": {
|
||||
"x": 360,
|
||||
"y": 264.25,
|
||||
"w": 1200,
|
||||
"h": 49,
|
||||
"right": 1560,
|
||||
"bottom": 313.25
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1920,
|
||||
"h": 1080
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 1440x900",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 120,
|
||||
"y": 174.25,
|
||||
"w": 1200,
|
||||
"h": 675,
|
||||
"right": 1320,
|
||||
"bottom": 849.25
|
||||
},
|
||||
"slot": {
|
||||
"x": 120,
|
||||
"y": 169.5,
|
||||
"w": 1200,
|
||||
"h": 684.5,
|
||||
"right": 1320,
|
||||
"bottom": 854
|
||||
},
|
||||
"header": {
|
||||
"x": 120,
|
||||
"y": 174.25,
|
||||
"w": 1200,
|
||||
"h": 49,
|
||||
"right": 1320,
|
||||
"bottom": 223.25
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1440,
|
||||
"h": 900
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 1280x720",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 191.5625,
|
||||
"y": 169.5,
|
||||
"w": 896.875,
|
||||
"h": 504.5,
|
||||
"right": 1088.4375,
|
||||
"bottom": 674
|
||||
},
|
||||
"slot": {
|
||||
"x": 38.40625,
|
||||
"y": 169.5,
|
||||
"w": 1203.1875,
|
||||
"h": 504.5,
|
||||
"right": 1241.59375,
|
||||
"bottom": 674
|
||||
},
|
||||
"header": {
|
||||
"x": 191.5625,
|
||||
"y": 169.5,
|
||||
"w": 896.875,
|
||||
"h": 49,
|
||||
"right": 1088.4375,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1280,
|
||||
"h": 720
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 768x600",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 42.21875,
|
||||
"y": 169.5,
|
||||
"w": 683.546875,
|
||||
"h": 384.5,
|
||||
"right": 725.765625,
|
||||
"bottom": 554
|
||||
},
|
||||
"slot": {
|
||||
"x": 23.046875,
|
||||
"y": 169.5,
|
||||
"w": 721.90625,
|
||||
"h": 384.5,
|
||||
"right": 744.953125,
|
||||
"bottom": 554
|
||||
},
|
||||
"header": {
|
||||
"x": 42.21875,
|
||||
"y": 169.5,
|
||||
"w": 683.546875,
|
||||
"h": 49,
|
||||
"right": 725.765625,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 768,
|
||||
"h": 600
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 390x844",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 16,
|
||||
"y": 383.0625,
|
||||
"w": 358,
|
||||
"h": 201.375,
|
||||
"right": 374,
|
||||
"bottom": 584.4375
|
||||
},
|
||||
"slot": {
|
||||
"x": 16,
|
||||
"y": 169.5,
|
||||
"w": 358,
|
||||
"h": 628.5,
|
||||
"right": 374,
|
||||
"bottom": 798
|
||||
},
|
||||
"header": {
|
||||
"x": 16,
|
||||
"y": 383.0625,
|
||||
"w": 390,
|
||||
"h": 49,
|
||||
"right": 406,
|
||||
"bottom": 432.0625
|
||||
},
|
||||
"viewport": {
|
||||
"w": 390,
|
||||
"h": 844
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16:9 fitted to both Inner dimensions at 1000x500",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"stage": {
|
||||
"x": 247.109375,
|
||||
"y": 169.5,
|
||||
"w": 505.765625,
|
||||
"h": 284.5,
|
||||
"right": 752.875,
|
||||
"bottom": 454
|
||||
},
|
||||
"slot": {
|
||||
"x": 30,
|
||||
"y": 169.5,
|
||||
"w": 940,
|
||||
"h": 284.5,
|
||||
"right": 970,
|
||||
"bottom": 454
|
||||
},
|
||||
"header": {
|
||||
"x": 247.109375,
|
||||
"y": 169.5,
|
||||
"w": 505.765625,
|
||||
"h": 49,
|
||||
"right": 752.875,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1000,
|
||||
"h": 500
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "one Header and no duplicate fixed Figma specimen",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "document selection updates Header and Callback",
|
||||
"status": "PASS",
|
||||
"data": "onDocumentClick → documentOpen(true) → onDocumentSelect(doc-2) → documentOpen(false)"
|
||||
},
|
||||
{
|
||||
"name": "layer selection updates shared data",
|
||||
"status": "PASS",
|
||||
"data": "onDocumentClick → documentOpen(true) → onDocumentSelect(doc-2) → documentOpen(false) → onLayerOpen → onLayerSelect(layer, CC-D GNL)"
|
||||
},
|
||||
{
|
||||
"name": "existing layer Detail callback closes list",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "color selection invokes host callback",
|
||||
"status": "PASS",
|
||||
"data": "onLayerOpen → onLayerSelect(layer, CC-D GNL) → onLayerOpen → onLayerDetail → onColorOpen → onColorSelect(color, 255,255,255)"
|
||||
},
|
||||
{
|
||||
"name": "line selection updates Header",
|
||||
"status": "PASS",
|
||||
"data": "onLayerOpen → onLayerDetail → onColorOpen → onColorSelect(color, 255,255,255) → onLineStyleOpen → onLineTypeSelect(line, CENTER)"
|
||||
},
|
||||
{
|
||||
"name": "ByLayer weight mode does not turn numeric property into a mode string",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "text style selection updates Header",
|
||||
"status": "PASS",
|
||||
"data": "onColorSelect(color, 255,255,255) → onLineStyleOpen → onLineTypeSelect(line, CENTER) → onLineWeightSelect(w-bylayer) → onTextStyleOpen → onTextStyleSelect(dotum)"
|
||||
},
|
||||
{
|
||||
"name": "dimension style selection updates Header",
|
||||
"status": "PASS",
|
||||
"data": "onLineTypeSelect(line, CENTER) → onLineWeightSelect(w-bylayer) → onTextStyleOpen → onTextStyleSelect(dotum) → onDimensionStyleOpen → onDimensionStyleSelect(iso-25)"
|
||||
},
|
||||
{
|
||||
"name": "opening another dropdown closes the previous one",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Escape closes Header dropdown",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "outside click closes Header dropdown",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Bar Enter commits state",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Bar validates min=0",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Bar Escape cancels edit",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Header opens panel with same Bar value",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "numeric weight property remains numeric after ByLayer mode",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Header layer value shared with panel",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel edit updates the Bar",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel number validation rejects negative radius",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel Layer dropdown updates Header shared value",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel line dropdown updates Header shared value",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel color dropdown updates Header shared value",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel RGB validation rejects out-of-range value",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "gauge keyboard editing commits host state",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "first Escape cancels draft and retains panel",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "next Escape closes panel and restores Header focus",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "panel Close button restores focus",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "external Props update Bar",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Bar ReadOnly",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "Bar Disabled",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "dynamic Bar field added",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "dynamic field shared with panel",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "dynamic field removed from both",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "shape Slot can be empty without changing panel structure",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "original panel size none:314x256",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"x": 1000,
|
||||
"y": 301.25,
|
||||
"width": 314,
|
||||
"height": 256
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "original panel size all:314x361",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"x": 1000,
|
||||
"y": 301.25,
|
||||
"width": 314,
|
||||
"height": 361
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "original panel size circle:314x658",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"x": 1000,
|
||||
"y": 301.25,
|
||||
"width": 314,
|
||||
"height": 658
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "original panel size expanded:314x754",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"x": 1000,
|
||||
"y": 301.25,
|
||||
"width": 314,
|
||||
"height": 754
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "expanded popup bottom accessible through internal scroll",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "small Inner reaches full popup bottom with native Header and popup dimensions",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"top": 630,
|
||||
"left": 16,
|
||||
"height": 201,
|
||||
"scrollHeight": 831,
|
||||
"width": 358,
|
||||
"scrollWidth": 390
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "narrow popup Escape restores More focus",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "actual Storybook manager iframe fits its own Inner",
|
||||
"status": "PASS",
|
||||
"data": {
|
||||
"width": 1071.59375,
|
||||
"height": 602.765625,
|
||||
"slotWidth": 1071.59375,
|
||||
"slotHeight": 744.5,
|
||||
"viewportWidth": 1140,
|
||||
"viewportHeight": 960
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "no browser errors",
|
||||
"status": "PASS",
|
||||
"data": []
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"sizes": [
|
||||
{
|
||||
"stage": {
|
||||
"x": 360,
|
||||
"y": 264.25,
|
||||
"w": 1200,
|
||||
"h": 675,
|
||||
"right": 1560,
|
||||
"bottom": 939.25
|
||||
},
|
||||
"slot": {
|
||||
"x": 360,
|
||||
"y": 169.5,
|
||||
"w": 1200,
|
||||
"h": 864.5,
|
||||
"right": 1560,
|
||||
"bottom": 1034
|
||||
},
|
||||
"header": {
|
||||
"x": 360,
|
||||
"y": 264.25,
|
||||
"w": 1200,
|
||||
"h": 49,
|
||||
"right": 1560,
|
||||
"bottom": 313.25
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1920,
|
||||
"h": 1080
|
||||
},
|
||||
"overflow": 0
|
||||
},
|
||||
{
|
||||
"stage": {
|
||||
"x": 120,
|
||||
"y": 174.25,
|
||||
"w": 1200,
|
||||
"h": 675,
|
||||
"right": 1320,
|
||||
"bottom": 849.25
|
||||
},
|
||||
"slot": {
|
||||
"x": 120,
|
||||
"y": 169.5,
|
||||
"w": 1200,
|
||||
"h": 684.5,
|
||||
"right": 1320,
|
||||
"bottom": 854
|
||||
},
|
||||
"header": {
|
||||
"x": 120,
|
||||
"y": 174.25,
|
||||
"w": 1200,
|
||||
"h": 49,
|
||||
"right": 1320,
|
||||
"bottom": 223.25
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1440,
|
||||
"h": 900
|
||||
},
|
||||
"overflow": 0
|
||||
},
|
||||
{
|
||||
"stage": {
|
||||
"x": 191.5625,
|
||||
"y": 169.5,
|
||||
"w": 896.875,
|
||||
"h": 504.5,
|
||||
"right": 1088.4375,
|
||||
"bottom": 674
|
||||
},
|
||||
"slot": {
|
||||
"x": 38.40625,
|
||||
"y": 169.5,
|
||||
"w": 1203.1875,
|
||||
"h": 504.5,
|
||||
"right": 1241.59375,
|
||||
"bottom": 674
|
||||
},
|
||||
"header": {
|
||||
"x": 191.5625,
|
||||
"y": 169.5,
|
||||
"w": 896.875,
|
||||
"h": 49,
|
||||
"right": 1088.4375,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1280,
|
||||
"h": 720
|
||||
},
|
||||
"overflow": 0
|
||||
},
|
||||
{
|
||||
"stage": {
|
||||
"x": 42.21875,
|
||||
"y": 169.5,
|
||||
"w": 683.546875,
|
||||
"h": 384.5,
|
||||
"right": 725.765625,
|
||||
"bottom": 554
|
||||
},
|
||||
"slot": {
|
||||
"x": 23.046875,
|
||||
"y": 169.5,
|
||||
"w": 721.90625,
|
||||
"h": 384.5,
|
||||
"right": 744.953125,
|
||||
"bottom": 554
|
||||
},
|
||||
"header": {
|
||||
"x": 42.21875,
|
||||
"y": 169.5,
|
||||
"w": 683.546875,
|
||||
"h": 49,
|
||||
"right": 725.765625,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 768,
|
||||
"h": 600
|
||||
},
|
||||
"overflow": 0
|
||||
},
|
||||
{
|
||||
"stage": {
|
||||
"x": 16,
|
||||
"y": 383.0625,
|
||||
"w": 358,
|
||||
"h": 201.375,
|
||||
"right": 374,
|
||||
"bottom": 584.4375
|
||||
},
|
||||
"slot": {
|
||||
"x": 16,
|
||||
"y": 169.5,
|
||||
"w": 358,
|
||||
"h": 628.5,
|
||||
"right": 374,
|
||||
"bottom": 798
|
||||
},
|
||||
"header": {
|
||||
"x": 16,
|
||||
"y": 383.0625,
|
||||
"w": 390,
|
||||
"h": 49,
|
||||
"right": 406,
|
||||
"bottom": 432.0625
|
||||
},
|
||||
"viewport": {
|
||||
"w": 390,
|
||||
"h": 844
|
||||
},
|
||||
"overflow": 0
|
||||
},
|
||||
{
|
||||
"stage": {
|
||||
"x": 247.109375,
|
||||
"y": 169.5,
|
||||
"w": 505.765625,
|
||||
"h": 284.5,
|
||||
"right": 752.875,
|
||||
"bottom": 454
|
||||
},
|
||||
"slot": {
|
||||
"x": 30,
|
||||
"y": 169.5,
|
||||
"w": 940,
|
||||
"h": 284.5,
|
||||
"right": 970,
|
||||
"bottom": 454
|
||||
},
|
||||
"header": {
|
||||
"x": 247.109375,
|
||||
"y": 169.5,
|
||||
"w": 505.765625,
|
||||
"h": 49,
|
||||
"right": 752.875,
|
||||
"bottom": 218.5
|
||||
},
|
||||
"viewport": {
|
||||
"w": 1000,
|
||||
"h": 500
|
||||
},
|
||||
"overflow": 0
|
||||
}
|
||||
],
|
||||
"browser": "155.0.8059.80",
|
||||
"managerOrder": [
|
||||
"sw-header--composed-controls",
|
||||
"sw-header--overview",
|
||||
"sw-header--interactive-states",
|
||||
"sw-header--window-move-motion",
|
||||
"sw-header--logo-slot",
|
||||
"sw-header--document-dropdown",
|
||||
"sw-header--responsive-more",
|
||||
"sw-header--k-guide",
|
||||
"sw-header--property-panel-compare"
|
||||
],
|
||||
"status": "FAIL"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
[
|
||||
"sw-header--composed-controls",
|
||||
"sw-header--overview",
|
||||
"sw-header--interactive-states",
|
||||
"sw-header--window-move-motion",
|
||||
"sw-header--logo-slot",
|
||||
"sw-header--document-dropdown",
|
||||
"sw-header--responsive-more",
|
||||
"sw-header--k-guide",
|
||||
"sw-header--property-panel-compare"
|
||||
]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 218 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Reference in new issue
Block a user