@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.
- package/lib/src/{CreatedOnBrandCrowd-de-de-Dg2pOwbr.js → CreatedOnBrandCrowd-de-de-BtVKllNQ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BILs_hsB.js → CreatedOnBrandCrowd-en-us-CX5V0v8u.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-VpxQ0N5F.js → CreatedOnBrandCrowd-es-es-CbA02PCL.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-CFHWRHzi.js → CreatedOnBrandCrowd-fr-ca-BQAKruBF.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-CFHWRHzi.js → CreatedOnBrandCrowd-fr-fr-BQAKruBF.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-CZfs45s9.js → CreatedOnBrandCrowd-pt-br-Yk_yzB3s.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-CZfs45s9.js → CreatedOnBrandCrowd-pt-pt-Yk_yzB3s.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-DYMQ6sIF.js → CreatedOnDcom-de-de-DJZQbPSD.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-Dj5sdPid.js → CreatedOnDcom-en-us-BJvNAa4l.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-Cx9yNTro.js → CreatedOnDcom-es-es-CUwB1FRY.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-Bzr0SjGq.js → CreatedOnDcom-fr-ca-CK54U4oh.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-BgqKY35F.js → CreatedOnDcom-fr-fr-DuUNBGrM.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-CXK6qfvL.js → CreatedOnDcom-pt-br-BfODpFNV.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-B8SggNTQ.js → CreatedOnDcom-pt-pt-Cf6u2GCg.js} +1 -1
- package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.d.ts +16 -0
- package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.js +35 -0
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +3 -0
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +19 -13
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +3 -1
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +17 -2
- package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.d.ts +11 -3
- package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.js +35 -1
- package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +8 -2
- package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +27 -3
- package/lib/src/brand-page/components/page/Page.mixin.d.ts +5 -2
- package/lib/src/brand-page/components/page/Page.mixin.js +33 -27
- package/lib/src/brand-page/components/page-footer/PageFooter.mixin.d.ts +7 -2
- package/lib/src/brand-page/components/page-footer/PageFooter.mixin.js +21 -1
- package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +5 -2
- package/lib/src/brand-page/components/payment/Payment.mixin.js +22 -2
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +6 -2
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +32 -1
- package/lib/src/brand-page/components/social-links/SocialLinks.stories.js +0 -3
- package/lib/src/brand-page/components/testimonial-section/__fixtures__/data.js +0 -3
- package/lib/src/brand-page/components/text/Text.stories.js +0 -17
- package/lib/src/brand-page/constants/font.constants.d.ts +62 -0
- package/lib/src/brand-page/constants/font.constants.js +35 -0
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -0
- package/lib/src/brand-page/models/brand-page-context.model.js +7 -0
- package/lib/src/brand-page/models/index.d.ts +23 -24
- package/lib/src/brand-page/models/index.js +20 -7
- package/lib/src/brand-page/models/navigation-styles.model.d.ts +1 -1
- package/lib/src/brand-page/models/navigation-styles.model.js +17 -8
- package/lib/src/brand-page/models/payment.model.d.ts +11 -6
- package/lib/src/brand-page/models/styles.model.d.ts +53 -7
- package/lib/src/brand-page/models/styles.model.js +115 -27
- package/lib/src/brand-page/utils/color-palette.util.d.ts +43 -23
- package/lib/src/brand-page/utils/color-palette.util.js +65 -27
- package/lib/src/brand-page/utils/color.util.d.ts +13 -9
- package/lib/src/brand-page/utils/color.util.js +56 -15
- package/lib/src/brand-page/utils/container-text-color.util.d.ts +46 -13
- package/lib/src/brand-page/utils/container-text-color.util.js +321 -41
- package/lib/src/brand-page/utils/index.d.ts +1 -0
- package/lib/src/brand-page/utils/index.js +1 -0
- package/lib/src/brand-page/utils/migration/migration-20.js +6 -2
- package/lib/src/brand-page/utils/migration/migration-21.js +34 -6
- package/lib/src/brand-page/utils/migration/migration-22.d.ts +99 -0
- package/lib/src/brand-page/utils/migration/migration-22.js +909 -0
- package/lib/src/brand-page/utils/migration.util.js +17 -0
- package/lib/src/brand-page/utils/model.util.d.ts +4 -0
- package/lib/src/brand-page/utils/model.util.js +4 -0
- package/lib/src/brand-page/utils/personalisation.util.js +9 -1
- package/lib/src/brand-page/utils/rte-role-lift.util.d.ts +72 -0
- package/lib/src/brand-page/utils/rte-role-lift.util.js +275 -0
- package/lib/src/brand-page/utils/style.util.d.ts +5 -1
- package/lib/src/brand-page/utils/style.util.js +34 -11
- package/lib/src/brand-page/utils/text-role-css.util.d.ts +19 -0
- package/lib/src/brand-page/utils/text-role-css.util.js +186 -0
- package/lib/src/brand-page/utils/text-role-reconnect.util.d.ts +90 -0
- package/lib/src/brand-page/utils/text-role-reconnect.util.js +434 -0
- package/lib/src/brand-page/utils/text-style.util.d.ts +53 -23
- package/lib/src/brand-page/utils/text-style.util.js +122 -22
- package/lib/src/brand-page/utils/view-model.util.d.ts +9 -1
- package/lib/src/brand-page/utils/view-model.util.js +124 -111
- package/lib/src/brand-page/view-models.d.ts +1 -0
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +4 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +34 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -4
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +4 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -10
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.js +0 -1
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +44 -138
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -28
- package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +4 -1
- package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +1 -1
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +7 -0
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +25 -1
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +25 -1
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +4 -1
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +25 -1
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.d.ts +10 -0
- package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.js +11 -0
- package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -0
- package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +1 -0
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +14 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.d.ts +16 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.js +61 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.d.ts +11 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.js +236 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/font.d.ts +2 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/font.js +25 -6
- package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.d.ts +17 -4
- package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.js +204 -17
- package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.d.ts +1 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.js +29 -31
- package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.d.ts +20 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.js +60 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.d.ts +2 -1
- package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.js +22 -6
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +10 -4
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +319 -275
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -5
- package/lib/src/brand-page-maker/convertors/text-css-style-options.convertor.js +6 -2
- package/lib/src/brand-page-maker/convertors/text-size-value.convertor.d.ts +1 -1
- package/lib/src/brand-page-maker/convertors/text-size-value.convertor.js +3 -1
- package/lib/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.js +7 -14
- package/lib/src/brand-page-maker/default-getters/text-color.default-getter.js +6 -13
- package/lib/src/brand-page-maker/models/content-settings.d.ts +8 -0
- package/lib/src/brand-page-maker/models/content-settings.js +112 -81
- package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.d.ts +2 -2
- package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.js +5 -2
- package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.js +4 -3
- package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +1257 -117
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +9 -2
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +20 -0
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +21 -0
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +6 -1
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +17 -9
- package/lib/src/brand-page-maker/stores/history/history-store.d.ts +59 -5
- package/lib/src/brand-page-maker/stores/history/history-store.js +22 -2
- package/lib/src/brand-page-maker/utils/apply-color-strategy.js +26 -8
- package/lib/src/brand-page-maker/utils/index.d.ts +2 -1
- package/lib/src/brand-page-maker/utils/index.js +2 -1
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +117 -15
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +435 -281
- package/lib/src/brand-page-maker/utils/rte-authoring.util.d.ts +4 -0
- package/lib/src/brand-page-maker/utils/rte-authoring.util.js +101 -0
- package/lib/src/brand-page-maker/utils/rte-clipboard.util.d.ts +126 -0
- package/lib/src/brand-page-maker/utils/rte-clipboard.util.js +307 -0
- package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +13 -3
- package/lib/src/{bundled-translations-zfiA5Tsw.js → bundled-translations-yGrvPE5i.js} +17 -17
- package/lib/src/{bundled-translations.de-DE-ChsdSyAP.js → bundled-translations.de-DE-L4Znf8Hs.js} +17 -17
- package/lib/src/{bundled-translations.es-ES-DflsWQK0.js → bundled-translations.es-ES-D6iticrK.js} +15 -15
- package/lib/src/{bundled-translations.fr-CA-fpDRuZ52.js → bundled-translations.fr-CA-BgAVE-9k.js} +25 -25
- package/lib/src/{bundled-translations.fr-FR-Bub73Zt-.js → bundled-translations.fr-FR-B8GbyqxQ.js} +17 -17
- package/lib/src/{bundled-translations.pt-BR-BlnWE9TB.js → bundled-translations.pt-BR-DjPU3Db7.js} +25 -25
- package/lib/src/{bundled-translations.pt-PT-DmzXlnaS.js → bundled-translations.pt-PT-BaepaDpr.js} +23 -23
- package/lib/src/bundles/bundled-translations.de-DE.json +21 -2
- package/lib/src/bundles/bundled-translations.es-ES.json +21 -2
- package/lib/src/bundles/bundled-translations.fr-CA.json +21 -2
- package/lib/src/bundles/bundled-translations.fr-FR.json +21 -2
- package/lib/src/bundles/bundled-translations.json +21 -2
- package/lib/src/bundles/bundled-translations.pt-BR.json +21 -2
- package/lib/src/bundles/bundled-translations.pt-PT.json +21 -2
- package/lib/src/clients/ai-assistant-client.d.ts +7 -1
- package/lib/src/clients/ai-assistant-client.js +7 -15
- package/lib/src/composables/useTranslate.d.ts +1 -1
- package/lib/src/composables/useTranslate.js +1 -1
- package/lib/src/css/library.brand-page-brandCrowd.min.css +284 -188
- package/lib/src/css/library.brand-page-brandPage.min.css +284 -188
- package/lib/src/css/library.brand-page-designCom.min.css +284 -188
- package/lib/src/css/library.brand-page-preview.min.css +284 -188
- package/lib/src/index.d.ts +2 -1
- package/lib/src/index.mjs +195 -191
- package/lib/src/{lib-7gtW85nE.js → lib-kGRlD3_P.js} +39082 -36131
- package/lib/src/lib.js +2 -1
- package/lib/src/metadata-builder/builders/footer-builder.js +4 -5
- package/lib/src/metadata-builder/builders/global-role-propagation.d.ts +58 -0
- package/lib/src/metadata-builder/builders/global-role-propagation.js +246 -0
- package/lib/src/metadata-builder/builders/global-styles-builder.d.ts +1 -0
- package/lib/src/metadata-builder/builders/global-styles-builder.js +116 -45
- package/lib/src/metadata-builder/builders/header-builder.js +13 -4
- package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +3 -3
- package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +3 -3
- package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +3 -3
- package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +4 -4
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +3 -3
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +2 -2
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +2 -2
- package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +4 -4
- package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +3 -3
- package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +8 -2
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +2 -2
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +60 -29
- package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
- package/lib/src/metadata-builder/builders/section-field-utils.d.ts +48 -19
- package/lib/src/metadata-builder/builders/section-field-utils.js +128 -52
- package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.d.ts +4 -2
- package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.js +28 -12
- package/lib/src/metadata-builder/builders/section-rules/social-links.rules.js +5 -1
- package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +1 -1
- package/lib/src/metadata-builder/helpers/rte.helpers.js +97 -40
- package/lib/src/metadata-builder/metadata-executor.js +23 -1
- package/lib/src/metadata-builder/models.d.ts +2 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +18 -19
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +18 -1
- package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +1 -1
- package/lib/src/metadata-builder/sanitizers/sanitizer-rules.d.ts +0 -1
- package/lib/src/metadata-builder/sanitizers/sanitizer-rules.js +5 -8
- package/lib/src/metadata-builder/sanitizers/section-args-validator.d.ts +7 -16
- package/lib/src/metadata-builder/sanitizers/section-args-validator.js +95 -22
- package/lib/src/shared/color-palette/section-color-matches.js +9 -25
- package/lib/src/shared/color-strategies/color-strategies.d.ts +15 -0
- package/lib/src/shared/color-strategies/color-strategies.js +31 -0
- package/lib/src/shared/color-strategies/rte-color.d.ts +8 -0
- package/lib/src/shared/color-strategies/rte-color.js +16 -0
- package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +23 -0
- package/lib/src/shared/color-strategies/rte-field-pairs.js +28 -0
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +9 -135
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +1 -27
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +12 -2
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +7 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +75 -6
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +18 -7
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +6 -1
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -7
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +22 -0
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +8 -4
- package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +1255 -26
- package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.js +203 -59
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +6 -0
- package/lib/src/shared/content-settings/store/content-settings-store.js +105 -8
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +26 -1
- package/lib/src/shared/navigation-style-settings/store/index.d.ts +7 -3
- package/lib/src/shared/navigation-style-settings/store/index.js +40 -15
- package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +1 -0
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +38 -5
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +91 -13
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +10 -2
- package/lib/src/shared/page-settings/store/page-settings-store.d.ts +2 -1
- package/lib/src/shared/page-settings/store/page-settings-store.js +17 -0
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +32 -1
- package/lib/src/shared/rte-extensions/AutoLink.d.ts +17 -0
- package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.js +67 -51
- package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.js +4 -1
- package/lib/src/shared/rte-extensions/TextEffects.d.ts +28 -0
- package/lib/src/shared/rte-extensions/TextEffects.js +96 -0
- package/lib/src/shared/rte-extensions/ViewDomParser.d.ts +2 -0
- package/lib/src/shared/rte-extensions/ViewDomParser.js +21 -0
- package/lib/src/shared/rte-extensions.util.d.ts +25 -0
- package/lib/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.js → shared/rte-extensions.util.js} +62 -7
- package/lib/src/shared/rte-link.util.d.ts +1 -0
- package/lib/src/shared/rte-link.util.js +1 -0
- package/lib/src/shared/rte-render.util.d.ts +112 -0
- package/lib/src/shared/rte-render.util.js +255 -0
- package/lib/src/shared/rte-shape.util.d.ts +6 -0
- package/lib/src/shared/rte-shape.util.js +18 -0
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +23 -1
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
- package/lib/src/shared/side-bar/store/side-bar-store.d.ts +2 -0
- package/lib/src/shared/side-bar/store/side-bar-store.js +9 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +176 -15
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +7 -1
- package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -9
- package/lib/src/shared/style-settings/store/style-settings-store.js +3 -33
- package/lib/src/shared/style-settings/text-style-size-order.d.ts +2 -0
- package/lib/src/shared/style-settings/text-style-size-order.js +13 -0
- package/lib/src/shared/text-role-typography.util.d.ts +64 -0
- package/lib/src/shared/text-role-typography.util.js +183 -0
- package/lib/src/utils/minify-brand-page-metadata.d.ts +16 -1
- package/lib/src/utils/minify-brand-page-metadata.js +31 -9
- package/package.json +1 -1
- package/src/brand-page/__fixtures__/migration-22-v21/edited-brandsite-sections.v21.json +982 -0
- package/src/brand-page/__fixtures__/migration-22-v21/new-brandcontact-every-section.v21.json +1231 -0
- package/src/brand-page/__fixtures__/migration-22-v21/new-brandpage-every-section.v21.json +1231 -0
- package/src/brand-page/__fixtures__/migration-22-v21/new-brandsite-every-section.v21.json +1243 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandcontact.v21.json +755 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-general-link.v21.json +527 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-links.v21.json +755 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-social-links.v21.json +514 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-about.v21.json +459 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-footer.v21.json +469 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-header-banner.v21.json +481 -0
- package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-sections.v21.json +800 -0
- package/src/brand-page/__fixtures__/production-text-style-resolver.fixture.ts +52 -0
- package/src/brand-page/components/about-section/AboutSection.vue.test.ts +0 -10
- package/src/brand-page/components/contact-form/ContactForm.mixin.test.ts +127 -0
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +31 -14
- package/src/brand-page/components/contact-form/ContactForm.vue +26 -12
- package/src/brand-page/components/contact-form/ContactForm.vue.test.ts +60 -0
- package/src/brand-page/components/mailing-list/MailingList.mixin.test.ts +92 -0
- package/src/brand-page/components/mailing-list/MailingList.mixin.ts +28 -3
- package/src/brand-page/components/mailing-list/MailingList.vue +9 -4
- package/src/brand-page/components/mailing-list/MailingList.vue.test.ts +63 -0
- package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.ts +51 -1
- package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.test.ts +114 -0
- package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.vue +8 -2
- package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.test.ts +182 -0
- package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +58 -12
- package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +40 -3
- package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue +15 -7
- package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue.test.ts +133 -3
- package/src/brand-page/components/page/Page.mixin.ts +41 -34
- package/src/brand-page/components/page/Page.vue +17 -6
- package/src/brand-page/components/page/Page.vue.test.ts +91 -1
- package/src/brand-page/components/page-footer/PageFooter.mixin.ts +32 -2
- package/src/brand-page/components/page-footer/PageFooter.test.ts +79 -0
- package/src/brand-page/components/page-footer/PageFooter.vue +12 -4
- package/src/brand-page/components/payment/Payment.mixin.ts +34 -2
- package/src/brand-page/components/payment/Payment.test.ts +188 -0
- package/src/brand-page/components/payment/Payment.vue +12 -5
- package/src/brand-page/components/payment/RequestPaymentStripe.vue +1 -0
- package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +49 -2
- package/src/brand-page/components/payment/support-me/SupportMe.test.ts +100 -0
- package/src/brand-page/components/payment/support-me/SupportMe.vue +7 -1
- package/src/brand-page/components/payment/support-me/SupportMe.vue.test.ts +66 -0
- package/src/brand-page/components/save-contact/SaveContactWidget.test.ts +100 -0
- package/src/brand-page/components/save-contact/SaveContactWidget.vue +6 -3
- package/src/brand-page/components/shop/PaymentModal.vue +2 -6
- package/src/brand-page/components/shop/PaymentShippingAddress.vue +6 -0
- package/src/brand-page/components/shop/Shop.vue +15 -2
- package/src/brand-page/components/shop/Shop.vue.test.ts +74 -2
- package/src/brand-page/components/social-links/SocialLinks.stories.ts +0 -3
- package/src/brand-page/components/social-links/SocialLinks.vue.test.ts +0 -3
- package/src/brand-page/components/testimonial-section/__fixtures__/data.ts +0 -3
- package/src/brand-page/components/text/Text.stories.ts +0 -17
- package/src/brand-page/components/text-wrapper/TextWrapper.parity.test.ts +136 -0
- package/src/brand-page/components/text-wrapper/TextWrapper.test.ts +358 -0
- package/src/brand-page/components/text-wrapper/TextWrapper.vue +82 -22
- package/src/brand-page/constants/font.constants.ts +37 -0
- package/src/brand-page/models/brand-page-context.model.ts +13 -0
- package/src/brand-page/models/footer-icon-color.test.ts +22 -0
- package/src/brand-page/models/index.ts +50 -28
- package/src/brand-page/models/navigation-styles.model.test.ts +77 -1
- package/src/brand-page/models/navigation-styles.model.ts +26 -9
- package/src/brand-page/models/payment.model.ts +15 -6
- package/src/brand-page/models/styles.model.test.ts +104 -0
- package/src/brand-page/models/styles.model.ts +181 -47
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +619 -115
- package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +150 -9
- package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +300 -18
- package/src/brand-page/utils/color-palette.util.test.ts +126 -1
- package/src/brand-page/utils/color-palette.util.ts +92 -26
- package/src/brand-page/utils/color.util.test.ts +62 -29
- package/src/brand-page/utils/color.util.ts +77 -14
- package/src/brand-page/utils/container-text-color.util.test.ts +672 -26
- package/src/brand-page/utils/container-text-color.util.ts +472 -46
- package/src/brand-page/utils/index.ts +1 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/edited-brandsite-sections.v22.json +1191 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandcontact-every-section.v22.json +2026 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandpage-every-section.v22.json +2017 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandsite-every-section.v22.json +2031 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandcontact.v22.json +1145 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-general-link.v22.json +645 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-links.v22.json +1136 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-social-links.v22.json +662 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-about.v22.json +638 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-footer.v22.json +610 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-header-banner.v22.json +660 -0
- package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-sections.v22.json +1132 -0
- package/src/brand-page/utils/migration/migration-01.ts +293 -237
- package/src/brand-page/utils/migration/migration-02.ts +8 -1
- package/src/brand-page/utils/migration/migration-20.ts +6 -3
- package/src/brand-page/utils/migration/migration-20_5.test.ts +5 -2
- package/src/brand-page/utils/migration/migration-21.test.ts +34 -0
- package/src/brand-page/utils/migration/migration-21.ts +46 -10
- package/src/brand-page/utils/migration/migration-22.fixed-input.test.ts +43 -0
- package/src/brand-page/utils/migration/migration-22.test.ts +4103 -0
- package/src/brand-page/utils/migration/migration-22.text-font-family.test.ts +72 -0
- package/src/brand-page/utils/migration/migration-22.ts +1336 -0
- package/src/brand-page/utils/migration.util.test.ts +146 -32
- package/src/brand-page/utils/migration.util.ts +18 -0
- package/src/brand-page/utils/model.util.ts +4 -0
- package/src/brand-page/utils/personalisation.util.test.ts +148 -3
- package/src/brand-page/utils/personalisation.util.ts +9 -1
- package/src/brand-page/utils/rte-role-lift.util.ts +409 -0
- package/src/brand-page/utils/style.util.test.ts +35 -2
- package/src/brand-page/utils/style.util.ts +45 -11
- package/src/brand-page/utils/text-role-css.util.test.ts +525 -0
- package/src/brand-page/utils/text-role-css.util.ts +321 -0
- package/src/brand-page/utils/text-role-reconnect.util.test.ts +604 -0
- package/src/brand-page/utils/text-role-reconnect.util.ts +727 -0
- package/src/brand-page/utils/text-style.util.test.ts +305 -0
- package/src/brand-page/utils/text-style.util.ts +198 -24
- package/src/brand-page/utils/view-model.page-data.test.ts +232 -0
- package/src/brand-page/utils/view-model.util.test.ts +954 -133
- package/src/brand-page/utils/view-model.util.ts +187 -139
- package/src/brand-page/view-models.ts +4 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.blank-site.test.ts +57 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -5
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -10
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.ts +0 -1
- package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -44
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +253 -200
- package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.test.ts +82 -0
- package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.ts +19 -0
- package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +2 -0
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +19 -0
- package/src/brand-page-maker/composables/rich-text-editor/block-typography.test.ts +519 -0
- package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +1 -1
- package/src/brand-page-maker/composables/rich-text-editor/extensions/MaxLength.test.ts +26 -1
- package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.test.ts +110 -0
- package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.ts +99 -0
- package/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.ts +397 -0
- package/src/brand-page-maker/composables/rich-text-editor/extensions/ViewDomParser.test.ts +139 -0
- package/src/brand-page-maker/composables/rich-text-editor/font.ts +36 -5
- package/src/brand-page-maker/composables/rich-text-editor/formatting.test.ts +375 -1
- package/src/brand-page-maker/composables/rich-text-editor/formatting.ts +301 -17
- package/src/brand-page-maker/composables/rich-text-editor/hyperlink.test.ts +82 -1
- package/src/brand-page-maker/composables/rich-text-editor/hyperlink.ts +28 -34
- package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.test.ts +80 -0
- package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.ts +75 -0
- package/src/brand-page-maker/composables/rich-text-editor/spacing.ts +31 -6
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.test.ts +2485 -0
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +435 -337
- package/src/brand-page-maker/constants/config-settings-constant.ts +0 -6
- package/src/brand-page-maker/convertors/text-css-style-options.convertor.test.ts +43 -0
- package/src/brand-page-maker/convertors/text-css-style-options.convertor.ts +6 -2
- package/src/brand-page-maker/convertors/text-size-value.convertor.test.ts +24 -0
- package/src/brand-page-maker/convertors/text-size-value.convertor.ts +17 -13
- package/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.ts +7 -22
- package/src/brand-page-maker/default-getters/text-color.default-getter.ts +5 -21
- package/src/brand-page-maker/models/content-settings.test.ts +708 -0
- package/src/brand-page-maker/models/content-settings.ts +133 -82
- package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.test.ts +63 -1
- package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.ts +16 -3
- package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.test.ts +34 -0
- package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +4 -2
- package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +30 -0
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +185 -1
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +22 -34
- package/src/brand-page-maker/stores/history/history-store.ts +35 -2
- package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +528 -0
- package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +12 -0
- package/src/brand-page-maker/utils/apply-color-strategy.golden.test.ts +2 -0
- package/src/brand-page-maker/utils/apply-color-strategy.test.ts +181 -3
- package/src/brand-page-maker/utils/apply-color-strategy.ts +36 -4
- package/src/brand-page-maker/utils/index.ts +2 -1
- package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +447 -410
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +610 -506
- package/src/brand-page-maker/utils/rte-authoring.util.test.ts +244 -0
- package/src/brand-page-maker/utils/rte-authoring.util.ts +175 -0
- package/src/brand-page-maker/utils/rte-clipboard.util.test.ts +558 -0
- package/src/brand-page-maker/utils/rte-clipboard.util.ts +473 -0
- package/src/brand-page-maker/utils/rte-features.test.ts +99 -3
- package/src/brand-page-maker/utils/rte-render-parity.test.ts +1 -1
- package/src/brand-page-maker/utils/rte-render.util.test.ts +230 -0
- package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +1 -1
- package/src/brand-page-maker/utils/rte-sanitize.util.ts +14 -3
- package/src/brand-page-maker/utils/rte-schema-version.test.ts +102 -0
- package/src/bundles/bundled-translations.de-DE.json +21 -2
- package/src/bundles/bundled-translations.es-ES.json +21 -2
- package/src/bundles/bundled-translations.fr-CA.json +21 -2
- package/src/bundles/bundled-translations.fr-FR.json +21 -2
- package/src/bundles/bundled-translations.json +21 -2
- package/src/bundles/bundled-translations.pt-BR.json +21 -2
- package/src/bundles/bundled-translations.pt-PT.json +21 -2
- package/src/clients/ai-assistant-client.ts +13 -18
- package/src/composables/useTranslate.ts +2 -1
- package/src/lib.ts +2 -2
- package/src/metadata-builder/builders/footer-builder.test.ts +70 -45
- package/src/metadata-builder/builders/footer-builder.ts +4 -8
- package/src/metadata-builder/builders/global-role-propagation.test.ts +907 -0
- package/src/metadata-builder/builders/global-role-propagation.ts +430 -0
- package/src/metadata-builder/builders/global-styles-builder.test.ts +1020 -0
- package/src/metadata-builder/builders/global-styles-builder.ts +194 -48
- package/src/metadata-builder/builders/header-builder.test.ts +112 -40
- package/src/metadata-builder/builders/header-builder.ts +18 -8
- package/src/metadata-builder/builders/section-builders/about-section-builder.ts +5 -3
- package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +5 -3
- package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +5 -3
- package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +7 -4
- package/src/metadata-builder/builders/section-builders/images-section-builder.ts +5 -3
- package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +3 -2
- package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +3 -2
- package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +7 -7
- package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +5 -3
- package/src/metadata-builder/builders/section-builders/social-links-builder.test.ts +2 -2
- package/src/metadata-builder/builders/section-builders/social-links-builder.ts +21 -10
- package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +10 -0
- package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +3 -2
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +111 -61
- package/src/metadata-builder/builders/section-field-maps.ts +1 -0
- package/src/metadata-builder/builders/section-field-utils.test.ts +545 -2
- package/src/metadata-builder/builders/section-field-utils.ts +202 -69
- package/src/metadata-builder/builders/section-rules/global-styles.rules.ts +38 -13
- package/src/metadata-builder/builders/section-rules/social-links.rules.ts +5 -0
- package/src/metadata-builder/helpers/rte.helpers.test.ts +101 -0
- package/src/metadata-builder/helpers/rte.helpers.ts +129 -43
- package/src/metadata-builder/metadata-executor.test.ts +167 -0
- package/src/metadata-builder/metadata-executor.ts +34 -1
- package/src/metadata-builder/models.ts +2 -0
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +23 -7
- package/src/metadata-builder/parsers/section-tool-arguments.ts +21 -1
- package/src/metadata-builder/sanitizers/__tests__/section-args-validator.test.ts +215 -0
- package/src/metadata-builder/sanitizers/rte-schema-check.ts +1 -1
- package/src/metadata-builder/sanitizers/sanitizer-rules.ts +4 -8
- package/src/metadata-builder/sanitizers/section-args-validator.ts +136 -53
- package/src/shared/color-palette/section-color-matches.test.ts +15 -11
- package/src/shared/color-palette/section-color-matches.ts +9 -28
- package/src/shared/color-strategies/color-strategies.ts +35 -0
- package/src/shared/color-strategies/rte-color.test.ts +1 -1
- package/src/shared/color-strategies/rte-color.ts +19 -0
- package/src/shared/color-strategies/rte-field-pairs.test.ts +26 -5
- package/src/shared/color-strategies/rte-field-pairs.ts +33 -0
- package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.test.ts +43 -66
- package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.vue +7 -1
- package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -48
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +33 -7
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.test.ts +128 -1
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -6
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.test.ts +56 -3
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +11 -4
- package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.test.ts +335 -25
- package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.ts +248 -70
- package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +113 -25
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.de-DE.json +17 -10
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.es-ES.json +17 -10
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-CA.json +17 -10
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-FR.json +17 -10
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.json +8 -1
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-BR.json +17 -10
- package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-PT.json +17 -10
- package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.test.ts +141 -0
- package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.vue +136 -0
- package/src/shared/content-settings/store/content-settings-store.test.ts +491 -6
- package/src/shared/content-settings/store/content-settings-store.ts +159 -17
- package/src/shared/navigation-style-settings/store/index.test.ts +295 -0
- package/src/shared/navigation-style-settings/store/index.ts +65 -15
- package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.test.ts +44 -4
- package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.vue +13 -4
- package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.navigation.test.ts +89 -0
- package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.text-style.test.ts +91 -0
- package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +14 -2
- package/src/shared/page-settings/store/page-settings-store.text-style.test.ts +84 -0
- package/src/shared/page-settings/store/page-settings-store.ts +30 -1
- package/src/shared/rte-extensions/AutoLink.test.ts +98 -0
- package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.ts +87 -58
- package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.ts +4 -1
- package/src/shared/rte-extensions/TextEffects.ts +151 -0
- package/src/shared/rte-extensions/ViewDomParser.ts +27 -0
- package/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.ts → shared/rte-extensions.util.ts} +66 -9
- package/src/shared/rte-link.util.ts +2 -0
- package/src/shared/rte-render.util.ts +385 -0
- package/src/shared/rte-shape.util.ts +29 -0
- package/src/shared/side-bar/store/side-bar-store.test.ts +27 -1
- package/src/shared/side-bar/store/side-bar-store.ts +11 -0
- package/src/shared/style-settings/components/StyleSettings.mixin.ts +7 -3
- package/src/shared/style-settings/components/StyleSettings.test.ts +116 -0
- package/src/shared/style-settings/components/StyleSettings.vue +74 -25
- package/src/shared/style-settings/components/i18n/style-settings.de-DE.json +32 -20
- package/src/shared/style-settings/components/i18n/style-settings.es-ES.json +32 -20
- package/src/shared/style-settings/components/i18n/style-settings.fr-CA.json +32 -20
- package/src/shared/style-settings/components/i18n/style-settings.fr-FR.json +32 -20
- package/src/shared/style-settings/components/i18n/style-settings.json +13 -3
- package/src/shared/style-settings/components/i18n/style-settings.pt-BR.json +32 -20
- package/src/shared/style-settings/components/i18n/style-settings.pt-PT.json +32 -20
- package/src/shared/style-settings/components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue +14 -34
- package/src/shared/style-settings/store/style-settings-store.ts +3 -49
- package/src/shared/style-settings/text-style-size-order.test.ts +76 -0
- package/src/shared/style-settings/text-style-size-order.ts +28 -0
- package/src/shared/text-role-typography.util.ts +277 -0
- package/src/utils/minify-brand-page-metadata.test.ts +102 -7
- package/src/utils/minify-brand-page-metadata.ts +62 -8
- package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/AutoLink.d.ts +0 -2
- package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +0 -28
- package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +0 -63
- package/lib/src/brand-page-maker/utils/rte-render.util.js +0 -106
- package/lib/src/brand-page-maker/utils/rte-shape.d.ts +0 -18
- package/lib/src/brand-page-maker/utils/rte-shape.js +0 -21
- package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +0 -41
- package/lib/src/metadata-builder/builders/global-font-propagation.js +0 -146
- package/src/brand-page/models/brand-page-context.model.test.ts +0 -38
- package/src/brand-page-maker/utils/rte-render.util.ts +0 -179
- package/src/brand-page-maker/utils/rte-shape.ts +0 -29
- package/src/clients/ai-assistant-client.test.ts +0 -135
- package/src/metadata-builder/builders/global-font-propagation.test.ts +0 -401
- package/src/metadata-builder/builders/global-font-propagation.ts +0 -238
- package/src/shared/style-settings/components/StyleSettingsSection.vue +0 -8
- /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.d.ts +0 -0
- /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.js +0 -0
- /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.d.ts +0 -0
- /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.js +0 -0
- /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.d.ts +0 -0
- /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.ts +0 -0
- /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
|
-
|
|
12
|
-
|
|
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
|
-
</
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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
|
-
"
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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"
|
|
4
|
-
"headings"
|
|
5
|
-
"paragraphs"
|
|
6
|
-
"buttons"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
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
|
|
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
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
|
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
|
-
|
|
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>
|