Skip to content

refactor(admin): add fluid spacing token scale#87

Merged
DavidBabinec merged 3 commits into
mainfrom
refactor/fluid-spacing-scale
Jun 24, 2026
Merged

refactor(admin): add fluid spacing token scale#87
DavidBabinec merged 3 commits into
mainfrom
refactor/fluid-spacing-scale

Conversation

@DavidBabinec

Copy link
Copy Markdown
Contributor

Summary

  • Adds an admin-only fluid --space-* scale in globals.css and documents how it differs from user-site Framework spacing.
  • Replaces admin/UI hardcoded margin, padding, gap, and CSS-authored SVG spacing values with spacing tokens.
  • Namespaces canvas iframe chrome spacing through --chrome-space-* so admin chrome does not collide with user-site Framework tokens.
  • Adds an architecture gate for admin spacing tokens and keeps dashboard drag/drop geometry aligned with the computed fluid grid gap.

Verification

  • bun run build
  • bun test
  • bun run lint
  • bunx react-doctor@latest --verbose --diff
  • bun test src/__tests__/architecture/admin-spacing-token-policy.test.ts src/__tests__/canvas/editorChromeInjector.test.tsx
  • bun test src/__tests__/architecture/admin-typography-token-policy.test.ts src/__tests__/architecture/css-token-policy.test.ts src/__tests__/architecture/no-css-var-fallbacks.test.ts

Stacked on feat/fluid-typography-scale.

Base automatically changed from feat/fluid-typography-scale to main June 24, 2026 21:54
@DavidBabinec DavidBabinec marked this pull request as ready for review June 24, 2026 21:54
…g-scale

# Conflicts:
#	docs/design.md
#	docs/editor.md
#	docs/features/canvas-iframe-per-frame.md
#	docs/reference/design-tokens.md
#	docs/reference/ui-primitives.md
#	src/__tests__/canvas/editorChromeInjector.test.tsx
#	src/admin/ai/ModelPicker/ModelPicker.module.css
#	src/admin/modals/Settings/SettingsModal.module.css
#	src/admin/modals/SiteImport/steps/AnalyzeStep.module.css
#	src/admin/modals/SiteImport/steps/CmsBundleReviewStep.module.css
#	src/admin/modals/SiteImport/steps/DropStep.module.css
#	src/admin/pages/ai/AiPage.module.css
#	src/admin/pages/content/components/MediaNodeToolbar/MediaNodeToolbar.module.css
#	src/admin/pages/dashboard/DashboardPage.module.css
#	src/admin/pages/dashboard/components/BlockLibrary.module.css
#	src/admin/pages/dashboard/widgets/widgets.module.css
#	src/admin/pages/data/components/DataGrid/DataGrid.module.css
#	src/admin/pages/data/components/DataSidebar/DataSidebar.module.css
#	src/admin/pages/data/components/ExportDialog/ExportDialog.module.css
#	src/admin/pages/media/components/BulkEditWindow/BulkEditWindow.module.css
#	src/admin/pages/media/components/MediaCanvas/MediaCanvas.module.css
#	src/admin/pages/media/components/MediaStoragePanel/MediaStoragePanel.module.css
#	src/admin/pages/media/components/MediaViewerWindow/MediaViewerWindow.module.css
#	src/admin/pages/media/components/ReplaceFileDialog/ReplaceFileDialog.module.css
#	src/admin/pages/media/components/TagEditor/TagEditor.module.css
#	src/admin/pages/media/components/UploadQueueWindow/UploadQueueWindow.module.css
#	src/admin/pages/plugins/PluginsPage.module.css
#	src/admin/pages/plugins/components/PluginCard/PluginCard.module.css
#	src/admin/pages/plugins/components/PluginRemoveDialog/PluginRemoveDialog.module.css
#	src/admin/pages/plugins/components/PluginSchedulesDialog/PluginSchedulesDialog.module.css
#	src/admin/pages/site/canvas/CanvasContextSelector.module.css
#	src/admin/pages/site/canvas/EditorChromeInjector.tsx
#	src/admin/pages/site/explorer-actions/ExplorerItemContextMenu.module.css
#	src/admin/pages/site/panels/AgentPanel/AgentPanel.module.css
#	src/admin/pages/site/panels/AgentPanel/ContextMeter.module.css
#	src/admin/pages/site/panels/DomPanel/LayerNodeContextMenu.module.css
#	src/admin/pages/site/panels/DomPanel/TreeNode.module.css
#	src/admin/pages/site/panels/PropertiesPanel/ComponentParamsOverview.module.css
#	src/admin/pages/site/panels/PropertiesPanel/ComponentRefView.module.css
#	src/admin/pages/site/panels/PropertiesPanel/MultiSelectionInspector.module.css
#	src/admin/pages/site/panels/PropertiesPanel/MultiSelectorInspector.module.css
#	src/admin/pages/site/panels/PropertiesPanel/ParamRow.module.css
#	src/admin/pages/site/panels/PropertiesPanel/StyleRuleComposer.module.css
#	src/admin/pages/site/property-controls/DynamicBindingControl/DynamicBindingControl.module.css
#	src/admin/pages/site/property-controls/controls.module.css
#	src/admin/pages/site/toolbar/Toolbar.module.css
#	src/admin/shared/AccountMenuButton/AccountMenuButton.module.css
#	src/admin/spotlight/Spotlight.module.css
#	src/styles/globals.css
#	src/ui/components/Button/Button.module.css
#	src/ui/components/DateTimePicker/DateTimePicker.module.css
#	src/ui/components/Input/Input.module.css
#	src/ui/components/Select/Select.module.css
#	src/ui/components/TagPill/TagPill.module.css
#	src/ui/components/Widget/Widget.module.css
#	src/ui/components/charts/charts.module.css
@DavidBabinec DavidBabinec merged commit f4e3cef into main Jun 24, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant