feat: add rem unit option to margins in PageSettings and TextSettings
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 <noreply@anthropic.com>
This commit is contained in:
parent
d3cd296fd7
commit
b584a539fe
3 changed files with 31 additions and 1 deletions
|
|
@ -66,6 +66,13 @@
|
||||||
>
|
>
|
||||||
px
|
px
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
:class="{ active: margins.top.unit === 'rem' }"
|
||||||
|
@click="margins.top.unit = 'rem'"
|
||||||
|
>
|
||||||
|
rem
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -94,6 +101,13 @@
|
||||||
>
|
>
|
||||||
px
|
px
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
:class="{ active: margins.bottom.unit === 'rem' }"
|
||||||
|
@click="margins.bottom.unit = 'rem'"
|
||||||
|
>
|
||||||
|
rem
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -122,6 +136,13 @@
|
||||||
>
|
>
|
||||||
px
|
px
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
:class="{ active: margins.left.unit === 'rem' }"
|
||||||
|
@click="margins.left.unit = 'rem'"
|
||||||
|
>
|
||||||
|
rem
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -150,6 +171,13 @@
|
||||||
>
|
>
|
||||||
px
|
px
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
:class="{ active: margins.right.unit === 'rem' }"
|
||||||
|
@click="margins.right.unit = 'rem'"
|
||||||
|
>
|
||||||
|
rem
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@
|
||||||
label="Marges extérieures"
|
label="Marges extérieures"
|
||||||
v-model:simple="marginOuter"
|
v-model:simple="marginOuter"
|
||||||
v-model:detailed="marginOuterDetailed"
|
v-model:detailed="marginOuterDetailed"
|
||||||
|
:units="['mm', 'px', 'rem']"
|
||||||
@change="handleMarginOuterChange"
|
@change="handleMarginOuterChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -104,6 +105,7 @@
|
||||||
label="Marges intérieures"
|
label="Marges intérieures"
|
||||||
v-model:simple="marginInner"
|
v-model:simple="marginInner"
|
||||||
v-model:detailed="marginInnerDetailed"
|
v-model:detailed="marginInnerDetailed"
|
||||||
|
:units="['mm', 'px', 'rem']"
|
||||||
@change="handleMarginInnerChange"
|
@change="handleMarginInnerChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ export function useCssSync() {
|
||||||
* Extract margin/padding shorthand (handles 1 or 4 values)
|
* Extract margin/padding shorthand (handles 1 or 4 values)
|
||||||
* Returns { simple: { value, unit } } or { detailed: { top, right, bottom, left } }
|
* 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);
|
const block = store.extractBlock(selector);
|
||||||
if (!block) return null;
|
if (!block) return null;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue