@designcrowd/library.brand-page 6.0.5 → 6.0.6-ast-bugs

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 (395) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-DhzvKlTS.js → CreatedOnBrandCrowd-de-de-SHCspMwS.js} +3 -3
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DKH4lmNV.js → CreatedOnBrandCrowd-en-us-C6lITAAT.js} +3 -3
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-RloPCLuV.js → CreatedOnBrandCrowd-es-es-Uh69c4vZ.js} +3 -3
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-Cu9e2H0K.js → CreatedOnBrandCrowd-fr-ca-Bb0rp7BV.js} +3 -3
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-Cu9e2H0K.js → CreatedOnBrandCrowd-fr-fr-Bb0rp7BV.js} +3 -3
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-CiCnjxBZ.js → CreatedOnBrandCrowd-pt-br-DsrQHcjs.js} +3 -3
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-CiCnjxBZ.js → CreatedOnBrandCrowd-pt-pt-DsrQHcjs.js} +3 -3
  8. package/lib/src/{CreatedOnDcom-de-de-CwlnedFV.js → CreatedOnDcom-de-de-BshZYzSp.js} +3 -3
  9. package/lib/src/{CreatedOnDcom-en-us-DFHex61v.js → CreatedOnDcom-en-us-CLu8mKUW.js} +3 -3
  10. package/lib/src/{CreatedOnDcom-es-es-BTxH6I4V.js → CreatedOnDcom-es-es-BZYhkONd.js} +3 -3
  11. package/lib/src/{CreatedOnDcom-fr-ca-BVw0KYxu.js → CreatedOnDcom-fr-ca-CIaBEp_9.js} +3 -3
  12. package/lib/src/{CreatedOnDcom-fr-fr-DaqNz1Er.js → CreatedOnDcom-fr-fr-dyF7hioJ.js} +3 -3
  13. package/lib/src/{CreatedOnDcom-pt-br-B4KsMI8W.js → CreatedOnDcom-pt-br-CUHjk2du.js} +3 -3
  14. package/lib/src/{CreatedOnDcom-pt-pt-CWoHEtOZ.js → CreatedOnDcom-pt-pt-CWDvQidv.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 +1 -2
  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 +11 -5
  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 -13
  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-background-settings/ShapePositionSlider.mixin.d.ts +1 -1
  37. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +3 -3
  38. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +181 -170
  39. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +3 -0
  40. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  41. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +12 -12
  42. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.js +2 -2
  43. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.js +0 -7
  44. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +148 -149
  45. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +21 -21
  46. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.js +1 -1
  47. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.d.ts +4 -2
  48. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.js +1 -0
  49. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +4 -2
  50. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.js +1 -0
  51. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.d.ts +5 -2
  52. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.js +1 -0
  53. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.d.ts +4 -2
  54. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.js +1 -0
  55. package/lib/src/brand-page-maker/components/device/Device.mixin.d.ts +4 -2
  56. package/lib/src/brand-page-maker/components/device/Device.mixin.js +1 -0
  57. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +4 -2
  58. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +1 -0
  59. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +3 -3
  60. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +11 -11
  61. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +27 -25
  62. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.js +1 -0
  63. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +27 -27
  64. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +1 -1
  65. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +17 -12
  66. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +12 -12
  67. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +30 -32
  68. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +16 -5
  69. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +11 -11
  70. package/lib/src/brand-page-maker/composables/ai-chat/types.d.ts +3 -0
  71. package/lib/src/brand-page-maker/composables/ai-chat/ui-actions.d.ts +29 -0
  72. package/lib/src/brand-page-maker/composables/ai-chat/ui-actions.js +32 -0
  73. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +204 -177
  74. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
  75. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -6
  76. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +3 -2
  77. package/lib/src/brand-page-maker/composables/useEventTracker.js +1 -0
  78. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +6 -6
  79. package/lib/src/brand-page-maker/constants/config-settings-constant.js +3 -3
  80. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.d.ts +1 -1
  81. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.js +1 -1
  82. package/lib/src/brand-page-maker/models/content-settings.d.ts +1 -1
  83. package/lib/src/brand-page-maker/models/navigation-style-configs.js +1 -1
  84. package/lib/src/brand-page-maker/routing/brand-page-maker-router.d.ts +1 -2
  85. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +366 -378
  86. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +5 -4
  87. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -5
  88. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +3 -1
  89. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +7 -3
  90. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +15 -15
  91. package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +6 -0
  92. package/lib/src/brand-page-maker/stores/ui/ui-store.js +8 -0
  93. package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
  94. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +1 -1
  95. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +4 -4
  96. package/lib/src/clients/ai-assistant-client.d.ts +7 -0
  97. package/lib/src/clients/brand-page-client.d.ts +16 -15
  98. package/lib/src/clients/design-template-client.d.ts +3 -0
  99. package/lib/src/clients/media-client.d.ts +2 -2
  100. package/lib/src/clients/models.d.ts +2 -0
  101. package/lib/src/composables/useSnapshot.js +18 -18
  102. package/lib/src/css/library.brand-page-brandCrowd.min.css +371 -344
  103. package/lib/src/css/library.brand-page-brandPage.min.css +649 -344
  104. package/lib/src/css/library.brand-page-designCom.min.css +371 -344
  105. package/lib/src/css/library.brand-page-preview.min.css +627 -344
  106. package/lib/src/index.d.ts +4 -0
  107. package/lib/src/index.mjs +107 -104
  108. package/lib/src/{lib-BPI8E2Ui.js → lib-COw-Rz05.js} +37005 -33761
  109. package/lib/src/lib.js +10 -0
  110. package/lib/src/metadata-builder/builders/footer-builder.js +105 -62
  111. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +68 -57
  112. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +93 -58
  113. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +99 -66
  114. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +17 -57
  115. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +85 -51
  116. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +74 -49
  117. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +7 -0
  118. package/lib/src/metadata-builder/builders/section-field-utils.js +1 -1
  119. package/lib/src/metadata-builder/builders/shape-color-utils.js +1 -1
  120. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +7 -16
  121. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +48 -66
  122. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
  123. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
  124. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
  125. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
  126. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
  127. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
  128. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
  129. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
  130. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
  131. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
  132. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
  133. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +131 -129
  134. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
  135. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +111 -110
  136. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +84 -81
  137. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
  138. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +117 -109
  139. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
  140. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
  141. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +72 -70
  142. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
  143. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
  144. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
  145. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
  146. package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
  147. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
  148. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
  149. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
  150. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
  151. package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
  152. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
  153. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
  154. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
  155. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
  156. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  157. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
  158. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
  159. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
  160. package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
  161. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
  162. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
  163. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +39 -39
  164. package/lib/src/shared/content-settings/utils.js +0 -1
  165. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
  166. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
  167. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
  168. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
  169. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
  170. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
  171. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
  172. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
  173. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
  174. package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
  175. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
  176. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
  177. package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
  178. package/lib/src/shared/models.d.ts +2 -0
  179. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
  180. package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
  181. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
  182. package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
  183. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
  184. package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
  185. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
  186. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
  187. package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
  188. package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
  189. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
  190. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
  191. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +188 -179
  192. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +181 -177
  193. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
  194. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
  195. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
  196. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
  197. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
  198. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
  199. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
  200. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
  201. package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
  202. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
  203. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
  204. package/lib/src/shared/template-settings/models.d.ts +1 -0
  205. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
  206. package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
  207. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
  208. package/lib/src/utils/build-asset-manifest.d.ts +4 -0
  209. package/lib/src/utils/build-asset-manifest.js +8 -0
  210. package/lib/src/utils/minify-brand-page-metadata.d.ts +0 -2
  211. package/lib/src/utils/minify-brand-page-metadata.js +2 -17
  212. package/package.json +60 -56
  213. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
  214. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
  215. package/src/brand-page/components/banner-section/BannerSection.vue +5 -1
  216. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
  217. package/src/brand-page/components/image/Image.mixin.ts +1 -1
  218. package/src/brand-page/components/image/Image.test.ts +1 -1
  219. package/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.ts +1 -2
  220. package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
  221. package/src/brand-page/components/logo/LogoRender.vue +188 -188
  222. package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
  223. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +25 -8
  224. package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
  225. package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
  226. package/src/brand-page/components/page-header/PageHeader.vue +1 -0
  227. package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
  228. package/src/brand-page/components/shop/CartModal.vue +1 -3
  229. package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
  230. package/src/brand-page/components/shop/PaymentModal.vue +1 -5
  231. package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
  232. package/src/brand-page/components/shop/Shop.vue +1 -5
  233. package/src/brand-page/components/shop/TextDisplay.vue +1 -1
  234. package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
  235. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +3 -3
  236. package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
  237. package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
  238. package/src/brand-page/models/index.ts +4 -12
  239. package/src/brand-page/models/payment.model.ts +2 -1
  240. package/src/brand-page/models/shop.model.ts +0 -2
  241. package/src/brand-page/models/user-personalisation.model.ts +1 -2
  242. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -0
  243. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +1 -0
  244. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +2 -0
  245. package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
  246. package/src/brand-page/utils/migration/migration-02.ts +0 -1
  247. package/src/brand-page/utils/migration/migration-03.ts +0 -1
  248. package/src/brand-page/utils/migration/migration-04.ts +0 -1
  249. package/src/brand-page/utils/migration/migration-05.ts +1 -5
  250. package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
  251. package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
  252. package/src/brand-page/utils/personalisation.util.test.ts +35 -0
  253. package/src/brand-page/utils/personalisation.util.ts +119 -23
  254. package/src/brand-page/view-models.ts +38 -56
  255. package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
  256. package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
  257. package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
  258. package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
  259. package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
  260. package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
  261. package/src/brand-page-maker/components/ai-text-edit/AiActionButtons.vue +27 -12
  262. package/src/brand-page-maker/components/ai-text-edit/AiChatbox.vue +3 -2
  263. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +8 -7
  264. package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +21 -1
  265. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +5 -1
  266. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  267. package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
  268. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
  269. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
  270. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
  271. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
  272. package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
  273. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
  274. package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
  275. package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
  276. package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
  277. package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
  278. package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
  279. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
  280. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
  281. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
  282. package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
  283. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
  284. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
  285. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
  286. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
  287. package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
  288. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
  289. package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
  290. package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
  291. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
  292. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
  293. package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
  294. package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
  295. package/src/brand-page-maker/composables/ai-chat/types.ts +6 -0
  296. package/src/brand-page-maker/composables/ai-chat/ui-actions.test.ts +80 -0
  297. package/src/brand-page-maker/composables/ai-chat/ui-actions.ts +58 -0
  298. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +308 -262
  299. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
  300. package/src/brand-page-maker/composables/useEventTracker.ts +1 -0
  301. package/src/brand-page-maker/constants/config-settings-constant.ts +5 -5
  302. package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
  303. package/src/brand-page-maker/models/button-styles-config.ts +4 -2
  304. package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
  305. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
  306. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
  307. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
  308. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
  309. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +12 -4
  310. package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
  311. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  312. package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
  313. package/src/clients/ai-assistant-client.ts +7 -0
  314. package/src/clients/design-template-client.ts +3 -0
  315. package/src/clients/models.ts +2 -0
  316. package/src/composables/useSnapshot.ts +19 -22
  317. package/src/lib.ts +12 -0
  318. package/src/metadata-builder/builders/footer-builder.test.ts +130 -229
  319. package/src/metadata-builder/builders/footer-builder.ts +155 -90
  320. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +88 -62
  321. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +129 -66
  322. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +160 -105
  323. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +20 -65
  324. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +146 -83
  325. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +122 -70
  326. package/src/metadata-builder/builders/section-field-utils.ts +1 -1
  327. package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
  328. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +7 -16
  329. package/src/metadata-builder/parsers/section-tool-arguments.ts +48 -66
  330. package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
  331. package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
  332. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
  333. package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
  334. package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
  335. package/src/shared/common/NumberInput.vue +1 -0
  336. package/src/shared/common/SideBarSettingsHeader.vue +2 -2
  337. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
  338. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
  339. package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
  340. package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
  341. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
  342. package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
  343. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
  344. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
  345. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
  346. package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
  347. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
  348. package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
  349. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
  350. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
  351. package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
  352. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
  353. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
  354. package/src/shared/content-settings/models.ts +3 -2
  355. package/src/shared/content-settings/utils.ts +0 -1
  356. package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
  357. package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
  358. package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
  359. package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
  360. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
  361. package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
  362. package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
  363. package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
  364. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
  365. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
  366. package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
  367. package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
  368. package/src/shared/models.ts +6 -0
  369. package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
  370. package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
  371. package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
  372. package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
  373. package/src/shared/my-uploads/models.ts +1 -2
  374. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
  375. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
  376. package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
  377. package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
  378. package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
  379. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
  380. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
  381. package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
  382. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
  383. package/src/shared/shape-library/ShapeLibrary.vue +2 -2
  384. package/src/shared/style-settings/store/style-settings-store.ts +1 -1
  385. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
  386. package/src/shared/template-settings/models.ts +1 -0
  387. package/src/shared/template-settings/store/template-settings-store.ts +105 -18
  388. package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
  389. package/src/shared/video-library/VideoLibrary.vue +1 -1
  390. package/src/utils/build-asset-manifest.ts +12 -0
  391. package/src/utils/minify-brand-page-metadata.ts +7 -27
  392. package/lib/src/metadata-builder/builders/item-id-utils.d.ts +0 -54
  393. package/lib/src/metadata-builder/builders/item-id-utils.js +0 -96
  394. package/src/metadata-builder/builders/item-id-utils.test.ts +0 -184
  395. package/src/metadata-builder/builders/item-id-utils.ts +0 -117
@@ -36,7 +36,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
36
36
  toggleExpanded(pageId: string): void;
37
37
  isExpanded(pageId: string): boolean;
38
38
  expandSubPageIfCurrentPage(): void;
39
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close-side-menu"[], "close-side-menu", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
40
  context: {
41
41
  type: PropType<BrandPageContext>;
42
42
  required: true;
@@ -53,5 +53,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
53
53
  type: PropType<NavigationDesktop | NavigationMobile>;
54
54
  required: true;
55
55
  };
56
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
56
+ }>> & Readonly<{
57
+ "onClose-side-menu"?: ((...args: any[]) => any) | undefined;
58
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
59
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import { defineComponent } from 'vue';
2
+ import { isUnsetOrTransparentColor } from '../../../models';
2
3
  export default defineComponent({
3
4
  props: {
4
5
  context: {
@@ -18,6 +19,7 @@ export default defineComponent({
18
19
  required: true,
19
20
  },
20
21
  },
22
+ emits: ['close-side-menu'],
21
23
  data() {
22
24
  return {
23
25
  expandedItems: {}, // Keep track of which navs are expanded
@@ -41,15 +43,15 @@ export default defineComponent({
41
43
  },
42
44
  // Prevents us from doubling down on em sizing of font
43
45
  defaultWrapperStyle() {
44
- const { fontSize, lineHeight, letterSpacing, ...rest } = this.defaultButtonStyle;
46
+ const { fontSize: _fontSize, lineHeight: _lineHeight, letterSpacing: _letterSpacing, ...rest } = this.defaultButtonStyle;
45
47
  return rest;
46
48
  },
47
49
  selectedWrapperStyle() {
48
- const { fontSize, lineHeight, letterSpacing, ...rest } = this.selectedButtonStyle;
50
+ const { fontSize: _fontSize, lineHeight: _lineHeight, letterSpacing: _letterSpacing, ...rest } = this.selectedButtonStyle;
49
51
  return rest;
50
52
  },
51
53
  routes() {
52
- return this.visibleNavItems.map((navItem, i) => {
54
+ return this.visibleNavItems.map((navItem, _i) => {
53
55
  return {
54
56
  routeName: navItem.routeName,
55
57
  routeParams: navItem.routeParams,
@@ -74,12 +76,16 @@ export default defineComponent({
74
76
  const baseStyle = isActive
75
77
  ? this.selectedButtonStyle
76
78
  : this.defaultButtonStyle;
79
+ const subNavBackgroundColor = this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff';
80
+ // An active sub-page uses the selected button colour, but when that colour
81
+ // is transparent/unset it must keep the sub-nav background colour rather
82
+ // than rendering transparent (BP-5751).
77
83
  return {
78
84
  ...baseStyle,
79
85
  paddingLeft: '32px',
80
- backgroundColor: isActive
86
+ backgroundColor: isActive && !isUnsetOrTransparentColor(baseStyle.backgroundColor)
81
87
  ? baseStyle.backgroundColor
82
- : this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff',
88
+ : subNavBackgroundColor,
83
89
  };
84
90
  },
85
91
  closeSideMenu() {
@@ -145,8 +145,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
145
145
  }>, {
146
146
  viewport: ViewportsType;
147
147
  isMobileDevice: boolean;
148
- containerClientHeight: number | undefined;
149
148
  containerClientWidth: number | undefined;
149
+ containerClientHeight: number | undefined;
150
150
  isContentSelected: boolean;
151
151
  isHeaderSelected: boolean;
152
152
  isFooterSelected: boolean;
@@ -78,7 +78,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  }>> & Readonly<{}>, {
79
79
  brandPageToken: string;
80
80
  isMobileDevice: boolean;
81
- containerClientHeight: number;
82
81
  containerClientWidth: number;
82
+ containerClientHeight: number;
83
83
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
84
84
  export default _default;
@@ -23,7 +23,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  required: true;
24
24
  };
25
25
  viewModel: {
26
- type: PropType<SupportMeViewModel | RequestPaymentViewModel>;
26
+ type: PropType<RequestPaymentViewModel | SupportMeViewModel>;
27
27
  required: true;
28
28
  };
29
29
  paymentConfig: {
@@ -42,7 +42,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
42
42
  readonly CheckoutStripe: "checkout-stripe";
43
43
  readonly Success: "success";
44
44
  };
45
- cart: CreateCartResult<unknown> | null | undefined;
45
+ cart: CreateCartResult<unknown> | undefined | null;
46
46
  isCollapsed: boolean;
47
47
  isPaymentConfigActive: boolean;
48
48
  state: State;
@@ -78,7 +78,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  required: true;
79
79
  };
80
80
  viewModel: {
81
- type: PropType<SupportMeViewModel | RequestPaymentViewModel>;
81
+ type: PropType<RequestPaymentViewModel | SupportMeViewModel>;
82
82
  required: true;
83
83
  };
84
84
  paymentConfig: {
@@ -3,33 +3,33 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
- isMobile?: boolean | undefined;
6
+ isMobile?: boolean;
7
7
  isDesignCom: boolean;
8
8
  isProduction: boolean;
9
9
  isServerRender: boolean;
10
10
  brandPageSlug: string;
11
- brandPageToken?: string | undefined;
12
- pages?: import("../../../view-models").PageViewModel[] | undefined;
11
+ brandPageToken?: string;
12
+ pages?: import("../../../view-models").PageViewModel[];
13
13
  nav: import("../../../view-models").NavViewModel;
14
- currentPageRelativePath?: string | undefined;
14
+ currentPageRelativePath?: string;
15
15
  runtimeEnvironment: string;
16
16
  recaptchaSiteKey: string | undefined;
17
17
  pageTitle: string;
18
18
  customDomain: string | undefined;
19
- brandPageType: "default" | "brandSite" | "brandContact";
19
+ brandPageType: import("../../../models").BrandPageType;
20
20
  isBrandPage: boolean;
21
21
  isBrandPageOrIsBrandContact: boolean;
22
22
  isBrandSite: boolean;
23
23
  isBrandContact: boolean;
24
24
  options?: {
25
- disableNavigationSideMenu?: boolean | undefined;
26
- mediaSizes?: "size1x" | "size2x" | "sizeThumb" | undefined;
27
- renderVideoAsImage?: boolean | undefined;
28
- shouldPlayVideos?: boolean | undefined;
29
- enableSaveContact?: boolean | undefined;
30
- } | undefined;
31
- abTests?: import("../../../models").AbTest | undefined;
25
+ disableNavigationSideMenu?: boolean;
26
+ mediaSizes?: import("../../../models").MediaSizes;
27
+ renderVideoAsImage?: boolean;
28
+ shouldPlayVideos?: boolean;
29
+ enableSaveContact?: boolean;
30
+ };
31
+ abTests?: import("../../../models").AbTest;
32
32
  isCapturingPreview: boolean;
33
- disableLogoRenderOnServerside?: boolean | undefined;
33
+ disableLogoRenderOnServerside?: boolean;
34
34
  };
35
35
  export declare const viewModel: RequestPaymentViewModel;
@@ -3,33 +3,33 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
- isMobile?: boolean | undefined;
6
+ isMobile?: boolean;
7
7
  isDesignCom: boolean;
8
8
  isProduction: boolean;
9
9
  isServerRender: boolean;
10
10
  brandPageSlug: string;
11
- brandPageToken?: string | undefined;
12
- pages?: import("../../../view-models").PageViewModel[] | undefined;
11
+ brandPageToken?: string;
12
+ pages?: import("../../../view-models").PageViewModel[];
13
13
  nav: import("../../../view-models").NavViewModel;
14
- currentPageRelativePath?: string | undefined;
14
+ currentPageRelativePath?: string;
15
15
  runtimeEnvironment: string;
16
16
  recaptchaSiteKey: string | undefined;
17
17
  pageTitle: string;
18
18
  customDomain: string | undefined;
19
- brandPageType: "default" | "brandSite" | "brandContact";
19
+ brandPageType: import("../../../models").BrandPageType;
20
20
  isBrandPage: boolean;
21
21
  isBrandPageOrIsBrandContact: boolean;
22
22
  isBrandSite: boolean;
23
23
  isBrandContact: boolean;
24
24
  options?: {
25
- disableNavigationSideMenu?: boolean | undefined;
26
- mediaSizes?: "size1x" | "size2x" | "sizeThumb" | undefined;
27
- renderVideoAsImage?: boolean | undefined;
28
- shouldPlayVideos?: boolean | undefined;
29
- enableSaveContact?: boolean | undefined;
30
- } | undefined;
31
- abTests?: import("../../../models").AbTest | undefined;
25
+ disableNavigationSideMenu?: boolean;
26
+ mediaSizes?: import("../../../models").MediaSizes;
27
+ renderVideoAsImage?: boolean;
28
+ shouldPlayVideos?: boolean;
29
+ enableSaveContact?: boolean;
30
+ };
31
+ abTests?: import("../../../models").AbTest;
32
32
  isCapturingPreview: boolean;
33
- disableLogoRenderOnServerside?: boolean | undefined;
33
+ disableLogoRenderOnServerside?: boolean;
34
34
  };
35
35
  export declare const viewModel: SupportMeViewModel;
@@ -1,5 +1,5 @@
1
1
  import { ALIGN_CENTERED, ALIGN_JUSTIFIED } from '../misc.constants';
2
- import { tr, commonTr } from '@src/composables/useTranslate';
2
+ import { commonTr } from '@src/composables/useTranslate';
3
3
  export const FOOTER_DISPLAY = {
4
4
  /** @deprecated */
5
5
  ALIGN_CENTERED, // mapped to CENTERED
@@ -42,7 +42,7 @@ export declare const GALLERY_TYPES: {
42
42
  readonly masonry: "masonry";
43
43
  };
44
44
  export type GalleryType = keyof typeof GALLERY_TYPES;
45
- export declare const availableGalleryTypes: ("grid" | "carousel" | "masonry")[];
45
+ export declare const availableGalleryTypes: GalleryType[];
46
46
  export declare class GalleryStyles {
47
47
  galleryType: GalleryType;
48
48
  constructor(option?: Partial<GalleryStyles>);
@@ -110,13 +110,6 @@ export interface ImageContent extends Content {
110
110
  height?: number;
111
111
  }
112
112
  export interface ImageItem {
113
- /**
114
- * Stable per-item identifier. Mirrors the section-level `Content.id` one
115
- * level deeper so AI tool calls can reference items by id rather than by
116
- * positional index. Optional for backward compatibility with persisted data
117
- * that predates item ids — backfilled on load (see ensureItemIds).
118
- */
119
- id?: string;
120
113
  imageUrl: string;
121
114
  imageTitle: string;
122
115
  width: number;
@@ -318,8 +311,6 @@ export interface ShapeItem extends ImageItem {
318
311
  paragraphOverride?: string;
319
312
  }
320
313
  export interface TestimonialItems {
321
- /** Stable per-item identifier. See ImageItem.id. */
322
- id?: string;
323
314
  imageUrl: string;
324
315
  name: string;
325
316
  position: string;
@@ -334,8 +325,6 @@ export interface TestimonialItems {
334
325
  positionOverride?: string;
335
326
  }
336
327
  export interface TextItem {
337
- /** Stable per-item identifier. See ImageItem.id. */
338
- id?: string;
339
328
  text: string;
340
329
  textStyle: TextStyleDeclaration;
341
330
  textOverride?: string;
@@ -396,7 +385,6 @@ export interface AboutSectionContent extends Content {
396
385
  size?: string;
397
386
  }
398
387
  export interface LinksItem {
399
- id?: string;
400
388
  imageUrl: string;
401
389
  url: string;
402
390
  size?: string;
@@ -559,6 +547,7 @@ export interface SaveContactOptions {
559
547
  }
560
548
  export declare class BrandPageModel {
561
549
  v: number;
550
+ userPromptContentKey?: string;
562
551
  styles: PageStyles;
563
552
  /** @deprecated */
564
553
  headerStyles?: AbstractPageHeaderStyles;
@@ -400,6 +400,9 @@ export class PageFooterMobile extends AbstractPageFooterStyles {
400
400
  export class BrandPageModel {
401
401
  // Model version
402
402
  v;
403
+ // AI personalisation key persisted with the draft so previews survive login/checkout-back/
404
+ // refresh - content is retrieved by this token (user-agnostic), not regenerated (bp-5742).
405
+ userPromptContentKey;
403
406
  styles;
404
407
  /** @deprecated */
405
408
  headerStyles;
@@ -50,7 +50,7 @@ export interface StripePaymentIntent {
50
50
  currency: string;
51
51
  }
52
52
  export declare const isStripePaymentIntent: (value: any) => value is StripePaymentIntent;
53
- export interface CreateCartResult<T> {
53
+ export interface CreateCartResult<T = unknown> {
54
54
  cartId: string;
55
55
  paymentProviderName: string;
56
56
  paymentProviderExternalId: string;
@@ -206,15 +206,59 @@ const getPersonalisationValueAsync = async (section, property) => {
206
206
  }
207
207
  return { value: propertyValue, section };
208
208
  };
209
+ // The userPrompt AI content generation only populates these content-bearing sections
210
+ // (see GenerateAiDesignMakerContentService / GenerateWebsiteContentService - About,
211
+ // Information, Profile, Media). Sections like email/website/phone are never generated, so
212
+ // blocks whose role points at an ungenerated section fall back to this pool.
213
+ const PERSONALISATION_FALLBACK_ROLES = [
214
+ 'profile',
215
+ 'about',
216
+ 'information',
217
+ 'media',
218
+ ];
219
+ // "Effectively empty" = no renderable content (ungenerated userPrompt sections like
220
+ // email/website/phone). A section that has data but lacks one property is NOT empty - it
221
+ // intentionally keeps its original content.
222
+ const isSectionEffectivelyEmpty = (section) => {
223
+ if (!section) {
224
+ return true;
225
+ }
226
+ return (!section.title &&
227
+ !section.name &&
228
+ !section.url &&
229
+ !section.description &&
230
+ !section.descriptionShort &&
231
+ !section.ctaTitle &&
232
+ !section.imageUrls?.length &&
233
+ !section.shapes?.length &&
234
+ !section.items?.length &&
235
+ !section.mainShapesCollection?.tall?.length &&
236
+ !section.mainShapesCollection?.square?.length &&
237
+ !section.mainShapesCollection?.wide?.length);
238
+ };
239
+ // Resolve a property from a specific role's section. Returns null when that section is
240
+ // ungenerated (effectively empty) or cannot supply the property, so the caller can try the
241
+ // next role.
242
+ const resolvePersonalisationValueForRoleAsync = async (role, property, personalisation) => {
243
+ const key = `${role}Section`;
244
+ const section = personalisation[key];
245
+ if (isSectionEffectivelyEmpty(section)) {
246
+ return null;
247
+ }
248
+ const { value, section: updatedSection, valuesToUpdate, } = await getPersonalisationValueAsync(section, property);
249
+ if (value === undefined || value === null) {
250
+ return null;
251
+ }
252
+ return {
253
+ value,
254
+ personalisation: { ...personalisation, [key]: updatedSection },
255
+ valuesToUpdate,
256
+ };
257
+ };
209
258
  const getPersonalisationValueFromPropertyAsync = async (propertyKey, propertyValue, personalisationRole, personalisationOverride, personalisation, contentType) => {
210
259
  if (!personalisationRole || personalisationOverride === 'none') {
211
260
  return { value: undefined, personalisation };
212
261
  }
213
- const matchingValue = Object.entries(personalisation).find(([key]) => key === `${personalisationRole}Section`);
214
- if (!matchingValue) {
215
- return { value: undefined, personalisation };
216
- }
217
- const section = matchingValue[1];
218
262
  const mapping = getPersonalisationMappingForContentType(contentType);
219
263
  const matchingProperty = Object.entries(mapping).find(([, value]) => value.includes(propertyKey));
220
264
  if (!matchingProperty) {
@@ -225,15 +269,29 @@ const getPersonalisationValueFromPropertyAsync = async (propertyKey, propertyVal
225
269
  brandPageType: personalisation.type,
226
270
  isSvgShape: typeof propertyValue === 'string' && propertyValue.endsWith('.svg'),
227
271
  });
228
- const { value, section: updatedSection, valuesToUpdate, } = await getPersonalisationValueAsync(section, property);
229
- return {
230
- value,
231
- personalisation: {
232
- ...personalisation,
233
- [`${personalisationRole}Section`]: updatedSection,
234
- },
235
- valuesToUpdate,
236
- };
272
+ const primaryKey = `${personalisationRole}Section`;
273
+ const primarySection = personalisation[primaryKey];
274
+ // When the block's own section has content, use it as-is - this preserves existing
275
+ // behaviour, including legitimately keeping the original when that section lacks a
276
+ // specific property (e.g. no items, or an invalid shape).
277
+ if (!isSectionEffectivelyEmpty(primarySection)) {
278
+ const { value, section: updatedSection, valuesToUpdate, } = await getPersonalisationValueAsync(primarySection, property);
279
+ return {
280
+ value,
281
+ personalisation: { ...personalisation, [primaryKey]: updatedSection },
282
+ valuesToUpdate,
283
+ };
284
+ }
285
+ // The block's section was never generated - fall back to the first populated section that
286
+ // can supply this property, so it doesn't render the "should be AI generated" placeholder.
287
+ // Never reached when the section exists (above) or all are populated (AI Website Builder).
288
+ for (const role of PERSONALISATION_FALLBACK_ROLES) {
289
+ const resolved = await resolvePersonalisationValueForRoleAsync(role, property, personalisation);
290
+ if (resolved) {
291
+ return resolved;
292
+ }
293
+ }
294
+ return { value: undefined, personalisation };
237
295
  };
238
296
  const applyPersonalisationToBrandPageContentsRecursiveAsync = async (personalisation, mappingType, content, personalisationRole) => {
239
297
  let isApplied = false;
@@ -6,12 +6,12 @@ declare const _default: import("vue").DefineComponent<{}, {
6
6
  isBrandContact: import("vue").ComputedRef<boolean>;
7
7
  userStore: import("pinia").Store<"brandPageMakerUser", import("@brand-page-maker/stores").UserState, {}, {
8
8
  setUserState(payload: {
9
- emailAddress?: string | undefined;
10
- userToken?: string | undefined;
11
- isAdmin?: boolean | undefined;
12
- hasPremiumSubscription?: boolean | undefined;
13
- brandPageCommissionPercentage?: number | undefined;
14
- features?: Partial<import("../../../constants/ui").UIUserFeatures> | undefined;
9
+ emailAddress?: string;
10
+ userToken?: string;
11
+ isAdmin?: boolean;
12
+ hasPremiumSubscription?: boolean;
13
+ brandPageCommissionPercentage?: number;
14
+ features?: Partial<import("@brand-page-maker/stores").UserFeatures>;
15
15
  }): void;
16
16
  }>;
17
17
  brandPageMakerStore: import("pinia").Store<"brandPageMaker", import("@brand-page-maker/stores").BrandPageMakerState, {
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{}, {
22
22
  brandPageToken(): string | undefined;
23
23
  brandPageDescription(): string;
24
24
  brandPageSlug(): string;
25
- brandPageTemplate(): any;
25
+ brandPageTemplate(): import("@brand-page/models").BrandPageData;
26
26
  brandPageTitle(): string;
27
27
  brandPageViewModel(): import("../../../brand-page").BrandPageViewModel;
28
28
  gettyVideoIds(): string[];
@@ -37,7 +37,7 @@ declare const _default: import("vue").DefineComponent<{}, {
37
37
  showBrandCrowdLogo(): boolean;
38
38
  }, {
39
39
  setMode(payload: {
40
- mode: "images" | "edit";
40
+ mode: import("@brand-page-maker/stores").BrandPageSettingsMode;
41
41
  }): void;
42
42
  setFaviconUrl(payload: {
43
43
  faviconUrl: string | undefined;
@@ -81,7 +81,7 @@ declare const _default: import("vue").DefineComponent<{}, {
81
81
  enqueueContentErrorMessage(): void;
82
82
  dequeueNotificationMessageQueue(): void;
83
83
  setCurrentNotificationMessage(payload: {
84
- message: false | import("@brand-page-maker/stores").NotificationMessage;
84
+ message: import("@brand-page-maker/stores").NotificationMessage | false;
85
85
  }): void;
86
86
  setIsApplyingTemplate(payload: import("@brand-page-maker/stores").IsApplyingTemplatePayload): void;
87
87
  setIsPageNavigating(isPageNavigating: boolean): void;
@@ -100,9 +100,9 @@ declare const _default: import("vue").DefineComponent<{}, {
100
100
  applySelectedTemplate(): Promise<void>;
101
101
  enqueueErrorMessage(): Promise<void>;
102
102
  enqueueSaveSuccessMessage(payload?: {
103
- description?: string | undefined;
104
- isPublished?: boolean | undefined;
105
- noDescription?: boolean | undefined;
103
+ description?: string;
104
+ isPublished?: boolean;
105
+ noDescription?: boolean;
106
106
  }): Promise<void>;
107
107
  hideChangeTemplateConfirmModal(): void;
108
108
  onBackgroundChanged(): void;
@@ -118,16 +118,16 @@ declare const _default: import("vue").DefineComponent<{}, {
118
118
  content: TContent;
119
119
  }>(payload: P): Promise<void>;
120
120
  _captureTemplateSwitchIfEnabled(): void;
121
- applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
122
- _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
123
- _navigateToActivePage(activePageId?: string | undefined): void;
121
+ applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string, logoEditsStr?: string): Promise<void>;
122
+ _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string): Promise<void>;
123
+ _navigateToActivePage(activePageId?: string): void;
124
124
  _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page/models").BrandPageModel): void;
125
125
  export(): import("@brand-page/models").BrandPageModel;
126
126
  setBrandPageType({ brandPageType }: {
127
- brandPageType: "default" | "brandSite" | "brandContact";
127
+ brandPageType: import("@brand-page/models").BrandPageType;
128
128
  }): void;
129
129
  initialiseStoresByBrandPageModelAsync(brandPageModel: import("@brand-page/models").BrandPageModel): Promise<void>;
130
- initialise({ brandPage, brandPageType, logoDraftDesignAttributes, unsplashApplicationName, templateCategories, personalisationData, isPersonalisationEnabled, businessName, industry, layout, logoVariationImageUrls, shopConfigData, isServerRenderOverride, }: import("@brand-page-maker/stores").InitialisePayload): Promise<void>;
130
+ initialise({ brandPage, brandPageType, logoDraftDesignAttributes, unsplashApplicationName, templateCategories, personalisationData, isPersonalisationEnabled, userPromptContentKey, showAiTemplatesTab, businessName, industry, layout, logoVariationImageUrls, shopConfigData: _shopConfigData, isServerRenderOverride, }: import("@brand-page-maker/stores").InitialisePayload): Promise<void>;
131
131
  initialisePages({ pages, sections, }: {
132
132
  pages: import("@brand-page/models").PageModel[];
133
133
  sections: import("../../../shared/page-settings/store").PageSettingsStateSections;
@@ -155,11 +155,13 @@ declare const _default: import("vue").DefineComponent<{}, {
155
155
  viewport: import("@brand-page/models").ViewportsType;
156
156
  }): void;
157
157
  showStripeOnboardingModal(): Promise<void>;
158
- selectInitialCategories(payload: import("../../../shared/template-settings/models").InitialCategories): void;
158
+ selectInitialCategories(payload: import("@brand-page-maker/stores").SelectedCategoryPayload): void;
159
159
  }>;
160
160
  }, {}, {}, {
161
161
  saveBrandPage(): void;
162
162
  saveAndPublishBrandPage(isActionBar: boolean): void;
163
163
  createTeamCards(isTopNav: boolean): void;
164
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
164
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "create-team-cards"[], "create-team-cards", import("vue").PublicProps, Readonly<{}> & Readonly<{
165
+ "onCreate-team-cards"?: ((...args: any[]) => any) | undefined;
166
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
165
167
  export default _default;
@@ -4,6 +4,7 @@ import { computed, defineComponent } from 'vue';
4
4
  import { UPGRADE_CTA_LOCATIONS } from './../../composables/useEventTracker';
5
5
  import { BRAND_PAGE_TYPES } from '@brand-page/models';
6
6
  export default defineComponent({
7
+ emits: ['create-team-cards'],
7
8
  setup() {
8
9
  const userStore = useBrandPageMakerUserStore();
9
10
  const brandPageMakerStore = useBrandPageMakerStore();
@@ -180,7 +180,7 @@ declare const _default: import("vue").DefineComponent<{}, {
180
180
  wordBreak?: string | undefined;
181
181
  };
182
182
  }[];
183
- personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
183
+ personalisationRole?: import("../../../brand-page").PersonalisationRole | undefined;
184
184
  media?: {
185
185
  type: import("../../../brand-page").MediaTypes;
186
186
  } | undefined;
@@ -243,14 +243,20 @@ declare const _default: import("vue").DefineComponent<{}, {
243
243
  thirdPartySettings: import("../../../lib").UIRootStateThirdPartySettings;
244
244
  }): void;
245
245
  setDeviceMode({ mode }: {
246
- mode: "desktop" | "mobile";
246
+ mode: import("../../../lib").UiDeviceMode;
247
247
  }): void;
248
248
  setScreenSizeMode({ mode }: {
249
- mode: "desktop" | "mobile";
249
+ mode: import("../../../lib").UiScreenSizeMode;
250
250
  }): void;
251
251
  setUserPersonalisationData({ personalisationData, }: {
252
252
  personalisationData: import("../../../brand-page").UserPersonalisationContent[];
253
253
  }): void;
254
+ setUserPromptContentKey({ userPromptContentKey, }: {
255
+ userPromptContentKey: string | undefined;
256
+ }): void;
257
+ setShowAiTemplatesTab({ showAiTemplatesTab, }: {
258
+ showAiTemplatesTab: boolean;
259
+ }): void;
254
260
  onBackgroundChanged(): void;
255
261
  onContentChanged(): void;
256
262
  onStyleChanged(): void;
@@ -263,7 +269,7 @@ declare const _default: import("vue").DefineComponent<{}, {
263
269
  type: string;
264
270
  }): Promise<void>;
265
271
  onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
266
- showUpgradeModalAndSaveAsync(contextualUpgradeType?: string | number | symbol | undefined): Promise<void>;
272
+ showUpgradeModalAndSaveAsync(contextualUpgradeType?: import("@brand-page-maker/stores").WebsiteContextUpgradeType): Promise<void>;
267
273
  setIsPersonalisationEnabled({ isPersonalisationEnabled, }: {
268
274
  isPersonalisationEnabled: boolean;
269
275
  }): void;
@@ -273,11 +279,11 @@ declare const _default: import("vue").DefineComponent<{}, {
273
279
  }, {
274
280
  onBackgroundChanged(): void;
275
281
  setBackgroundStyle({ backgroundStyle, }: {
276
- backgroundStyle: Partial<Omit<BrandPageCssStyle, "backgroundColor">>;
282
+ backgroundStyle: import("../../../brand-page").BackgroundStyle;
277
283
  }): void;
278
284
  setBackgroundShapes(payload: import("../../../brand-page").BackgroundShape[]): void;
279
285
  setBackgroundPersonalisationRole(payload: {
280
- personalisationRole: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
286
+ personalisationRole: import("../../../brand-page").PersonalisationRole | undefined;
281
287
  }): void;
282
288
  setBackgroundShapeStyle(payload: BrandPageCssStyle): void;
283
289
  setPrimaryBackgroundShapeStyle(payload: BrandPageCssStyle): void;
@@ -286,9 +292,9 @@ declare const _default: import("vue").DefineComponent<{}, {
286
292
  }): void;
287
293
  addBackgroundShape({ shapeUrl, width, height, aspectRatio, }: {
288
294
  shapeUrl: string;
289
- width?: number | undefined;
290
- height?: number | undefined;
291
- aspectRatio?: number | undefined;
295
+ width?: number;
296
+ height?: number;
297
+ aspectRatio?: number;
292
298
  }): void;
293
299
  deleteBackgroundShape({ shapeIndex }: {
294
300
  shapeIndex: number;
@@ -303,7 +309,7 @@ declare const _default: import("vue").DefineComponent<{}, {
303
309
  setBackgroundShapeSettings(payload: import("../../../shared/background-settings/background-settings-models").SetBackgroundShapeSettingsPayload): void;
304
310
  setRecommendedLogoColors(payload: import("../../../shared/background-settings/background-settings-models").SetRecommendedLogoColorsPayload): void;
305
311
  setBackgroundMode(payload: {
306
- backgroundMode: "images" | "edit";
312
+ backgroundMode: import("@brand-page-maker/stores").BrandPageSettingsMode;
307
313
  }): void;
308
314
  setBackgroundMedia(payload: import("src/shared/my-uploads/models").MediaBaseSelectedPayload): void;
309
315
  removeBackgroundVideo(): void;
@@ -48,9 +48,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
48
48
  }>> & Readonly<{
49
49
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
50
50
  }>, {
51
- modelValue: number;
52
51
  min: number;
53
52
  max: number;
53
+ modelValue: number;
54
54
  axis: string;
55
55
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
56
56
  export default _default;
@@ -2,12 +2,12 @@ declare const _default: import("vue").DefineComponent<{}, {
2
2
  templates: import("vue").ComputedRef<import("@brand-page-maker/stores/admin-logo-settings").AdminPreviewLogoTemplateTemplate[]>;
3
3
  items: import("vue").ComputedRef<{
4
4
  id: string;
5
- type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
5
+ type: import("../../../brand-page").ContentType;
6
6
  settings: {
7
7
  content: {
8
8
  id: string;
9
- type: "website" | "image" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "facebook" | "x" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
10
- personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
9
+ type: import("../../../brand-page").ContentType;
10
+ personalisationRole?: import("../../../brand-page").PersonalisationRole | undefined;
11
11
  topPadding?: number | undefined;
12
12
  bottomPadding?: number | undefined;
13
13
  imageUrlOverride?: string | undefined;