From ec1b23d67a84bf4b782c3d462264acf3880b7cda Mon Sep 17 00:00:00 2001 From: Julie Blanc Date: Sun, 8 Mar 2026 09:54:36 +0100 Subject: [PATCH] add module setting text-decoration --- public/assets/css/src/_forms-section.scss | 35 --------- public/assets/css/src/_setting__section.scss | 6 +- public/assets/css/style.css | 7 +- public/assets/css/style.css.map | 2 +- src/components/ElementPopup.vue | 79 +++++++++++++++++++- src/composables/useElementSettings.js | 32 ++++++++ src/utils/defaults.js | 5 ++ 7 files changed, 124 insertions(+), 42 deletions(-) delete mode 100644 public/assets/css/src/_forms-section.scss diff --git a/public/assets/css/src/_forms-section.scss b/public/assets/css/src/_forms-section.scss deleted file mode 100644 index 5a4d342..0000000 --- a/public/assets/css/src/_forms-section.scss +++ /dev/null @@ -1,35 +0,0 @@ -// .settings__container { -// margin: var(--space-m) 0; - -// h2 { -// margin-bottom: var(--space); - -// font-weight: 600; -// font-size: 1.4rem; - -// border-bottom: 1px solid var(--color-200); -// color: var(--color-800); -// } - -// .infos { -// font-size: 0.8rem; -// color: var(--color-interface-400); -// } -// } - -// .setting__section:not(:last-child) { -// border-bottom: 1px solid var(--color-interface-100); -// } - -// .setting__section { -// padding: var(--space-s) 0; - -// h3 { -// margin-top: calc(var(--space-xs) * 1.5); -// margin-bottom: calc(var(--space-xs) * 2); -// // color: var(--color-600); -// font-size: 1rem; -// font-weight: 600; -// color: red; -// } -// } diff --git a/public/assets/css/src/_setting__section.scss b/public/assets/css/src/_setting__section.scss index e1486b5..4826f25 100644 --- a/public/assets/css/src/_setting__section.scss +++ b/public/assets/css/src/_setting__section.scss @@ -54,8 +54,12 @@ } +.setting__section[data-setting="textDecoration"], .setting__section[data-setting="border"] { - .field-border__option{ + .setting__body{ + padding-top: 4px; + } + .field__option{ display: grid; width: 100%; grid-template-columns: 9ch minmax(0, 1fr); diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 460ee98..8c63b85 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -780,7 +780,12 @@ input[type=number] { margin-bottom: var(--space-xs); } -.setting__section[data-setting=border] .field-border__option { +.setting__section[data-setting=textDecoration] .setting__body, +.setting__section[data-setting=border] .setting__body { + padding-top: 4px; +} +.setting__section[data-setting=textDecoration] .field__option, +.setting__section[data-setting=border] .field__option { display: grid; width: 100%; grid-template-columns: 9ch minmax(0, 1fr); diff --git a/public/assets/css/style.css.map b/public/assets/css/style.css.map index 8094315..431b0f3 100644 --- a/public/assets/css/style.css.map +++ b/public/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["src/_fonts.scss","style.css","src/_colors.scss","src/_reset.scss","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_panel-settings.scss","src/_forms.scss","src/_buttons.scss","src/_toggle-setting.scss","src/_settings-popup.scss","src/_setting__section.scss","src/_global.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["src/_fonts.scss","style.css","src/_colors.scss","src/_reset.scss","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_panel-settings.scss","src/_forms.scss","src/_buttons.scss","src/_toggle-setting.scss","src/_settings-popup.scss","src/_setting__section.scss","src/_global.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/src/components/ElementPopup.vue b/src/components/ElementPopup.vue index bc81722..70ada0c 100644 --- a/src/components/ElementPopup.vue +++ b/src/components/ElementPopup.vue @@ -144,8 +144,8 @@
-
-
+
+
-
+
-
+
+ + +
+
+ + +
+
+
+
+ +
+ + +
+
+
+ + +
+
+ +
+ +
+ +
+
+
+
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -314,6 +383,7 @@ const elementInstanceCount = ref(0); const colorInput = ref(null); const backgroundInput = ref(null); const borderColorInput = ref(null); +const textDecorationColorInput = ref(null); // Spacing editor (margin/padding) const { @@ -330,6 +400,7 @@ const { fontFamily, italic, bold, textAlign, color, background, fontSize, fontSizeModel, lineHeight, lineHeightModel, borderWidth, borderStyle, borderColor, + textDecorationLine, textDecorationStyle, textDecorationThickness, textDecorationColor, textUnderlineOffset, settingEnabled, textDefaults, projectFonts, loadAllFontPreviews, displayedCss, editableFullCss, diff --git a/src/composables/useElementSettings.js b/src/composables/useElementSettings.js index fea5b45..946cd16 100644 --- a/src/composables/useElementSettings.js +++ b/src/composables/useElementSettings.js @@ -37,6 +37,11 @@ export function useElementSettings({ margin, padding, basePopup }) { const borderWidth = reactive({ ...ELEMENT_DEFAULTS.borderWidth }); const borderStyle = ref(ELEMENT_DEFAULTS.borderStyle); const borderColor = ref(ELEMENT_DEFAULTS.borderColor); + const textDecorationLine = ref(ELEMENT_DEFAULTS.textDecorationLine); + const textDecorationStyle = ref(ELEMENT_DEFAULTS.textDecorationStyle); + const textDecorationThickness = reactive({ ...ELEMENT_DEFAULTS.textDecorationThickness }); + const textDecorationColor = ref(ELEMENT_DEFAULTS.textDecorationColor); + const textUnderlineOffset = reactive({ ...ELEMENT_DEFAULTS.textUnderlineOffset }); // --- Toggle state --- const settingEnabled = reactive({ @@ -47,6 +52,7 @@ export function useElementSettings({ margin, padding, basePopup }) { color: false, background: false, border: false, + textDecoration: false, margin: false, padding: false, }); @@ -93,12 +99,17 @@ export function useElementSettings({ margin, padding, basePopup }) { { css: 'background', group: 'background', get: () => background.value, set: v => background.value = v, debounce: true }, { css: 'border-style', group: 'border', get: () => borderStyle.value, set: v => borderStyle.value = v || 'solid', debounce: false }, { css: 'border-color', group: 'border', get: () => borderColor.value, set: v => borderColor.value = v, debounce: true }, + { css: 'text-decoration-line', group: 'textDecoration', get: () => textDecorationLine.value, set: v => textDecorationLine.value = v || 'underline', debounce: false }, + { css: 'text-decoration-style', group: 'textDecoration', get: () => textDecorationStyle.value, set: v => textDecorationStyle.value = v || 'solid', debounce: false }, + { css: 'text-decoration-color', group: 'textDecoration', get: () => textDecorationColor.value, set: v => textDecorationColor.value = v, debounce: true }, ]; const unitProps = [ { css: 'font-size', group: 'fontSize', ref: fontSize, debounce: true }, { css: 'line-height', group: 'lineHeight', ref: lineHeight, debounce: true }, { css: 'border-width', group: 'border', ref: borderWidth, debounce: true }, + { css: 'text-decoration-thickness', group: 'textDecoration', ref: textDecorationThickness, debounce: true }, + { css: 'text-underline-offset', group: 'textDecoration', ref: textUnderlineOffset, debounce: true }, ]; const settingGroups = { @@ -109,6 +120,7 @@ export function useElementSettings({ margin, padding, basePopup }) { color: ['color'], background: ['background'], border: ['border-width', 'border-style', 'border-color'], + textDecoration: ['text-decoration-line', 'text-decoration-style', 'text-decoration-thickness', 'text-decoration-color', 'text-underline-offset'], margin: ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], padding: ['padding-top', 'padding-right', 'padding-bottom', 'padding-left'], }; @@ -283,6 +295,21 @@ export function useElementSettings({ margin, padding, basePopup }) { { css: 'border-color', group: 'border', getValue: () => borderColor.value, skip: () => !settingEnabled.border || borderWidth.value === 0 }, + { css: 'text-decoration-line', group: 'textDecoration', + getValue: () => textDecorationLine.value, + skip: () => !settingEnabled.textDecoration }, + { css: 'text-decoration-style', group: 'textDecoration', + getValue: () => textDecorationStyle.value, + skip: () => !settingEnabled.textDecoration }, + { css: 'text-decoration-thickness', group: 'textDecoration', + getValue: () => `${textDecorationThickness.value}${textDecorationThickness.unit}`, + skip: () => !settingEnabled.textDecoration }, + { css: 'text-decoration-color', group: 'textDecoration', + getValue: () => textDecorationColor.value, + skip: () => !settingEnabled.textDecoration }, + { css: 'text-underline-offset', group: 'textDecoration', + getValue: () => `${textUnderlineOffset.value}${textUnderlineOffset.unit}`, + skip: () => !settingEnabled.textDecoration }, ]; const isInlineElement = computed(() => !!INLINE_DEFAULTS[currentTag.value]); @@ -812,6 +839,11 @@ export function useElementSettings({ margin, padding, basePopup }) { borderWidth, borderStyle, borderColor, + textDecorationLine, + textDecorationStyle, + textDecorationThickness, + textDecorationColor, + textUnderlineOffset, settingEnabled, settingCache, textDefaults, diff --git a/src/utils/defaults.js b/src/utils/defaults.js index 22f6db9..720945a 100644 --- a/src/utils/defaults.js +++ b/src/utils/defaults.js @@ -36,6 +36,11 @@ export const ELEMENT_DEFAULTS = Object.freeze({ borderWidth: Object.freeze({ value: 1, unit: 'px' }), borderStyle: 'solid', borderColor: '#000000', + textDecorationLine: 'underline', + textDecorationStyle: 'solid', + textDecorationThickness: Object.freeze({ value: 1, unit: 'px' }), + textDecorationColor: '#000000', + textUnderlineOffset: Object.freeze({ value: 1, unit: 'px' }), }); export const INLINE_DEFAULTS = Object.freeze({