@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
@@ -52,7 +52,7 @@ export default defineComponent({
52
52
  shouldFitImage(): boolean {
53
53
  return Boolean(
54
54
  this.viewModel.aspectRatio &&
55
- ASPECT_RATIOS[this.viewModel.aspectRatio as string],
55
+ ASPECT_RATIOS[this.viewModel.aspectRatio as string],
56
56
  );
57
57
  },
58
58
  altText(): string {
@@ -1,4 +1,4 @@
1
- import { mount, shallowMount } from '@vue/test-utils';
1
+ import { mount } from '@vue/test-utils';
2
2
  import { faker } from '@faker-js/faker';
3
3
  import Image from './Image.vue';
4
4
  import {
@@ -57,7 +57,6 @@
57
57
  </template>
58
58
  <script setup lang="ts">
59
59
  import { computed, reactive, ref, watch } from 'vue';
60
- import type { PropType } from 'vue';
61
60
  import TextMediaSection from '../text-media-section/TextMediaSection.vue';
62
61
  import ImageGalleryModal from '../image-gallery/ImageGalleryModal.vue';
63
62
  import BpImage from '../image/Image.vue';
@@ -1,188 +1,188 @@
1
- <template>
2
- <div
3
- data-component="logo-render"
4
- :class="[
5
- 'logo tw-relative tw-h-full',
6
- isBrandSite ? 'brand-site' : 'brand-page',
7
- ]"
8
- >
9
- <figure
10
- v-if="logoImageUrl || !isPreview"
11
- class="logo__container"
12
- :class="{
13
- 'tw-mb-10': hasMarginBottom,
14
- }"
15
- :style="[logoBackgroundStyles, figureDimensions]"
16
- >
17
- <div
18
- :style="{
19
- ...(props.isBrandPageOrIsBrandContact &&
20
- !props.viewModel?.useOldLogoRenderSize
21
- ? {
22
- margin: 'var(--logo-spacing) auto',
23
- height: `${viewModel?.logoImageHeight || DEFAULT_LOGO_HEIGHT}`,
24
- maxWidth: logoMaxWidth,
25
- }
26
- : {
27
- height: '100%',
28
- width: '100%',
29
- }),
30
- }"
31
- >
32
- <img
33
- v-if="logoImageUrl"
34
- data-test-tag="logo"
35
- class="logo__image"
36
- :src="logoImageUrl"
37
- :alt="altText"
38
- :style="[logoStyle, marginStyle]"
39
- />
40
- </div>
41
- </figure>
42
- </div>
43
- </template>
44
- <script setup lang="ts">
45
- import { computed, ref, watch, onServerPrefetch, onMounted } from 'vue';
46
- import type { LogoViewModel } from '@brand-page/view-models';
47
- import { LogoCacheRepository } from '../../repositories';
48
- import {
49
- DEFAULT_LOGO_HEIGHT,
50
- DEFAULT_LOGO_WIDTH,
51
- LOGO_SLIDER_DESKTOP_MAX,
52
- LOGO_SLIDER_MOBILE_MAX,
53
- } from '../../constants';
54
- import type { ViewportsType } from '@brand-page/models';
55
-
56
- const props = withDefaults(
57
- defineProps<{
58
- isPreview: boolean;
59
- disableServerRender?: boolean;
60
- hasMarginBottom: boolean;
61
- isBrandSite: boolean;
62
- isBrandPageOrIsBrandContact: boolean;
63
- viewModel?: LogoViewModel;
64
- altText: string;
65
- isMobile?: boolean;
66
- }>(),
67
- {
68
- isPreview: false,
69
- hasMarginBottom: false,
70
- altText: '',
71
- disableServerRender: false,
72
- },
73
- );
74
-
75
- const logoImageSvgUrl = ref<string | undefined>(undefined);
76
-
77
- const logoImageBase64Url = computed(() => {
78
- return typeof props.viewModel?.logoImageBase64Url === 'string' &&
79
- props.viewModel.logoImageBase64Url
80
- ? props.viewModel.logoImageBase64Url
81
- : undefined;
82
- });
83
-
84
- const logoBackgroundStyles = computed(() => {
85
- return `background: ${props.viewModel?.styles.backgroundStyle.backgroundColor}`;
86
- });
87
-
88
- const figureDimensions = computed(() => {
89
- return !props.viewModel?.useOldLogoRenderSize
90
- ? {
91
- width: '100%',
92
- height: '100%',
93
- }
94
- : {};
95
- });
96
-
97
- const logoImageUrl = computed(() => {
98
- if (typeof logoImageBase64Url.value !== 'undefined') {
99
- return logoImageBase64Url.value;
100
- }
101
- return logoImageSvgUrl.value;
102
- });
103
-
104
- const logoHeight = computed(() => {
105
- return props.viewModel?.logoImageHeight || DEFAULT_LOGO_HEIGHT;
106
- });
107
-
108
- const logoWidth = computed(() => {
109
- return props.viewModel?.logoImageWidth || DEFAULT_LOGO_WIDTH;
110
- });
111
-
112
- const logoMaxWidth = computed(() => {
113
- if (props.isMobile) {
114
- return `${LOGO_SLIDER_MOBILE_MAX}rem`;
115
- }
116
- return `${LOGO_SLIDER_DESKTOP_MAX}rem`;
117
- });
118
-
119
- const logoStyle = computed(() => {
120
- return props.viewModel?.useOldLogoRenderSize
121
- ? {
122
- width: '100%',
123
- height: '100%',
124
- 'max-width': logoWidth.value,
125
- 'max-height': logoHeight.value,
126
- }
127
- : ({
128
- width: '100%',
129
- height: '100%',
130
- } as any);
131
- });
132
-
133
- const marginStyle = computed(() => {
134
- return props.viewModel?.useOldLogoRenderSize
135
- ? { margin: 'var(--logo-spacing) auto' }
136
- : {};
137
- });
138
-
139
- const updateLogoImageSvgUrlAsync = async () => {
140
- if (
141
- logoImageBase64Url.value ||
142
- (!props.viewModel?.logoTemplateImage?.logoTemplateToken &&
143
- !props.viewModel?.logoImage?.logoDraftToken)
144
- ) {
145
- return;
146
- }
147
-
148
- try {
149
- const logoCacheRepo = LogoCacheRepository.getInstance();
150
-
151
- logoImageSvgUrl.value = props.viewModel.logoTemplateImage?.logoTemplateToken
152
- ? await logoCacheRepo.getLogoSvgUrlByLogoTemplateImageAsync(
153
- props.viewModel.logoTemplateImage,
154
- )
155
- : await logoCacheRepo.getLogoSvgUrlByLogoImageAsync(
156
- props.viewModel.logoImage,
157
- );
158
- } catch (err) {
159
- console.error('unable to retrieve logo image svg data', err);
160
- }
161
- };
162
-
163
- watch(props, updateLogoImageSvgUrlAsync, { deep: true });
164
-
165
- onServerPrefetch(() => {
166
- if (!props.disableServerRender) {
167
- updateLogoImageSvgUrlAsync();
168
- }
169
- });
170
-
171
- onMounted(async () => {
172
- if (!logoImageSvgUrl.value) {
173
- await updateLogoImageSvgUrlAsync();
174
- }
175
- });
176
- </script>
177
- <style scoped>
178
- .logo__container {
179
- border: 0.125rem solid var(--logo-border-colour);
180
- border-radius: 0.75rem;
181
- }
182
-
183
- .logo__image {
184
- display: block;
185
- object-fit: contain;
186
- height: 6rem;
187
- }
188
- </style>
1
+ <template>
2
+ <div
3
+ data-component="logo-render"
4
+ :class="[
5
+ 'logo tw-relative tw-h-full',
6
+ isBrandSite ? 'brand-site' : 'brand-page',
7
+ ]"
8
+ >
9
+ <figure
10
+ v-if="logoImageUrl || !isPreview"
11
+ class="logo__container"
12
+ :class="{
13
+ 'tw-mb-10': hasMarginBottom,
14
+ }"
15
+ :style="[logoBackgroundStyles, figureDimensions]"
16
+ >
17
+ <div
18
+ :style="{
19
+ ...(props.isBrandPageOrIsBrandContact &&
20
+ !props.viewModel?.useOldLogoRenderSize
21
+ ? {
22
+ margin: 'var(--logo-spacing) auto',
23
+ height: `${viewModel?.logoImageHeight || DEFAULT_LOGO_HEIGHT}`,
24
+ maxWidth: logoMaxWidth,
25
+ }
26
+ : {
27
+ height: '100%',
28
+ width: '100%',
29
+ }),
30
+ }"
31
+ >
32
+ <img
33
+ v-if="logoImageUrl"
34
+ data-test-tag="logo"
35
+ class="logo__image"
36
+ :src="logoImageUrl"
37
+ :alt="altText"
38
+ :style="[logoStyle, marginStyle]"
39
+ />
40
+ </div>
41
+ </figure>
42
+ </div>
43
+ </template>
44
+ <script setup lang="ts">
45
+ import { computed, ref, watch, onServerPrefetch, onMounted } from 'vue';
46
+ import type { LogoViewModel } from '@brand-page/view-models';
47
+ import { LogoCacheRepository } from '../../repositories';
48
+ import {
49
+ DEFAULT_LOGO_HEIGHT,
50
+ DEFAULT_LOGO_WIDTH,
51
+ LOGO_SLIDER_DESKTOP_MAX,
52
+ LOGO_SLIDER_MOBILE_MAX,
53
+ } from '../../constants';
54
+
55
+ const props = withDefaults(
56
+ defineProps<{
57
+ isPreview: boolean;
58
+ disableServerRender?: boolean;
59
+ hasMarginBottom: boolean;
60
+ isBrandSite: boolean;
61
+ isBrandPageOrIsBrandContact: boolean;
62
+ viewModel?: LogoViewModel;
63
+ altText: string;
64
+ isMobile?: boolean;
65
+ }>(),
66
+ {
67
+ isPreview: false,
68
+ hasMarginBottom: false,
69
+ altText: '',
70
+ disableServerRender: false,
71
+ viewModel: undefined,
72
+ },
73
+ );
74
+
75
+ const logoImageSvgUrl = ref<string | undefined>(undefined);
76
+
77
+ const logoImageBase64Url = computed(() => {
78
+ return typeof props.viewModel?.logoImageBase64Url === 'string' &&
79
+ props.viewModel.logoImageBase64Url
80
+ ? props.viewModel.logoImageBase64Url
81
+ : undefined;
82
+ });
83
+
84
+ const logoBackgroundStyles = computed(() => {
85
+ return `background: ${props.viewModel?.styles.backgroundStyle.backgroundColor}`;
86
+ });
87
+
88
+ const figureDimensions = computed(() => {
89
+ return !props.viewModel?.useOldLogoRenderSize
90
+ ? {
91
+ width: '100%',
92
+ height: '100%',
93
+ }
94
+ : {};
95
+ });
96
+
97
+ const logoImageUrl = computed(() => {
98
+ if (typeof logoImageBase64Url.value !== 'undefined') {
99
+ return logoImageBase64Url.value;
100
+ }
101
+ return logoImageSvgUrl.value;
102
+ });
103
+
104
+ const logoHeight = computed(() => {
105
+ return props.viewModel?.logoImageHeight || DEFAULT_LOGO_HEIGHT;
106
+ });
107
+
108
+ const logoWidth = computed(() => {
109
+ return props.viewModel?.logoImageWidth || DEFAULT_LOGO_WIDTH;
110
+ });
111
+
112
+ const logoMaxWidth = computed(() => {
113
+ if (props.isMobile) {
114
+ return `${LOGO_SLIDER_MOBILE_MAX}rem`;
115
+ }
116
+ return `${LOGO_SLIDER_DESKTOP_MAX}rem`;
117
+ });
118
+
119
+ const logoStyle = computed(() => {
120
+ return props.viewModel?.useOldLogoRenderSize
121
+ ? {
122
+ width: '100%',
123
+ height: '100%',
124
+ 'max-width': logoWidth.value,
125
+ 'max-height': logoHeight.value,
126
+ }
127
+ : ({
128
+ width: '100%',
129
+ height: '100%',
130
+ } as any);
131
+ });
132
+
133
+ const marginStyle = computed(() => {
134
+ return props.viewModel?.useOldLogoRenderSize
135
+ ? { margin: 'var(--logo-spacing) auto' }
136
+ : {};
137
+ });
138
+
139
+ const updateLogoImageSvgUrlAsync = async () => {
140
+ if (
141
+ logoImageBase64Url.value ||
142
+ (!props.viewModel?.logoTemplateImage?.logoTemplateToken &&
143
+ !props.viewModel?.logoImage?.logoDraftToken)
144
+ ) {
145
+ return;
146
+ }
147
+
148
+ try {
149
+ const logoCacheRepo = LogoCacheRepository.getInstance();
150
+
151
+ logoImageSvgUrl.value = props.viewModel.logoTemplateImage?.logoTemplateToken
152
+ ? await logoCacheRepo.getLogoSvgUrlByLogoTemplateImageAsync(
153
+ props.viewModel.logoTemplateImage,
154
+ )
155
+ : await logoCacheRepo.getLogoSvgUrlByLogoImageAsync(
156
+ props.viewModel.logoImage,
157
+ );
158
+ } catch (err) {
159
+ console.error('unable to retrieve logo image svg data', err);
160
+ }
161
+ };
162
+
163
+ watch(props, updateLogoImageSvgUrlAsync, { deep: true });
164
+
165
+ onServerPrefetch(() => {
166
+ if (!props.disableServerRender) {
167
+ updateLogoImageSvgUrlAsync();
168
+ }
169
+ });
170
+
171
+ onMounted(async () => {
172
+ if (!logoImageSvgUrl.value) {
173
+ await updateLogoImageSvgUrlAsync();
174
+ }
175
+ });
176
+ </script>
177
+ <style scoped>
178
+ .logo__container {
179
+ border: 0.125rem solid var(--logo-border-colour);
180
+ border-radius: 0.75rem;
181
+ }
182
+
183
+ .logo__image {
184
+ display: block;
185
+ object-fit: contain;
186
+ height: 6rem;
187
+ }
188
+ </style>
@@ -10,6 +10,7 @@ export default defineComponent({
10
10
  required: true,
11
11
  },
12
12
  },
13
+ emits: ['open-side-menu'],
13
14
 
14
15
  computed: {
15
16
  iconStyle(): BrandPageCssStyle {
@@ -26,6 +26,7 @@ export default defineComponent({
26
26
  required: true,
27
27
  },
28
28
  },
29
+ emits: ['close-side-menu'],
29
30
  data() {
30
31
  return {
31
32
  expandedItems: {} as Record<string, boolean>, // Keep track of which navs are expanded
@@ -53,19 +54,27 @@ export default defineComponent({
53
54
  },
54
55
  // Prevents us from doubling down on em sizing of font
55
56
  defaultWrapperStyle(): BrandPageCssStyle {
56
- const { fontSize, lineHeight, letterSpacing, ...rest } =
57
- this.defaultButtonStyle;
57
+ const {
58
+ fontSize: _fontSize,
59
+ lineHeight: _lineHeight,
60
+ letterSpacing: _letterSpacing,
61
+ ...rest
62
+ } = this.defaultButtonStyle;
58
63
 
59
64
  return rest;
60
65
  },
61
66
  selectedWrapperStyle(): BrandPageCssStyle {
62
- const { fontSize, lineHeight, letterSpacing, ...rest } =
63
- this.selectedButtonStyle;
67
+ const {
68
+ fontSize: _fontSize,
69
+ lineHeight: _lineHeight,
70
+ letterSpacing: _letterSpacing,
71
+ ...rest
72
+ } = this.selectedButtonStyle;
64
73
 
65
74
  return rest;
66
75
  },
67
76
  routes(): any[] {
68
- return this.visibleNavItems.map((navItem, i) => {
77
+ return this.visibleNavItems.map((navItem, _i) => {
69
78
  return {
70
79
  routeName: navItem.routeName,
71
80
  routeParams: navItem.routeParams,
@@ -96,7 +105,7 @@ export default defineComponent({
96
105
  paddingLeft: '32px',
97
106
  backgroundColor: isActive
98
107
  ? baseStyle.backgroundColor
99
- : this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff',
108
+ : (this.styles.hamburgerMenuStyle.subNavBackgroundColor ?? '#ffffff'),
100
109
  };
101
110
  },
102
111
  closeSideMenu(): void {
@@ -1,3 +1,4 @@
1
+ <!-- eslint-disable vue/no-v-html -->
1
2
  <template>
2
3
  <div
3
4
  data-component="page-footer"
@@ -106,7 +106,9 @@ withDefaults(
106
106
  .desktop-tab-horizontal-stack-centered-logo-right-menu {
107
107
  @apply tw-grid;
108
108
  @apply tw-gap-x-4;
109
- grid-template-columns: [col-start] 1fr [logo-start] var(--logo-max-width) [logo-end nav-start] 1fr [nav-end];
109
+ grid-template-columns:
110
+ [col-start] 1fr [logo-start] var(--logo-max-width)
111
+ [logo-end nav-start] 1fr [nav-end];
110
112
  }
111
113
  .desktop-tab-horizontal-stack-centered-logo-right-menu .logo-container {
112
114
  grid-column: logo-start / logo-end;
@@ -184,7 +186,9 @@ withDefaults(
184
186
  /* DESKTOP_TAB_6 */
185
187
  .desktop-tab-vertical-stack-centered-menu-centered-logo.show-nav {
186
188
  @apply tw-grid;
187
- grid-template-rows: [row1-start] var(--tab-nav-height) [row1-end row2-start] 1fr [row2-end];
189
+ grid-template-rows:
190
+ [row1-start] var(--tab-nav-height)
191
+ [row1-end row2-start] 1fr [row2-end];
188
192
  @apply tw-gap-y-4;
189
193
  justify-content: center;
190
194
  justify-items: center;
@@ -209,7 +213,9 @@ withDefaults(
209
213
  }
210
214
  .mobile-tab-vertical-stack-centered-menu-centered-logo.show-nav {
211
215
  @apply tw-grid;
212
- grid-template-rows: [row1-start] var(--tab-nav-height) [row1-end row2-start] 1fr [row2-end];
216
+ grid-template-rows:
217
+ [row1-start] var(--tab-nav-height)
218
+ [row1-end row2-start] 1fr [row2-end];
213
219
  @apply tw-gap-y-4;
214
220
  margin-top: 1rem;
215
221
  }
@@ -282,9 +288,9 @@ withDefaults(
282
288
  .desktop-hamburger-horizontal-stack-centered-logo-right-menu,
283
289
  .mobile-hamburger-horizontal-stack-centered-logo-right-menu {
284
290
  @apply tw-grid;
285
- grid-template-columns: [start] var(--hamburger-nav-width) [logo-start] auto [nav-start] var(
286
- --hamburger-nav-width
287
- );
291
+ grid-template-columns:
292
+ [start] var(--hamburger-nav-width)
293
+ [logo-start] auto [nav-start] var(--hamburger-nav-width);
288
294
  align-items: start;
289
295
  }
290
296
  .desktop-hamburger-horizontal-stack-centered-logo-right-menu .logo-container,
@@ -46,6 +46,7 @@ export default {
46
46
  HeaderLayout,
47
47
  },
48
48
  mixins: [PageHeaderMixin],
49
+ emits: ['open-side-menu'],
49
50
  };
50
51
  </script>
51
52
  <style scoped>
@@ -28,7 +28,7 @@ import Media from '../media/Media.vue';
28
28
  import type { TextImageSectionViewModel } from '@brand-page/view-models';
29
29
  import type { BrandPageContext } from '@brand-page/models';
30
30
 
31
- const props = defineProps({
31
+ defineProps({
32
32
  viewModel: {
33
33
  type: Object as PropType<TextImageSectionViewModel>,
34
34
  required: true,
@@ -231,8 +231,6 @@
231
231
  import {
232
232
  Modal,
233
233
  Button,
234
- Dropdown,
235
- DropdownItem,
236
234
  NumberStepper,
237
235
  Textarea,
238
236
  Icon,
@@ -318,7 +316,7 @@ const onQtyChange = (skuKey: string, qty: number) => {
318
316
  cartSettingsStore.updateQuantity(skuKey, qty);
319
317
  };
320
318
 
321
- const onUpdateVariantOption = (
319
+ const _onUpdateVariantOption = (
322
320
  index: number,
323
321
  skuKey: string,
324
322
  variant: string,
@@ -60,7 +60,7 @@
60
60
  </ul>
61
61
  </template>
62
62
  <script setup lang="ts">
63
- import type { BrandPageContext, ShopContent } from '@brand-page/models';
63
+ import type { BrandPageContext } from '@brand-page/models';
64
64
  import FallbackImage from '../fallback-image/FallbackImage.vue';
65
65
  import TextWrapper from '../text-wrapper/TextWrapper.vue';
66
66
  import { type PropType } from 'vue';
@@ -71,7 +71,7 @@ import { computed } from 'vue';
71
71
 
72
72
  const shopSettingStore = useShopConfigStore();
73
73
 
74
- const props = defineProps({
74
+ defineProps({
75
75
  context: {
76
76
  type: Object as PropType<BrandPageContext>,
77
77
  required: true,
@@ -115,8 +115,7 @@
115
115
  <script setup lang="ts">
116
116
  import { Modal, Button, Loader } from '@designcrowd/fe-shared-lib';
117
117
  import { useCartStore } from '@shared/ecommerce-settings/store/cart-settings-store';
118
- import { computed, reactive, ref, onMounted } from 'vue';
119
- import IconStripe from '../icon/IconStripe.vue';
118
+ import { computed, reactive, onMounted } from 'vue';
120
119
  import RequestPaymentStripe from '../payment/RequestPaymentStripe.vue';
121
120
  import TextWrapper from '../text-wrapper/TextWrapper.vue';
122
121
  import brandPageClient from '../../clients/brand-page.client';
@@ -128,7 +127,6 @@ import type {
128
127
  BrandPagePaymentConfig,
129
128
  TextStyleDeclaration,
130
129
  StripePaymentIntent,
131
- StripeShippingDetails,
132
130
  } from '@brand-page/models';
133
131
  import { paymentProviders } from '@brand-page/constants';
134
132
  import raygunUtil from '@brand-page/utils/raygun.util';
@@ -173,8 +171,6 @@ const data = reactive({
173
171
  state: 'creating-cart' as State,
174
172
  });
175
173
 
176
- const customerEmail = ref('');
177
-
178
174
  const emit = defineEmits(['on-close', 'on-back']);
179
175
 
180
176
  const onClose = () => {
@@ -293,7 +293,7 @@ const onClose = () => {
293
293
  emit('on-close');
294
294
  };
295
295
 
296
- const showFullDesc = () => {
296
+ const _showFullDesc = () => {
297
297
  data.isShowFullDescription = true;
298
298
  };
299
299
 
@@ -125,7 +125,7 @@ import ThumbnailDisplay from './ThumbnailDisplay.vue';
125
125
  import FeaturedDisplay from './FeaturedDisplay.vue';
126
126
  import ProductDetailModal from './ProductDetailModal.vue';
127
127
  import CartModal from './CartModal.vue';
128
- import { computed, onMounted, reactive, type PropType } from 'vue';
128
+ import { computed, onMounted, reactive } from 'vue';
129
129
  import {
130
130
  PAYMENT_OPTION_DISPLAY_TYPES,
131
131
  PAYMENT_OPTION_IMAGE_TYPES,
@@ -39,7 +39,7 @@ import { computed } from 'vue';
39
39
 
40
40
  const shopSettingStore = useShopConfigStore();
41
41
 
42
- const props = defineProps({
42
+ defineProps({
43
43
  context: {
44
44
  type: Object as PropType<BrandPageContext>,
45
45
  required: true,
@@ -45,7 +45,7 @@
45
45
  </ul>
46
46
  </template>
47
47
  <script setup lang="ts">
48
- import type { BrandPageContext, ShopContent } from '@brand-page/models';
48
+ import type { BrandPageContext } from '@brand-page/models';
49
49
  import FallbackImage from '../fallback-image/FallbackImage.vue';
50
50
  import TextWrapper from '../text-wrapper/TextWrapper.vue';
51
51
  import type { PropType } from 'vue';
@@ -56,7 +56,7 @@ import { computed } from 'vue';
56
56
 
57
57
  const shopSettingStore = useShopConfigStore();
58
58
 
59
- const props = defineProps({
59
+ defineProps({
60
60
  context: {
61
61
  type: Object as PropType<BrandPageContext>,
62
62
  required: true,
@@ -265,9 +265,9 @@ const renderText = (val: string): string => (val ? getRenderText(val) : '');
265
265
  const forceCarouselUpdate = (): boolean => {
266
266
  const shouldUpdateCarousel = Boolean(
267
267
  props.isPreview &&
268
- (props.viewModel.items.length > 1 ||
269
- props.viewModel.displayStyle === 'big-image') &&
270
- carouselRef.value,
268
+ (props.viewModel.items.length > 1 ||
269
+ props.viewModel.displayStyle === 'big-image') &&
270
+ carouselRef.value,
271
271
  );
272
272
 
273
273
  if (shouldUpdateCarousel) {