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

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 (356) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CxCJU9cc.js → CreatedOnBrandCrowd-de-de-DmKe7W8L.js} +3 -3
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-zDJCWP5n.js → CreatedOnBrandCrowd-en-us-D2EeiNep.js} +3 -3
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DNna1Sh9.js → CreatedOnBrandCrowd-es-es-BqVwNY1D.js} +3 -3
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-C5XVf_hD.js → CreatedOnBrandCrowd-fr-ca-C756a27-.js} +3 -3
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-C5XVf_hD.js → CreatedOnBrandCrowd-fr-fr-C756a27-.js} +3 -3
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-9eUHV_M3.js → CreatedOnBrandCrowd-pt-br-FNHAnZUw.js} +3 -3
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-9eUHV_M3.js → CreatedOnBrandCrowd-pt-pt-FNHAnZUw.js} +3 -3
  8. package/lib/src/{CreatedOnDcom-de-de-D9HMpK8Q.js → CreatedOnDcom-de-de-8AZZFmDt.js} +3 -3
  9. package/lib/src/{CreatedOnDcom-en-us-BCTkchV5.js → CreatedOnDcom-en-us-DizTP32i.js} +3 -3
  10. package/lib/src/{CreatedOnDcom-es-es-B0N7VoTp.js → CreatedOnDcom-es-es-qnp9_n_A.js} +3 -3
  11. package/lib/src/{CreatedOnDcom-fr-ca-Gi4oz_Mm.js → CreatedOnDcom-fr-ca-jUs352uK.js} +3 -3
  12. package/lib/src/{CreatedOnDcom-fr-fr-DJI8eJo1.js → CreatedOnDcom-fr-fr-CTxXtHyk.js} +3 -3
  13. package/lib/src/{CreatedOnDcom-pt-br-YNWMAuQf.js → CreatedOnDcom-pt-br-nQHj8P7d.js} +3 -3
  14. package/lib/src/{CreatedOnDcom-pt-pt-DCIIK3sy.js → CreatedOnDcom-pt-pt-DJmVYQuL.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-DityivZa.js} +35668 -32633
  102. package/lib/src/lib.js +1 -1
  103. package/lib/src/metadata-builder/builders/footer-builder.js +90 -65
  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/shape-color-utils.js +1 -1
  109. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
  110. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
  111. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
  112. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
  113. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
  114. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
  115. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
  116. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
  117. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
  118. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
  119. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
  120. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +131 -129
  121. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
  122. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +111 -110
  123. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +84 -81
  124. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
  125. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +117 -109
  126. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
  127. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
  128. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +72 -70
  129. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
  130. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
  131. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
  132. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
  133. package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
  134. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
  135. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
  136. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
  137. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
  138. package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
  139. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
  140. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
  141. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
  142. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
  143. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  144. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
  145. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
  146. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
  147. package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
  148. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
  149. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
  150. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +39 -39
  151. package/lib/src/shared/content-settings/utils.js +0 -1
  152. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
  153. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
  154. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
  155. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
  156. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
  157. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
  158. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
  159. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
  160. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
  161. package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
  162. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
  163. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
  164. package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
  165. package/lib/src/shared/models.d.ts +2 -0
  166. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
  167. package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
  168. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
  169. package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
  170. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
  171. package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
  172. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
  173. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
  174. package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
  175. package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
  176. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
  177. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
  178. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +188 -177
  179. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +181 -175
  180. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
  181. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
  182. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
  183. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
  184. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
  185. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
  186. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
  187. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
  188. package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
  189. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
  190. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
  191. package/lib/src/shared/template-settings/models.d.ts +1 -0
  192. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
  193. package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
  194. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
  195. package/package.json +61 -57
  196. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
  197. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
  198. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
  199. package/src/brand-page/components/image/Image.mixin.ts +1 -1
  200. package/src/brand-page/components/image/Image.test.ts +1 -1
  201. package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
  202. package/src/brand-page/components/logo/LogoRender.vue +188 -188
  203. package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
  204. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +15 -6
  205. package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
  206. package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
  207. package/src/brand-page/components/page-header/PageHeader.vue +1 -0
  208. package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
  209. package/src/brand-page/components/shop/CartModal.vue +1 -3
  210. package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
  211. package/src/brand-page/components/shop/PaymentModal.vue +1 -5
  212. package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
  213. package/src/brand-page/components/shop/Shop.vue +1 -1
  214. package/src/brand-page/components/shop/TextDisplay.vue +1 -1
  215. package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
  216. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +3 -3
  217. package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
  218. package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
  219. package/src/brand-page/models/index.ts +4 -0
  220. package/src/brand-page/models/payment.model.ts +2 -1
  221. package/src/brand-page/models/shop.model.ts +0 -2
  222. package/src/brand-page/models/user-personalisation.model.ts +1 -2
  223. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -0
  224. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +1 -0
  225. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +2 -0
  226. package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
  227. package/src/brand-page/utils/migration/migration-02.ts +0 -1
  228. package/src/brand-page/utils/migration/migration-03.ts +0 -1
  229. package/src/brand-page/utils/migration/migration-04.ts +0 -1
  230. package/src/brand-page/utils/migration/migration-05.ts +1 -5
  231. package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
  232. package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
  233. package/src/brand-page/utils/personalisation.util.test.ts +35 -0
  234. package/src/brand-page/utils/personalisation.util.ts +119 -23
  235. package/src/brand-page/view-models.ts +38 -56
  236. package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
  237. package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
  238. package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
  239. package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
  240. package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
  241. package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
  242. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +1 -0
  243. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +5 -1
  244. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  245. package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
  246. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
  247. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
  248. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
  249. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
  250. package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
  251. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
  252. package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
  253. package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
  254. package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
  255. package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
  256. package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
  257. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
  258. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
  259. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
  260. package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
  261. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
  262. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
  263. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
  264. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
  265. package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
  266. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
  267. package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
  268. package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
  269. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
  270. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
  271. package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
  272. package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
  273. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -1
  274. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
  275. package/src/brand-page-maker/constants/config-settings-constant.ts +3 -3
  276. package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
  277. package/src/brand-page-maker/models/button-styles-config.ts +4 -2
  278. package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
  279. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
  280. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
  281. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
  282. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
  283. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +12 -4
  284. package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
  285. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  286. package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
  287. package/src/clients/design-template-client.ts +3 -0
  288. package/src/clients/models.ts +2 -0
  289. package/src/lib.ts +1 -0
  290. package/src/metadata-builder/builders/footer-builder.test.ts +137 -0
  291. package/src/metadata-builder/builders/footer-builder.ts +129 -89
  292. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +1 -1
  293. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +1 -1
  294. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -1
  295. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +1 -1
  296. package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
  297. package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
  298. package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
  299. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
  300. package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
  301. package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
  302. package/src/shared/common/NumberInput.vue +1 -0
  303. package/src/shared/common/SideBarSettingsHeader.vue +2 -2
  304. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
  305. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
  306. package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
  307. package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
  308. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
  309. package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
  310. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
  311. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
  312. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
  313. package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
  314. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
  315. package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
  316. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
  317. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
  318. package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
  319. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
  320. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
  321. package/src/shared/content-settings/models.ts +3 -2
  322. package/src/shared/content-settings/utils.ts +0 -1
  323. package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
  324. package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
  325. package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
  326. package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
  327. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
  328. package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
  329. package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
  330. package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
  331. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
  332. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
  333. package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
  334. package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
  335. package/src/shared/models.ts +6 -0
  336. package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
  337. package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
  338. package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
  339. package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
  340. package/src/shared/my-uploads/models.ts +1 -2
  341. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
  342. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
  343. package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
  344. package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
  345. package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
  346. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
  347. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
  348. package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
  349. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
  350. package/src/shared/shape-library/ShapeLibrary.vue +2 -2
  351. package/src/shared/style-settings/store/style-settings-store.ts +1 -1
  352. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
  353. package/src/shared/template-settings/models.ts +1 -0
  354. package/src/shared/template-settings/store/template-settings-store.ts +105 -18
  355. package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
  356. package/src/shared/video-library/VideoLibrary.vue +1 -1
package/lib/src/lib.js CHANGED
@@ -32,7 +32,7 @@ export { getOptimalLogoSize, calculateOptimizedLogoDimensions, applyLogoImageBas
32
32
  export { sanitizeRTEHtml } from './brand-page-maker/utils';
33
33
  export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
34
34
  // stores
35
- export { useBrandPageMakerStore, useBrandPageMakerUserStore, useUiStore, useBrandPageContainerStore, useEventManagerStore, useLocalisedRouteStore, useVideoStore, } from './brand-page-maker/stores';
35
+ export { useBrandPageMakerStore, useBrandPageMakerUserStore, useUiStore, useBrandPageContainerStore, useEventManagerStore, useLocalisedRouteStore, useVideoStore, useRouteStore, } from './brand-page-maker/stores';
36
36
  export { useShopConfigStore } from './shared/ecommerce-settings/store/shop-settings-store';
37
37
  // for jest, need to set active pinia in library.brand-page as well
38
38
  import { createPinia, setActivePinia } from 'pinia';
@@ -9,76 +9,88 @@ const normaliseSocialUrl = (url) => {
9
9
  }
10
10
  return url;
11
11
  };
12
- const applyGlobalFooterChanges = (footer, args, textStyleOptions) => {
13
- if (args.copyright_text !== undefined)
14
- footer.copyrightText = args.copyright_text;
15
- if (args.copyright_text_font_family !== undefined)
16
- footer.copyrightStyle = applyDetachedStyleOverride(footer.copyrightStyle, { fontFamily: args.copyright_text_font_family }, textStyleOptions);
17
- const links = args.social_links;
12
+ const makeSocialLink = (icon, url) => ({
13
+ imageUrl: icon || '',
14
+ url: normaliseSocialUrl(url || ''),
15
+ imageTitle: '',
16
+ width: 0,
17
+ height: 0,
18
+ imageLink: '',
19
+ });
20
+ const hasSocialLinkMutation = (args) => args._replace_social_links === true ||
21
+ (args._remove_social_link_indices?.length ?? 0) > 0 ||
22
+ (args._reorder_social_links?.length ?? 0) > 0 ||
23
+ (args.social_links?.length ?? 0) > 0;
24
+ /**
25
+ * Social links are a GLOBAL footer concern — one logical list that both
26
+ * viewports render identically. Derive the new list ONCE from the current one
27
+ * WITHOUT mutating the input, so the caller can assign an independent copy to
28
+ * each viewport.
29
+ *
30
+ * Why this can't mutate per-viewport in place: footers migrated from the legacy
31
+ * single `footerStyles` model (migration-01) share ONE `socialLinks` array
32
+ * reference across pageFooterDesktop and pageFooterMobile, and `cloneDeep`
33
+ * preserves that shared reference. Running an in-place `splice` once per
34
+ * viewport therefore applies it TWICE to the same array — e.g. one requested
35
+ * removal index drops two links. Compute-once + assign-fresh is correct for
36
+ * both shared (legacy) and independent (new-model) footers.
37
+ */
38
+ const computeSocialLinks = (current, args) => {
18
39
  // _replace_social_links: replace entire list (empty/absent social_links = clear all).
19
- // When replacing, all other social link mutations (remove, insert, reorder) are skipped —
20
- // they are superseded by the replacement and running them would cause duplicates.
40
+ // A replacement supersedes every other social link mutation.
21
41
  if (args._replace_social_links) {
22
- footer.socialLinks = (links ?? []).map((l) => ({
23
- imageUrl: l.social_link_icon || '',
24
- url: normaliseSocialUrl(l.url || ''),
25
- imageTitle: '',
26
- width: 0,
27
- height: 0,
28
- imageLink: '',
29
- }));
42
+ return (args.social_links ?? []).map((l) => makeSocialLink(l.social_link_icon, l.url));
30
43
  }
31
- else {
32
- // Targeted mutations — only run when NOT replacing the entire list.
33
- // item_index-based updates for existing links
34
- if (links?.length) {
35
- for (const link of links) {
36
- if (link.item_index === undefined)
37
- continue;
38
- const existing = footer.socialLinks?.[link.item_index];
39
- if (!existing)
40
- continue;
41
- if (link.social_link_icon !== undefined)
42
- existing.imageUrl = link.social_link_icon;
43
- if (link.url !== undefined)
44
- existing.url = normaliseSocialUrl(link.url);
45
- }
46
- }
47
- // Remove by index (descending order to preserve indices during splice)
48
- if (args._remove_social_link_indices?.length && footer.socialLinks) {
49
- const sorted = [...args._remove_social_link_indices].sort((a, b) => b - a);
50
- for (const idx of sorted) {
51
- if (idx >= 0 && idx < footer.socialLinks.length)
52
- footer.socialLinks.splice(idx, 1);
53
- }
54
- }
55
- // Insert new links (descending insert_at order to preserve positions during splice)
56
- const insertLinks = (links ?? []).filter((l) => l.insert_at !== undefined && l.item_index === undefined);
57
- const sortedInserts = [...insertLinks].sort((a, b) => b.insert_at - a.insert_at);
58
- for (const link of sortedInserts) {
59
- const pos = Math.max(0, Math.min(link.insert_at, footer.socialLinks?.length ?? 0));
60
- footer.socialLinks = footer.socialLinks ?? [];
61
- footer.socialLinks.splice(pos, 0, {
62
- imageUrl: link.social_link_icon || '',
63
- url: normaliseSocialUrl(link.url || ''),
64
- imageTitle: '',
65
- width: 0,
66
- height: 0,
67
- imageLink: '',
68
- });
44
+ const links = [...(current ?? [])];
45
+ // item_index-based updates for existing links — replace the item reference
46
+ // (never mutate the original object, which may be shared across viewports).
47
+ for (const link of args.social_links ?? []) {
48
+ if (link.item_index === undefined)
49
+ continue;
50
+ const existing = links[link.item_index];
51
+ if (!existing)
52
+ continue;
53
+ links[link.item_index] = {
54
+ ...existing,
55
+ ...(link.social_link_icon !== undefined
56
+ ? { imageUrl: link.social_link_icon }
57
+ : {}),
58
+ ...(link.url !== undefined ? { url: normaliseSocialUrl(link.url) } : {}),
59
+ };
60
+ }
61
+ // Remove by index (descending order to preserve indices during splice).
62
+ if (args._remove_social_link_indices?.length) {
63
+ const sorted = [...args._remove_social_link_indices].sort((a, b) => b - a);
64
+ for (const idx of sorted) {
65
+ if (idx >= 0 && idx < links.length)
66
+ links.splice(idx, 1);
69
67
  }
70
- // Reorder (requires ALL indices — partial reorder is not supported)
71
- if (args._reorder_social_links?.length && footer.socialLinks) {
72
- const newOrder = args._reorder_social_links;
73
- const unique = new Set(newOrder);
74
- if (unique.size === newOrder.length &&
75
- newOrder.every((idx) => idx >= 0 && idx < footer.socialLinks.length)) {
76
- const reordered = newOrder.map((idx) => footer.socialLinks[idx]);
77
- if (reordered.length === footer.socialLinks.length)
78
- footer.socialLinks = reordered;
79
- }
68
+ }
69
+ // Insert new links (descending insert_at order to preserve positions).
70
+ const insertLinks = (args.social_links ?? []).filter((l) => l.insert_at !== undefined && l.item_index === undefined);
71
+ const sortedInserts = [...insertLinks].sort((a, b) => b.insert_at - a.insert_at);
72
+ for (const link of sortedInserts) {
73
+ const pos = Math.max(0, Math.min(link.insert_at, links.length));
74
+ links.splice(pos, 0, makeSocialLink(link.social_link_icon, link.url));
75
+ }
76
+ // Reorder (requires ALL indices — partial reorder is not supported).
77
+ if (args._reorder_social_links?.length) {
78
+ const newOrder = args._reorder_social_links;
79
+ const unique = new Set(newOrder);
80
+ if (unique.size === newOrder.length &&
81
+ newOrder.every((idx) => idx >= 0 && idx < links.length)) {
82
+ const reordered = newOrder.map((idx) => links[idx]);
83
+ if (reordered.length === links.length)
84
+ return reordered;
80
85
  }
81
86
  }
87
+ return links;
88
+ };
89
+ const applyGlobalFooterChanges = (footer, args, textStyleOptions) => {
90
+ if (args.copyright_text !== undefined)
91
+ footer.copyrightText = args.copyright_text;
92
+ if (args.copyright_text_font_family !== undefined)
93
+ footer.copyrightStyle = applyDetachedStyleOverride(footer.copyrightStyle, { fontFamily: args.copyright_text_font_family }, textStyleOptions);
82
94
  };
83
95
  const applyViewportFooterChanges = (footer, overrides) => {
84
96
  if (overrides.display_style !== undefined)
@@ -136,11 +148,24 @@ export class FooterBuilder extends BaseMetadataBuilder {
136
148
  }
137
149
  const args = this.request.payload ?? {};
138
150
  const textStyleOptions = model.styles?.textStyles?.textStyleOptions;
139
- // Global fields (copyright_text, social links) always apply to both viewports.
151
+ // Global scalar/style fields (copyright text + font) apply to both
152
+ // viewports. These are idempotent assignments, safe to run per-viewport.
140
153
  if (model.pageFooterDesktop)
141
154
  applyGlobalFooterChanges(model.pageFooterDesktop, args, textStyleOptions);
142
155
  if (model.pageFooterMobile)
143
156
  applyGlobalFooterChanges(model.pageFooterMobile, args, textStyleOptions);
157
+ // Social links are a single global list. Derive the new list ONCE, then
158
+ // assign an INDEPENDENT copy to each viewport — never mutate a (possibly
159
+ // shared) viewport array in place. See computeSocialLinks.
160
+ if (hasSocialLinkMutation(args)) {
161
+ const current = model.pageFooterDesktop?.socialLinks ??
162
+ model.pageFooterMobile?.socialLinks;
163
+ const updated = computeSocialLinks(current, args);
164
+ if (model.pageFooterDesktop)
165
+ model.pageFooterDesktop.socialLinks = updated.map((l) => ({ ...l }));
166
+ if (model.pageFooterMobile)
167
+ model.pageFooterMobile.socialLinks = updated.map((l) => ({ ...l }));
168
+ }
144
169
  // Viewport-specific styling via explicit sub-objects.
145
170
  if (args.desktop && model.pageFooterDesktop)
146
171
  applyViewportFooterChanges(model.pageFooterDesktop, args.desktop);
@@ -23,7 +23,7 @@ const mergeGalleryImages = (content, images, replaceAll) => {
23
23
  const existing = content.images?.[index];
24
24
  const imageUrl = isValidUrl(img.image_url)
25
25
  ? img.image_url
26
- : existing?.imageUrl ?? '';
26
+ : (existing?.imageUrl ?? '');
27
27
  return {
28
28
  ...(existing || {}),
29
29
  imageUrl,
@@ -46,7 +46,7 @@ const mergeImageItems = (content, items, replaceAll) => {
46
46
  ...(existing || {}),
47
47
  imageUrl: isValidUrl(item.image_url)
48
48
  ? item.image_url
49
- : existing?.imageUrl ?? '',
49
+ : (existing?.imageUrl ?? ''),
50
50
  imageTitle: existing?.imageTitle ?? '',
51
51
  width: existing?.width ?? 0,
52
52
  height: existing?.height ?? 0,
@@ -67,7 +67,7 @@ const mergeTestimonialItemsAsync = async (content, items, replaceAll) => {
67
67
  ? 'shape'
68
68
  : item.avatar_image_url
69
69
  ? 'image'
70
- : existing?.mediaType ?? 'image';
70
+ : (existing?.mediaType ?? 'image');
71
71
  return {
72
72
  ...(existing || {}),
73
73
  imageUrl,
@@ -53,7 +53,7 @@ const mergeTextItems = (content, items, replaceAll, textStyleOptions) => {
53
53
  const baseStyle = existing?.textStyle || content.textStyle || {};
54
54
  const mergedStyle = (item.text_style ? { ...baseStyle, ...item.text_style } : baseStyle);
55
55
  const resolved = item.text !== undefined ? resolveText(item.text) : null;
56
- const text = resolved ? resolved.html : existing?.text ?? '';
56
+ const text = resolved ? resolved.html : (existing?.text ?? '');
57
57
  return {
58
58
  text,
59
59
  textStyle: clearTextStyleTypeIfTiptap(mergedStyle, resolved?.wasTiptap ?? false, textStyleOptions),
@@ -48,5 +48,5 @@ export const applyColorThemeToReplacements = (replacements, colorTheme) => repla
48
48
  ...r,
49
49
  replacementColor: replacements.length === 1
50
50
  ? colorTheme
51
- : getNewColorBasedOnTargetColorTheme(r.originalColor, colorTheme)?.toString() ?? colorTheme,
51
+ : (getNewColorBasedOnTargetColorTheme(r.originalColor, colorTheme)?.toString() ?? colorTheme),
52
52
  }));
@@ -15,7 +15,7 @@ export interface AddressDetails {
15
15
  export declare class GoogleMapsPlugin {
16
16
  private initialised;
17
17
  private initialising;
18
- private readonly _options;
18
+ private readonly options;
19
19
  constructor(options: GoogleMapsPluginOptions);
20
20
  private initialise;
21
21
  private getPlacesLibrary;
@@ -12,9 +12,9 @@ export const PLACE_ID_QUERY_PREFIX = 'place_id:';
12
12
  export class GoogleMapsPlugin {
13
13
  initialised = false;
14
14
  initialising = false;
15
- _options;
15
+ options;
16
16
  constructor(options) {
17
- this._options = options;
17
+ this.options = options;
18
18
  }
19
19
  async initialise() {
20
20
  if (this.initialised || this.initialising) {
@@ -71,7 +71,7 @@ export class GoogleMapsPlugin {
71
71
  async createPlaceAutocompleteElement(options) {
72
72
  const { PlaceAutocompleteElement } = await this.getPlacesLibrary();
73
73
  return new PlaceAutocompleteElement({
74
- requestedLanguage: this._options.locale,
74
+ requestedLanguage: this.options.locale,
75
75
  ...options,
76
76
  });
77
77
  }
@@ -97,15 +97,15 @@ export class GoogleMapsPlugin {
97
97
  return scriptElement;
98
98
  }
99
99
  getGoogleScriptUrl() {
100
- const baseUrl = `https://maps.googleapis.com/maps/api/js?key=${this._options.apiKey}&libraries=places&loading=async`;
101
- return this._options.locale
102
- ? `${baseUrl}&language=${this._options.locale}`
100
+ const baseUrl = `https://maps.googleapis.com/maps/api/js?key=${this.options.apiKey}&libraries=places&loading=async`;
101
+ return this.options.locale
102
+ ? `${baseUrl}&language=${this.options.locale}`
103
103
  : baseUrl;
104
104
  }
105
105
  getEmbedGoogleMapsSrc(options) {
106
106
  const mapMode = options.mapMode || MAP_MODE_PLACE;
107
- const locale = options.locale || this._options.locale;
108
- const baseUrl = `https://www.google.com/maps/embed/v1/${mapMode}?key=${this._options.apiKey}&q=${options.query}`;
107
+ const locale = options.locale || this.options.locale;
108
+ const baseUrl = `https://www.google.com/maps/embed/v1/${mapMode}?key=${this.options.apiKey}&q=${options.query}`;
109
109
  return locale ? `${baseUrl}&language=${locale}` : baseUrl;
110
110
  }
111
111
  }
@@ -148,7 +148,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
148
148
  wordBreak?: string | undefined;
149
149
  };
150
150
  }[];
151
- personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
151
+ personalisationRole?: import("../../../../brand-page").PersonalisationRole | undefined;
152
152
  media?: {
153
153
  type: import("../../../../brand-page").MediaTypes;
154
154
  } | undefined;
@@ -200,12 +200,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
200
200
  }>;
201
201
  userStore: import("pinia").Store<"brandPageMakerUser", import("@brand-page-maker/stores").UserState, {}, {
202
202
  setUserState(payload: {
203
- emailAddress?: string | undefined;
204
- userToken?: string | undefined;
205
- isAdmin?: boolean | undefined;
206
- hasPremiumSubscription?: boolean | undefined;
207
- brandPageCommissionPercentage?: number | undefined;
208
- features?: Partial<import("../../../../constants/ui").UIUserFeatures> | undefined;
203
+ emailAddress?: string;
204
+ userToken?: string;
205
+ isAdmin?: boolean;
206
+ hasPremiumSubscription?: boolean;
207
+ brandPageCommissionPercentage?: number;
208
+ features?: Partial<import("@brand-page-maker/stores").UserFeatures>;
209
209
  }): void;
210
210
  }>;
211
211
  backgroundSettingsStore: import("pinia").Store<"uiBackgroundSettings", import("../../store").BackgroundSettingsState, {
@@ -213,11 +213,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
213
213
  }, {
214
214
  onBackgroundChanged(): void;
215
215
  setBackgroundStyle({ backgroundStyle, }: {
216
- backgroundStyle: Partial<Omit<BrandPageCssStyle, "backgroundColor">>;
216
+ backgroundStyle: import("../../../../brand-page").BackgroundStyle;
217
217
  }): void;
218
218
  setBackgroundShapes(payload: import("../../../../brand-page").BackgroundShape[]): void;
219
219
  setBackgroundPersonalisationRole(payload: {
220
- personalisationRole: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
220
+ personalisationRole: import("../../../../brand-page").PersonalisationRole | undefined;
221
221
  }): void;
222
222
  setBackgroundShapeStyle(payload: BrandPageCssStyle): void;
223
223
  setPrimaryBackgroundShapeStyle(payload: BrandPageCssStyle): void;
@@ -226,9 +226,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
226
226
  }): void;
227
227
  addBackgroundShape({ shapeUrl, width, height, aspectRatio, }: {
228
228
  shapeUrl: string;
229
- width?: number | undefined;
230
- height?: number | undefined;
231
- aspectRatio?: number | undefined;
229
+ width?: number;
230
+ height?: number;
231
+ aspectRatio?: number;
232
232
  }): void;
233
233
  deleteBackgroundShape({ shapeIndex }: {
234
234
  shapeIndex: number;
@@ -243,7 +243,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
243
243
  setBackgroundShapeSettings(payload: import("../../background-settings-models").SetBackgroundShapeSettingsPayload): void;
244
244
  setRecommendedLogoColors(payload: import("../../background-settings-models").SetRecommendedLogoColorsPayload): void;
245
245
  setBackgroundMode(payload: {
246
- backgroundMode: "images" | "edit";
246
+ backgroundMode: import("@brand-page-maker/stores").BrandPageSettingsMode;
247
247
  }): void;
248
248
  setBackgroundMedia(payload: import("../../../my-uploads/models").MediaBaseSelectedPayload): void;
249
249
  removeBackgroundVideo(): void;
@@ -29,9 +29,9 @@ export declare const useUiBackgroundSettingsStore: import("pinia").StoreDefiniti
29
29
  }): void;
30
30
  addBackgroundShape({ shapeUrl, width, height, aspectRatio, }: {
31
31
  shapeUrl: string;
32
- width?: number | undefined;
33
- height?: number | undefined;
34
- aspectRatio?: number | undefined;
32
+ width?: number;
33
+ height?: number;
34
+ aspectRatio?: number;
35
35
  }): void;
36
36
  deleteBackgroundShape({ shapeIndex }: {
37
37
  shapeIndex: number;
@@ -52,7 +52,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
52
52
  deselectAllColors(): void;
53
53
  onV2ColorPickerChanged(): void;
54
54
  dispatch(color: ColorValue): void;
55
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
55
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "on-color-select"[], "on-color-select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
56
56
  customGroups: {
57
57
  type: ArrayConstructor;
58
58
  required: false;
@@ -83,7 +83,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
83
83
  required: false;
84
84
  default: () => boolean;
85
85
  };
86
- }>> & Readonly<{}>, {
86
+ }>> & Readonly<{
87
+ "onOn-color-select"?: ((...args: any[]) => any) | undefined;
88
+ }>, {
87
89
  size: string;
88
90
  customGroups: unknown[];
89
91
  isNewColor: boolean;
@@ -2,10 +2,9 @@ import { defineComponent } from 'vue';
2
2
  import { Icon } from '@designcrowd/fe-shared-lib';
3
3
  import ColorPickerSwatch from './ColorPickerSwatch.vue';
4
4
  import { DEFAULT_COLORS, DEFAULT_GRADIENT_COLORS } from '../constants';
5
- import { RGBAtoHex, hexToRGB, arrayToLinearGradient, isRgbColor, } from '@utils/helpers';
5
+ import { RGBAtoHex, arrayToLinearGradient, isRgbColor } from '@utils/helpers';
6
6
  import { normalizeColorToHex, colorsMatch } from '@brand-page/utils/style.util';
7
7
  import { colorPickerTr } from '@src/composables/useTranslate';
8
- import { useUiStyleSettingsStore } from '../../style-settings/store';
9
8
  // Simple session storage for newColors (persists during browser session, clears on refresh)
10
9
  let sessionNewColors = [];
11
10
  export default defineComponent({
@@ -45,6 +44,7 @@ export default defineComponent({
45
44
  default: () => false,
46
45
  },
47
46
  },
47
+ emits: ['on-color-select'],
48
48
  data() {
49
49
  const groups = [];
50
50
  const newColors = [];
@@ -9,10 +9,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
9
9
  isTransparent(): boolean;
10
10
  }, {
11
11
  onClick(): void;
12
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
13
  color: {
14
14
  type: ObjectConstructor;
15
15
  required: true;
16
16
  };
17
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
+ }>> & Readonly<{
18
+ onClick?: ((...args: any[]) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
20
  export default _default;
@@ -6,6 +6,7 @@ export default defineComponent({
6
6
  required: true,
7
7
  },
8
8
  },
9
+ emits: ['click'],
9
10
  data() {
10
11
  const styles = this.color.styles;
11
12
  return {
@@ -14,7 +14,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
14
14
  }, {}, {}, {
15
15
  onCancel(): void;
16
16
  onConfirm(): void;
17
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "confirm")[], "cancel" | "confirm", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
18
  visible: {
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
@@ -24,7 +24,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
24
24
  default: undefined;
25
25
  required: false;
26
26
  };
27
- }>> & Readonly<{}>, {
27
+ }>> & Readonly<{
28
+ onCancel?: ((...args: any[]) => any) | undefined;
29
+ onConfirm?: ((...args: any[]) => any) | undefined;
30
+ }>, {
28
31
  description: string;
29
32
  visible: boolean;
30
33
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -13,6 +13,7 @@ export default defineComponent({
13
13
  required: false,
14
14
  },
15
15
  },
16
+ emits: ['confirm', 'cancel'],
16
17
  setup() {
17
18
  const containerStore = useBrandPageContainerStore();
18
19
  return {
@@ -1,4 +1,3 @@
1
- /// <reference types="types/lodash-shims" />
2
1
  import type { DebounceHandle } from 'lodash.debounce';
3
2
  import type { PropType } from 'vue';
4
3
  import type { ContentItemFieldSettings } from '../models';