@dev.smartpricing/message-composer-layer 4.2.11-ux.2 → 4.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -149,7 +149,6 @@ function resetForm() {
149
149
  backgroundColor: '#F3F4F6',
150
150
  contentBackgroundColor: '#FFFFFF',
151
151
  textColor: '#000000',
152
- linkColor: undefined,
153
152
  fontFamily: 'Arial',
154
153
  }
155
154
  defaultButtonSettings.value = {
@@ -169,7 +169,7 @@ function removeColor(index: number) {
169
169
  <!-- Default email colors -->
170
170
  <div class="space-y-2">
171
171
  <p class="text-sm font-medium">{{ $t('pages.brands.fields.default_email_colors') }}</p>
172
- <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
172
+ <div class="grid grid-cols-1 sm:grid-cols-3 gap-3">
173
173
  <ColorInput
174
174
  :brand-colors="colors"
175
175
  v-model="defaultEmailSettings.backgroundColor"
@@ -185,11 +185,6 @@ function removeColor(index: number) {
185
185
  v-model="defaultEmailSettings.textColor"
186
186
  :label="$t('pages.brands.fields.email_text_color')"
187
187
  />
188
- <ColorInput
189
- :brand-colors="colors"
190
- v-model="defaultEmailSettings.linkColor"
191
- :label="$t('pages.brands.fields.email_link_color')"
192
- />
193
188
  </div>
194
189
  </div>
195
190
 
@@ -9,7 +9,6 @@ import type {
9
9
  RefineTextResponse,
10
10
  } from '@dev.smartpricing/message-composer-utils/types'
11
11
  import {
12
- buildLinkHTMLAttributes,
13
12
  convertToWhatsappMarkdown,
14
13
  getTipTapExtensions,
15
14
  sanitizeContent,
@@ -40,7 +39,6 @@ const props = withDefaults(
40
39
  horizontalRule?: boolean
41
40
  alignment?: boolean
42
41
  link?: boolean
43
- linkColor?: string
44
42
  emoji?: boolean
45
43
  }>(),
46
44
  {
@@ -136,12 +134,9 @@ const starterKitConfig = computed(() => {
136
134
  link: props.link
137
135
  ? {
138
136
  openOnClick: false,
139
- // Callers that don't opt in with `linkColor` (e.g. ButtonSettings, whose
140
- // links aren't part of the block-level linkColor feature) keep the old
141
- // fixed styling instead of an unset `--link-color` custom property.
142
- HTMLAttributes: props.linkColor
143
- ? { class: 'underline', ...buildLinkHTMLAttributes({ mode: 'live' }) }
144
- : { class: 'text-primary-600 underline' },
137
+ HTMLAttributes: {
138
+ class: 'text-primary-600 underline',
139
+ },
145
140
  }
146
141
  : false,
147
142
  heading: false,
@@ -378,7 +373,7 @@ defineExpose({
378
373
  </script>
379
374
 
380
375
  <template>
381
- <div :data-testid="richTextEditorTestIds.root" :style="{ '--link-color': linkColor }">
376
+ <div :data-testid="richTextEditorTestIds.root">
382
377
  <div class="rounded-md border border-accented overflow-hidden">
383
378
  <UEditor
384
379
  ref="editorRef"
@@ -18,7 +18,6 @@ const editor = useEditor({
18
18
  extensions: getTipTapExtensions({
19
19
  preset: 'email',
20
20
  dynamicValues: true,
21
- linkColor: { mode: 'live' },
22
21
  }),
23
22
  })
24
23
 
@@ -48,7 +47,6 @@ defineOptions({
48
47
  fontFamily: block.settings.fontFamily ?? emailEditorStore.resolvedSettings.fontFamily,
49
48
  fontSize: `${block.settings.fontSize}px`,
50
49
  color: block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
51
- '--link-color': block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
52
50
  }"
53
51
  >
54
52
  <EditorContent :editor="editor" class="pointer-events-none" />
@@ -23,19 +23,6 @@ const content = computed({
23
23
  },
24
24
  })
25
25
 
26
- const resolvedLinkColor = computed(
27
- () => props.block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
28
- )
29
-
30
- function matchTextColor() {
31
- emailEditorStore.updateBlock(props.block.id, {
32
- settings: {
33
- ...props.block.settings,
34
- linkColor: props.block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
35
- },
36
- })
37
- }
38
-
39
26
  function resetTextStyle() {
40
27
  emailEditorStore.updateBlock(props.block.id, {
41
28
  settings: {
@@ -51,7 +38,6 @@ function resetColors() {
51
38
  settings: {
52
39
  ...props.block.settings,
53
40
  textColor: DEFAULT_FOOTER_SETTINGS.textColor,
54
- linkColor: DEFAULT_FOOTER_SETTINGS.linkColor,
55
41
  backgroundColor: DEFAULT_FOOTER_SETTINGS.backgroundColor,
56
42
  },
57
43
  })
@@ -77,7 +63,6 @@ defineOptions({
77
63
  underline
78
64
  alignment
79
65
  link
80
- :link-color="resolvedLinkColor"
81
66
  emoji
82
67
  dynamic-values
83
68
  />
@@ -128,25 +113,6 @@ defineOptions({
128
113
  :default-value="emailEditorStore.resolvedSettings.textColor"
129
114
  />
130
115
 
131
- <!-- Link Color -->
132
- <ColorInput
133
- v-model="block.settings.linkColor"
134
- :label="$t('editor.email.blocks.heading.settings.link')"
135
- :default-value="emailEditorStore.resolvedSettings.linkColor"
136
- :data-testid="footerSettingsTestIds.linkColorInput"
137
- >
138
- <template #trailing>
139
- <UButton
140
- size="xs"
141
- color="neutral"
142
- variant="ghost"
143
- :label="$t('editor.email.blocks.heading.settings.match_text_color')"
144
- :data-testid="footerSettingsTestIds.matchTextColorButton"
145
- @click.stop="matchTextColor"
146
- />
147
- </template>
148
- </ColorInput>
149
-
150
116
  <!-- Background Color -->
151
117
  <ColorInput
152
118
  v-model="block.settings.backgroundColor"
@@ -18,7 +18,6 @@ const editor = useEditor({
18
18
  extensions: getTipTapExtensions({
19
19
  preset: 'email',
20
20
  dynamicValues: true,
21
- linkColor: { mode: 'live' },
22
21
  }),
23
22
  })
24
23
 
@@ -48,7 +47,6 @@ defineOptions({
48
47
  fontFamily: block.settings.fontFamily ?? emailEditorStore.resolvedSettings.fontFamily,
49
48
  fontSize: `${block.settings.fontSize}px`,
50
49
  color: block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
51
- '--link-color': block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
52
50
  }"
53
51
  >
54
52
  <EditorContent :editor="editor" class="pointer-events-none" />
@@ -30,19 +30,6 @@ const content = computed({
30
30
  },
31
31
  })
32
32
 
33
- const resolvedLinkColor = computed(
34
- () => props.block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
35
- )
36
-
37
- function matchTextColor() {
38
- emailEditorStore.updateBlock(props.block.id, {
39
- settings: {
40
- ...props.block.settings,
41
- linkColor: props.block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
42
- },
43
- })
44
- }
45
-
46
33
  const typeOptions = HEADING_TAGS.slice(0, 3).map((heading) => ({
47
34
  value: heading,
48
35
  label: t(`editor.email.blocks.text_types.${heading}`),
@@ -64,7 +51,6 @@ function resetColors() {
64
51
  settings: {
65
52
  ...props.block.settings,
66
53
  textColor: DEFAULT_HEADING_SETTINGS.textColor,
67
- linkColor: DEFAULT_HEADING_SETTINGS.linkColor,
68
54
  backgroundColor: DEFAULT_HEADING_SETTINGS.backgroundColor,
69
55
  },
70
56
  })
@@ -97,7 +83,6 @@ defineOptions({
97
83
  underline
98
84
  alignment
99
85
  link
100
- :link-color="resolvedLinkColor"
101
86
  emoji
102
87
  improve
103
88
  generate
@@ -161,25 +146,6 @@ defineOptions({
161
146
  :default-value="emailEditorStore.resolvedSettings.textColor"
162
147
  />
163
148
 
164
- <!-- Link Color -->
165
- <ColorInput
166
- v-model="block.settings.linkColor"
167
- :label="$t('editor.email.blocks.heading.settings.link')"
168
- :default-value="emailEditorStore.resolvedSettings.linkColor"
169
- :data-testid="headingSettingsTestIds.linkColorInput"
170
- >
171
- <template #trailing>
172
- <UButton
173
- size="xs"
174
- color="neutral"
175
- variant="ghost"
176
- :label="$t('editor.email.blocks.heading.settings.match_text_color')"
177
- :data-testid="headingSettingsTestIds.matchTextColorButton"
178
- @click.stop="matchTextColor"
179
- />
180
- </template>
181
- </ColorInput>
182
-
183
149
  <!-- Background Color -->
184
150
  <ColorInput
185
151
  v-model="block.settings.backgroundColor"
@@ -18,7 +18,6 @@ const editor = useEditor({
18
18
  extensions: getTipTapExtensions({
19
19
  preset: 'email',
20
20
  dynamicValues: true,
21
- linkColor: { mode: 'live' },
22
21
  }),
23
22
  })
24
23
 
@@ -48,7 +47,6 @@ defineOptions({
48
47
  fontFamily: block.settings.fontFamily ?? emailEditorStore.resolvedSettings.fontFamily,
49
48
  fontSize: `${block.settings.fontSize}px`,
50
49
  color: block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
51
- '--link-color': block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
52
50
  }"
53
51
  >
54
52
  <EditorContent :editor="editor" class="pointer-events-none" />
@@ -30,19 +30,6 @@ const content = computed({
30
30
  },
31
31
  })
32
32
 
33
- const resolvedLinkColor = computed(
34
- () => props.block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
35
- )
36
-
37
- function matchTextColor() {
38
- emailEditorStore.updateBlock(props.block.id, {
39
- settings: {
40
- ...props.block.settings,
41
- linkColor: props.block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
42
- },
43
- })
44
- }
45
-
46
33
  const typeOptions = TEXT_TAGS.map((tag) => ({
47
34
  value: tag,
48
35
  label: t(`editor.email.blocks.text_types.${tag}`),
@@ -64,7 +51,6 @@ function resetColors() {
64
51
  settings: {
65
52
  ...props.block.settings,
66
53
  textColor: DEFAULT_PARAGRAPH_SETTINGS.textColor,
67
- linkColor: DEFAULT_PARAGRAPH_SETTINGS.linkColor,
68
54
  backgroundColor: DEFAULT_PARAGRAPH_SETTINGS.backgroundColor,
69
55
  },
70
56
  })
@@ -99,7 +85,6 @@ defineOptions({
99
85
  horizontal-rule
100
86
  alignment
101
87
  link
102
- :link-color="resolvedLinkColor"
103
88
  emoji
104
89
  improve
105
90
  generate
@@ -162,25 +147,6 @@ defineOptions({
162
147
  :default-value="emailEditorStore.resolvedSettings.textColor"
163
148
  />
164
149
 
165
- <!-- Link Color -->
166
- <ColorInput
167
- v-model="block.settings.linkColor"
168
- :label="$t('editor.email.blocks.heading.settings.link')"
169
- :default-value="emailEditorStore.resolvedSettings.linkColor"
170
- :data-testid="paragraphSettingsTestIds.linkColorInput"
171
- >
172
- <template #trailing>
173
- <UButton
174
- size="xs"
175
- color="neutral"
176
- variant="ghost"
177
- :label="$t('editor.email.blocks.heading.settings.match_text_color')"
178
- :data-testid="paragraphSettingsTestIds.matchTextColorButton"
179
- @click.stop="matchTextColor"
180
- />
181
- </template>
182
- </ColorInput>
183
-
184
150
  <!-- Background Color -->
185
151
  <ColorInput
186
152
  v-model="block.settings.backgroundColor"
@@ -17,7 +17,6 @@ const editor = useEditor({
17
17
  extensions: getTipTapExtensions({
18
18
  preset: 'email',
19
19
  dynamicValues: true,
20
- linkColor: { mode: 'live' },
21
20
  }),
22
21
  })
23
22
 
@@ -46,7 +45,6 @@ defineOptions({
46
45
  fontFamily: block.settings.fontFamily ?? emailEditorStore.resolvedSettings.fontFamily,
47
46
  fontSize: `${block.settings.fontSize}px`,
48
47
  color: block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
49
- '--link-color': block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
50
48
  textAlign: block.settings.alignment,
51
49
  }"
52
50
  >
@@ -24,19 +24,6 @@ const content = computed({
24
24
  },
25
25
  })
26
26
 
27
- const resolvedLinkColor = computed(
28
- () => props.block.settings.linkColor ?? emailEditorStore.resolvedSettings.linkColor,
29
- )
30
-
31
- function matchTextColor() {
32
- emailEditorStore.updateBlock(props.block.id, {
33
- settings: {
34
- ...props.block.settings,
35
- linkColor: props.block.settings.textColor ?? emailEditorStore.resolvedSettings.textColor,
36
- },
37
- })
38
- }
39
-
40
27
  function resetTextStyle() {
41
28
  emailEditorStore.updateBlock(props.block.id, {
42
29
  settings: {
@@ -52,7 +39,6 @@ function resetColors() {
52
39
  settings: {
53
40
  ...props.block.settings,
54
41
  textColor: DEFAULT_UNSUBSCRIBE_LINK_SETTINGS.textColor,
55
- linkColor: DEFAULT_UNSUBSCRIBE_LINK_SETTINGS.linkColor,
56
42
  backgroundColor: DEFAULT_UNSUBSCRIBE_LINK_SETTINGS.backgroundColor,
57
43
  },
58
44
  })
@@ -77,7 +63,6 @@ defineOptions({
77
63
  italic
78
64
  underline
79
65
  link
80
- :link-color="resolvedLinkColor"
81
66
  dynamic-values
82
67
  :data-testid="unsubscribeLinkSettingsTestIds.contentEditor"
83
68
  />
@@ -128,24 +113,6 @@ defineOptions({
128
113
  :data-testid="unsubscribeLinkSettingsTestIds.textColorInput"
129
114
  />
130
115
 
131
- <ColorInput
132
- v-model="block.settings.linkColor"
133
- :label="$t('editor.email.blocks.heading.settings.link')"
134
- :default-value="emailEditorStore.resolvedSettings.linkColor"
135
- :data-testid="unsubscribeLinkSettingsTestIds.linkColorInput"
136
- >
137
- <template #trailing>
138
- <UButton
139
- size="xs"
140
- color="neutral"
141
- variant="ghost"
142
- :label="$t('editor.email.blocks.heading.settings.match_text_color')"
143
- :data-testid="unsubscribeLinkSettingsTestIds.matchTextColorButton"
144
- @click.stop="matchTextColor"
145
- />
146
- </template>
147
- </ColorInput>
148
-
149
116
  <ColorInput
150
117
  v-model="block.settings.backgroundColor"
151
118
  :label="$t('editor.email.blocks.heading.settings.backgroundBlock')"
@@ -87,7 +87,9 @@ const emailEditorStore = useEmailEditorStore()
87
87
  const composerContext = useComposerContext()
88
88
  const { mutate: sendTest, isLoading: isSending, status } = useSendTestEmailMutation()
89
89
 
90
- const senderEmails = computed(() => composerContext.organizationData?.value?.senderEmails ?? [])
90
+ const defaultSenderEmail = computed(
91
+ () => composerContext.organizationData?.value?.senderEmail ?? '',
92
+ )
91
93
 
92
94
  const accommodationName = computed(
93
95
  () => composerContext.organizationData?.value?.accommodationName ?? '',
@@ -100,11 +102,10 @@ const state = ref<Schema>({
100
102
  })
101
103
 
102
104
  watch(
103
- senderEmails,
104
- (emails) => {
105
- const [firstEmail] = emails
106
- if (!state.value.from && firstEmail) {
107
- state.value.from = firstEmail
105
+ defaultSenderEmail,
106
+ (email) => {
107
+ if (!state.value.from) {
108
+ state.value.from = email
108
109
  }
109
110
  },
110
111
  { immediate: true },
@@ -135,7 +136,9 @@ const schema = z.object({
135
136
  { message: t('editor.validation.error.emailInvalid') },
136
137
  ),
137
138
  sender_name: z.string().optional(),
138
- from: z.string().min(1, t('editor.validation.error.emailRequired')),
139
+ from: z.string().refine((value) => !value || isEmail(value), {
140
+ message: t('editor.validation.error.emailInvalid'),
141
+ }),
139
142
  })
140
143
 
141
144
  type Schema = z.output<typeof schema>
@@ -214,16 +217,11 @@ watch(status, (newStatus) => {
214
217
  :data-testid="sendTestEmailModalTestIds.toInput"
215
218
  />
216
219
  </UFormField>
217
- <UFormField
218
- name="from"
219
- :label="$t('pages.email.test_email_from')"
220
- :data-testid="sendTestEmailModalTestIds.fromFormField"
221
- >
222
- <USelectMenu
220
+ <UFormField name="from" :label="$t('pages.email.test_email_from')">
221
+ <UInput
223
222
  v-model="state.from"
224
- :items="senderEmails"
223
+ type="email"
225
224
  :placeholder="$t('pages.email.test_email_from_placeholder')"
226
- :data-testid="sendTestEmailModalTestIds.fromSelect"
227
225
  />
228
226
  </UFormField>
229
227
  <UFormField
@@ -2,8 +2,7 @@ import type { InjectionKey, Ref } from 'vue'
2
2
  import type { AppContextConfig } from '@dev.smartpricing/message-composer-utils/types'
3
3
 
4
4
  export interface OrganizationData {
5
- /** Verified sender addresses available for the test-email "from" field, default first. */
6
- senderEmails: string[]
5
+ senderEmail: string
7
6
  /** Tenant accommodation/property name — defaults the test-email sender name */
8
7
  accommodationName?: string
9
8
  }
@@ -331,8 +331,6 @@ export const sendTestEmailModalTestIds = {
331
331
  triggerButton: 'send-test-email-modal-trigger-button',
332
332
  toFormField: 'send-test-email-modal-to-form-field',
333
333
  toInput: 'send-test-email-modal-to-input',
334
- fromFormField: 'send-test-email-modal-from-form-field',
335
- fromSelect: 'send-test-email-modal-from-select',
336
334
  senderNameFormField: 'send-test-email-modal-sender-name-form-field',
337
335
  senderNameInput: 'send-test-email-modal-sender-name-input',
338
336
  cancelButton: 'send-test-email-modal-cancel-button',
@@ -617,8 +615,6 @@ export const footerSettingsTestIds = {
617
615
  container: 'footer-settings-container',
618
616
  fontSizeField: 'footer-settings-font-size-field',
619
617
  fontSizeInput: 'footer-settings-font-size-input',
620
- linkColorInput: 'footer-settings-link-color-input',
621
- matchTextColorButton: 'footer-settings-match-text-color-button',
622
618
  } as const
623
619
 
624
620
  export const gridBlockTestIds = {
@@ -657,8 +653,6 @@ export const headingSettingsTestIds = {
657
653
  tagSelect: 'heading-settings-tag-select',
658
654
  fontSizeField: 'heading-settings-font-size-field',
659
655
  fontSizeInput: 'heading-settings-font-size-input',
660
- linkColorInput: 'heading-settings-link-color-input',
661
- matchTextColorButton: 'heading-settings-match-text-color-button',
662
656
  } as const
663
657
 
664
658
  export const htmlBlockTestIds = {
@@ -697,8 +691,6 @@ export const paragraphSettingsTestIds = {
697
691
  tagSelect: 'paragraph-settings-tag-select',
698
692
  fontSizeField: 'paragraph-settings-font-size-field',
699
693
  fontSizeInput: 'paragraph-settings-font-size-input',
700
- linkColorInput: 'paragraph-settings-link-color-input',
701
- matchTextColorButton: 'paragraph-settings-match-text-color-button',
702
694
  } as const
703
695
 
704
696
  export const socialsBlockTestIds = {
@@ -740,8 +732,6 @@ export const unsubscribeLinkSettingsTestIds = {
740
732
  fontSizeInput: 'unsubscribe-link-settings-font-size-input',
741
733
  textColorInput: 'unsubscribe-link-settings-text-color-input',
742
734
  backgroundColorInput: 'unsubscribe-link-settings-background-color-input',
743
- linkColorInput: 'unsubscribe-link-settings-link-color-input',
744
- matchTextColorButton: 'unsubscribe-link-settings-match-text-color-button',
745
735
  } as const
746
736
 
747
737
  export const previewByIdTestIds = {
@@ -266,8 +266,6 @@ export default {
266
266
  color: 'Farbe',
267
267
  content: 'Inhalt',
268
268
  font: 'Schriftart',
269
- link: 'Link',
270
- match_text_color: 'An Textfarbe anpassen',
271
269
  size: 'Größe',
272
270
  text: 'Text',
273
271
  textStyle: 'Textstil',
@@ -695,7 +693,6 @@ export default {
695
693
  default_font: 'Standardschriftart',
696
694
  email_bg_color: 'Hintergrund',
697
695
  email_content_bg_color: 'Inhalt-Hintergrund',
698
- email_link_color: 'Link-Farbe',
699
696
  email_text_color: 'Text',
700
697
  extracting_colors: 'Farben werden aus dem Logo extrahiert...',
701
698
  logo: 'Logo',
@@ -260,8 +260,6 @@ export default {
260
260
  color: 'Color',
261
261
  content: 'Content',
262
262
  font: 'Font',
263
- link: 'Link',
264
- match_text_color: 'Match text color',
265
263
  size: 'Size',
266
264
  text: 'Text',
267
265
  textStyle: 'Text style',
@@ -684,7 +682,6 @@ export default {
684
682
  default_font: 'Default font',
685
683
  email_bg_color: 'Background',
686
684
  email_content_bg_color: 'Content background',
687
- email_link_color: 'Link color',
688
685
  email_text_color: 'Text',
689
686
  extracting_colors: 'Extracting colors from logo...',
690
687
  logo: 'Logo',
@@ -261,8 +261,6 @@ export default {
261
261
  color: 'Color',
262
262
  content: 'Contenido',
263
263
  font: 'Fuente',
264
- link: 'Enlace',
265
- match_text_color: 'Igualar al color del texto',
266
264
  size: 'Tamaño',
267
265
  text: 'Texto',
268
266
  textStyle: 'Estilo del texto',
@@ -693,7 +691,6 @@ export default {
693
691
  default_font: 'Fuente predeterminada',
694
692
  email_bg_color: 'Fondo',
695
693
  email_content_bg_color: 'Fondo contenido',
696
- email_link_color: 'Color de enlace',
697
694
  email_text_color: 'Texto',
698
695
  extracting_colors: 'Extrayendo colores del logo...',
699
696
  logo: 'Logo',
@@ -262,8 +262,6 @@ export default {
262
262
  color: 'Couleur',
263
263
  content: 'Contenu',
264
264
  font: 'Police',
265
- link: 'Lien',
266
- match_text_color: 'Assortir à la couleur du texte',
267
265
  size: 'Taille',
268
266
  text: 'Texte',
269
267
  textStyle: 'Style de texte',
@@ -697,7 +695,6 @@ export default {
697
695
  default_font: 'Police par défaut',
698
696
  email_bg_color: 'Fond',
699
697
  email_content_bg_color: 'Fond contenu',
700
- email_link_color: 'Couleur du lien',
701
698
  email_text_color: 'Texte',
702
699
  extracting_colors: 'Extraction des couleurs du logo...',
703
700
  logo: 'Logo',
@@ -261,8 +261,6 @@ export default {
261
261
  color: 'Colore',
262
262
  content: 'Contenuto',
263
263
  font: 'Font',
264
- link: 'Link',
265
- match_text_color: 'Abbina al colore del testo',
266
264
  size: 'Dimensione',
267
265
  text: 'Testo',
268
266
  textStyle: 'Stile testo',
@@ -690,7 +688,6 @@ export default {
690
688
  default_font: 'Font predefinito',
691
689
  email_bg_color: 'Sfondo',
692
690
  email_content_bg_color: 'Sfondo contenuto',
693
- email_link_color: 'Colore link',
694
691
  email_text_color: 'Testo',
695
692
  extracting_colors: 'Estrazione dei colori dal logo...',
696
693
  logo: 'Logo',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev.smartpricing/message-composer-layer",
3
- "version": "4.2.11-ux.2",
3
+ "version": "4.2.11",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./nuxt.config.ts",
@@ -36,7 +36,7 @@
36
36
  "vue-router": "^5.0.7",
37
37
  "vue3-emoji-picker": "^1.1.8",
38
38
  "zod": "^4.4.3",
39
- "@dev.smartpricing/message-composer-utils": "4.2.11-ux.2"
39
+ "@dev.smartpricing/message-composer-utils": "4.2.11"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@nuxt/eslint": "^1.15.2",