From 69e39cc59e177b291916969d23aade83bd41f4d6 Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Sat, 18 Jul 2026 00:07:49 +0300 Subject: [PATCH 1/2] refactor(app): theme toolbar editing states - Share typed toolbar slots across desktop, mobile, flyout, and action controls\n- Theme alignment cells, fill tabs, and gradient stop states\n- Expose semantic active and disabled state and retire migrated allowlist entries --- src/components/Toolbar/DesktopToolbar.vue | 1 + src/components/Toolbar/MobileToolbar.vue | 26 ++++-- src/components/Toolbar/ToolButton.vue | 25 +++--- src/components/Toolbar/ToolFlyout.vue | 49 ++++++++---- src/components/Toolbar/ToolbarActionGroup.vue | 14 +++- src/components/Toolbar/types.ts | 7 +- src/components/fill-picker/FillPicker.vue | 14 ++-- src/components/fill-picker/GradientEditor.vue | 17 +++- .../properties/LayoutSection/FlexControls.vue | 20 +++-- src/theme/fill-picker.ts | 31 ++++++++ src/theme/layout-alignment.ts | 24 ++++++ src/theme/toolbar.ts | 79 +++++++++++++++++++ tests/e2e/color-picker/basic.spec.ts | 4 +- tests/e2e/editor/auto-layout/basic.spec.ts | 1 + tests/e2e/toolbar/basic.spec.ts | 10 ++- .../steiger-rules/dynamic-tailwind-classes.ts | 7 -- .../tests/dynamic-classes.test.ts | 6 +- 17 files changed, 266 insertions(+), 69 deletions(-) create mode 100644 src/theme/fill-picker.ts create mode 100644 src/theme/layout-alignment.ts create mode 100644 src/theme/toolbar.ts diff --git a/src/components/Toolbar/DesktopToolbar.vue b/src/components/Toolbar/DesktopToolbar.vue index e0c484f3e..97cc3a5b3 100644 --- a/src/components/Toolbar/DesktopToolbar.vue +++ b/src/components/Toolbar/DesktopToolbar.vue @@ -58,6 +58,7 @@ function activeKeyForTool(tool: EditorToolDef) { :data-test-id="toolbarToolTestId(tool.key)" :icon="toolIcons[tool.key]" :active="active || isActive(tool)" + :ui="ui" @click="actions.select" /> diff --git a/src/components/Toolbar/MobileToolbar.vue b/src/components/Toolbar/MobileToolbar.vue index 867448523..60dead4f8 100644 --- a/src/components/Toolbar/MobileToolbar.vue +++ b/src/components/Toolbar/MobileToolbar.vue @@ -1,4 +1,5 @@ diff --git a/src/components/Toolbar/ToolButton.vue b/src/components/Toolbar/ToolButton.vue index 5f986a157..5a4913611 100644 --- a/src/components/Toolbar/ToolButton.vue +++ b/src/components/Toolbar/ToolButton.vue @@ -1,13 +1,22 @@