diff --git a/packages/editor/src/fields/StyleSetter/components/Border.vue b/packages/editor/src/fields/StyleSetter/components/Border.vue index 85842a9b..8be32df8 100644 --- a/packages/editor/src/fields/StyleSetter/components/Border.vue +++ b/packages/editor/src/fields/StyleSetter/components/Border.vue @@ -4,27 +4,31 @@
-
+
@@ -98,7 +102,7 @@ const emit = defineEmits<{ addDiffCount: []; }>(); -withDefaults( +const props = withDefaults( defineProps<{ model: FormValue; lastValues?: FormValue; @@ -109,6 +113,11 @@ withDefaults( {}, ); +const hasValue = (value: unknown) => value !== undefined && value !== null && value !== ''; + +const isConfigured = (d: string) => + ['Width', 'Color', 'Style'].some((key) => hasValue(props.model?.[`border${d}${key}`])); + const change = (value: StyleSchema, eventData: ContainerChangeEventData) => { eventData.changeRecords?.forEach((record) => { emit('change', record.value, { diff --git a/packages/editor/src/theme/style-setter/border.scss b/packages/editor/src/theme/style-setter/border.scss index bf39f4e3..eb52c5c3 100644 --- a/packages/editor/src/theme/style-setter/border.scss +++ b/packages/editor/src/theme/style-setter/border.scss @@ -24,9 +24,12 @@ & + .border-icon { margin-left: 8px; } + &.configured { + border-color: var(--el-color-success, var(--td-success-color, #2ba471)); + } &.active { border-width: 1px; - border-color: var(--el-color-primary); + border-color: var(--el-color-primary, var(--td-brand-color, #0052d9)); } &.border-icon-top { border-top-width: 2px;