@designcrowd/library.brand-page 5.19.1-error-html2canvas-1 → 5.19.1-error-html2canvas-3

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 (361) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CxCJU9cc.js → CreatedOnBrandCrowd-de-de-BPP1Wtpt.js} +3 -3
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-zDJCWP5n.js → CreatedOnBrandCrowd-en-us-BlfpQiIg.js} +3 -3
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DNna1Sh9.js → CreatedOnBrandCrowd-es-es-Tldy_pIo.js} +3 -3
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-C5XVf_hD.js → CreatedOnBrandCrowd-fr-ca-CHmb3VQE.js} +3 -3
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-C5XVf_hD.js → CreatedOnBrandCrowd-fr-fr-CHmb3VQE.js} +3 -3
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-9eUHV_M3.js → CreatedOnBrandCrowd-pt-br-XbU3eK3Z.js} +3 -3
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-9eUHV_M3.js → CreatedOnBrandCrowd-pt-pt-XbU3eK3Z.js} +3 -3
  8. package/lib/src/{CreatedOnDcom-de-de-D9HMpK8Q.js → CreatedOnDcom-de-de-BVMFbVbI.js} +3 -3
  9. package/lib/src/{CreatedOnDcom-en-us-BCTkchV5.js → CreatedOnDcom-en-us--kaKb1kI.js} +3 -3
  10. package/lib/src/{CreatedOnDcom-es-es-B0N7VoTp.js → CreatedOnDcom-es-es-XXVLpF2I.js} +3 -3
  11. package/lib/src/{CreatedOnDcom-fr-ca-Gi4oz_Mm.js → CreatedOnDcom-fr-ca-D-7vtMZ5.js} +3 -3
  12. package/lib/src/{CreatedOnDcom-fr-fr-DJI8eJo1.js → CreatedOnDcom-fr-fr-CM9oQk77.js} +3 -3
  13. package/lib/src/{CreatedOnDcom-pt-br-YNWMAuQf.js → CreatedOnDcom-pt-br-VVgu3BEa.js} +3 -3
  14. package/lib/src/{CreatedOnDcom-pt-pt-DCIIK3sy.js → CreatedOnDcom-pt-pt-CWhA8Vla.js} +3 -3
  15. package/lib/src/brand-page/clients/brand-page.client.d.ts +9 -9
  16. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.d.ts +103 -0
  17. package/lib/src/brand-page/components/banner-section/BannerSection.mixin.js +178 -0
  18. package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +0 -1
  19. package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.d.ts +4 -2
  20. package/lib/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.js +1 -0
  21. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +4 -2
  22. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +5 -4
  23. package/lib/src/brand-page/components/page/Page.mixin.d.ts +1 -1
  24. package/lib/src/brand-page/components/page/PageComponent.mixin.d.ts +1 -1
  25. package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +3 -3
  26. package/lib/src/brand-page/components/payment/__fixtures__/request-payment.d.ts +13 -13
  27. package/lib/src/brand-page/components/payment/__fixtures__/support-me.d.ts +13 -13
  28. package/lib/src/brand-page/constants/sections/footer-display.constants.js +1 -1
  29. package/lib/src/brand-page/models/index.d.ts +2 -1
  30. package/lib/src/brand-page/models/index.js +3 -0
  31. package/lib/src/brand-page/models/payment.model.d.ts +1 -1
  32. package/lib/src/brand-page/utils/personalisation.util.js +72 -14
  33. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +21 -19
  34. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +1 -0
  35. package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +16 -10
  36. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +3 -3
  37. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +181 -170
  38. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +3 -0
  39. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  40. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +12 -12
  41. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.js +2 -2
  42. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.js +0 -7
  43. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +148 -149
  44. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +21 -21
  45. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.js +1 -1
  46. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.d.ts +4 -2
  47. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.js +1 -0
  48. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +4 -2
  49. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.js +1 -0
  50. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.d.ts +5 -2
  51. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.js +1 -0
  52. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.d.ts +4 -2
  53. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.js +1 -0
  54. package/lib/src/brand-page-maker/components/device/Device.mixin.d.ts +4 -2
  55. package/lib/src/brand-page-maker/components/device/Device.mixin.js +1 -0
  56. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +4 -2
  57. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +1 -0
  58. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +3 -3
  59. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +11 -11
  60. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +27 -25
  61. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.js +1 -0
  62. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +27 -27
  63. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +1 -1
  64. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +17 -12
  65. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +12 -12
  66. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +30 -32
  67. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +16 -5
  68. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +11 -11
  69. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +1 -1
  70. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
  71. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -6
  72. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +2 -2
  73. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +6 -6
  74. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -1
  75. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.d.ts +1 -1
  76. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.js +1 -1
  77. package/lib/src/brand-page-maker/models/content-settings.d.ts +1 -1
  78. package/lib/src/brand-page-maker/models/navigation-style-configs.js +1 -1
  79. package/lib/src/brand-page-maker/routing/brand-page-maker-router.d.ts +1 -2
  80. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +366 -360
  81. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +5 -4
  82. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -5
  83. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +3 -1
  84. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +7 -3
  85. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +15 -15
  86. package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +6 -0
  87. package/lib/src/brand-page-maker/stores/ui/ui-store.js +8 -0
  88. package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
  89. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +1 -1
  90. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +4 -4
  91. package/lib/src/clients/brand-page-client.d.ts +16 -15
  92. package/lib/src/clients/design-template-client.d.ts +3 -0
  93. package/lib/src/clients/media-client.d.ts +2 -2
  94. package/lib/src/clients/models.d.ts +2 -0
  95. package/lib/src/css/library.brand-page-brandCrowd.min.css +342 -324
  96. package/lib/src/css/library.brand-page-brandPage.min.css +620 -324
  97. package/lib/src/css/library.brand-page-designCom.min.css +342 -324
  98. package/lib/src/css/library.brand-page-preview.min.css +598 -324
  99. package/lib/src/index.d.ts +1 -1
  100. package/lib/src/index.mjs +16 -15
  101. package/lib/src/{lib-CaY174HB.js → lib-yEV1yYI5.js} +35293 -32254
  102. package/lib/src/lib.js +1 -1
  103. package/lib/src/metadata-builder/builders/footer-builder.js +103 -70
  104. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +1 -1
  105. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +1 -1
  106. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +1 -1
  107. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +1 -1
  108. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +7 -0
  109. package/lib/src/metadata-builder/builders/section-field-utils.js +1 -1
  110. package/lib/src/metadata-builder/builders/shape-color-utils.js +1 -1
  111. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +3 -3
  112. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
  113. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
  114. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
  115. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
  116. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
  117. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
  118. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
  119. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
  120. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
  121. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
  122. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
  123. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +131 -129
  124. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
  125. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +111 -110
  126. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +84 -81
  127. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
  128. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +117 -109
  129. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
  130. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
  131. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +72 -70
  132. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
  133. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
  134. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
  135. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
  136. package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
  137. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
  138. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
  139. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
  140. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
  141. package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
  142. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
  143. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
  144. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
  145. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
  146. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  147. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
  148. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
  149. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
  150. package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
  151. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
  152. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
  153. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +39 -39
  154. package/lib/src/shared/content-settings/utils.js +0 -1
  155. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
  156. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
  157. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
  158. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
  159. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
  160. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
  161. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
  162. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
  163. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
  164. package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
  165. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
  166. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
  167. package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
  168. package/lib/src/shared/models.d.ts +2 -0
  169. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
  170. package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
  171. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
  172. package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
  173. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
  174. package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
  175. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
  176. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
  177. package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
  178. package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
  179. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
  180. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
  181. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +188 -177
  182. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +181 -175
  183. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
  184. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
  185. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
  186. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
  187. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
  188. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
  189. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
  190. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
  191. package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
  192. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
  193. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
  194. package/lib/src/shared/template-settings/models.d.ts +1 -0
  195. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
  196. package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
  197. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
  198. package/package.json +61 -57
  199. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
  200. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
  201. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
  202. package/src/brand-page/components/image/Image.mixin.ts +1 -1
  203. package/src/brand-page/components/image/Image.test.ts +1 -1
  204. package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
  205. package/src/brand-page/components/logo/LogoRender.vue +188 -188
  206. package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
  207. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +15 -6
  208. package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
  209. package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
  210. package/src/brand-page/components/page-header/PageHeader.vue +1 -0
  211. package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
  212. package/src/brand-page/components/shop/CartModal.vue +1 -3
  213. package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
  214. package/src/brand-page/components/shop/PaymentModal.vue +1 -5
  215. package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
  216. package/src/brand-page/components/shop/Shop.vue +1 -1
  217. package/src/brand-page/components/shop/TextDisplay.vue +1 -1
  218. package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
  219. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +3 -3
  220. package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
  221. package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
  222. package/src/brand-page/models/index.ts +4 -0
  223. package/src/brand-page/models/payment.model.ts +2 -1
  224. package/src/brand-page/models/shop.model.ts +0 -2
  225. package/src/brand-page/models/user-personalisation.model.ts +1 -2
  226. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -0
  227. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +1 -0
  228. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +2 -0
  229. package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
  230. package/src/brand-page/utils/migration/migration-02.ts +0 -1
  231. package/src/brand-page/utils/migration/migration-03.ts +0 -1
  232. package/src/brand-page/utils/migration/migration-04.ts +0 -1
  233. package/src/brand-page/utils/migration/migration-05.ts +1 -5
  234. package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
  235. package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
  236. package/src/brand-page/utils/personalisation.util.test.ts +35 -0
  237. package/src/brand-page/utils/personalisation.util.ts +119 -23
  238. package/src/brand-page/view-models.ts +38 -56
  239. package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
  240. package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
  241. package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
  242. package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
  243. package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
  244. package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
  245. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +1 -0
  246. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +5 -1
  247. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  248. package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
  249. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
  250. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
  251. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
  252. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
  253. package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
  254. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
  255. package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
  256. package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
  257. package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
  258. package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
  259. package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
  260. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
  261. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
  262. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
  263. package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
  264. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
  265. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
  266. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
  267. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
  268. package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
  269. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
  270. package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
  271. package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
  272. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
  273. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
  274. package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
  275. package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
  276. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -1
  277. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
  278. package/src/brand-page-maker/constants/config-settings-constant.ts +3 -3
  279. package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
  280. package/src/brand-page-maker/models/button-styles-config.ts +4 -2
  281. package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
  282. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
  283. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
  284. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
  285. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
  286. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +12 -4
  287. package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
  288. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  289. package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
  290. package/src/clients/design-template-client.ts +3 -0
  291. package/src/clients/models.ts +2 -0
  292. package/src/lib.ts +1 -0
  293. package/src/metadata-builder/builders/footer-builder.test.ts +200 -1
  294. package/src/metadata-builder/builders/footer-builder.ts +151 -95
  295. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +1 -1
  296. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +1 -1
  297. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -1
  298. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +1 -1
  299. package/src/metadata-builder/builders/section-field-utils.ts +1 -1
  300. package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
  301. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +3 -3
  302. package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
  303. package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
  304. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
  305. package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
  306. package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
  307. package/src/shared/common/NumberInput.vue +1 -0
  308. package/src/shared/common/SideBarSettingsHeader.vue +2 -2
  309. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
  310. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
  311. package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
  312. package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
  313. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
  314. package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
  315. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
  316. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
  317. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
  318. package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
  319. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
  320. package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
  321. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
  322. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
  323. package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
  324. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
  325. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
  326. package/src/shared/content-settings/models.ts +3 -2
  327. package/src/shared/content-settings/utils.ts +0 -1
  328. package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
  329. package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
  330. package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
  331. package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
  332. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
  333. package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
  334. package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
  335. package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
  336. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
  337. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
  338. package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
  339. package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
  340. package/src/shared/models.ts +6 -0
  341. package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
  342. package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
  343. package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
  344. package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
  345. package/src/shared/my-uploads/models.ts +1 -2
  346. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
  347. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
  348. package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
  349. package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
  350. package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
  351. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
  352. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
  353. package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
  354. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
  355. package/src/shared/shape-library/ShapeLibrary.vue +2 -2
  356. package/src/shared/style-settings/store/style-settings-store.ts +1 -1
  357. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
  358. package/src/shared/template-settings/models.ts +1 -0
  359. package/src/shared/template-settings/store/template-settings-store.ts +105 -18
  360. package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
  361. package/src/shared/video-library/VideoLibrary.vue +1 -1
@@ -14,6 +14,7 @@ import * as DesignTemplateClient from '../../../clients/design-template-client';
14
14
  import { type DesignTemplate } from '../../../clients/models';
15
15
  import {
16
16
  BP_DEFAULT_TEMPLATE_TYPE_NAME,
17
+ BP_BRAND_SITE_TEMPLATE_TYPE_NAME,
17
18
  SIDE_BAR_TAB_NAMES,
18
19
  } from '@brand-page-maker/constants';
19
20
  import { defineStore, storeToRefs } from 'pinia';
@@ -32,6 +33,7 @@ import {
32
33
  useUiEditableLogoStore,
33
34
  useUiLogoSettingsStore,
34
35
  } from '../../logo-settings/store';
36
+ import { useEventTracker } from '@brand-page-maker/composables/useEventTracker';
35
37
  import {
36
38
  templateSettingsTr,
37
39
  getCurrentLocale,
@@ -39,6 +41,17 @@ import {
39
41
  import { watch } from 'vue';
40
42
 
41
43
  export const DEFAULT_PAGE_SIZE = 6;
44
+
45
+ const POST_PURCHASE_PAGE_SECTION_BY_TAB: Record<string, string> = {
46
+ [TEMPLATE_TABS.all]: 'MakerPostPurchaseSidebarTemplatesAllTab',
47
+ [TEMPLATE_TABS.AI]: 'MakerPostPurchaseSidebarTemplatesAiTab',
48
+ [TEMPLATE_TABS.categories]: 'MakerPostPurchaseSidebarTemplatesCategoryTab',
49
+ };
50
+
51
+ const PRE_PURCHASE_PAGE_SECTION_BY_TAB: Record<string, string> = {
52
+ [TEMPLATE_TABS.all]: 'MakerPrePurchaseSidebarTemplatesAllTab',
53
+ [TEMPLATE_TABS.categories]: 'MakerPrePurchaseSidebarTemplatesCategoryTab',
54
+ };
42
55
  const LOAD_PAGE_RETRY_DELAY = 250;
43
56
 
44
57
  type SelectedTabType = {
@@ -66,6 +79,7 @@ export interface TemplatesSettingState {
66
79
  tabsWithTranslations: SelectedTabType[];
67
80
  logoChangeWatcherInitialized: boolean;
68
81
  initialSearchTerm: string | undefined;
82
+ aiTemplateKeywords: string | undefined;
69
83
  onSearchTermChanged: OnSearchTermChangedCallback | undefined;
70
84
  }
71
85
 
@@ -103,6 +117,7 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
103
117
  cachedTemplates: {},
104
118
  logoChangeWatcherInitialized: false,
105
119
  initialSearchTerm: undefined,
120
+ aiTemplateKeywords: undefined,
106
121
  onSearchTermChanged: undefined,
107
122
  };
108
123
  },
@@ -302,22 +317,60 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
302
317
  const editableLogoVariation =
303
318
  editableLogoStore.editableLogoVariations[logoVariation];
304
319
 
320
+ const isPrePurchase = brandPageContainerStore.isPrePurchase;
321
+ const isBrandSite =
322
+ this.templateType === BP_BRAND_SITE_TEMPLATE_TYPE_NAME;
323
+
324
+ // Pre-purchase has no logo draft for logo-based recommendation, so fall back to the seeded
325
+ // search term (the keyword from the URL/cookie - never the business name) so the All tab
326
+ // stays relevant instead of generic (bp-5454).
327
+ const effectiveSearchTerm =
328
+ !this.searchTerm &&
329
+ !this.selectedCategory &&
330
+ isPrePurchase &&
331
+ isBrandSite &&
332
+ this.selectedTab.key === TEMPLATE_TABS.all
333
+ ? this.initialSearchTerm
334
+ : this.searchTerm;
335
+
336
+ const pageSection = isBrandSite
337
+ ? (isPrePurchase
338
+ ? PRE_PURCHASE_PAGE_SECTION_BY_TAB
339
+ : POST_PURCHASE_PAGE_SECTION_BY_TAB)[this.selectedTab.key]
340
+ : undefined;
341
+
342
+ const pageName = isBrandSite
343
+ ? isPrePurchase
344
+ ? 'maker-pre-purchase'
345
+ : 'maker'
346
+ : undefined;
347
+
348
+ const baseParams = {
349
+ page: pageNo,
350
+ categoryName: this.selectedCategory,
351
+ searchTerm: effectiveSearchTerm,
352
+ keywords: this.aiTemplateKeywords,
353
+ logoDraftToken: logoSettingsStore.selectedLogoImage.logoDraftToken,
354
+ logoVariation: logoSettingsStore.selectedLogoImage.logoVariation,
355
+ selectedTemplateToken: designTemplateToken,
356
+ locale: currentLocale,
357
+ logoS3Token: !isByo ? editableLogoVariation.s3Token : undefined,
358
+ logoTemplateToken: isByo ? logoTemplateToken : undefined,
359
+ useLogoForRecommendedTemplates:
360
+ isBrandSite && this.selectedTab.key === TEMPLATE_TABS.all,
361
+ pageSection,
362
+ pageName,
363
+ };
364
+
365
+ // AI templates are interleaved server-side for the Brand Site All tab
366
+ // (bp-5306); the frontend just renders the returned order.
305
367
  const result =
306
368
  await designTemplateClient.getTemplateItemsByTemplateType(
307
369
  this.templateType,
308
370
  {
309
- page: pageNo,
371
+ ...baseParams,
310
372
  pageSize: DEFAULT_PAGE_SIZE,
311
- categoryName: this.selectedCategory,
312
- searchTerm: this.searchTerm,
313
- logoDraftToken:
314
- logoSettingsStore.selectedLogoImage.logoDraftToken,
315
- logoVariation: logoSettingsStore.selectedLogoImage.logoVariation,
316
373
  personalisable: this.selectedTab.key === TEMPLATE_TABS.AI,
317
- selectedTemplateToken: designTemplateToken,
318
- locale: currentLocale,
319
- logoS3Token: !isByo ? editableLogoVariation.s3Token : undefined,
320
- logoTemplateToken: isByo ? logoTemplateToken : undefined,
321
374
  },
322
375
  );
323
376
 
@@ -327,11 +380,27 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
327
380
 
328
381
  this._setPageCount({ pageCount: result.pageCount });
329
382
 
383
+ if (
384
+ pageNo === 1 &&
385
+ result.abTestValuesToBePushed &&
386
+ Object.keys(result.abTestValuesToBePushed).length > 0
387
+ ) {
388
+ const eventTracker = useEventTracker();
389
+
390
+ for (const [experimentName, experimentValue] of Object.entries(
391
+ result.abTestValuesToBePushed,
392
+ )) {
393
+ eventTracker.sendExperimentStartedEvent(
394
+ experimentName,
395
+ experimentValue,
396
+ );
397
+ }
398
+ }
399
+
330
400
  const templates = await Promise.all(
331
401
  result.paginatedItems.map(async (item) => {
332
402
  try {
333
403
  if (brandPageMakerUserStore.isAdmin) {
334
- // Pre-purchase: full template with brandPageModel for live rendering
335
404
  const template =
336
405
  await designTemplateClient.getTemplateByTemplateToken(
337
406
  item.designTemplateToken,
@@ -349,17 +418,24 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
349
418
  uiStore.personalisationData.length,
350
419
  );
351
420
 
352
- // Get the contentKey from the selected personalisation variation
353
- // This is needed for the backend preview URL to show the correct variation
354
- const selectedPersonalisation =
355
- uiStore.personalisationData[personalisationContentIndex];
356
-
357
- contentKey = selectedPersonalisation.contentKey;
421
+ contentKey =
422
+ uiStore.personalisationData[personalisationContentIndex]
423
+ .contentKey;
424
+ } else if (item.isPersonalisable) {
425
+ // Pre-purchase has no personalisationData; personalise AI
426
+ // template previews with the prompt content key (bp-5742).
427
+ contentKey = uiStore.userPromptContentKey;
358
428
  }
359
429
 
360
430
  return {
361
431
  id: item.designTemplateToken,
432
+ isPersonalisable: item.isPersonalisable,
362
433
  contentKey,
434
+ // A userPromptContentKey signals this design's real AI images live
435
+ // in the userPrompt bucket (post- or pre-purchase). The preview must
436
+ // then resolve via userPromptContentKey, not the regular bucket which
437
+ // holds placeholders post-purchase (bp-5454).
438
+ usesUserPromptContentKey: !!uiStore.userPromptContentKey,
363
439
  previewImageUrl: item.previewImageUrl,
364
440
  } as TemplateSettingsTemplate;
365
441
  }
@@ -374,7 +450,15 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
374
450
  (t): t is TemplateSettingsTemplate => t !== null,
375
451
  );
376
452
 
377
- this._addTemplates({ templates: validTemplates });
453
+ // The Categories tab must never surface AI templates or the AI badge
454
+ // (bp-5454 scenario 5). The badge is driven purely by isPersonalisable,
455
+ // so clear it for category results regardless of the template's catalog flag.
456
+ const displayTemplates =
457
+ this.selectedTab.key === TEMPLATE_TABS.categories
458
+ ? validTemplates.map((t) => ({ ...t, isPersonalisable: false }))
459
+ : validTemplates;
460
+
461
+ this._addTemplates({ templates: displayTemplates });
378
462
  this._setPageNoLoaded({ pageNoLoaded: pageNo });
379
463
  } finally {
380
464
  this._setIsBusy({ isBusy: false });
@@ -496,6 +580,9 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
496
580
  this.initialSearchTerm = payload.initialSearchTerm;
497
581
  this.onSearchTermChanged = payload.onSearchTermChanged;
498
582
  },
583
+ setAiTemplateKeywords(payload: { aiTemplateKeywords: string }) {
584
+ this.aiTemplateKeywords = payload.aiTemplateKeywords;
585
+ },
499
586
  notifySearchTermChanged(searchTerm: string | undefined) {
500
587
  this.onSearchTermChanged?.(searchTerm);
501
588
  },
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
  <p class="tw-mt-4 tw-text-xs tw-text-grayscale-600">
105
105
  {{ tr('poweredBy') }}
106
- <a
106
+ <a
107
107
  href="https://unsplash.com"
108
108
  class="maker-anchor tw-no-underline"
109
109
  >Unsplash</a
@@ -114,11 +114,7 @@ class="maker-anchor tw-no-underline"
114
114
  <script>
115
115
  import UnsplashLibraryMixin from './UnsplashLibrary.mixin.ts';
116
116
  import { Button, Loader, TextInput } from '@designcrowd/fe-shared-lib';
117
- import {
118
- tr,
119
- commonTr,
120
- unsplashImageCategoriesTr,
121
- } from '@src/composables/useTranslate';
117
+ import { tr, commonTr } from '@src/composables/useTranslate';
122
118
 
123
119
  export default {
124
120
  components: {
@@ -151,7 +151,7 @@ interface Props {
151
151
  isMobile?: boolean;
152
152
  }
153
153
 
154
- const props = withDefaults(defineProps<Props>(), {
154
+ withDefaults(defineProps<Props>(), {
155
155
  isMobile: false,
156
156
  });
157
157