From b584a539fe7c4c8eab71a7693ea561b1947e3c69 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Fri, 5 Dec 2025 16:38:29 +0100 Subject: [PATCH] feat: add rem unit option to margins in PageSettings and TextSettings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 'rem' as an available unit for margin inputs in both components. Updates useCssSync composable to parse rem values from CSS. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/components/editor/PageSettings.vue | 28 ++++++++++++++++++++++++++ src/components/editor/TextSettings.vue | 2 ++ src/composables/useCssSync.js | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/components/editor/PageSettings.vue b/src/components/editor/PageSettings.vue index 17cab6e..616775b 100644 --- a/src/components/editor/PageSettings.vue +++ b/src/components/editor/PageSettings.vue @@ -66,6 +66,13 @@ > px + @@ -94,6 +101,13 @@ > px + @@ -122,6 +136,13 @@ > px + @@ -150,6 +171,13 @@ > px + diff --git a/src/components/editor/TextSettings.vue b/src/components/editor/TextSettings.vue index d8768ba..614b79d 100644 --- a/src/components/editor/TextSettings.vue +++ b/src/components/editor/TextSettings.vue @@ -92,6 +92,7 @@ label="Marges extérieures" v-model:simple="marginOuter" v-model:detailed="marginOuterDetailed" + :units="['mm', 'px', 'rem']" @change="handleMarginOuterChange" /> @@ -104,6 +105,7 @@ label="Marges intérieures" v-model:simple="marginInner" v-model:detailed="marginInnerDetailed" + :units="['mm', 'px', 'rem']" @change="handleMarginInnerChange" /> diff --git a/src/composables/useCssSync.js b/src/composables/useCssSync.js index 96af721..3588635 100644 --- a/src/composables/useCssSync.js +++ b/src/composables/useCssSync.js @@ -38,7 +38,7 @@ export function useCssSync() { * Extract margin/padding shorthand (handles 1 or 4 values) * Returns { simple: { value, unit } } or { detailed: { top, right, bottom, left } } */ - const extractSpacing = (selector, property, allowedUnits = ['mm', 'px']) => { + const extractSpacing = (selector, property, allowedUnits = ['mm', 'px', 'rem']) => { const block = store.extractBlock(selector); if (!block) return null;