@designcrowd/library.brand-page 6.2.11-builder-v2-1 → 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 (579) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-Dg2pOwbr.js → CreatedOnBrandCrowd-de-de-BtVKllNQ.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BILs_hsB.js → CreatedOnBrandCrowd-en-us-CX5V0v8u.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-VpxQ0N5F.js → CreatedOnBrandCrowd-es-es-CbA02PCL.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CFHWRHzi.js → CreatedOnBrandCrowd-fr-ca-BQAKruBF.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CFHWRHzi.js → CreatedOnBrandCrowd-fr-fr-BQAKruBF.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-CZfs45s9.js → CreatedOnBrandCrowd-pt-br-Yk_yzB3s.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-CZfs45s9.js → CreatedOnBrandCrowd-pt-pt-Yk_yzB3s.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-DYMQ6sIF.js → CreatedOnDcom-de-de-DJZQbPSD.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Dj5sdPid.js → CreatedOnDcom-en-us-BJvNAa4l.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-Cx9yNTro.js → CreatedOnDcom-es-es-CUwB1FRY.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Bzr0SjGq.js → CreatedOnDcom-fr-ca-CK54U4oh.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BgqKY35F.js → CreatedOnDcom-fr-fr-DuUNBGrM.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CXK6qfvL.js → CreatedOnDcom-pt-br-BfODpFNV.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-B8SggNTQ.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/brand-page-context.model.d.ts +2 -0
  39. package/lib/src/brand-page/models/brand-page-context.model.js +7 -0
  40. package/lib/src/brand-page/models/index.d.ts +23 -24
  41. package/lib/src/brand-page/models/index.js +20 -7
  42. package/lib/src/brand-page/models/navigation-styles.model.d.ts +1 -1
  43. package/lib/src/brand-page/models/navigation-styles.model.js +17 -8
  44. package/lib/src/brand-page/models/payment.model.d.ts +11 -6
  45. package/lib/src/brand-page/models/styles.model.d.ts +53 -7
  46. package/lib/src/brand-page/models/styles.model.js +115 -27
  47. package/lib/src/brand-page/utils/color-palette.util.d.ts +43 -23
  48. package/lib/src/brand-page/utils/color-palette.util.js +65 -27
  49. package/lib/src/brand-page/utils/color.util.d.ts +13 -9
  50. package/lib/src/brand-page/utils/color.util.js +56 -15
  51. package/lib/src/brand-page/utils/container-text-color.util.d.ts +46 -13
  52. package/lib/src/brand-page/utils/container-text-color.util.js +321 -41
  53. package/lib/src/brand-page/utils/index.d.ts +1 -0
  54. package/lib/src/brand-page/utils/index.js +1 -0
  55. package/lib/src/brand-page/utils/migration/migration-20.js +6 -2
  56. package/lib/src/brand-page/utils/migration/migration-21.js +34 -6
  57. package/lib/src/brand-page/utils/migration/migration-22.d.ts +99 -0
  58. package/lib/src/brand-page/utils/migration/migration-22.js +909 -0
  59. package/lib/src/brand-page/utils/migration.util.js +17 -0
  60. package/lib/src/brand-page/utils/model.util.d.ts +4 -0
  61. package/lib/src/brand-page/utils/model.util.js +4 -0
  62. package/lib/src/brand-page/utils/personalisation.util.js +9 -1
  63. package/lib/src/brand-page/utils/rte-role-lift.util.d.ts +72 -0
  64. package/lib/src/brand-page/utils/rte-role-lift.util.js +275 -0
  65. package/lib/src/brand-page/utils/style.util.d.ts +5 -1
  66. package/lib/src/brand-page/utils/style.util.js +34 -11
  67. package/lib/src/brand-page/utils/text-role-css.util.d.ts +19 -0
  68. package/lib/src/brand-page/utils/text-role-css.util.js +186 -0
  69. package/lib/src/brand-page/utils/text-role-reconnect.util.d.ts +90 -0
  70. package/lib/src/brand-page/utils/text-role-reconnect.util.js +434 -0
  71. package/lib/src/brand-page/utils/text-style.util.d.ts +53 -23
  72. package/lib/src/brand-page/utils/text-style.util.js +122 -22
  73. package/lib/src/brand-page/utils/view-model.util.d.ts +9 -1
  74. package/lib/src/brand-page/utils/view-model.util.js +124 -111
  75. package/lib/src/brand-page/view-models.d.ts +1 -0
  76. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +4 -1
  77. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +34 -2
  78. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -4
  79. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +4 -1
  80. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -10
  81. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.js +0 -1
  82. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +44 -138
  83. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -28
  84. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +4 -1
  85. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +1 -1
  86. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +7 -0
  87. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +21 -0
  88. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +25 -1
  89. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +25 -1
  90. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +21 -0
  91. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +4 -1
  92. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +25 -1
  93. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +21 -0
  94. package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.d.ts +10 -0
  95. package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.js +11 -0
  96. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -0
  97. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +1 -0
  98. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +14 -0
  99. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.d.ts +16 -0
  100. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.js +61 -0
  101. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.d.ts +11 -0
  102. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.js +236 -0
  103. package/lib/src/brand-page-maker/composables/rich-text-editor/font.d.ts +2 -1
  104. package/lib/src/brand-page-maker/composables/rich-text-editor/font.js +25 -6
  105. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.d.ts +17 -4
  106. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.js +204 -17
  107. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.d.ts +1 -1
  108. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.js +29 -31
  109. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.d.ts +20 -0
  110. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.js +60 -0
  111. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.d.ts +2 -1
  112. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.js +22 -6
  113. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +10 -4
  114. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +319 -275
  115. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -5
  116. package/lib/src/brand-page-maker/convertors/text-css-style-options.convertor.js +6 -2
  117. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.d.ts +1 -1
  118. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.js +3 -1
  119. package/lib/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.js +7 -14
  120. package/lib/src/brand-page-maker/default-getters/text-color.default-getter.js +6 -13
  121. package/lib/src/brand-page-maker/models/content-settings.d.ts +8 -0
  122. package/lib/src/brand-page-maker/models/content-settings.js +112 -81
  123. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.d.ts +2 -2
  124. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.js +5 -2
  125. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.js +4 -3
  126. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +1257 -117
  127. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +9 -2
  128. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +20 -0
  129. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +21 -0
  130. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +6 -1
  131. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +17 -9
  132. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +59 -5
  133. package/lib/src/brand-page-maker/stores/history/history-store.js +22 -2
  134. package/lib/src/brand-page-maker/utils/apply-color-strategy.js +26 -8
  135. package/lib/src/brand-page-maker/utils/index.d.ts +2 -1
  136. package/lib/src/brand-page-maker/utils/index.js +2 -1
  137. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +117 -15
  138. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +435 -281
  139. package/lib/src/brand-page-maker/utils/rte-authoring.util.d.ts +4 -0
  140. package/lib/src/brand-page-maker/utils/rte-authoring.util.js +101 -0
  141. package/lib/src/brand-page-maker/utils/rte-clipboard.util.d.ts +126 -0
  142. package/lib/src/brand-page-maker/utils/rte-clipboard.util.js +307 -0
  143. package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +13 -3
  144. package/lib/src/{bundled-translations-zfiA5Tsw.js → bundled-translations-yGrvPE5i.js} +17 -17
  145. package/lib/src/{bundled-translations.de-DE-ChsdSyAP.js → bundled-translations.de-DE-L4Znf8Hs.js} +17 -17
  146. package/lib/src/{bundled-translations.es-ES-DflsWQK0.js → bundled-translations.es-ES-D6iticrK.js} +15 -15
  147. package/lib/src/{bundled-translations.fr-CA-fpDRuZ52.js → bundled-translations.fr-CA-BgAVE-9k.js} +25 -25
  148. package/lib/src/{bundled-translations.fr-FR-Bub73Zt-.js → bundled-translations.fr-FR-B8GbyqxQ.js} +17 -17
  149. package/lib/src/{bundled-translations.pt-BR-BlnWE9TB.js → bundled-translations.pt-BR-DjPU3Db7.js} +25 -25
  150. package/lib/src/{bundled-translations.pt-PT-DmzXlnaS.js → bundled-translations.pt-PT-BaepaDpr.js} +23 -23
  151. package/lib/src/bundles/bundled-translations.de-DE.json +21 -2
  152. package/lib/src/bundles/bundled-translations.es-ES.json +21 -2
  153. package/lib/src/bundles/bundled-translations.fr-CA.json +21 -2
  154. package/lib/src/bundles/bundled-translations.fr-FR.json +21 -2
  155. package/lib/src/bundles/bundled-translations.json +21 -2
  156. package/lib/src/bundles/bundled-translations.pt-BR.json +21 -2
  157. package/lib/src/bundles/bundled-translations.pt-PT.json +21 -2
  158. package/lib/src/clients/ai-assistant-client.d.ts +7 -1
  159. package/lib/src/clients/ai-assistant-client.js +7 -15
  160. package/lib/src/composables/useTranslate.d.ts +1 -1
  161. package/lib/src/composables/useTranslate.js +1 -1
  162. package/lib/src/css/library.brand-page-brandCrowd.min.css +284 -188
  163. package/lib/src/css/library.brand-page-brandPage.min.css +284 -188
  164. package/lib/src/css/library.brand-page-designCom.min.css +284 -188
  165. package/lib/src/css/library.brand-page-preview.min.css +284 -188
  166. package/lib/src/index.d.ts +2 -1
  167. package/lib/src/index.mjs +195 -191
  168. package/lib/src/{lib-7gtW85nE.js → lib-kGRlD3_P.js} +39082 -36131
  169. package/lib/src/lib.js +2 -1
  170. package/lib/src/metadata-builder/builders/footer-builder.js +4 -5
  171. package/lib/src/metadata-builder/builders/global-role-propagation.d.ts +58 -0
  172. package/lib/src/metadata-builder/builders/global-role-propagation.js +246 -0
  173. package/lib/src/metadata-builder/builders/global-styles-builder.d.ts +1 -0
  174. package/lib/src/metadata-builder/builders/global-styles-builder.js +116 -45
  175. package/lib/src/metadata-builder/builders/header-builder.js +13 -4
  176. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +3 -3
  177. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +3 -3
  178. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +3 -3
  179. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +4 -4
  180. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +3 -3
  181. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +2 -2
  182. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +2 -2
  183. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +4 -4
  184. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +3 -3
  185. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +8 -2
  186. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +2 -2
  187. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +60 -29
  188. package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
  189. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +48 -19
  190. package/lib/src/metadata-builder/builders/section-field-utils.js +128 -52
  191. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.d.ts +4 -2
  192. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.js +28 -12
  193. package/lib/src/metadata-builder/builders/section-rules/social-links.rules.js +5 -1
  194. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +1 -1
  195. package/lib/src/metadata-builder/helpers/rte.helpers.js +97 -40
  196. package/lib/src/metadata-builder/metadata-executor.js +23 -1
  197. package/lib/src/metadata-builder/models.d.ts +2 -0
  198. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +18 -19
  199. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +18 -1
  200. package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +1 -1
  201. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.d.ts +0 -1
  202. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.js +5 -8
  203. package/lib/src/metadata-builder/sanitizers/section-args-validator.d.ts +7 -16
  204. package/lib/src/metadata-builder/sanitizers/section-args-validator.js +95 -22
  205. package/lib/src/shared/color-palette/section-color-matches.js +9 -25
  206. package/lib/src/shared/color-strategies/color-strategies.d.ts +15 -0
  207. package/lib/src/shared/color-strategies/color-strategies.js +31 -0
  208. package/lib/src/shared/color-strategies/rte-color.d.ts +8 -0
  209. package/lib/src/shared/color-strategies/rte-color.js +16 -0
  210. package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +23 -0
  211. package/lib/src/shared/color-strategies/rte-field-pairs.js +28 -0
  212. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +9 -135
  213. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +1 -27
  214. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +12 -2
  215. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +7 -0
  216. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +75 -6
  217. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +18 -7
  218. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +6 -1
  219. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -7
  220. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +22 -0
  221. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +8 -4
  222. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +1255 -26
  223. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.js +203 -59
  224. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +6 -0
  225. package/lib/src/shared/content-settings/store/content-settings-store.js +105 -8
  226. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +26 -1
  227. package/lib/src/shared/navigation-style-settings/store/index.d.ts +7 -3
  228. package/lib/src/shared/navigation-style-settings/store/index.js +40 -15
  229. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +1 -0
  230. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +38 -5
  231. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +91 -13
  232. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +10 -2
  233. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +2 -1
  234. package/lib/src/shared/page-settings/store/page-settings-store.js +17 -0
  235. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +32 -1
  236. package/lib/src/shared/rte-extensions/AutoLink.d.ts +17 -0
  237. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.js +67 -51
  238. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.js +4 -1
  239. package/lib/src/shared/rte-extensions/TextEffects.d.ts +28 -0
  240. package/lib/src/shared/rte-extensions/TextEffects.js +96 -0
  241. package/lib/src/shared/rte-extensions/ViewDomParser.d.ts +2 -0
  242. package/lib/src/shared/rte-extensions/ViewDomParser.js +21 -0
  243. package/lib/src/shared/rte-extensions.util.d.ts +25 -0
  244. package/lib/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.js → shared/rte-extensions.util.js} +62 -7
  245. package/lib/src/shared/rte-link.util.d.ts +1 -0
  246. package/lib/src/shared/rte-link.util.js +1 -0
  247. package/lib/src/shared/rte-render.util.d.ts +112 -0
  248. package/lib/src/shared/rte-render.util.js +255 -0
  249. package/lib/src/shared/rte-shape.util.d.ts +6 -0
  250. package/lib/src/shared/rte-shape.util.js +18 -0
  251. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +23 -1
  252. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
  253. package/lib/src/shared/side-bar/store/side-bar-store.d.ts +2 -0
  254. package/lib/src/shared/side-bar/store/side-bar-store.js +9 -0
  255. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +176 -15
  256. package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +7 -1
  257. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -9
  258. package/lib/src/shared/style-settings/store/style-settings-store.js +3 -33
  259. package/lib/src/shared/style-settings/text-style-size-order.d.ts +2 -0
  260. package/lib/src/shared/style-settings/text-style-size-order.js +13 -0
  261. package/lib/src/shared/text-role-typography.util.d.ts +64 -0
  262. package/lib/src/shared/text-role-typography.util.js +183 -0
  263. package/lib/src/utils/minify-brand-page-metadata.d.ts +16 -1
  264. package/lib/src/utils/minify-brand-page-metadata.js +31 -9
  265. package/package.json +1 -1
  266. package/src/brand-page/__fixtures__/migration-22-v21/edited-brandsite-sections.v21.json +982 -0
  267. package/src/brand-page/__fixtures__/migration-22-v21/new-brandcontact-every-section.v21.json +1231 -0
  268. package/src/brand-page/__fixtures__/migration-22-v21/new-brandpage-every-section.v21.json +1231 -0
  269. package/src/brand-page/__fixtures__/migration-22-v21/new-brandsite-every-section.v21.json +1243 -0
  270. package/src/brand-page/__fixtures__/migration-22-v21/real-brandcontact.v21.json +755 -0
  271. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-general-link.v21.json +527 -0
  272. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-links.v21.json +755 -0
  273. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-social-links.v21.json +514 -0
  274. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-about.v21.json +459 -0
  275. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-footer.v21.json +469 -0
  276. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-header-banner.v21.json +481 -0
  277. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-sections.v21.json +800 -0
  278. package/src/brand-page/__fixtures__/production-text-style-resolver.fixture.ts +52 -0
  279. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +0 -10
  280. package/src/brand-page/components/contact-form/ContactForm.mixin.test.ts +127 -0
  281. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +31 -14
  282. package/src/brand-page/components/contact-form/ContactForm.vue +26 -12
  283. package/src/brand-page/components/contact-form/ContactForm.vue.test.ts +60 -0
  284. package/src/brand-page/components/mailing-list/MailingList.mixin.test.ts +92 -0
  285. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +28 -3
  286. package/src/brand-page/components/mailing-list/MailingList.vue +9 -4
  287. package/src/brand-page/components/mailing-list/MailingList.vue.test.ts +63 -0
  288. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.ts +51 -1
  289. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.test.ts +114 -0
  290. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.vue +8 -2
  291. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.test.ts +182 -0
  292. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +58 -12
  293. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +40 -3
  294. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue +15 -7
  295. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue.test.ts +133 -3
  296. package/src/brand-page/components/page/Page.mixin.ts +41 -34
  297. package/src/brand-page/components/page/Page.vue +17 -6
  298. package/src/brand-page/components/page/Page.vue.test.ts +91 -1
  299. package/src/brand-page/components/page-footer/PageFooter.mixin.ts +32 -2
  300. package/src/brand-page/components/page-footer/PageFooter.test.ts +79 -0
  301. package/src/brand-page/components/page-footer/PageFooter.vue +12 -4
  302. package/src/brand-page/components/payment/Payment.mixin.ts +34 -2
  303. package/src/brand-page/components/payment/Payment.test.ts +188 -0
  304. package/src/brand-page/components/payment/Payment.vue +12 -5
  305. package/src/brand-page/components/payment/RequestPaymentStripe.vue +1 -0
  306. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +49 -2
  307. package/src/brand-page/components/payment/support-me/SupportMe.test.ts +100 -0
  308. package/src/brand-page/components/payment/support-me/SupportMe.vue +7 -1
  309. package/src/brand-page/components/payment/support-me/SupportMe.vue.test.ts +66 -0
  310. package/src/brand-page/components/save-contact/SaveContactWidget.test.ts +100 -0
  311. package/src/brand-page/components/save-contact/SaveContactWidget.vue +6 -3
  312. package/src/brand-page/components/shop/PaymentModal.vue +2 -6
  313. package/src/brand-page/components/shop/PaymentShippingAddress.vue +6 -0
  314. package/src/brand-page/components/shop/Shop.vue +15 -2
  315. package/src/brand-page/components/shop/Shop.vue.test.ts +74 -2
  316. package/src/brand-page/components/social-links/SocialLinks.stories.ts +0 -3
  317. package/src/brand-page/components/social-links/SocialLinks.vue.test.ts +0 -3
  318. package/src/brand-page/components/testimonial-section/__fixtures__/data.ts +0 -3
  319. package/src/brand-page/components/text/Text.stories.ts +0 -17
  320. package/src/brand-page/components/text-wrapper/TextWrapper.parity.test.ts +136 -0
  321. package/src/brand-page/components/text-wrapper/TextWrapper.test.ts +358 -0
  322. package/src/brand-page/components/text-wrapper/TextWrapper.vue +82 -22
  323. package/src/brand-page/constants/font.constants.ts +37 -0
  324. package/src/brand-page/models/brand-page-context.model.ts +13 -0
  325. package/src/brand-page/models/footer-icon-color.test.ts +22 -0
  326. package/src/brand-page/models/index.ts +50 -28
  327. package/src/brand-page/models/navigation-styles.model.test.ts +77 -1
  328. package/src/brand-page/models/navigation-styles.model.ts +26 -9
  329. package/src/brand-page/models/payment.model.ts +15 -6
  330. package/src/brand-page/models/styles.model.test.ts +104 -0
  331. package/src/brand-page/models/styles.model.ts +181 -47
  332. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +619 -115
  333. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +150 -9
  334. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +300 -18
  335. package/src/brand-page/utils/color-palette.util.test.ts +126 -1
  336. package/src/brand-page/utils/color-palette.util.ts +92 -26
  337. package/src/brand-page/utils/color.util.test.ts +62 -29
  338. package/src/brand-page/utils/color.util.ts +77 -14
  339. package/src/brand-page/utils/container-text-color.util.test.ts +672 -26
  340. package/src/brand-page/utils/container-text-color.util.ts +472 -46
  341. package/src/brand-page/utils/index.ts +1 -0
  342. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/edited-brandsite-sections.v22.json +1191 -0
  343. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandcontact-every-section.v22.json +2026 -0
  344. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandpage-every-section.v22.json +2017 -0
  345. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandsite-every-section.v22.json +2031 -0
  346. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandcontact.v22.json +1145 -0
  347. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-general-link.v22.json +645 -0
  348. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-links.v22.json +1136 -0
  349. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-social-links.v22.json +662 -0
  350. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-about.v22.json +638 -0
  351. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-footer.v22.json +610 -0
  352. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-header-banner.v22.json +660 -0
  353. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-sections.v22.json +1132 -0
  354. package/src/brand-page/utils/migration/migration-01.ts +293 -237
  355. package/src/brand-page/utils/migration/migration-02.ts +8 -1
  356. package/src/brand-page/utils/migration/migration-20.ts +6 -3
  357. package/src/brand-page/utils/migration/migration-20_5.test.ts +5 -2
  358. package/src/brand-page/utils/migration/migration-21.test.ts +34 -0
  359. package/src/brand-page/utils/migration/migration-21.ts +46 -10
  360. package/src/brand-page/utils/migration/migration-22.fixed-input.test.ts +43 -0
  361. package/src/brand-page/utils/migration/migration-22.test.ts +4103 -0
  362. package/src/brand-page/utils/migration/migration-22.text-font-family.test.ts +72 -0
  363. package/src/brand-page/utils/migration/migration-22.ts +1336 -0
  364. package/src/brand-page/utils/migration.util.test.ts +146 -32
  365. package/src/brand-page/utils/migration.util.ts +18 -0
  366. package/src/brand-page/utils/model.util.ts +4 -0
  367. package/src/brand-page/utils/personalisation.util.test.ts +148 -3
  368. package/src/brand-page/utils/personalisation.util.ts +9 -1
  369. package/src/brand-page/utils/rte-role-lift.util.ts +409 -0
  370. package/src/brand-page/utils/style.util.test.ts +35 -2
  371. package/src/brand-page/utils/style.util.ts +45 -11
  372. package/src/brand-page/utils/text-role-css.util.test.ts +525 -0
  373. package/src/brand-page/utils/text-role-css.util.ts +321 -0
  374. package/src/brand-page/utils/text-role-reconnect.util.test.ts +604 -0
  375. package/src/brand-page/utils/text-role-reconnect.util.ts +727 -0
  376. package/src/brand-page/utils/text-style.util.test.ts +305 -0
  377. package/src/brand-page/utils/text-style.util.ts +198 -24
  378. package/src/brand-page/utils/view-model.page-data.test.ts +232 -0
  379. package/src/brand-page/utils/view-model.util.test.ts +954 -133
  380. package/src/brand-page/utils/view-model.util.ts +187 -139
  381. package/src/brand-page/view-models.ts +4 -0
  382. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.blank-site.test.ts +57 -0
  383. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -5
  384. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -10
  385. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.ts +0 -1
  386. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -44
  387. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +253 -200
  388. package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.test.ts +82 -0
  389. package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.ts +19 -0
  390. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +2 -0
  391. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +19 -0
  392. package/src/brand-page-maker/composables/rich-text-editor/block-typography.test.ts +519 -0
  393. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +1 -1
  394. package/src/brand-page-maker/composables/rich-text-editor/extensions/MaxLength.test.ts +26 -1
  395. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.test.ts +110 -0
  396. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.ts +99 -0
  397. package/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.ts +397 -0
  398. package/src/brand-page-maker/composables/rich-text-editor/extensions/ViewDomParser.test.ts +139 -0
  399. package/src/brand-page-maker/composables/rich-text-editor/font.ts +36 -5
  400. package/src/brand-page-maker/composables/rich-text-editor/formatting.test.ts +375 -1
  401. package/src/brand-page-maker/composables/rich-text-editor/formatting.ts +301 -17
  402. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.test.ts +82 -1
  403. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.ts +28 -34
  404. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.test.ts +80 -0
  405. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.ts +75 -0
  406. package/src/brand-page-maker/composables/rich-text-editor/spacing.ts +31 -6
  407. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.test.ts +2485 -0
  408. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +435 -337
  409. package/src/brand-page-maker/constants/config-settings-constant.ts +0 -6
  410. package/src/brand-page-maker/convertors/text-css-style-options.convertor.test.ts +43 -0
  411. package/src/brand-page-maker/convertors/text-css-style-options.convertor.ts +6 -2
  412. package/src/brand-page-maker/convertors/text-size-value.convertor.test.ts +24 -0
  413. package/src/brand-page-maker/convertors/text-size-value.convertor.ts +17 -13
  414. package/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.ts +7 -22
  415. package/src/brand-page-maker/default-getters/text-color.default-getter.ts +5 -21
  416. package/src/brand-page-maker/models/content-settings.test.ts +708 -0
  417. package/src/brand-page-maker/models/content-settings.ts +133 -82
  418. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.test.ts +63 -1
  419. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.ts +16 -3
  420. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.test.ts +34 -0
  421. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +4 -2
  422. package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +30 -0
  423. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +185 -1
  424. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +22 -34
  425. package/src/brand-page-maker/stores/history/history-store.ts +35 -2
  426. package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +528 -0
  427. package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +12 -0
  428. package/src/brand-page-maker/utils/apply-color-strategy.golden.test.ts +2 -0
  429. package/src/brand-page-maker/utils/apply-color-strategy.test.ts +181 -3
  430. package/src/brand-page-maker/utils/apply-color-strategy.ts +36 -4
  431. package/src/brand-page-maker/utils/index.ts +2 -1
  432. package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +447 -410
  433. package/src/brand-page-maker/utils/rich-text-editor.util.ts +610 -506
  434. package/src/brand-page-maker/utils/rte-authoring.util.test.ts +244 -0
  435. package/src/brand-page-maker/utils/rte-authoring.util.ts +175 -0
  436. package/src/brand-page-maker/utils/rte-clipboard.util.test.ts +558 -0
  437. package/src/brand-page-maker/utils/rte-clipboard.util.ts +473 -0
  438. package/src/brand-page-maker/utils/rte-features.test.ts +99 -3
  439. package/src/brand-page-maker/utils/rte-render-parity.test.ts +1 -1
  440. package/src/brand-page-maker/utils/rte-render.util.test.ts +230 -0
  441. package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +1 -1
  442. package/src/brand-page-maker/utils/rte-sanitize.util.ts +14 -3
  443. package/src/brand-page-maker/utils/rte-schema-version.test.ts +102 -0
  444. package/src/bundles/bundled-translations.de-DE.json +21 -2
  445. package/src/bundles/bundled-translations.es-ES.json +21 -2
  446. package/src/bundles/bundled-translations.fr-CA.json +21 -2
  447. package/src/bundles/bundled-translations.fr-FR.json +21 -2
  448. package/src/bundles/bundled-translations.json +21 -2
  449. package/src/bundles/bundled-translations.pt-BR.json +21 -2
  450. package/src/bundles/bundled-translations.pt-PT.json +21 -2
  451. package/src/clients/ai-assistant-client.ts +13 -18
  452. package/src/composables/useTranslate.ts +2 -1
  453. package/src/lib.ts +2 -2
  454. package/src/metadata-builder/builders/footer-builder.test.ts +70 -45
  455. package/src/metadata-builder/builders/footer-builder.ts +4 -8
  456. package/src/metadata-builder/builders/global-role-propagation.test.ts +907 -0
  457. package/src/metadata-builder/builders/global-role-propagation.ts +430 -0
  458. package/src/metadata-builder/builders/global-styles-builder.test.ts +1020 -0
  459. package/src/metadata-builder/builders/global-styles-builder.ts +194 -48
  460. package/src/metadata-builder/builders/header-builder.test.ts +112 -40
  461. package/src/metadata-builder/builders/header-builder.ts +18 -8
  462. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +5 -3
  463. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +5 -3
  464. package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +5 -3
  465. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +7 -4
  466. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +5 -3
  467. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +3 -2
  468. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +3 -2
  469. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +7 -7
  470. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +5 -3
  471. package/src/metadata-builder/builders/section-builders/social-links-builder.test.ts +2 -2
  472. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +21 -10
  473. package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +10 -0
  474. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +3 -2
  475. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +111 -61
  476. package/src/metadata-builder/builders/section-field-maps.ts +1 -0
  477. package/src/metadata-builder/builders/section-field-utils.test.ts +545 -2
  478. package/src/metadata-builder/builders/section-field-utils.ts +202 -69
  479. package/src/metadata-builder/builders/section-rules/global-styles.rules.ts +38 -13
  480. package/src/metadata-builder/builders/section-rules/social-links.rules.ts +5 -0
  481. package/src/metadata-builder/helpers/rte.helpers.test.ts +101 -0
  482. package/src/metadata-builder/helpers/rte.helpers.ts +129 -43
  483. package/src/metadata-builder/metadata-executor.test.ts +167 -0
  484. package/src/metadata-builder/metadata-executor.ts +34 -1
  485. package/src/metadata-builder/models.ts +2 -0
  486. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +23 -7
  487. package/src/metadata-builder/parsers/section-tool-arguments.ts +21 -1
  488. package/src/metadata-builder/sanitizers/__tests__/section-args-validator.test.ts +215 -0
  489. package/src/metadata-builder/sanitizers/rte-schema-check.ts +1 -1
  490. package/src/metadata-builder/sanitizers/sanitizer-rules.ts +4 -8
  491. package/src/metadata-builder/sanitizers/section-args-validator.ts +136 -53
  492. package/src/shared/color-palette/section-color-matches.test.ts +15 -11
  493. package/src/shared/color-palette/section-color-matches.ts +9 -28
  494. package/src/shared/color-strategies/color-strategies.ts +35 -0
  495. package/src/shared/color-strategies/rte-color.test.ts +1 -1
  496. package/src/shared/color-strategies/rte-color.ts +19 -0
  497. package/src/shared/color-strategies/rte-field-pairs.test.ts +26 -5
  498. package/src/shared/color-strategies/rte-field-pairs.ts +33 -0
  499. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.test.ts +43 -66
  500. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.vue +7 -1
  501. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -48
  502. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +33 -7
  503. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.test.ts +128 -1
  504. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -6
  505. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.test.ts +56 -3
  506. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +11 -4
  507. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.test.ts +335 -25
  508. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.ts +248 -70
  509. package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +113 -25
  510. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.de-DE.json +17 -10
  511. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.es-ES.json +17 -10
  512. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-CA.json +17 -10
  513. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-FR.json +17 -10
  514. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.json +8 -1
  515. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-BR.json +17 -10
  516. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-PT.json +17 -10
  517. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.test.ts +141 -0
  518. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.vue +136 -0
  519. package/src/shared/content-settings/store/content-settings-store.test.ts +491 -6
  520. package/src/shared/content-settings/store/content-settings-store.ts +159 -17
  521. package/src/shared/navigation-style-settings/store/index.test.ts +295 -0
  522. package/src/shared/navigation-style-settings/store/index.ts +65 -15
  523. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.test.ts +44 -4
  524. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.vue +13 -4
  525. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.navigation.test.ts +89 -0
  526. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.text-style.test.ts +91 -0
  527. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +14 -2
  528. package/src/shared/page-settings/store/page-settings-store.text-style.test.ts +84 -0
  529. package/src/shared/page-settings/store/page-settings-store.ts +30 -1
  530. package/src/shared/rte-extensions/AutoLink.test.ts +98 -0
  531. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.ts +87 -58
  532. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.ts +4 -1
  533. package/src/shared/rte-extensions/TextEffects.ts +151 -0
  534. package/src/shared/rte-extensions/ViewDomParser.ts +27 -0
  535. package/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.ts → shared/rte-extensions.util.ts} +66 -9
  536. package/src/shared/rte-link.util.ts +2 -0
  537. package/src/shared/rte-render.util.ts +385 -0
  538. package/src/shared/rte-shape.util.ts +29 -0
  539. package/src/shared/side-bar/store/side-bar-store.test.ts +27 -1
  540. package/src/shared/side-bar/store/side-bar-store.ts +11 -0
  541. package/src/shared/style-settings/components/StyleSettings.mixin.ts +7 -3
  542. package/src/shared/style-settings/components/StyleSettings.test.ts +116 -0
  543. package/src/shared/style-settings/components/StyleSettings.vue +74 -25
  544. package/src/shared/style-settings/components/i18n/style-settings.de-DE.json +32 -20
  545. package/src/shared/style-settings/components/i18n/style-settings.es-ES.json +32 -20
  546. package/src/shared/style-settings/components/i18n/style-settings.fr-CA.json +32 -20
  547. package/src/shared/style-settings/components/i18n/style-settings.fr-FR.json +32 -20
  548. package/src/shared/style-settings/components/i18n/style-settings.json +13 -3
  549. package/src/shared/style-settings/components/i18n/style-settings.pt-BR.json +32 -20
  550. package/src/shared/style-settings/components/i18n/style-settings.pt-PT.json +32 -20
  551. package/src/shared/style-settings/components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue +14 -34
  552. package/src/shared/style-settings/store/style-settings-store.ts +3 -49
  553. package/src/shared/style-settings/text-style-size-order.test.ts +76 -0
  554. package/src/shared/style-settings/text-style-size-order.ts +28 -0
  555. package/src/shared/text-role-typography.util.ts +277 -0
  556. package/src/utils/minify-brand-page-metadata.test.ts +102 -7
  557. package/src/utils/minify-brand-page-metadata.ts +62 -8
  558. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/AutoLink.d.ts +0 -2
  559. package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +0 -28
  560. package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +0 -63
  561. package/lib/src/brand-page-maker/utils/rte-render.util.js +0 -106
  562. package/lib/src/brand-page-maker/utils/rte-shape.d.ts +0 -18
  563. package/lib/src/brand-page-maker/utils/rte-shape.js +0 -21
  564. package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +0 -41
  565. package/lib/src/metadata-builder/builders/global-font-propagation.js +0 -146
  566. package/src/brand-page/models/brand-page-context.model.test.ts +0 -38
  567. package/src/brand-page-maker/utils/rte-render.util.ts +0 -179
  568. package/src/brand-page-maker/utils/rte-shape.ts +0 -29
  569. package/src/clients/ai-assistant-client.test.ts +0 -135
  570. package/src/metadata-builder/builders/global-font-propagation.test.ts +0 -401
  571. package/src/metadata-builder/builders/global-font-propagation.ts +0 -238
  572. package/src/shared/style-settings/components/StyleSettingsSection.vue +0 -8
  573. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.d.ts +0 -0
  574. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.js +0 -0
  575. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.d.ts +0 -0
  576. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.js +0 -0
  577. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.d.ts +0 -0
  578. /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.ts +0 -0
  579. /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="{
@@ -79,23 +106,7 @@
79
106
  </div>
80
107
  <!-- End Button options -->
81
108
  </div>
82
- </StyleSettingsSection>
83
- <!-- End button style options -->
84
-
85
- <!-- Start text style selection -->
86
- <StyleSettingsSection>
87
- <div class="tw-w-full">
88
- <SideBarSectionTitle
89
- :title="styleSettingsTr(`textStyleTitle`)"
90
- title-text-size="base"
91
- />
92
- <p class="tw-mb-2 tw-text-grayscale-600 tw-text-sm">
93
- {{ styleSettingsTr('customizeInfo') }}
94
- </p>
95
- <TextStyleOptionsSettingsWithState />
96
- </div>
97
- </StyleSettingsSection>
98
- <!-- End text style selection -->
109
+ </CollapsiblePanel>
99
110
 
100
111
  <!-- Start Hide BrandPage logo -->
101
112
  <div
@@ -126,10 +137,13 @@
126
137
  </div>
127
138
  </template>
128
139
  <script>
140
+ import { nextTick, onMounted, ref, watch } from 'vue';
129
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';
130
146
  import StyleSettingsMixin from './StyleSettings.mixin.ts';
131
- import SideBarSectionTitle from '../../common/SideBarSectionTitle.vue';
132
- import StyleSettingsSection from './StyleSettingsSection.vue';
133
147
  import SideBarSettingsHeader from '../../common/SideBarSettingsHeader.vue';
134
148
  import ColorField from '../../content-settings/components/color-field/ColorField.vue';
135
149
  import TextStyleOptionsSettingsWithState from '../components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue';
@@ -139,8 +153,6 @@ import { styleSettingsTr } from '@src/composables/useTranslate';
139
153
  export default {
140
154
  components: {
141
155
  SideBarSettingsHeader,
142
- SideBarSectionTitle,
143
- StyleSettingsSection,
144
156
  Toggle,
145
157
  TextStyleOptionsSettingsWithState,
146
158
  ColorField,
@@ -150,9 +162,40 @@ export default {
150
162
  },
151
163
  mixins: [StyleSettingsMixin],
152
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
+
153
195
  return {
154
196
  ...StyleSettingsMixin.setup(),
155
197
  styleSettingsTr,
198
+ textStylesPanel,
156
199
  };
157
200
  },
158
201
  };
@@ -175,6 +218,12 @@ export default {
175
218
  @apply tw-bg-white;
176
219
  }
177
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
+
178
227
  .c-select {
179
228
  @apply tw-bg-no-repeat;
180
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>