Property editing surface inventory
Audited by tracing imports and rendered JSX from src/App.tsx, CanvasSection.tsx, FloatingSidebar.tsx, and AppModalsHost.tsx. “Legacy” means the component remains exported but no rendered consumer is present in the current application graph; these components are retained for compatibility.
Active entry points
| Entry point | Panels and responsibility | Shared system |
|---|---|---|
App → FloatingSidebar → FloatingStylesDrawer |
Global design, background, typography, layers, advanced editor preferences; palettes and corner radius | ModifierPanel; property tabs and shared panel content |
FloatingStylesDrawer → BackgroundTab |
Solid/pattern/image backgrounds, image import and ordering | Inherits shared panel scope; design controls |
FloatingStylesDrawer → TypographyTab |
Global text styles and fonts | Inherits shared panel scope; design controls |
FloatingStylesDrawer → LayersTab → ArrangementControls |
Breakpoint layout, layer arrangement and canvas preferences | Inherits shared panel scope; design controls |
FloatingStylesDrawer → AdvancedTab |
Editor settings, publication preferences | Inherits shared panel scope; design controls |
FloatingStylesDrawer → LegacyStylesDrawer |
Supported no-project-session fallback: palette, fonts, corner radius | ModifierPanel |
App → FloatingSidebar → FloatingSettingsDrawer |
Site settings, metadata/SEO, backups, site actions and MCP access | ModifierPanel; flat property section/action classes. Site, backup, export and MCP handlers retained |
App → FloatingSidebar → LanguageDrawer |
Site document language | ModifierPanel, PropertyRow |
App → DeferredPanel → AppModalsHost |
Routes element-specific editors and modifier modes without changing selection | Shared ModifierScope; individual panels below |
AppModalsHost → BasicModifier |
Text, headings, badge, button, card, separator | Shared modifier panel and controls |
AppModalsHost → StyleModifier / LinkModifier |
Appearance, shadow, spacing and link modes | Shared modifier panel and controls |
AppModalsHost → SocialModifier / FaqModifier / MenuModifier / FormModifier |
Social links, accordion entries, navigation, form fields and submission settings | Shared modifier panel and controls |
AppModalsHost → NativeMediaProperties |
Native media content and presentation | Shared property shell and controls |
AppModalsHost → UiversePropertiesModal |
Imported component HTML/CSS and parsed controls | Shared property shell and controls |
AppModalsHost → ContentPropertiesPanel |
Content-type-specific fallback editing | Shared property shell and controls |
AppModalsHost → PropertyModals/{Text,Button,Image,Video,Shape}PropertiesModal |
Type-specific fallback paths retained after modifier precedence | Shared property shell and controls |
CanvasViewport → CanvasSection → SectionPropertiesModal |
Section backgrounds, layout and style | Shared property shell and controls |
Retained legacy surfaces
| Component | Role | Shared system |
|---|---|---|
RightInspector/RightInspector |
Legacy tabbed element inspector | Shared shell; child content/style/advanced tabs |
RightInspector/FloatingInspectorCard |
Legacy compact floating inspector | ModifierPanel |
RightInspector/{ContentTab,StyleTab,AdvancedTab} |
Legacy inspector contents | Shared panel scope |
RightInspector/ShadowControls |
Reusable active shadow editor also imported by modifiers and property dialogs | Shared control scope |
sidebar/LeftSidebar/StylesDrawer |
Legacy global palette/font/radius/container-width editor | property-panel, heading and scroll primitives |
sidebar/LeftSidebar/SettingsDrawer |
Legacy brand/domain/page SEO editor | property-panel, heading and scroll primitives |
floating/FloatingDrawer/FloatingDrawer styles/settings branches |
Legacy all-in-one toolbar drawer | Property scope on styles/settings branches only |
Deliberately separate workflows
AuxiliaryPanel is used only by the trends and help flyouts; neither edits properties. Page administration, template/catalog browsers, element insertion, account/profile, store/ecommerce management, export dialogs and MCP connection administration are workflows rather than property editors. Their data flows are preserved and are not recast as inspector controls. The settings panel continues to link to these workflows.
Preservation boundaries
The shell migration preserves callbacks, controlled values, conditions, keyboard tab navigation, dynamic options, validation, backup confirmation, loading state and project-session operations. Shared shell ownership consolidates positioning, dragging, focus return, scrolling and close actions. Legacy exports remain available; this audit does not remove code based solely on its current reachability.
Design decisions and extension contract
- White surfaces and neutral text keep authored content visually separate from editor controls. Blue is reserved for selection/focus; red identifies destructive actions.
- A 12px control scale, 13px headings, 12px field gaps, 4–6px radii and 1px dividers provide a compact hierarchy without nested cards. Inter uses a local/system fallback; no new font request is required.
ModifierPanelowns dragging, focus return/trapping when modal, title, persistent close control and scrolling.PropertyRow,PropertyItem,Group,IconAction,AddAction,Range,Color, andSelectare the reusable controls. New property editors must use this shell and these primitives rather than local card styles.- Repeated items use independent disclosure controls and accessible icon actions; only the first item opens initially. Keyboard and touch users can access the same actions without hover.
- Panel and canvas movement share
dragTranslation.ts: direct DOM translation during movement, with a state commit after release. Positioning remains viewport-clamped, and manual positioning persists while open. Alt+arrows supports keyboard positioning. - Background/pattern/color and shadow previews intentionally retain visual treatments because they demonstrate the actual edited property.
- No persisted document schema, property callback, publication behavior or history model is changed by this redesign.
Verification
Unit coverage includes property scoping, native media/content, form/social/FAQ actions, global settings/backgrounds, imported components, preservation of callback results, independent item actions and zero field rerenders during pointer movement. Browser coverage checks adjacent placement, retained manual drag, live text changes, 101-element canvas movement, desktop/mobile containment, scrolling and global design/settings/language panels. Existing editor, publishing and project regression suites remain release gates.
