@designcrowd/library.brand-page 6.2.11 → 6.2.12

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.
Files changed (576) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-DDcraD5S.js → CreatedOnBrandCrowd-de-de-BtVKllNQ.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DtOeaisf.js → CreatedOnBrandCrowd-en-us-CX5V0v8u.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BZpmJPew.js → CreatedOnBrandCrowd-es-es-CbA02PCL.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CqRwC4e7.js → CreatedOnBrandCrowd-fr-ca-BQAKruBF.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CqRwC4e7.js → CreatedOnBrandCrowd-fr-fr-BQAKruBF.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-DId9Dfjh.js → CreatedOnBrandCrowd-pt-br-Yk_yzB3s.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-DId9Dfjh.js → CreatedOnBrandCrowd-pt-pt-Yk_yzB3s.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BTDfmOcm.js → CreatedOnDcom-de-de-DJZQbPSD.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-CeAu9Ayx.js → CreatedOnDcom-en-us-BJvNAa4l.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-WCv0K41H.js → CreatedOnDcom-es-es-CUwB1FRY.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-BlfevQDY.js → CreatedOnDcom-fr-ca-CK54U4oh.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-Cvt7MHPZ.js → CreatedOnDcom-fr-fr-DuUNBGrM.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-DipZuylv.js → CreatedOnDcom-pt-br-BfODpFNV.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-BCw4lcKN.js → CreatedOnDcom-pt-pt-Cf6u2GCg.js} +1 -1
  15. package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.d.ts +16 -0
  16. package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.js +35 -0
  17. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +3 -0
  18. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +19 -13
  19. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +3 -1
  20. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +17 -2
  21. package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.d.ts +11 -3
  22. package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.js +35 -1
  23. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +8 -2
  24. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +27 -3
  25. package/lib/src/brand-page/components/page/Page.mixin.d.ts +5 -2
  26. package/lib/src/brand-page/components/page/Page.mixin.js +33 -27
  27. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.d.ts +7 -2
  28. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.js +21 -1
  29. package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +5 -2
  30. package/lib/src/brand-page/components/payment/Payment.mixin.js +22 -2
  31. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +6 -2
  32. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +32 -1
  33. package/lib/src/brand-page/components/social-links/SocialLinks.stories.js +0 -3
  34. package/lib/src/brand-page/components/testimonial-section/__fixtures__/data.js +0 -3
  35. package/lib/src/brand-page/components/text/Text.stories.js +0 -17
  36. package/lib/src/brand-page/constants/font.constants.d.ts +62 -0
  37. package/lib/src/brand-page/constants/font.constants.js +35 -0
  38. package/lib/src/brand-page/models/index.d.ts +23 -24
  39. package/lib/src/brand-page/models/index.js +20 -7
  40. package/lib/src/brand-page/models/navigation-styles.model.d.ts +1 -1
  41. package/lib/src/brand-page/models/navigation-styles.model.js +17 -8
  42. package/lib/src/brand-page/models/payment.model.d.ts +11 -6
  43. package/lib/src/brand-page/models/styles.model.d.ts +53 -7
  44. package/lib/src/brand-page/models/styles.model.js +115 -27
  45. package/lib/src/brand-page/utils/color-palette.util.d.ts +43 -23
  46. package/lib/src/brand-page/utils/color-palette.util.js +65 -27
  47. package/lib/src/brand-page/utils/color.util.d.ts +13 -9
  48. package/lib/src/brand-page/utils/color.util.js +56 -15
  49. package/lib/src/brand-page/utils/container-text-color.util.d.ts +46 -13
  50. package/lib/src/brand-page/utils/container-text-color.util.js +321 -41
  51. package/lib/src/brand-page/utils/index.d.ts +1 -0
  52. package/lib/src/brand-page/utils/index.js +1 -0
  53. package/lib/src/brand-page/utils/migration/migration-20.js +6 -2
  54. package/lib/src/brand-page/utils/migration/migration-21.js +34 -6
  55. package/lib/src/brand-page/utils/migration/migration-22.d.ts +99 -0
  56. package/lib/src/brand-page/utils/migration/migration-22.js +909 -0
  57. package/lib/src/brand-page/utils/migration.util.js +17 -0
  58. package/lib/src/brand-page/utils/model.util.d.ts +4 -0
  59. package/lib/src/brand-page/utils/model.util.js +4 -0
  60. package/lib/src/brand-page/utils/personalisation.util.js +9 -1
  61. package/lib/src/brand-page/utils/rte-role-lift.util.d.ts +72 -0
  62. package/lib/src/brand-page/utils/rte-role-lift.util.js +275 -0
  63. package/lib/src/brand-page/utils/style.util.d.ts +5 -1
  64. package/lib/src/brand-page/utils/style.util.js +34 -11
  65. package/lib/src/brand-page/utils/text-role-css.util.d.ts +19 -0
  66. package/lib/src/brand-page/utils/text-role-css.util.js +186 -0
  67. package/lib/src/brand-page/utils/text-role-reconnect.util.d.ts +90 -0
  68. package/lib/src/brand-page/utils/text-role-reconnect.util.js +434 -0
  69. package/lib/src/brand-page/utils/text-style.util.d.ts +53 -23
  70. package/lib/src/brand-page/utils/text-style.util.js +122 -22
  71. package/lib/src/brand-page/utils/view-model.util.d.ts +9 -1
  72. package/lib/src/brand-page/utils/view-model.util.js +124 -111
  73. package/lib/src/brand-page/view-models.d.ts +1 -0
  74. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +4 -1
  75. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +13 -2
  76. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -4
  77. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +4 -1
  78. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -10
  79. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.js +0 -1
  80. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +23 -138
  81. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -28
  82. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +4 -1
  83. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +1 -1
  84. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +5 -2
  85. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +4 -1
  86. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +4 -1
  87. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +4 -1
  88. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -0
  89. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +1 -0
  90. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +1 -0
  91. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.d.ts +16 -0
  92. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.js +61 -0
  93. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.d.ts +11 -0
  94. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.js +236 -0
  95. package/lib/src/brand-page-maker/composables/rich-text-editor/font.d.ts +2 -1
  96. package/lib/src/brand-page-maker/composables/rich-text-editor/font.js +25 -6
  97. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.d.ts +17 -4
  98. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.js +204 -17
  99. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.d.ts +1 -1
  100. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.js +29 -31
  101. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.d.ts +20 -0
  102. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.js +60 -0
  103. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.d.ts +2 -1
  104. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.js +22 -6
  105. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +10 -4
  106. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +319 -275
  107. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -5
  108. package/lib/src/brand-page-maker/convertors/text-css-style-options.convertor.js +6 -2
  109. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.d.ts +1 -1
  110. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.js +3 -1
  111. package/lib/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.js +7 -14
  112. package/lib/src/brand-page-maker/default-getters/text-color.default-getter.js +6 -13
  113. package/lib/src/brand-page-maker/models/content-settings.d.ts +8 -0
  114. package/lib/src/brand-page-maker/models/content-settings.js +112 -81
  115. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.d.ts +2 -2
  116. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.js +5 -2
  117. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.js +4 -3
  118. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +1257 -117
  119. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +6 -1
  120. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +17 -9
  121. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +59 -5
  122. package/lib/src/brand-page-maker/stores/history/history-store.js +22 -2
  123. package/lib/src/brand-page-maker/utils/apply-color-strategy.js +26 -8
  124. package/lib/src/brand-page-maker/utils/index.d.ts +2 -1
  125. package/lib/src/brand-page-maker/utils/index.js +2 -1
  126. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +117 -15
  127. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +435 -281
  128. package/lib/src/brand-page-maker/utils/rte-authoring.util.d.ts +4 -0
  129. package/lib/src/brand-page-maker/utils/rte-authoring.util.js +101 -0
  130. package/lib/src/brand-page-maker/utils/rte-clipboard.util.d.ts +126 -0
  131. package/lib/src/brand-page-maker/utils/rte-clipboard.util.js +307 -0
  132. package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +13 -3
  133. package/lib/src/{bundled-translations-zfiA5Tsw.js → bundled-translations-yGrvPE5i.js} +17 -17
  134. package/lib/src/{bundled-translations.de-DE-ChsdSyAP.js → bundled-translations.de-DE-L4Znf8Hs.js} +17 -17
  135. package/lib/src/{bundled-translations.es-ES-DflsWQK0.js → bundled-translations.es-ES-D6iticrK.js} +15 -15
  136. package/lib/src/{bundled-translations.fr-CA-fpDRuZ52.js → bundled-translations.fr-CA-BgAVE-9k.js} +25 -25
  137. package/lib/src/{bundled-translations.fr-FR-Bub73Zt-.js → bundled-translations.fr-FR-B8GbyqxQ.js} +17 -17
  138. package/lib/src/{bundled-translations.pt-BR-BlnWE9TB.js → bundled-translations.pt-BR-DjPU3Db7.js} +25 -25
  139. package/lib/src/{bundled-translations.pt-PT-DmzXlnaS.js → bundled-translations.pt-PT-BaepaDpr.js} +23 -23
  140. package/lib/src/bundles/bundled-translations.de-DE.json +21 -2
  141. package/lib/src/bundles/bundled-translations.es-ES.json +21 -2
  142. package/lib/src/bundles/bundled-translations.fr-CA.json +21 -2
  143. package/lib/src/bundles/bundled-translations.fr-FR.json +21 -2
  144. package/lib/src/bundles/bundled-translations.json +21 -2
  145. package/lib/src/bundles/bundled-translations.pt-BR.json +21 -2
  146. package/lib/src/bundles/bundled-translations.pt-PT.json +21 -2
  147. package/lib/src/clients/ai-assistant-client.d.ts +1 -0
  148. package/lib/src/composables/useTranslate.d.ts +1 -1
  149. package/lib/src/composables/useTranslate.js +1 -1
  150. package/lib/src/css/library.brand-page-brandCrowd.min.css +303 -207
  151. package/lib/src/css/library.brand-page-brandPage.min.css +303 -207
  152. package/lib/src/css/library.brand-page-designCom.min.css +303 -207
  153. package/lib/src/css/library.brand-page-preview.min.css +303 -207
  154. package/lib/src/index.d.ts +2 -1
  155. package/lib/src/index.mjs +195 -191
  156. package/lib/src/{lib-1AqtEmvQ.js → lib-kGRlD3_P.js} +36855 -33893
  157. package/lib/src/lib.js +2 -1
  158. package/lib/src/metadata-builder/builders/footer-builder.js +4 -5
  159. package/lib/src/metadata-builder/builders/global-role-propagation.d.ts +58 -0
  160. package/lib/src/metadata-builder/builders/global-role-propagation.js +246 -0
  161. package/lib/src/metadata-builder/builders/global-styles-builder.d.ts +1 -0
  162. package/lib/src/metadata-builder/builders/global-styles-builder.js +116 -45
  163. package/lib/src/metadata-builder/builders/header-builder.js +13 -4
  164. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +3 -3
  165. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +3 -3
  166. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +3 -3
  167. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +4 -4
  168. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +3 -3
  169. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +2 -2
  170. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +2 -2
  171. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +4 -4
  172. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +3 -3
  173. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +8 -2
  174. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +2 -2
  175. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +60 -29
  176. package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
  177. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +48 -19
  178. package/lib/src/metadata-builder/builders/section-field-utils.js +128 -52
  179. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.d.ts +4 -2
  180. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.js +28 -12
  181. package/lib/src/metadata-builder/builders/section-rules/social-links.rules.js +5 -1
  182. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +1 -1
  183. package/lib/src/metadata-builder/helpers/rte.helpers.js +97 -40
  184. package/lib/src/metadata-builder/metadata-executor.js +23 -1
  185. package/lib/src/metadata-builder/models.d.ts +2 -0
  186. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +18 -19
  187. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +18 -1
  188. package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +1 -1
  189. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.d.ts +0 -1
  190. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.js +5 -8
  191. package/lib/src/metadata-builder/sanitizers/section-args-validator.d.ts +7 -16
  192. package/lib/src/metadata-builder/sanitizers/section-args-validator.js +95 -22
  193. package/lib/src/shared/color-palette/section-color-matches.js +9 -25
  194. package/lib/src/shared/color-strategies/color-strategies.d.ts +15 -0
  195. package/lib/src/shared/color-strategies/color-strategies.js +31 -0
  196. package/lib/src/shared/color-strategies/rte-color.d.ts +8 -0
  197. package/lib/src/shared/color-strategies/rte-color.js +16 -0
  198. package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +23 -0
  199. package/lib/src/shared/color-strategies/rte-field-pairs.js +28 -0
  200. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +9 -135
  201. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +1 -27
  202. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +12 -2
  203. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +7 -0
  204. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +75 -6
  205. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +18 -7
  206. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +6 -1
  207. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -7
  208. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +1 -0
  209. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +8 -4
  210. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +1255 -26
  211. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.js +203 -59
  212. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +6 -0
  213. package/lib/src/shared/content-settings/store/content-settings-store.js +105 -8
  214. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +5 -1
  215. package/lib/src/shared/navigation-style-settings/store/index.d.ts +7 -3
  216. package/lib/src/shared/navigation-style-settings/store/index.js +40 -15
  217. package/lib/src/shared/page-settings/components/delete-page-modal/DeletePageModal.mixin.d.ts +1 -1
  218. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +1 -0
  219. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +17 -5
  220. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +70 -13
  221. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +10 -2
  222. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +2 -1
  223. package/lib/src/shared/page-settings/store/page-settings-store.js +17 -0
  224. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +4 -1
  225. package/lib/src/shared/rte-extensions/AutoLink.d.ts +17 -0
  226. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.js +67 -51
  227. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.js +4 -1
  228. package/lib/src/shared/rte-extensions/TextEffects.d.ts +28 -0
  229. package/lib/src/shared/rte-extensions/TextEffects.js +96 -0
  230. package/lib/src/shared/rte-extensions/ViewDomParser.d.ts +2 -0
  231. package/lib/src/shared/rte-extensions/ViewDomParser.js +21 -0
  232. package/lib/src/shared/rte-extensions.util.d.ts +25 -0
  233. package/lib/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.js → shared/rte-extensions.util.js} +62 -7
  234. package/lib/src/shared/rte-link.util.d.ts +1 -0
  235. package/lib/src/shared/rte-link.util.js +1 -0
  236. package/lib/src/shared/rte-render.util.d.ts +112 -0
  237. package/lib/src/shared/rte-render.util.js +255 -0
  238. package/lib/src/shared/rte-shape.util.d.ts +6 -0
  239. package/lib/src/shared/rte-shape.util.js +18 -0
  240. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +2 -1
  241. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
  242. package/lib/src/shared/side-bar/store/side-bar-store.d.ts +2 -0
  243. package/lib/src/shared/side-bar/store/side-bar-store.js +9 -0
  244. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +155 -15
  245. package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +7 -1
  246. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -9
  247. package/lib/src/shared/style-settings/store/style-settings-store.js +3 -33
  248. package/lib/src/shared/style-settings/text-style-size-order.d.ts +2 -0
  249. package/lib/src/shared/style-settings/text-style-size-order.js +13 -0
  250. package/lib/src/shared/text-role-typography.util.d.ts +64 -0
  251. package/lib/src/shared/text-role-typography.util.js +183 -0
  252. package/lib/src/utils/minify-brand-page-metadata.d.ts +16 -1
  253. package/lib/src/utils/minify-brand-page-metadata.js +31 -9
  254. package/package.json +1 -1
  255. package/src/brand-page/__fixtures__/migration-22-v21/edited-brandsite-sections.v21.json +982 -0
  256. package/src/brand-page/__fixtures__/migration-22-v21/new-brandcontact-every-section.v21.json +1231 -0
  257. package/src/brand-page/__fixtures__/migration-22-v21/new-brandpage-every-section.v21.json +1231 -0
  258. package/src/brand-page/__fixtures__/migration-22-v21/new-brandsite-every-section.v21.json +1243 -0
  259. package/src/brand-page/__fixtures__/migration-22-v21/real-brandcontact.v21.json +755 -0
  260. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-general-link.v21.json +527 -0
  261. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-links.v21.json +755 -0
  262. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-social-links.v21.json +514 -0
  263. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-about.v21.json +459 -0
  264. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-footer.v21.json +469 -0
  265. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-header-banner.v21.json +481 -0
  266. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-sections.v21.json +800 -0
  267. package/src/brand-page/__fixtures__/production-text-style-resolver.fixture.ts +52 -0
  268. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +0 -10
  269. package/src/brand-page/components/contact-form/ContactForm.mixin.test.ts +127 -0
  270. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +31 -14
  271. package/src/brand-page/components/contact-form/ContactForm.vue +26 -12
  272. package/src/brand-page/components/contact-form/ContactForm.vue.test.ts +60 -0
  273. package/src/brand-page/components/mailing-list/MailingList.mixin.test.ts +92 -0
  274. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +28 -3
  275. package/src/brand-page/components/mailing-list/MailingList.vue +9 -4
  276. package/src/brand-page/components/mailing-list/MailingList.vue.test.ts +63 -0
  277. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.ts +51 -1
  278. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.test.ts +114 -0
  279. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.vue +8 -2
  280. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.test.ts +182 -0
  281. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +59 -12
  282. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +40 -3
  283. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue +15 -7
  284. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue.test.ts +133 -3
  285. package/src/brand-page/components/page/Page.mixin.ts +41 -34
  286. package/src/brand-page/components/page/Page.vue +17 -6
  287. package/src/brand-page/components/page/Page.vue.test.ts +91 -1
  288. package/src/brand-page/components/page-footer/PageFooter.mixin.ts +32 -2
  289. package/src/brand-page/components/page-footer/PageFooter.test.ts +79 -0
  290. package/src/brand-page/components/page-footer/PageFooter.vue +12 -4
  291. package/src/brand-page/components/payment/Payment.mixin.ts +34 -2
  292. package/src/brand-page/components/payment/Payment.test.ts +188 -0
  293. package/src/brand-page/components/payment/Payment.vue +12 -5
  294. package/src/brand-page/components/payment/RequestPaymentStripe.vue +1 -0
  295. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +49 -2
  296. package/src/brand-page/components/payment/support-me/SupportMe.test.ts +100 -0
  297. package/src/brand-page/components/payment/support-me/SupportMe.vue +7 -1
  298. package/src/brand-page/components/payment/support-me/SupportMe.vue.test.ts +66 -0
  299. package/src/brand-page/components/save-contact/SaveContactWidget.test.ts +100 -0
  300. package/src/brand-page/components/save-contact/SaveContactWidget.vue +6 -3
  301. package/src/brand-page/components/shop/PaymentModal.vue +2 -6
  302. package/src/brand-page/components/shop/PaymentShippingAddress.vue +6 -0
  303. package/src/brand-page/components/shop/Shop.vue +15 -2
  304. package/src/brand-page/components/shop/Shop.vue.test.ts +74 -2
  305. package/src/brand-page/components/social-links/SocialLinks.stories.ts +0 -3
  306. package/src/brand-page/components/social-links/SocialLinks.vue.test.ts +0 -3
  307. package/src/brand-page/components/testimonial-section/__fixtures__/data.ts +0 -3
  308. package/src/brand-page/components/text/Text.stories.ts +0 -17
  309. package/src/brand-page/components/text-wrapper/TextWrapper.parity.test.ts +136 -0
  310. package/src/brand-page/components/text-wrapper/TextWrapper.test.ts +358 -0
  311. package/src/brand-page/components/text-wrapper/TextWrapper.vue +82 -22
  312. package/src/brand-page/constants/font.constants.ts +37 -0
  313. package/src/brand-page/models/footer-icon-color.test.ts +22 -0
  314. package/src/brand-page/models/index.ts +50 -28
  315. package/src/brand-page/models/navigation-styles.model.test.ts +77 -1
  316. package/src/brand-page/models/navigation-styles.model.ts +26 -9
  317. package/src/brand-page/models/payment.model.ts +15 -6
  318. package/src/brand-page/models/styles.model.test.ts +104 -0
  319. package/src/brand-page/models/styles.model.ts +181 -47
  320. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +619 -115
  321. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +150 -9
  322. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +300 -18
  323. package/src/brand-page/utils/color-palette.util.test.ts +126 -1
  324. package/src/brand-page/utils/color-palette.util.ts +92 -26
  325. package/src/brand-page/utils/color.util.test.ts +62 -29
  326. package/src/brand-page/utils/color.util.ts +77 -14
  327. package/src/brand-page/utils/container-text-color.util.test.ts +672 -26
  328. package/src/brand-page/utils/container-text-color.util.ts +472 -46
  329. package/src/brand-page/utils/index.ts +1 -0
  330. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/edited-brandsite-sections.v22.json +1191 -0
  331. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandcontact-every-section.v22.json +2026 -0
  332. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandpage-every-section.v22.json +2017 -0
  333. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandsite-every-section.v22.json +2031 -0
  334. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandcontact.v22.json +1145 -0
  335. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-general-link.v22.json +645 -0
  336. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-links.v22.json +1136 -0
  337. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-social-links.v22.json +662 -0
  338. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-about.v22.json +638 -0
  339. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-footer.v22.json +610 -0
  340. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-header-banner.v22.json +660 -0
  341. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-sections.v22.json +1132 -0
  342. package/src/brand-page/utils/migration/migration-01.ts +293 -237
  343. package/src/brand-page/utils/migration/migration-02.ts +8 -1
  344. package/src/brand-page/utils/migration/migration-20.ts +6 -3
  345. package/src/brand-page/utils/migration/migration-20_5.test.ts +5 -2
  346. package/src/brand-page/utils/migration/migration-21.test.ts +34 -0
  347. package/src/brand-page/utils/migration/migration-21.ts +46 -10
  348. package/src/brand-page/utils/migration/migration-22.fixed-input.test.ts +43 -0
  349. package/src/brand-page/utils/migration/migration-22.test.ts +4103 -0
  350. package/src/brand-page/utils/migration/migration-22.text-font-family.test.ts +72 -0
  351. package/src/brand-page/utils/migration/migration-22.ts +1336 -0
  352. package/src/brand-page/utils/migration.util.test.ts +146 -32
  353. package/src/brand-page/utils/migration.util.ts +18 -0
  354. package/src/brand-page/utils/model.util.ts +4 -0
  355. package/src/brand-page/utils/personalisation.util.test.ts +148 -3
  356. package/src/brand-page/utils/personalisation.util.ts +9 -1
  357. package/src/brand-page/utils/rte-role-lift.util.ts +409 -0
  358. package/src/brand-page/utils/style.util.test.ts +35 -2
  359. package/src/brand-page/utils/style.util.ts +45 -11
  360. package/src/brand-page/utils/text-role-css.util.test.ts +525 -0
  361. package/src/brand-page/utils/text-role-css.util.ts +321 -0
  362. package/src/brand-page/utils/text-role-reconnect.util.test.ts +604 -0
  363. package/src/brand-page/utils/text-role-reconnect.util.ts +727 -0
  364. package/src/brand-page/utils/text-style.util.test.ts +305 -0
  365. package/src/brand-page/utils/text-style.util.ts +198 -24
  366. package/src/brand-page/utils/view-model.page-data.test.ts +232 -0
  367. package/src/brand-page/utils/view-model.util.test.ts +954 -133
  368. package/src/brand-page/utils/view-model.util.ts +187 -139
  369. package/src/brand-page/view-models.ts +4 -0
  370. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.blank-site.test.ts +57 -0
  371. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -5
  372. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -10
  373. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.ts +0 -1
  374. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -44
  375. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +253 -200
  376. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -0
  377. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +1 -0
  378. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +2 -0
  379. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -0
  380. package/src/brand-page-maker/composables/rich-text-editor/block-typography.test.ts +519 -0
  381. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +1 -1
  382. package/src/brand-page-maker/composables/rich-text-editor/extensions/MaxLength.test.ts +26 -1
  383. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.test.ts +110 -0
  384. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.ts +99 -0
  385. package/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.ts +397 -0
  386. package/src/brand-page-maker/composables/rich-text-editor/extensions/ViewDomParser.test.ts +139 -0
  387. package/src/brand-page-maker/composables/rich-text-editor/font.ts +36 -5
  388. package/src/brand-page-maker/composables/rich-text-editor/formatting.test.ts +375 -1
  389. package/src/brand-page-maker/composables/rich-text-editor/formatting.ts +301 -17
  390. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.test.ts +82 -1
  391. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.ts +28 -34
  392. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.test.ts +80 -0
  393. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.ts +75 -0
  394. package/src/brand-page-maker/composables/rich-text-editor/spacing.ts +31 -6
  395. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.test.ts +2485 -0
  396. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +435 -337
  397. package/src/brand-page-maker/constants/config-settings-constant.ts +0 -6
  398. package/src/brand-page-maker/convertors/text-css-style-options.convertor.test.ts +43 -0
  399. package/src/brand-page-maker/convertors/text-css-style-options.convertor.ts +6 -2
  400. package/src/brand-page-maker/convertors/text-size-value.convertor.test.ts +24 -0
  401. package/src/brand-page-maker/convertors/text-size-value.convertor.ts +17 -13
  402. package/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.ts +7 -22
  403. package/src/brand-page-maker/default-getters/text-color.default-getter.ts +5 -21
  404. package/src/brand-page-maker/models/content-settings.test.ts +708 -0
  405. package/src/brand-page-maker/models/content-settings.ts +133 -82
  406. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.test.ts +63 -1
  407. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.ts +16 -3
  408. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.test.ts +34 -0
  409. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +4 -2
  410. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +185 -1
  411. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +22 -34
  412. package/src/brand-page-maker/stores/history/history-store.ts +35 -2
  413. package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +528 -0
  414. package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +12 -0
  415. package/src/brand-page-maker/utils/apply-color-strategy.golden.test.ts +2 -0
  416. package/src/brand-page-maker/utils/apply-color-strategy.test.ts +181 -3
  417. package/src/brand-page-maker/utils/apply-color-strategy.ts +36 -4
  418. package/src/brand-page-maker/utils/index.ts +2 -1
  419. package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +447 -410
  420. package/src/brand-page-maker/utils/rich-text-editor.util.ts +610 -506
  421. package/src/brand-page-maker/utils/rte-authoring.util.test.ts +244 -0
  422. package/src/brand-page-maker/utils/rte-authoring.util.ts +175 -0
  423. package/src/brand-page-maker/utils/rte-clipboard.util.test.ts +558 -0
  424. package/src/brand-page-maker/utils/rte-clipboard.util.ts +473 -0
  425. package/src/brand-page-maker/utils/rte-features.test.ts +99 -3
  426. package/src/brand-page-maker/utils/rte-render-parity.test.ts +1 -1
  427. package/src/brand-page-maker/utils/rte-render.util.test.ts +230 -0
  428. package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +1 -1
  429. package/src/brand-page-maker/utils/rte-sanitize.util.ts +14 -3
  430. package/src/brand-page-maker/utils/rte-schema-version.test.ts +102 -0
  431. package/src/bundles/bundled-translations.de-DE.json +21 -2
  432. package/src/bundles/bundled-translations.es-ES.json +21 -2
  433. package/src/bundles/bundled-translations.fr-CA.json +21 -2
  434. package/src/bundles/bundled-translations.fr-FR.json +21 -2
  435. package/src/bundles/bundled-translations.json +21 -2
  436. package/src/bundles/bundled-translations.pt-BR.json +21 -2
  437. package/src/bundles/bundled-translations.pt-PT.json +21 -2
  438. package/src/clients/ai-assistant-client.ts +1 -0
  439. package/src/composables/useTranslate.ts +2 -1
  440. package/src/lib.ts +2 -2
  441. package/src/metadata-builder/builders/footer-builder.test.ts +70 -45
  442. package/src/metadata-builder/builders/footer-builder.ts +4 -8
  443. package/src/metadata-builder/builders/global-role-propagation.test.ts +907 -0
  444. package/src/metadata-builder/builders/global-role-propagation.ts +430 -0
  445. package/src/metadata-builder/builders/global-styles-builder.test.ts +1020 -0
  446. package/src/metadata-builder/builders/global-styles-builder.ts +194 -48
  447. package/src/metadata-builder/builders/header-builder.test.ts +112 -40
  448. package/src/metadata-builder/builders/header-builder.ts +18 -8
  449. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +5 -3
  450. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +5 -3
  451. package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +5 -3
  452. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +7 -4
  453. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +5 -3
  454. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +3 -2
  455. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +3 -2
  456. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +7 -7
  457. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +5 -3
  458. package/src/metadata-builder/builders/section-builders/social-links-builder.test.ts +2 -2
  459. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +21 -10
  460. package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +10 -0
  461. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +3 -2
  462. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +111 -61
  463. package/src/metadata-builder/builders/section-field-maps.ts +1 -0
  464. package/src/metadata-builder/builders/section-field-utils.test.ts +545 -2
  465. package/src/metadata-builder/builders/section-field-utils.ts +202 -69
  466. package/src/metadata-builder/builders/section-rules/global-styles.rules.ts +38 -13
  467. package/src/metadata-builder/builders/section-rules/social-links.rules.ts +5 -0
  468. package/src/metadata-builder/helpers/rte.helpers.test.ts +101 -0
  469. package/src/metadata-builder/helpers/rte.helpers.ts +129 -43
  470. package/src/metadata-builder/metadata-executor.test.ts +167 -0
  471. package/src/metadata-builder/metadata-executor.ts +34 -1
  472. package/src/metadata-builder/models.ts +2 -0
  473. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +23 -7
  474. package/src/metadata-builder/parsers/section-tool-arguments.ts +21 -1
  475. package/src/metadata-builder/sanitizers/__tests__/section-args-validator.test.ts +215 -0
  476. package/src/metadata-builder/sanitizers/rte-schema-check.ts +1 -1
  477. package/src/metadata-builder/sanitizers/sanitizer-rules.ts +4 -8
  478. package/src/metadata-builder/sanitizers/section-args-validator.ts +136 -53
  479. package/src/shared/color-palette/section-color-matches.test.ts +15 -11
  480. package/src/shared/color-palette/section-color-matches.ts +9 -28
  481. package/src/shared/color-strategies/color-strategies.ts +35 -0
  482. package/src/shared/color-strategies/rte-color.test.ts +1 -1
  483. package/src/shared/color-strategies/rte-color.ts +19 -0
  484. package/src/shared/color-strategies/rte-field-pairs.test.ts +26 -5
  485. package/src/shared/color-strategies/rte-field-pairs.ts +33 -0
  486. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.test.ts +43 -66
  487. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.vue +7 -1
  488. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -48
  489. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +33 -7
  490. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.test.ts +128 -1
  491. package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.vue +1 -0
  492. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -6
  493. package/src/shared/content-settings/components/logo-selection-field/LogoSelection.vue +3 -0
  494. package/src/shared/content-settings/components/logo-size-field/LogoSizeSlider.vue +3 -0
  495. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -0
  496. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +1 -0
  497. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.test.ts +56 -3
  498. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +11 -4
  499. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.test.ts +335 -25
  500. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.ts +248 -70
  501. package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +113 -25
  502. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.de-DE.json +17 -10
  503. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.es-ES.json +17 -10
  504. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-CA.json +17 -10
  505. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-FR.json +17 -10
  506. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.json +8 -1
  507. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-BR.json +17 -10
  508. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-PT.json +17 -10
  509. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.test.ts +141 -0
  510. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.vue +136 -0
  511. package/src/shared/content-settings/store/content-settings-store.test.ts +491 -6
  512. package/src/shared/content-settings/store/content-settings-store.ts +159 -17
  513. package/src/shared/logo-settings/components/EditLogoSettings.vue +1 -0
  514. package/src/shared/logo-settings/components/LogoVariations.vue +1 -0
  515. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -0
  516. package/src/shared/navigation-style-settings/store/index.test.ts +295 -0
  517. package/src/shared/navigation-style-settings/store/index.ts +65 -15
  518. package/src/shared/page-settings/components/header-settings-panel/HeaderSettingsPanel.vue +2 -0
  519. package/src/shared/page-settings/components/page-settings/PageElement.vue +1 -0
  520. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.test.ts +44 -4
  521. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.vue +13 -4
  522. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.navigation.test.ts +89 -0
  523. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.text-style.test.ts +91 -0
  524. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +14 -2
  525. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.vue +2 -0
  526. package/src/shared/page-settings/store/page-settings-store.text-style.test.ts +84 -0
  527. package/src/shared/page-settings/store/page-settings-store.ts +30 -1
  528. package/src/shared/rte-extensions/AutoLink.test.ts +98 -0
  529. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.ts +87 -58
  530. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.ts +4 -1
  531. package/src/shared/rte-extensions/TextEffects.ts +151 -0
  532. package/src/shared/rte-extensions/ViewDomParser.ts +27 -0
  533. package/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.ts → shared/rte-extensions.util.ts} +66 -9
  534. package/src/shared/rte-link.util.ts +2 -0
  535. package/src/shared/rte-render.util.ts +385 -0
  536. package/src/shared/rte-shape.util.ts +29 -0
  537. package/src/shared/side-bar/store/side-bar-store.test.ts +27 -1
  538. package/src/shared/side-bar/store/side-bar-store.ts +11 -0
  539. package/src/shared/style-settings/components/StyleSettings.mixin.ts +7 -3
  540. package/src/shared/style-settings/components/StyleSettings.test.ts +116 -0
  541. package/src/shared/style-settings/components/StyleSettings.vue +75 -25
  542. package/src/shared/style-settings/components/i18n/style-settings.de-DE.json +32 -20
  543. package/src/shared/style-settings/components/i18n/style-settings.es-ES.json +32 -20
  544. package/src/shared/style-settings/components/i18n/style-settings.fr-CA.json +32 -20
  545. package/src/shared/style-settings/components/i18n/style-settings.fr-FR.json +32 -20
  546. package/src/shared/style-settings/components/i18n/style-settings.json +13 -3
  547. package/src/shared/style-settings/components/i18n/style-settings.pt-BR.json +32 -20
  548. package/src/shared/style-settings/components/i18n/style-settings.pt-PT.json +32 -20
  549. package/src/shared/style-settings/components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue +14 -34
  550. package/src/shared/style-settings/store/style-settings-store.ts +3 -49
  551. package/src/shared/style-settings/text-style-size-order.test.ts +76 -0
  552. package/src/shared/style-settings/text-style-size-order.ts +28 -0
  553. package/src/shared/template-settings/components/TemplatesSettings.vue +4 -0
  554. package/src/shared/text-role-typography.util.ts +277 -0
  555. package/src/utils/minify-brand-page-metadata.test.ts +102 -7
  556. package/src/utils/minify-brand-page-metadata.ts +62 -8
  557. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/AutoLink.d.ts +0 -2
  558. package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +0 -28
  559. package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +0 -63
  560. package/lib/src/brand-page-maker/utils/rte-render.util.js +0 -106
  561. package/lib/src/brand-page-maker/utils/rte-shape.d.ts +0 -18
  562. package/lib/src/brand-page-maker/utils/rte-shape.js +0 -21
  563. package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +0 -41
  564. package/lib/src/metadata-builder/builders/global-font-propagation.js +0 -146
  565. package/src/brand-page-maker/utils/rte-render.util.ts +0 -179
  566. package/src/brand-page-maker/utils/rte-shape.ts +0 -29
  567. package/src/metadata-builder/builders/global-font-propagation.test.ts +0 -401
  568. package/src/metadata-builder/builders/global-font-propagation.ts +0 -238
  569. package/src/shared/style-settings/components/StyleSettingsSection.vue +0 -8
  570. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.d.ts +0 -0
  571. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.js +0 -0
  572. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.d.ts +0 -0
  573. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.js +0 -0
  574. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.d.ts +0 -0
  575. /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.ts +0 -0
  576. /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.ts +0 -0
@@ -1,6 +1,14 @@
1
1
  <template>
2
2
  <div data-component="style-settings">
3
- <SideBarSettingsHeader :title="styleSettingsTr(`styleTitle`)" />
3
+ <SideBarSettingsHeader :title="styleSettingsTr(`styleTitle`)">
4
+ <template #sub-content>
5
+ <p class="tw-mt-2 tw-text-grayscale-600 tw-text-sm">
6
+ {{ styleSettingsTr('styleDescription') }}
7
+ </p>
8
+ </template>
9
+ </SideBarSettingsHeader>
10
+
11
+ <!-- Color palette -->
4
12
  <CollapsiblePanel
5
13
  data-component="collapsible-panel"
6
14
  :title="styleSettingsTr('colorPaletteTitle')"
@@ -8,12 +16,31 @@
8
16
  >
9
17
  <ColorPaletteSettingsWithState />
10
18
  </CollapsiblePanel>
11
- <!-- Start button style options -->
12
- <StyleSettingsSection>
19
+
20
+ <!-- Text style -->
21
+ <CollapsiblePanel
22
+ ref="textStylesPanel"
23
+ class="c-text-style-panel"
24
+ data-component="collapsible-panel"
25
+ :title="styleSettingsTr('textStyleTitle')"
26
+ :subtitle="textStyleSizeOrderWarning"
27
+ :is-collapsed="false"
28
+ >
29
+ <p class="tw-mb-2 tw-text-grayscale-600 tw-text-sm">
30
+ {{ styleSettingsTr('customizeInfo') }}
31
+ </p>
32
+ <TextStyleOptionsSettingsWithState />
33
+ </CollapsiblePanel>
34
+
35
+ <!-- Button styles -->
36
+ <CollapsiblePanel
37
+ data-component="collapsible-panel"
38
+ :title="styleSettingsTr('buttonStyleTitle')"
39
+ :is-collapsed="true"
40
+ >
13
41
  <div class="tw-w-full">
14
42
  <!-- Start button styles -->
15
43
  <div class="tw-mb-6">
16
- <SideBarSectionTitle :title="styleSettingsTr(`buttonStyleTitle`)" />
17
44
  <div
18
45
  class="tw-grid tw-gap-3"
19
46
  :class="{
@@ -62,6 +89,7 @@
62
89
  <div
63
90
  v-for="(option, optionIndex) in filteredButtonStyleOptions"
64
91
  :key="optionIndex"
92
+ :data-test-button-style-option="option"
65
93
  class="tw-mb-4"
66
94
  >
67
95
  <ColorField
@@ -78,23 +106,7 @@
78
106
  </div>
79
107
  <!-- End Button options -->
80
108
  </div>
81
- </StyleSettingsSection>
82
- <!-- End button style options -->
83
-
84
- <!-- Start text style selection -->
85
- <StyleSettingsSection>
86
- <div class="tw-w-full">
87
- <SideBarSectionTitle
88
- :title="styleSettingsTr(`textStyleTitle`)"
89
- title-text-size="base"
90
- />
91
- <p class="tw-mb-2 tw-text-grayscale-600 tw-text-sm">
92
- {{ styleSettingsTr('customizeInfo') }}
93
- </p>
94
- <TextStyleOptionsSettingsWithState />
95
- </div>
96
- </StyleSettingsSection>
97
- <!-- End text style selection -->
109
+ </CollapsiblePanel>
98
110
 
99
111
  <!-- Start Hide BrandPage logo -->
100
112
  <div
@@ -125,10 +137,13 @@
125
137
  </div>
126
138
  </template>
127
139
  <script>
140
+ import { nextTick, onMounted, ref, watch } from 'vue';
128
141
  import { Toggle, Icon, CollapsiblePanel } from '@designcrowd/fe-shared-lib';
142
+ import {
143
+ TEXT_STYLES_SETTINGS_SECTION,
144
+ useUiSideBarStore,
145
+ } from '@shared/side-bar/store';
129
146
  import StyleSettingsMixin from './StyleSettings.mixin.ts';
130
- import SideBarSectionTitle from '../../common/SideBarSectionTitle.vue';
131
- import StyleSettingsSection from './StyleSettingsSection.vue';
132
147
  import SideBarSettingsHeader from '../../common/SideBarSettingsHeader.vue';
133
148
  import ColorField from '../../content-settings/components/color-field/ColorField.vue';
134
149
  import TextStyleOptionsSettingsWithState from '../components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue';
@@ -138,8 +153,6 @@ import { styleSettingsTr } from '@src/composables/useTranslate';
138
153
  export default {
139
154
  components: {
140
155
  SideBarSettingsHeader,
141
- SideBarSectionTitle,
142
- StyleSettingsSection,
143
156
  Toggle,
144
157
  TextStyleOptionsSettingsWithState,
145
158
  ColorField,
@@ -149,9 +162,40 @@ export default {
149
162
  },
150
163
  mixins: [StyleSettingsMixin],
151
164
  setup() {
165
+ const sideBarStore = useUiSideBarStore();
166
+ const textStylesPanel = ref(null);
167
+
168
+ // "Edit Text Styles" in a role dropdown lands here: open the panel, bring it into view,
169
+ // then clear the request so it doesn't fire again (as BrandPageSettings does for Save Contact).
170
+ const openRequestedSection = () => {
171
+ if (
172
+ sideBarStore.selectedSettingsSection !== TEXT_STYLES_SETTINGS_SECTION
173
+ ) {
174
+ return;
175
+ }
176
+
177
+ sideBarStore.setSelectedSettingsSection({ sectionName: undefined });
178
+
179
+ nextTick(() => {
180
+ const panel = textStylesPanel.value;
181
+
182
+ if (!panel) return;
183
+
184
+ if (panel.selfIsCollapsed) panel.toggleCollapsed();
185
+
186
+ panel.$el?.scrollIntoView({ behavior: 'smooth', block: 'start' });
187
+ });
188
+ };
189
+
190
+ onMounted(() => {
191
+ watch(() => sideBarStore.selectedSettingsSection, openRequestedSection);
192
+ openRequestedSection();
193
+ });
194
+
152
195
  return {
153
196
  ...StyleSettingsMixin.setup(),
154
197
  styleSettingsTr,
198
+ textStylesPanel,
155
199
  };
156
200
  },
157
201
  };
@@ -174,6 +218,12 @@ export default {
174
218
  @apply tw-bg-white;
175
219
  }
176
220
 
221
+ /* CollapsiblePanel's subtitle takes text only, so the size order warning (this panel's only
222
+ subtitle) is boxed from here. StyleSettings.test.ts fails if a library bump moves it. */
223
+ .c-text-style-panel .tw-grow > div + div {
224
+ @apply tw-mt-2 tw-mb-0 tw-p-2 tw-text-xs tw-rounded tw-border tw-border-solid tw-border-warning-500 tw-bg-warning-100 tw-text-warning-800;
225
+ }
226
+
177
227
  .c-select {
178
228
  @apply tw-bg-no-repeat;
179
229
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.46967 9.46967C6.76256 9.17678 7.23744 9.17678 7.53033 9.46967L12 13.9393L16.4697 9.46967C16.7626 9.17678 17.2374 9.17678 17.5303 9.46967C17.8232 9.76256 17.8232 10.2374 17.5303 10.5303L12.5303 15.5303C12.3897 15.671 12.1989 15.75 12 15.75C11.8011 15.75 11.6103 15.671 11.4697 15.5303L6.46967 10.5303C6.17678 10.2374 6.17678 9.76256 6.46967 9.46967Z' fill='%23595959'/%3E%3C/svg%3E%0A");
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Titel",
4
- "headings" : "Überschriften",
5
- "paragraphs" : "Absätze",
6
- "buttons" : "Schaltflächen",
7
- "premium" : "Premium",
8
- "buttonBorderColor" : "Farbe des Schaltflächenrahmens",
9
- "buttonFillColor" : "Farbe der Schaltflächenfüllung",
10
- "buttonShadowColor" : "Farbe des Schaltflächenschattens",
11
- "buttonSoftShadowColor" : "Farbe des Schaltflächenschattens",
12
- "buttonIconColor" : "Symbolfarbe",
13
- "customizeInfo" : "Passen Sie die Darstellung von Text auf Ihrer Website an.",
14
- "colorPaletteTitle" : "Farbpalette",
15
- "colorPaletteDescription" : "Passen Sie die Farben auf Ihrer Website an.",
16
- "brandColorsTitle" : "Markenfarben",
17
- "hideDesignLogo" : "Design.com-Logo ausblenden",
18
- "hideBrandCrowdLogo" : "BrandCrowd Logo ausblenden",
19
- "styleTitle" : "Stil",
20
- "buttonStyleTitle" : "Schaltflächenstil",
21
- "textStyleTitle" : "Textstil"
2
+ "styleSettingsSection": {
3
+ "titles": "Titel",
4
+ "headings": "Überschriften",
5
+ "paragraphs": "Absätze",
6
+ "buttons": "Schaltflächen",
7
+ "heading1": "Überschrift 1",
8
+ "heading2": "Überschrift 2",
9
+ "heading3": "Überschrift 3",
10
+ "heading4": "Überschrift 4",
11
+ "heading5": "Überschrift 5",
12
+ "heading6": "Überschrift 6",
13
+ "paragraph1": "Absatz 1",
14
+ "paragraph2": "Absatz 2",
15
+ "paragraph3": "Absatz 3",
16
+ "button": "Schaltflächentext",
17
+ "premium": "Premium",
18
+ "buttonBorderColor": "Farbe des Schaltflächenrahmens",
19
+ "buttonFillColor": "Farbe der Schaltflächenfüllung",
20
+ "buttonShadowColor": "Farbe des Schaltflächenschattens",
21
+ "buttonSoftShadowColor": "Farbe des Schaltflächenschattens",
22
+ "buttonIconColor": "Symbolfarbe",
23
+ "customizeInfo": "Passen Sie die Darstellung von Text auf Ihrer Website an.",
24
+ "colorPaletteTitle": "Farbpalette",
25
+ "colorPaletteDescription": "Passen Sie die Farben auf Ihrer Website an.",
26
+ "brandColorsTitle": "Markenfarben",
27
+ "hideDesignLogo": "Design.com-Logo ausblenden",
28
+ "hideBrandCrowdLogo": "BrandCrowd Logo ausblenden",
29
+ "styleTitle": "Stil",
30
+ "buttonStyleTitle": "Schaltflächenstil",
31
+ "styleDescription": "Passen Sie Farben, Textstile und andere Designeinstellungen auf Ihrer Website an.",
32
+ "textStyleTitle": "Textstil",
33
+ "sizeOrderWarning": "Einige Textgrößen sind nicht in der richtigen Reihenfolge. Überschriften und Absätze sollten nicht größer sein als der Textstil darüber."
22
34
  }
23
35
  }
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Títulos",
4
- "headings" : "Encabezados",
5
- "paragraphs" : "Párrafos",
6
- "buttons" : "Botones",
7
- "premium" : "Prémium",
8
- "buttonBorderColor" : "Color del borde del botón",
9
- "buttonFillColor" : "Color de relleno del botón",
10
- "buttonShadowColor" : "Color de sombra del botón",
11
- "buttonSoftShadowColor" : "Color de sombra del botón",
12
- "buttonIconColor" : "Color del icono",
13
- "customizeInfo" : "Personaliza la apariencia del texto por todo tu sitio web",
14
- "colorPaletteTitle" : "Paleta de colores",
15
- "colorPaletteDescription" : "Personaliza los colores por todo tu sitio web",
16
- "brandColorsTitle" : "Colores de marca",
17
- "hideDesignLogo" : "Oculta el logo de Design.com",
18
- "hideBrandCrowdLogo" : "Ocultar el logo de BrandCrowd",
19
- "styleTitle" : "Estilo",
20
- "buttonStyleTitle" : "Estilo de botón",
21
- "textStyleTitle" : "Estilo de texto"
2
+ "styleSettingsSection": {
3
+ "titles": "Títulos",
4
+ "headings": "Encabezados",
5
+ "paragraphs": "Párrafos",
6
+ "buttons": "Botones",
7
+ "heading1": "Encabezado 1",
8
+ "heading2": "Encabezado 2",
9
+ "heading3": "Encabezado 3",
10
+ "heading4": "Encabezado 4",
11
+ "heading5": "Encabezado 5",
12
+ "heading6": "Encabezado 6",
13
+ "paragraph1": "Párrafo 1",
14
+ "paragraph2": "Párrafo 2",
15
+ "paragraph3": "Párrafo 3",
16
+ "button": "Texto del botón",
17
+ "premium": "Prémium",
18
+ "buttonBorderColor": "Color del borde del botón",
19
+ "buttonFillColor": "Color de relleno del botón",
20
+ "buttonShadowColor": "Color de sombra del botón",
21
+ "buttonSoftShadowColor": "Color de sombra del botón",
22
+ "buttonIconColor": "Color del icono",
23
+ "customizeInfo": "Personaliza la apariencia del texto por todo tu sitio web",
24
+ "colorPaletteTitle": "Paleta de colores",
25
+ "colorPaletteDescription": "Personaliza los colores por todo tu sitio web",
26
+ "brandColorsTitle": "Colores de marca",
27
+ "hideDesignLogo": "Oculta el logo de Design.com",
28
+ "hideBrandCrowdLogo": "Ocultar el logo de BrandCrowd",
29
+ "styleTitle": "Estilo",
30
+ "buttonStyleTitle": "Estilo de botón",
31
+ "styleDescription": "Personaliza los colores, los estilos de texto y otros ajustes de diseño por todo tu sitio web",
32
+ "textStyleTitle": "Estilo de texto",
33
+ "sizeOrderWarning": "Algunos tamaños de texto no están en el orden correcto. Un encabezado o párrafo no debería ser más grande que el que tiene encima."
22
34
  }
23
35
  }
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Titres",
4
- "headings" : "En-têtes",
5
- "paragraphs" : "Paragraphes",
6
- "buttons" : "Boutons",
7
- "premium" : "Premium",
8
- "buttonBorderColor" : "Couleur de bordure du bouton",
9
- "buttonFillColor" : "Couleur de remplissage du bouton",
10
- "buttonShadowColor" : "Couleur de l'ombre du bouton",
11
- "buttonSoftShadowColor" : "Couleur de l'ombre du bouton",
12
- "buttonIconColor" : "Couleur de l'icône",
13
- "customizeInfo" : "Personnalisez l'apparence du texte sur votre site",
14
- "colorPaletteTitle" : "Palette de couleurs",
15
- "colorPaletteDescription" : "Personnalisez les couleurs utilisées sur votre site",
16
- "brandColorsTitle" : "Couleurs de la marque",
17
- "hideDesignLogo" : "Masquer le logo Design.com",
18
- "hideBrandCrowdLogo" : "Cacher le logo BrandCrowd",
19
- "styleTitle" : "Style",
20
- "buttonStyleTitle" : "Style de bouton",
21
- "textStyleTitle" : "Style de texte"
2
+ "styleSettingsSection": {
3
+ "titles": "Titres",
4
+ "headings": "En-têtes",
5
+ "paragraphs": "Paragraphes",
6
+ "buttons": "Boutons",
7
+ "heading1": "En-tête 1",
8
+ "heading2": "En-tête 2",
9
+ "heading3": "En-tête 3",
10
+ "heading4": "En-tête 4",
11
+ "heading5": "En-tête 5",
12
+ "heading6": "En-tête 6",
13
+ "paragraph1": "Paragraphe 1",
14
+ "paragraph2": "Paragraphe 2",
15
+ "paragraph3": "Paragraphe 3",
16
+ "button": "Texte du bouton",
17
+ "premium": "Premium",
18
+ "buttonBorderColor": "Couleur de bordure du bouton",
19
+ "buttonFillColor": "Couleur de remplissage du bouton",
20
+ "buttonShadowColor": "Couleur de l'ombre du bouton",
21
+ "buttonSoftShadowColor": "Couleur de l'ombre du bouton",
22
+ "buttonIconColor": "Couleur de l'icône",
23
+ "customizeInfo": "Personnalisez l'apparence du texte sur votre site",
24
+ "colorPaletteTitle": "Palette de couleurs",
25
+ "colorPaletteDescription": "Personnalisez les couleurs utilisées sur votre site",
26
+ "brandColorsTitle": "Couleurs de la marque",
27
+ "hideDesignLogo": "Masquer le logo Design.com",
28
+ "hideBrandCrowdLogo": "Cacher le logo BrandCrowd",
29
+ "styleTitle": "Style",
30
+ "buttonStyleTitle": "Style de bouton",
31
+ "styleDescription": "Personnalisez les couleurs, les styles de texte et d'autres paramètres de conception sur votre site",
32
+ "textStyleTitle": "Style de texte",
33
+ "sizeOrderWarning": "Certaines tailles de texte ne sont pas dans le bon ordre. Un en-tête ou un paragraphe ne doit pas être plus grand que celui qui le précède."
22
34
  }
23
35
  }
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Titres",
4
- "headings" : "En-têtes",
5
- "paragraphs" : "Paragraphes",
6
- "buttons" : "Boutons",
7
- "premium" : "Premium",
8
- "buttonBorderColor" : "Couleur de bordure du bouton",
9
- "buttonFillColor" : "Couleur de remplissage du bouton",
10
- "buttonShadowColor" : "Couleur de l'ombre du bouton",
11
- "buttonSoftShadowColor" : "Couleur de l'ombre du bouton",
12
- "buttonIconColor" : "Couleur de l'icône",
13
- "customizeInfo" : "Personnalisez l'apparence du texte sur votre site",
14
- "colorPaletteTitle" : "Palette de couleurs",
15
- "colorPaletteDescription" : "Personnalisez les couleurs utilisées sur votre site",
16
- "brandColorsTitle" : "Couleurs de la marque",
17
- "hideDesignLogo" : "Masquer le logo Design.com",
18
- "hideBrandCrowdLogo" : "Cacher le logo BrandCrowd",
19
- "styleTitle" : "Style",
20
- "buttonStyleTitle" : "Style de bouton",
21
- "textStyleTitle" : "Style de texte"
2
+ "styleSettingsSection": {
3
+ "titles": "Titres",
4
+ "headings": "En-têtes",
5
+ "paragraphs": "Paragraphes",
6
+ "buttons": "Boutons",
7
+ "heading1": "En-tête 1",
8
+ "heading2": "En-tête 2",
9
+ "heading3": "En-tête 3",
10
+ "heading4": "En-tête 4",
11
+ "heading5": "En-tête 5",
12
+ "heading6": "En-tête 6",
13
+ "paragraph1": "Paragraphe 1",
14
+ "paragraph2": "Paragraphe 2",
15
+ "paragraph3": "Paragraphe 3",
16
+ "button": "Texte du bouton",
17
+ "premium": "Premium",
18
+ "buttonBorderColor": "Couleur de bordure du bouton",
19
+ "buttonFillColor": "Couleur de remplissage du bouton",
20
+ "buttonShadowColor": "Couleur de l'ombre du bouton",
21
+ "buttonSoftShadowColor": "Couleur de l'ombre du bouton",
22
+ "buttonIconColor": "Couleur de l'icône",
23
+ "customizeInfo": "Personnalisez l'apparence du texte sur votre site",
24
+ "colorPaletteTitle": "Palette de couleurs",
25
+ "colorPaletteDescription": "Personnalisez les couleurs utilisées sur votre site",
26
+ "brandColorsTitle": "Couleurs de la marque",
27
+ "hideDesignLogo": "Masquer le logo Design.com",
28
+ "hideBrandCrowdLogo": "Cacher le logo BrandCrowd",
29
+ "styleTitle": "Style",
30
+ "buttonStyleTitle": "Style de bouton",
31
+ "styleDescription": "Personnalisez les couleurs, les styles de texte et d'autres paramètres de conception sur votre site",
32
+ "textStyleTitle": "Style de texte",
33
+ "sizeOrderWarning": "Certaines tailles de texte ne sont pas dans le bon ordre. Un en-tête ou un paragraphe ne doit pas être plus grand que celui qui le précède."
22
34
  }
23
35
  }
@@ -4,6 +4,16 @@
4
4
  "headings": "Headings",
5
5
  "paragraphs": "Paragraphs",
6
6
  "buttons": "Buttons",
7
+ "heading1": "Heading 1",
8
+ "heading2": "Heading 2",
9
+ "heading3": "Heading 3",
10
+ "heading4": "Heading 4",
11
+ "heading5": "Heading 5",
12
+ "heading6": "Heading 6",
13
+ "paragraph1": "Paragraph 1",
14
+ "paragraph2": "Paragraph 2",
15
+ "paragraph3": "Paragraph 3",
16
+ "button": "Button text",
7
17
  "premium": "Premium",
8
18
  "buttonBorderColor": "Button border color",
9
19
  "buttonFillColor": "Button fill color",
@@ -14,12 +24,12 @@
14
24
  "colorPaletteTitle": "Color Palette",
15
25
  "colorPaletteDescription": "Customize the colors used across your site",
16
26
  "brandColorsTitle": "Brand Colors",
17
-
18
27
  "hideDesignLogo": "Hide Design.com logo",
19
28
  "hideBrandCrowdLogo": "Hide BrandCrowd logo",
20
-
21
29
  "styleTitle": "Style",
22
30
  "buttonStyleTitle": "Button style",
23
- "textStyleTitle": "Text style"
31
+ "styleDescription": "Customize colors, text styles, and other design settings across your site.",
32
+ "textStyleTitle": "Text Style",
33
+ "sizeOrderWarning": "Some text sizes are out of order. A heading or paragraph shouldn't be larger than the one above it."
24
34
  }
25
35
  }
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Títulos",
4
- "headings" : "Subtítulos",
5
- "paragraphs" : "Parágrafos",
6
- "buttons" : "Botões",
7
- "premium" : "Premium",
8
- "buttonBorderColor" : "Cor da borda do botão",
9
- "buttonFillColor" : "Cor de preenchimento do botão",
10
- "buttonShadowColor" : "Cor da sombra do botão",
11
- "buttonSoftShadowColor" : "Cor da sombra do botão",
12
- "buttonIconColor" : "Cor do ícone",
13
- "customizeInfo" : "Personalizar o visual do texto em todo o site",
14
- "colorPaletteTitle" : "Paleta de cores",
15
- "colorPaletteDescription" : "Personalizar as cores usadas em todo o site",
16
- "brandColorsTitle" : "Cores da marca",
17
- "hideDesignLogo" : "Ocultar logotipo do Design.com",
18
- "hideBrandCrowdLogo" : "Ocultar o logotipo do BrandCrowd",
19
- "styleTitle" : "Estilo",
20
- "buttonStyleTitle" : "Estilo do botão",
21
- "textStyleTitle" : "Tipo de texto"
2
+ "styleSettingsSection": {
3
+ "titles": "Títulos",
4
+ "headings": "Subtítulos",
5
+ "paragraphs": "Parágrafos",
6
+ "buttons": "Botões",
7
+ "heading1": "Subtítulo 1",
8
+ "heading2": "Subtítulo 2",
9
+ "heading3": "Subtítulo 3",
10
+ "heading4": "Subtítulo 4",
11
+ "heading5": "Subtítulo 5",
12
+ "heading6": "Subtítulo 6",
13
+ "paragraph1": "Parágrafo 1",
14
+ "paragraph2": "Parágrafo 2",
15
+ "paragraph3": "Parágrafo 3",
16
+ "button": "Texto do botão",
17
+ "premium": "Premium",
18
+ "buttonBorderColor": "Cor da borda do botão",
19
+ "buttonFillColor": "Cor de preenchimento do botão",
20
+ "buttonShadowColor": "Cor da sombra do botão",
21
+ "buttonSoftShadowColor": "Cor da sombra do botão",
22
+ "buttonIconColor": "Cor do ícone",
23
+ "customizeInfo": "Personalizar o visual do texto em todo o site",
24
+ "colorPaletteTitle": "Paleta de cores",
25
+ "colorPaletteDescription": "Personalizar as cores usadas em todo o site",
26
+ "brandColorsTitle": "Cores da marca",
27
+ "hideDesignLogo": "Ocultar logotipo do Design.com",
28
+ "hideBrandCrowdLogo": "Ocultar o logotipo do BrandCrowd",
29
+ "styleTitle": "Estilo",
30
+ "buttonStyleTitle": "Estilo do botão",
31
+ "styleDescription": "Personalizar as cores, os estilos de texto e outras configurações de design em todo o site",
32
+ "textStyleTitle": "Tipo de texto",
33
+ "sizeOrderWarning": "Alguns tamanhos de texto estão fora de ordem. Um subtítulo ou parágrafo não deve ser maior que o que está acima dele."
22
34
  }
23
35
  }
@@ -1,23 +1,35 @@
1
1
  {
2
- "styleSettingsSection" : {
3
- "titles" : "Títulos",
4
- "headings" : "Subtítulos",
5
- "paragraphs" : "Parágrafos",
6
- "buttons" : "Botões",
7
- "premium" : "Premium",
8
- "buttonBorderColor" : "Cor da borda do botão",
9
- "buttonFillColor" : "Cor de preenchimento do botão",
10
- "buttonShadowColor" : "Cor da sombra do botão",
11
- "buttonSoftShadowColor" : "Cor da sombra do botão",
12
- "buttonIconColor" : "Cor do ícone",
13
- "customizeInfo" : "Personalizar o aspeto do texto em todo o site",
14
- "colorPaletteTitle" : "Paleta de cores",
15
- "colorPaletteDescription" : "Personalizar as cores usadas em todo o site",
16
- "brandColorsTitle" : "Cores da marca",
17
- "hideDesignLogo" : "Ocultar o logótipo Design.com",
18
- "hideBrandCrowdLogo" : "Ocultar o logótipo do BrandCrowd",
19
- "styleTitle" : "Estilo",
20
- "buttonStyleTitle" : "Estilo do botão",
21
- "textStyleTitle" : "Tipo de texto"
2
+ "styleSettingsSection": {
3
+ "titles": "Títulos",
4
+ "headings": "Subtítulos",
5
+ "paragraphs": "Parágrafos",
6
+ "buttons": "Botões",
7
+ "heading1": "Subtítulo 1",
8
+ "heading2": "Subtítulo 2",
9
+ "heading3": "Subtítulo 3",
10
+ "heading4": "Subtítulo 4",
11
+ "heading5": "Subtítulo 5",
12
+ "heading6": "Subtítulo 6",
13
+ "paragraph1": "Parágrafo 1",
14
+ "paragraph2": "Parágrafo 2",
15
+ "paragraph3": "Parágrafo 3",
16
+ "button": "Texto do botão",
17
+ "premium": "Premium",
18
+ "buttonBorderColor": "Cor da borda do botão",
19
+ "buttonFillColor": "Cor de preenchimento do botão",
20
+ "buttonShadowColor": "Cor da sombra do botão",
21
+ "buttonSoftShadowColor": "Cor da sombra do botão",
22
+ "buttonIconColor": "Cor do ícone",
23
+ "customizeInfo": "Personalizar o aspeto do texto em todo o site",
24
+ "colorPaletteTitle": "Paleta de cores",
25
+ "colorPaletteDescription": "Personalizar as cores usadas em todo o site",
26
+ "brandColorsTitle": "Cores da marca",
27
+ "hideDesignLogo": "Ocultar o logótipo Design.com",
28
+ "hideBrandCrowdLogo": "Ocultar o logótipo do BrandCrowd",
29
+ "styleTitle": "Estilo",
30
+ "buttonStyleTitle": "Estilo do botão",
31
+ "styleDescription": "Personalizar as cores, os estilos de texto e outras definições de design em todo o site",
32
+ "textStyleTitle": "Tipo de texto",
33
+ "sizeOrderWarning": "Alguns tamanhos de texto não estão pela ordem correta. Um subtítulo ou parágrafo não deve ser maior do que o que está acima dele."
22
34
  }
23
35
  }
@@ -1,18 +1,20 @@
1
1
  <template>
2
2
  <div data-component="text-style-options-settings-with-state">
3
3
  <TextStyleField
4
- v-for="textStyleOption in Object.values(textStyleOptions)"
4
+ v-for="textStyleOption in canonicalTextStyleOptions"
5
5
  :id="textStyleOption.title"
6
6
  :key="`text-style-option-${textStyleOption.type}`"
7
+ :data-test-role-card="textStyleOption.type"
7
8
  :name="textStyleOption.title"
8
9
  :label="textStyleOption.title"
9
10
  :font-family-options="availableTextFontFamilyOptions"
10
11
  :value="textStyleOption.style"
11
12
  :show-text-alignment-options="false"
12
- :white-background="true"
13
13
  :is-admin-maker="isAdminMaker"
14
14
  :logo-theme="logoTheme"
15
15
  :show-text-style-type-options="false"
16
+ :show-typography-preview="true"
17
+ :show-color="false"
16
18
  title-text-size="base"
17
19
  @update:model-value="setTextStyleOption(textStyleOption.type, $event)"
18
20
  />
@@ -20,27 +22,22 @@
20
22
  </template>
21
23
 
22
24
  <script setup lang="ts">
23
- import { computed, onBeforeUnmount } from 'vue';
25
+ import { computed } from 'vue';
24
26
  import TextStyleField from '../../../content-settings/components/text-style-field/TextStyleField.vue';
25
27
 
26
28
  import { useUiStyleSettingsStore } from '../../store';
27
29
  import {
28
- useBrandPageMakerUserStore,
29
30
  useBrandPageContainerStore,
30
31
  useUiStore,
31
32
  } from '@brand-page-maker/stores';
32
- import { useUiPageSettingsStore } from '@shared/page-settings/store';
33
33
 
34
34
  import type { UpdateItemValuePayload } from '../../../content-settings/models';
35
+ import { CANONICAL_TEXT_STYLE_TYPES } from '@brand-page';
35
36
  import type { TextStyleDeclaration, TextStyleType } from '@brand-page';
36
- import { useExternalRichTextEditor } from '@brand-page-maker/composables/rich-text-editor/useRichTextEditor';
37
- import { transformToRTE } from '@brand-page-maker/utils';
38
37
 
39
38
  const styleSettingsStore = useUiStyleSettingsStore();
40
- const userStore = useBrandPageMakerUserStore();
41
39
  const containerStore = useBrandPageContainerStore();
42
40
  const uiStore = useUiStore();
43
- const uiPageSettingStore = useUiPageSettingsStore();
44
41
 
45
42
  const availableTextFontFamilyOptions = computed(
46
43
  () => styleSettingsStore.availableTextFontFamilyOptions,
@@ -50,38 +47,21 @@ const textStyleOptions = computed(
50
47
  () => styleSettingsStore.textStyles.textStyleOptions,
51
48
  );
52
49
 
53
- const isAdminMaker = computed(() => containerStore.isAdminMaker);
54
- const canUseRichTextEditor = computed(
55
- () => userStore.features.canUseRichTextEditor,
50
+ // Only the 10 canonical roles are shown/edited; legacy roles remain in the model
51
+ // for resolving un-migrated content but are hidden from the Style tab (BP-5969).
52
+ const canonicalTextStyleOptions = computed(() =>
53
+ CANONICAL_TEXT_STYLE_TYPES.map((type) => textStyleOptions.value[type]),
56
54
  );
57
- const logoTheme = computed(() => uiStore.logoTheme);
58
55
 
59
- const { externalEditor } = useExternalRichTextEditor();
56
+ const isAdminMaker = computed(() => containerStore.isAdminMaker);
57
+ const logoTheme = computed(() => uiStore.logoTheme);
60
58
 
61
59
  const setTextStyleOption = (
62
60
  type: TextStyleType,
63
61
  value: UpdateItemValuePayload<TextStyleDeclaration>,
64
62
  ) => {
65
- updateContentToRTE(type, value);
63
+ // Post-BP-5969 a role edit repaints linked blocks via Page's derived text-role CSS, so no
64
+ // per-mark re-stamp is needed — just update the store.
66
65
  styleSettingsStore.setTextStyleOption({ type, style: value.value });
67
66
  };
68
-
69
- const updateContentToRTE = (
70
- type: TextStyleType,
71
- value: UpdateItemValuePayload<TextStyleDeclaration>,
72
- ) => {
73
- if (canUseRichTextEditor.value)
74
- transformToRTE(
75
- uiPageSettingStore,
76
- externalEditor,
77
- undefined,
78
- undefined,
79
- type,
80
- value.value,
81
- );
82
- };
83
-
84
- onBeforeUnmount(() => {
85
- externalEditor.destroy();
86
- });
87
67
  </script>