@designcrowd/library.brand-page 5.19.1 → 6.0.0-undo-redo-1

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 (363) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BmeMc9oz.js → CreatedOnBrandCrowd-de-de-Cbi1PSNS.js} +3 -3
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-CQNdm_6P.js → CreatedOnBrandCrowd-en-us-B2ZTei1t.js} +3 -3
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BrmHWeAM.js → CreatedOnBrandCrowd-es-es-DGz8UfQQ.js} +3 -3
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CaIyjTXl.js → CreatedOnBrandCrowd-fr-ca-C4rUBQUM.js} +3 -3
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CaIyjTXl.js → CreatedOnBrandCrowd-fr-fr-C4rUBQUM.js} +3 -3
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BClE0Nd9.js → CreatedOnBrandCrowd-pt-br-Cw7sVI1F.js} +3 -3
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BClE0Nd9.js → CreatedOnBrandCrowd-pt-pt-Cw7sVI1F.js} +3 -3
  8. package/lib/src/{CreatedOnDcom-de-de-CkrdlPqK.js → CreatedOnDcom-de-de-DPSPgKj7.js} +3 -3
  9. package/lib/src/{CreatedOnDcom-en-us-D33J9qky.js → CreatedOnDcom-en-us-AXXhwSXg.js} +3 -3
  10. package/lib/src/{CreatedOnDcom-es-es-BsmInngw.js → CreatedOnDcom-es-es-DY8bmxi_.js} +3 -3
  11. package/lib/src/{CreatedOnDcom-fr-ca-DOXlsRea.js → CreatedOnDcom-fr-ca-D3QxYtYl.js} +3 -3
  12. package/lib/src/{CreatedOnDcom-fr-fr-SfFYLtyn.js → CreatedOnDcom-fr-fr-KIt7qTPd.js} +3 -3
  13. package/lib/src/{CreatedOnDcom-pt-br-DcWeuZUy.js → CreatedOnDcom-pt-br-Bv4bHhuR.js} +3 -3
  14. package/lib/src/{CreatedOnDcom-pt-pt-DZsZZ4iX.js → CreatedOnDcom-pt-pt-NNO1huza.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/logo.util.d.ts +14 -0
  33. package/lib/src/brand-page/utils/logo.util.js +19 -0
  34. package/lib/src/brand-page/utils/personalisation.util.js +72 -14
  35. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +21 -19
  36. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +1 -0
  37. package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +16 -10
  38. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +3 -3
  39. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +181 -170
  40. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -1
  41. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  42. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +12 -12
  43. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.js +2 -2
  44. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.js +0 -7
  45. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +148 -149
  46. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +21 -21
  47. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.js +1 -1
  48. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.d.ts +4 -2
  49. package/lib/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.js +1 -0
  50. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +4 -2
  51. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.js +1 -0
  52. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.d.ts +5 -2
  53. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.js +1 -0
  54. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.d.ts +4 -2
  55. package/lib/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.js +1 -0
  56. package/lib/src/brand-page-maker/components/device/Device.mixin.d.ts +4 -2
  57. package/lib/src/brand-page-maker/components/device/Device.mixin.js +1 -0
  58. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +4 -2
  59. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +1 -0
  60. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +3 -3
  61. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +11 -11
  62. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +27 -25
  63. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.js +1 -0
  64. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +27 -27
  65. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +1 -1
  66. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +17 -12
  67. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +12 -12
  68. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +30 -32
  69. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +16 -5
  70. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +11 -11
  71. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +1 -1
  72. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
  73. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -6
  74. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +2 -2
  75. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.d.ts +6 -7
  76. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.js +7 -12
  77. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +6 -6
  78. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -1
  79. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.d.ts +1 -1
  80. package/lib/src/brand-page-maker/convertors/text-image-display-style.convertor.js +1 -1
  81. package/lib/src/brand-page-maker/models/content-settings.d.ts +1 -1
  82. package/lib/src/brand-page-maker/models/navigation-style-configs.js +1 -1
  83. package/lib/src/brand-page-maker/routing/brand-page-maker-router.d.ts +1 -2
  84. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +366 -360
  85. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +5 -4
  86. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -5
  87. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +3 -1
  88. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +9 -9
  89. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +15 -15
  90. package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +6 -0
  91. package/lib/src/brand-page-maker/stores/ui/ui-store.js +8 -0
  92. package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
  93. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +1 -1
  94. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +4 -4
  95. package/lib/src/clients/brand-page-client.d.ts +16 -15
  96. package/lib/src/clients/design-template-client.d.ts +3 -0
  97. package/lib/src/clients/media-client.d.ts +2 -2
  98. package/lib/src/clients/models.d.ts +2 -0
  99. package/lib/src/css/library.brand-page-brandCrowd.min.css +342 -324
  100. package/lib/src/css/library.brand-page-brandPage.min.css +620 -324
  101. package/lib/src/css/library.brand-page-designCom.min.css +342 -324
  102. package/lib/src/css/library.brand-page-preview.min.css +598 -324
  103. package/lib/src/index.d.ts +1 -1
  104. package/lib/src/index.mjs +16 -15
  105. package/lib/src/{lib-C5vGkjfs.js → lib-IDusUqYG.js} +36141 -33107
  106. package/lib/src/lib.js +1 -1
  107. package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +13 -0
  108. package/lib/src/metadata-builder/builders/reorder-pages-builder.js +49 -0
  109. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +1 -1
  110. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +1 -1
  111. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +1 -1
  112. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +1 -1
  113. package/lib/src/metadata-builder/builders/shape-color-utils.js +1 -1
  114. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.d.ts +1 -1
  115. package/lib/src/plugins/google-maps-plugin/google-maps-plugin.js +8 -8
  116. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +13 -13
  117. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +3 -3
  118. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +4 -2
  119. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +2 -2
  120. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.d.ts +4 -2
  121. package/lib/src/shared/color-picker/components/ColorPickerSwatch.mixin.js +1 -0
  122. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +5 -2
  123. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +1 -0
  124. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +0 -1
  125. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +131 -129
  126. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -1
  127. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +111 -110
  128. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +84 -81
  129. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +5 -0
  130. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +117 -109
  131. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -14
  132. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +0 -1
  133. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +72 -70
  134. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +4 -3
  135. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +4 -4
  136. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.d.ts +3 -1
  137. package/lib/src/shared/content-settings/components/icon-library/IconLibrary.mixin.js +1 -0
  138. package/lib/src/shared/content-settings/components/images-field/ImagesField.mixin.d.ts +2 -2
  139. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +4 -3
  140. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +1 -1
  141. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +40 -40
  142. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.mixin.d.ts +5 -6
  143. package/lib/src/shared/content-settings/components/shape-field/ShapeField.mixin.d.ts +0 -1
  144. package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.d.ts +2 -2
  145. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +0 -1
  146. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +1 -2
  147. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +0 -1
  148. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  149. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -1
  150. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +28 -28
  151. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +0 -1
  152. package/lib/src/shared/content-settings/components/toggle-field/ToggleField.mixin.d.ts +2 -2
  153. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +0 -1
  154. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +0 -1
  155. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +39 -39
  156. package/lib/src/shared/content-settings/utils.js +0 -1
  157. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +6 -4
  158. package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +1 -0
  159. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.d.ts +4 -2
  160. package/lib/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.js +1 -0
  161. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +29 -21
  162. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +1 -1
  163. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +50 -51
  164. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +6 -4
  165. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.js +1 -0
  166. package/lib/src/shared/logo-settings/store/editable-logo-store.js +1 -1
  167. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +1 -1
  168. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +13 -5
  169. package/lib/src/shared/logo-versions/LogoVersions.mixin.js +1 -0
  170. package/lib/src/shared/models.d.ts +2 -0
  171. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +14 -6
  172. package/lib/src/shared/my-designs/MyDesigns.mixin.js +1 -0
  173. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +14 -5
  174. package/lib/src/shared/my-uploads/MyMedia.mixin.js +1 -0
  175. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +14 -5
  176. package/lib/src/shared/my-uploads/MyUploads.mixin.js +1 -0
  177. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -3
  178. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -0
  179. package/lib/src/shared/navigation-style-settings/store/index.d.ts +2 -2
  180. package/lib/src/shared/page-navigation/store/page-navigation-store.d.ts +2 -2
  181. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +27 -28
  182. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.js +0 -2
  183. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +188 -177
  184. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +181 -175
  185. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +1 -1
  186. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +9 -9
  187. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +39 -39
  188. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +0 -1
  189. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +18 -18
  190. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +6 -6
  191. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +66 -60
  192. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -1
  193. package/lib/src/shared/style-settings/store/style-settings-store.js +1 -1
  194. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +20 -450
  195. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +2 -2
  196. package/lib/src/shared/template-settings/models.d.ts +1 -0
  197. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +4 -0
  198. package/lib/src/shared/template-settings/store/template-settings-store.js +79 -11
  199. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +9 -4
  200. package/package.json +60 -56
  201. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +7 -5
  202. package/src/brand-page/components/banner-section/BannerSection.mixin.ts +210 -0
  203. package/src/brand-page/components/brand-page-footer/BrandPageFooter.vue +1 -1
  204. package/src/brand-page/components/image/Image.mixin.ts +1 -1
  205. package/src/brand-page/components/image/Image.test.ts +1 -1
  206. package/src/brand-page/components/images-section/ImagesSection.vue +0 -1
  207. package/src/brand-page/components/logo/LogoRender.vue +188 -188
  208. package/src/brand-page/components/navigation/hamburger/HamburgerNavigation.mixin.ts +1 -0
  209. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +15 -6
  210. package/src/brand-page/components/page-footer/PageFooter.vue +1 -0
  211. package/src/brand-page/components/page-header/HeaderLayout.vue +12 -6
  212. package/src/brand-page/components/page-header/PageHeader.vue +1 -0
  213. package/src/brand-page/components/shapes-section/ShapesSection.vue +1 -1
  214. package/src/brand-page/components/shop/CartModal.vue +1 -3
  215. package/src/brand-page/components/shop/FeaturedDisplay.vue +2 -2
  216. package/src/brand-page/components/shop/PaymentModal.vue +1 -5
  217. package/src/brand-page/components/shop/ProductDetailModal.vue +1 -1
  218. package/src/brand-page/components/shop/Shop.vue +1 -1
  219. package/src/brand-page/components/shop/TextDisplay.vue +1 -1
  220. package/src/brand-page/components/shop/ThumbnailDisplay.vue +2 -2
  221. package/src/brand-page/components/testimonial-section/TestimonialSection.vue +3 -3
  222. package/src/brand-page/components/text-wrapper/TextWrapper.vue +3 -1
  223. package/src/brand-page/constants/sections/footer-display.constants.ts +1 -1
  224. package/src/brand-page/models/index.ts +4 -0
  225. package/src/brand-page/models/payment.model.ts +2 -1
  226. package/src/brand-page/models/shop.model.ts +0 -2
  227. package/src/brand-page/models/user-personalisation.model.ts +1 -2
  228. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -0
  229. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +1 -0
  230. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +2 -0
  231. package/src/brand-page/utils/logo.util.test.ts +54 -1
  232. package/src/brand-page/utils/logo.util.ts +23 -0
  233. package/src/brand-page/utils/migration/migration-01_1.ts +1 -1
  234. package/src/brand-page/utils/migration/migration-02.ts +0 -1
  235. package/src/brand-page/utils/migration/migration-03.ts +0 -1
  236. package/src/brand-page/utils/migration/migration-04.ts +0 -1
  237. package/src/brand-page/utils/migration/migration-05.ts +1 -5
  238. package/src/brand-page/utils/migration/migration-05_2.ts +1 -1
  239. package/src/brand-page/utils/migration/migration-08.test.ts +1 -1
  240. package/src/brand-page/utils/personalisation.util.test.ts +35 -0
  241. package/src/brand-page/utils/personalisation.util.ts +119 -23
  242. package/src/brand-page/view-models.ts +38 -56
  243. package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +6 -6
  244. package/src/brand-page-maker/assessors/color-replacement-icon-visibility.assessor.ts +2 -2
  245. package/src/brand-page-maker/assessors/color-replacement-profile-visibility.assessor.ts +2 -2
  246. package/src/brand-page-maker/assessors/color-replacement-visibility.assessor.ts +2 -2
  247. package/src/brand-page-maker/assessors/contact-form-visibility.assessor.ts +14 -14
  248. package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +1 -0
  249. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +1 -0
  250. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +6 -2
  251. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  252. package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.stories.ts +2 -5
  253. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -5
  254. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-payment.ts +0 -8
  255. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-site-template.examples.ts +0 -2
  256. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +1 -0
  257. package/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.ts +1 -1
  258. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +1 -2
  259. package/src/brand-page-maker/components/color-picker/components/ColorModeSelect.mixin.ts +1 -0
  260. package/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.ts +1 -0
  261. package/src/brand-page-maker/components/color-picker/components/GradientColorSliderHandler.mixin.ts +1 -0
  262. package/src/brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin.ts +1 -0
  263. package/src/brand-page-maker/components/device/Device.mixin.ts +1 -0
  264. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +1 -0
  265. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
  266. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +1 -4
  267. package/src/brand-page-maker/components/seo-settings/DeleteDomainModal.vue +1 -1
  268. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.ts +1 -0
  269. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +1 -1
  270. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +0 -1
  271. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +0 -1
  272. package/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.vue +1 -5
  273. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +1 -1
  274. package/src/brand-page-maker/components/shop/ReplaceImageSettingsForShop.vue +1 -1
  275. package/src/brand-page-maker/components/social-share/SocialShare.vue +1 -1
  276. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +22 -8
  277. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +5 -10
  278. package/src/brand-page-maker/components/template-preview/TemplatePreviewAiBadge.vue +12 -0
  279. package/src/brand-page-maker/components/video-play/VideoPlayButton.vue +1 -1
  280. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +1 -1
  281. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -6
  282. package/src/brand-page-maker/composables/useUndoRedoFlag.ts +7 -13
  283. package/src/brand-page-maker/constants/config-settings-constant.ts +3 -3
  284. package/src/brand-page-maker/convertors/text-image-display-style.convertor.ts +1 -1
  285. package/src/brand-page-maker/models/button-styles-config.ts +4 -2
  286. package/src/brand-page-maker/models/content-settings-configs.ts +4 -2
  287. package/src/brand-page-maker/models/navigation-style-configs.ts +5 -6
  288. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -1
  289. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +8 -5
  290. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +1 -3
  291. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +14 -20
  292. package/src/brand-page-maker/stores/ui/ui-store.ts +16 -0
  293. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  294. package/src/brand-page-maker/utils/rich-text-editor.util.ts +4 -4
  295. package/src/clients/design-template-client.ts +3 -0
  296. package/src/clients/models.ts +2 -0
  297. package/src/lib.ts +1 -0
  298. package/src/metadata-builder/builders/reorder-pages-builder.ts +80 -0
  299. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +1 -1
  300. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +1 -1
  301. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +1 -1
  302. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +1 -1
  303. package/src/metadata-builder/builders/shape-color-utils.ts +2 -2
  304. package/src/plugins/google-maps-plugin/google-maps-plugin.ts +8 -8
  305. package/src/shared/background-settings/components/BackgroundSettings.vue +1 -1
  306. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +1 -1
  307. package/src/shared/color-picker/components/ColorPicker.mixin.ts +2 -7
  308. package/src/shared/color-picker/components/ColorPickerSwatch.mixin.ts +1 -0
  309. package/src/shared/common/NumberInput.vue +1 -0
  310. package/src/shared/common/SideBarSettingsHeader.vue +2 -2
  311. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +1 -0
  312. package/src/shared/content-settings/components/booking-url-field/BookingUrlField.vue +1 -0
  313. package/src/shared/content-settings/components/button-configuration-field/ButtonConfigurationField.vue +1 -0
  314. package/src/shared/content-settings/components/color-field/ColorField.vue +3 -10
  315. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -1
  316. package/src/shared/content-settings/components/content-settings/ContentSettingsLockedButton.vue +1 -0
  317. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +5 -0
  318. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -14
  319. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +4 -6
  320. package/src/shared/content-settings/components/icon-library/IconLibrary.mixin.ts +1 -0
  321. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +1 -1
  322. package/src/shared/content-settings/components/logo-selection-field/LogoSelectionField.vue +1 -1
  323. package/src/shared/content-settings/components/logo-size-field/LogoSizeSliderField.vue +1 -1
  324. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +1 -1
  325. package/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.vue +4 -4
  326. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +2 -8
  327. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -1
  328. package/src/shared/content-settings/models.ts +3 -2
  329. package/src/shared/content-settings/utils.ts +0 -1
  330. package/src/shared/dropzone-image-uploader/components/DropzoneImageUploader.vue +1 -0
  331. package/src/shared/ecommerce-settings/store/cart-store.test.ts +1 -1
  332. package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +1 -0
  333. package/src/shared/image-gallery-style-settings/ImageGalleryStyleSettings.mixin.ts +1 -0
  334. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +1 -1
  335. package/src/shared/logo-settings/components/LogoSettings.mixin.ts +0 -1
  336. package/src/shared/logo-settings/components/LogoSettingsHeader.mixin.ts +1 -0
  337. package/src/shared/logo-settings/components/LogoStyleSettingsWithState.vue +2 -2
  338. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +1 -1
  339. package/src/shared/logo-settings/store/editable-logo-store.ts +1 -1
  340. package/src/shared/logo-settings/store/logo-settings-store.test.ts +4 -4
  341. package/src/shared/logo-versions/LogoVersions.mixin.ts +1 -0
  342. package/src/shared/models.ts +6 -0
  343. package/src/shared/my-designs/MyDesigns.mixin.ts +1 -0
  344. package/src/shared/my-uploads/MyMedia.mixin.ts +1 -0
  345. package/src/shared/my-uploads/MyMediaSelectionItem.vue +2 -1
  346. package/src/shared/my-uploads/MyUploads.mixin.ts +1 -0
  347. package/src/shared/my-uploads/models.ts +1 -2
  348. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -0
  349. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +1 -1
  350. package/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.ts +0 -3
  351. package/src/shared/page-settings/components/page-settings/NestedDraggable.vue +1 -1
  352. package/src/shared/page-settings/components/page-settings/PageSettings.vue +1 -2
  353. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +1 -1
  354. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +1 -1
  355. package/src/shared/page-settings/store/page-settings-store.test.ts +4 -8
  356. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +0 -1
  357. package/src/shared/shape-library/ShapeLibrary.vue +2 -2
  358. package/src/shared/style-settings/store/style-settings-store.ts +1 -1
  359. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +2 -2
  360. package/src/shared/template-settings/models.ts +1 -0
  361. package/src/shared/template-settings/store/template-settings-store.ts +105 -18
  362. package/src/shared/unsplash-library/UnsplashLibrary.vue +2 -6
  363. package/src/shared/video-library/VideoLibrary.vue +1 -1
@@ -0,0 +1,80 @@
1
+ import type { BrandPageModel, NavOrder } from '../../brand-page/models';
2
+ import {
3
+ BaseMetadataBuilder,
4
+ type BuilderResult,
5
+ type MetadataBuilderRequest,
6
+ } from '../models';
7
+ import type { Logger } from '../logger';
8
+
9
+ export interface ReorderPagesPayload {
10
+ pageOrder: string[];
11
+ }
12
+
13
+ export class ReorderPagesBuilder extends BaseMetadataBuilder<ReorderPagesPayload> {
14
+ constructor(
15
+ request: MetadataBuilderRequest<ReorderPagesPayload>,
16
+ logger?: Logger,
17
+ ) {
18
+ super(request, logger);
19
+ }
20
+
21
+ async validateAsync(): Promise<{ errors: string[] }> {
22
+ const errors: string[] = [];
23
+ const payload = this.request.payload;
24
+
25
+ if (!payload?.pageOrder?.length) {
26
+ errors.push('page_order is required for reorder_pages');
27
+ }
28
+
29
+ return { errors };
30
+ }
31
+
32
+ async buildAsync(model: BrandPageModel): Promise<BuilderResult> {
33
+ this.log('Build called');
34
+
35
+ const validation = await this.validateAsync();
36
+
37
+ if (validation.errors.length) {
38
+ return { request: this.request, model, errors: validation.errors };
39
+ }
40
+
41
+ const { pageOrder } = this.request.payload!;
42
+
43
+ // Build pageId → routeId lookup from nav.routes
44
+ const pageIdToRouteId = new Map<string, string>();
45
+
46
+ for (const route of model.nav.routes) {
47
+ pageIdToRouteId.set(route.pageId, route.id);
48
+ }
49
+
50
+ // Build new nav.orders from the flat page_order (array of pageIds)
51
+ const newOrders: NavOrder[] = [];
52
+ const seenRouteIds = new Set<string>();
53
+
54
+ for (const pageId of pageOrder) {
55
+ const routeId = pageIdToRouteId.get(pageId);
56
+
57
+ if (!routeId) continue;
58
+
59
+ newOrders.push({ routeId, subRoutes: [] });
60
+ seenRouteIds.add(routeId);
61
+ }
62
+
63
+ // Safety: append any routes not mentioned (don't lose pages)
64
+ for (const route of model.nav.routes) {
65
+ const routeId = pageIdToRouteId.get(route.pageId);
66
+
67
+ if (routeId && !seenRouteIds.has(routeId)) {
68
+ newOrders.push({ routeId, subRoutes: [] });
69
+ }
70
+ }
71
+
72
+ model.nav.orders = newOrders;
73
+
74
+ this.log({
75
+ message: `Reordered pages: ${pageOrder.join(', ')}`,
76
+ });
77
+
78
+ return { request: this.request, model };
79
+ }
80
+ }
@@ -46,7 +46,7 @@ const mergeGalleryImages = (
46
46
  const existing = content.images?.[index];
47
47
  const imageUrl = isValidUrl(img.image_url)
48
48
  ? img.image_url!
49
- : existing?.imageUrl ?? '';
49
+ : (existing?.imageUrl ?? '');
50
50
 
51
51
  return {
52
52
  ...(existing || {}),
@@ -80,7 +80,7 @@ const mergeImageItems = (
80
80
  ...(existing || {}),
81
81
  imageUrl: isValidUrl(item.image_url)
82
82
  ? item.image_url!
83
- : existing?.imageUrl ?? '',
83
+ : (existing?.imageUrl ?? ''),
84
84
  imageTitle: existing?.imageTitle ?? '',
85
85
  width: existing?.width ?? 0,
86
86
  height: existing?.height ?? 0,
@@ -128,7 +128,7 @@ const mergeTestimonialItemsAsync = async (
128
128
  ? 'shape'
129
129
  : item.avatar_image_url
130
130
  ? 'image'
131
- : existing?.mediaType ?? 'image';
131
+ : (existing?.mediaType ?? 'image');
132
132
 
133
133
  return {
134
134
  ...(existing || {}),
@@ -128,7 +128,7 @@ const mergeTextItems = (
128
128
  ) as TextStyleDeclaration;
129
129
 
130
130
  const resolved = item.text !== undefined ? resolveText(item.text) : null;
131
- const text = resolved ? resolved.html : existing?.text ?? '';
131
+ const text = resolved ? resolved.html : (existing?.text ?? '');
132
132
 
133
133
  return {
134
134
  text,
@@ -68,8 +68,8 @@ export const applyColorThemeToReplacements = (
68
68
  replacementColor:
69
69
  replacements.length === 1
70
70
  ? colorTheme
71
- : getNewColorBasedOnTargetColorTheme(
71
+ : (getNewColorBasedOnTargetColorTheme(
72
72
  r.originalColor,
73
73
  colorTheme,
74
- )?.toString() ?? colorTheme,
74
+ )?.toString() ?? colorTheme),
75
75
  }));
@@ -31,10 +31,10 @@ export interface AddressDetails {
31
31
  export class GoogleMapsPlugin {
32
32
  private initialised = false;
33
33
  private initialising = false;
34
- private readonly _options: GoogleMapsPluginOptions;
34
+ private readonly options: GoogleMapsPluginOptions;
35
35
 
36
36
  constructor(options: GoogleMapsPluginOptions) {
37
- this._options = options;
37
+ this.options = options;
38
38
  }
39
39
 
40
40
  private async initialise(): Promise<void> {
@@ -111,7 +111,7 @@ export class GoogleMapsPlugin {
111
111
  const { PlaceAutocompleteElement } = await this.getPlacesLibrary();
112
112
 
113
113
  return new PlaceAutocompleteElement({
114
- requestedLanguage: this._options.locale,
114
+ requestedLanguage: this.options.locale,
115
115
  ...options,
116
116
  });
117
117
  }
@@ -149,17 +149,17 @@ export class GoogleMapsPlugin {
149
149
  }
150
150
 
151
151
  private getGoogleScriptUrl(): string {
152
- const baseUrl = `https://maps.googleapis.com/maps/api/js?key=${this._options.apiKey}&libraries=places&loading=async`;
152
+ const baseUrl = `https://maps.googleapis.com/maps/api/js?key=${this.options.apiKey}&libraries=places&loading=async`;
153
153
 
154
- return this._options.locale
155
- ? `${baseUrl}&language=${this._options.locale}`
154
+ return this.options.locale
155
+ ? `${baseUrl}&language=${this.options.locale}`
156
156
  : baseUrl;
157
157
  }
158
158
 
159
159
  getEmbedGoogleMapsSrc(options: GetEmbedGoogleMapsOptions): string {
160
160
  const mapMode = options.mapMode || MAP_MODE_PLACE;
161
- const locale = options.locale || this._options.locale;
162
- const baseUrl = `https://www.google.com/maps/embed/v1/${mapMode}?key=${this._options.apiKey}&q=${options.query}`;
161
+ const locale = options.locale || this.options.locale;
162
+ const baseUrl = `https://www.google.com/maps/embed/v1/${mapMode}?key=${this.options.apiKey}&q=${options.query}`;
163
163
 
164
164
  return locale ? `${baseUrl}&language=${locale}` : baseUrl;
165
165
  }
@@ -174,7 +174,7 @@ const isPersonalisationEnabled = computed(
174
174
  );
175
175
  const isDesignCom = computed(() => containerStore.isDesignCom);
176
176
 
177
- const emit = defineEmits(['on-intent-image-replace']);
177
+ defineEmits(['on-intent-image-replace']);
178
178
 
179
179
  const shapeTabs = [
180
180
  backgroundSettingsTr(`background`),
@@ -22,7 +22,7 @@
22
22
  </div>
23
23
  </template>
24
24
  <script setup lang="ts">
25
- import { computed, type PropType } from 'vue';
25
+ import { computed } from 'vue';
26
26
  import { HelloBar } from '@designcrowd/fe-shared-lib';
27
27
  import { useUiBackgroundSettingsStore } from '../../store';
28
28
  import ColorField from '../../../content-settings/components/color-field/ColorField.vue';
@@ -3,15 +3,9 @@ import { Icon } from '@designcrowd/fe-shared-lib';
3
3
  import ColorPickerSwatch from './ColorPickerSwatch.vue';
4
4
  import type { ColorValue, ColorGroupItem, ColorGroup } from '../models';
5
5
  import { DEFAULT_COLORS, DEFAULT_GRADIENT_COLORS } from '../constants';
6
- import {
7
- RGBAtoHex,
8
- hexToRGB,
9
- arrayToLinearGradient,
10
- isRgbColor,
11
- } from '@utils/helpers';
6
+ import { RGBAtoHex, arrayToLinearGradient, isRgbColor } from '@utils/helpers';
12
7
  import { normalizeColorToHex, colorsMatch } from '@brand-page/utils/style.util';
13
8
  import { colorPickerTr } from '@src/composables/useTranslate';
14
- import { useUiStyleSettingsStore } from '../../style-settings/store';
15
9
 
16
10
  // Simple session storage for newColors (persists during browser session, clears on refresh)
17
11
  let sessionNewColors: ColorGroupItem[] = [];
@@ -53,6 +47,7 @@ export default defineComponent({
53
47
  default: () => false,
54
48
  },
55
49
  },
50
+ emits: ['on-color-select'],
56
51
  data() {
57
52
  const groups: ColorGroup[] = [];
58
53
  const newColors: ColorGroupItem[] = [];
@@ -7,6 +7,7 @@ export default defineComponent({
7
7
  required: true,
8
8
  },
9
9
  },
10
+ emits: ['click'],
10
11
  data() {
11
12
  const styles: BrandPageCssStyle = this.color.styles;
12
13
 
@@ -53,6 +53,7 @@ export default {
53
53
  default: 1,
54
54
  },
55
55
  },
56
+ emits: ['update:model-value'],
56
57
  data() {
57
58
  return {
58
59
  priceValue: this.modelValue,
@@ -33,9 +33,9 @@
33
33
  </template>
34
34
  <script setup lang="ts">
35
35
  import { Button } from '@designcrowd/fe-shared-lib';
36
- import { tr, commonTr } from '@src/composables/useTranslate';
36
+ import { commonTr } from '@src/composables/useTranslate';
37
37
 
38
- const props = defineProps({
38
+ defineProps({
39
39
  showBackButton: {
40
40
  type: Boolean,
41
41
  required: false,
@@ -14,6 +14,7 @@ export default defineComponent({
14
14
  required: false,
15
15
  },
16
16
  },
17
+ emits: ['confirm', 'cancel'],
17
18
  setup() {
18
19
  const containerStore = useBrandPageContainerStore();
19
20
 
@@ -1,3 +1,4 @@
1
+ <!-- eslint-disable vue/no-v-html -->
1
2
  <template>
2
3
  <div data-component="booking-url-field">
3
4
  <div
@@ -137,6 +137,7 @@ const props = withDefaults(defineProps<Props>(), {
137
137
  titleLength: MAX_TITLE_LENGTH,
138
138
  descriptionLength: MAX_DESCRIPTION_LENGTH,
139
139
  isAdmin: false,
140
+ pages: undefined,
140
141
  });
141
142
 
142
143
  const pageSettingsStore = useUiPageSettingsStore();
@@ -70,14 +70,7 @@
70
70
  </template>
71
71
 
72
72
  <script setup lang="ts">
73
- import {
74
- ref,
75
- computed,
76
- watch,
77
- onMounted,
78
- onBeforeMount,
79
- type PropType,
80
- } from 'vue';
73
+ import { ref, computed, watch, onMounted, onBeforeMount } from 'vue';
81
74
  import { Toggle } from '@designcrowd/fe-shared-lib';
82
75
  import {
83
76
  addTransparentAlphaChannelToHex,
@@ -320,8 +313,8 @@ onBeforeMount(() => {
320
313
  onMounted(() => {
321
314
  const toggleState = Boolean(
322
315
  color.value &&
323
- typeof color.value === 'string' &&
324
- !isHexTransparent(color.value),
316
+ typeof color.value === 'string' &&
317
+ !isHexTransparent(color.value),
325
318
  );
326
319
 
327
320
  emit('on-toggle-state-change', toggleState);
@@ -17,7 +17,6 @@ import {
17
17
  import { SIDE_BAR_CONTENT_ID } from '../../constants';
18
18
  import type { ComponentPublicInstance } from '@vue/runtime-core';
19
19
  import {
20
- EVENTS,
21
20
  SELECT_LOCATIONS,
22
21
  useEventTracker,
23
22
  } from '@brand-page-maker/composables/useEventTracker';
@@ -37,6 +36,7 @@ interface CategoryTab {
37
36
  }
38
37
 
39
38
  export default defineComponent({
39
+ emits: ['capture-preview-snapshot'],
40
40
  setup() {
41
41
  const brandPageMakerStore = useBrandPageMakerStore();
42
42
  const contentSettingsStore = useUiContentSettingsStore();
@@ -41,6 +41,7 @@ export default {
41
41
  required: true,
42
42
  },
43
43
  },
44
+ emits: ['on-click'],
44
45
  methods: {
45
46
  onClick(ev) {
46
47
  this.$emit('on-click', ev);
@@ -49,6 +49,11 @@ export default defineComponent({
49
49
  required: true,
50
50
  },
51
51
  },
52
+ emits: [
53
+ 'on-delete',
54
+ 'capture-snapshot-before-modal',
55
+ 'capture-preview-snapshot',
56
+ ],
52
57
  setup() {
53
58
  const contentSettingsStore = useUiContentSettingsStore();
54
59
  const sideBarStore = useUiSideBarStore();
@@ -16,7 +16,6 @@ import { SIDE_BAR_TAB_NAMES } from '@brand-page-maker/constants';
16
16
  import { ITEM_FIELD_TYPES, type ItemFieldType } from '@brand-page-maker/models';
17
17
  import { useUiPageSettingsStore } from '../../../page-settings/store';
18
18
  import { PAGE_SECTIONS } from '../../../page-settings/models';
19
- import { commonTr } from '@src/composables/useTranslate';
20
19
  import {
21
20
  getPlainTextFromRTE,
22
21
  replaceTextInRTE,
@@ -26,19 +25,6 @@ import {
26
25
  import { isDefaultContentText } from '@shared/content-settings/utils';
27
26
  import { useUiLogoSettingsStore } from '../../../logo-settings/store';
28
27
 
29
- const RTE_DISALLOWED_STYLE_FIELD_NAMES = [
30
- 'descriptionStyle',
31
- 'titleStyle',
32
- 'textStyle',
33
- 'paragraphStyle',
34
- ];
35
- const AI_ALLOWED_SECTION_TYPES = [
36
- 'banner-section',
37
- 'text',
38
- 'about-section',
39
- 'testimonials-section',
40
- ];
41
- const AI_ALLOWED_FIELD_NAMES = ['description', 'title', 'text', 'paragraph'];
42
28
  const RTE_DISALLOWED_FIELD_NAMES = ['buttonText'];
43
29
 
44
30
  export default defineComponent({
@@ -62,6 +48,7 @@ export default defineComponent({
62
48
  default: undefined,
63
49
  },
64
50
  },
51
+ emits: ['capture-preview-snapshot'],
65
52
  setup() {
66
53
  const contentSettingsStore = useUiContentSettingsStore();
67
54
  const brandPageMakerStore = useBrandPageMakerStore();
@@ -25,20 +25,18 @@ import {
25
25
  type PersonalisationRole,
26
26
  } from '@brand-page';
27
27
  import { buildRelativePathFromParams } from '@brand-page/utils/route.util';
28
- import {
29
- switchAllContentToRTE,
30
- isRTEManagedStyleField,
31
- } from '@brand-page-maker/utils';
28
+ import { isRTEManagedStyleField } from '@brand-page-maker/utils';
32
29
  import { useUiPageSettingsStore } from '@shared/page-settings/store';
33
30
  import { useExternalRichTextEditor } from '@brand-page-maker/composables/rich-text-editor/useRichTextEditor';
34
31
  import { useUiStyleSettingsStore } from '@shared/style-settings/store';
35
32
 
36
33
  export default defineComponent({
34
+ emits: ['capture-preview-snapshot'],
37
35
  setup() {
38
36
  const contentSettingsStore = useUiContentSettingsStore();
39
37
  const brandPageMakerStore = useBrandPageMakerStore();
40
- const pageSettingsStore = useUiPageSettingsStore();
41
- const styleSettingsStore = useUiStyleSettingsStore();
38
+ const _pageSettingsStore = useUiPageSettingsStore();
39
+ const _styleSettingsStore = useUiStyleSettingsStore();
42
40
 
43
41
  const userStore = useBrandPageMakerUserStore();
44
42
  const uiStore = useUiStore();
@@ -6,6 +6,7 @@ export default defineComponent({
6
6
  components: {
7
7
  Icon,
8
8
  },
9
+ emits: ['on-select-image'],
9
10
  data() {
10
11
  return {
11
12
  orderedIcons: BRAND_PAGE_ICONS,
@@ -30,7 +30,7 @@ export default defineComponent({
30
30
  default: false,
31
31
  },
32
32
  },
33
- emits: ['items-change', 'items-delete'],
33
+ emits: ['items-change', 'items-delete', 'itemsEdit'],
34
34
  data: () => ({
35
35
  itemStates: {} as Record<number, ItemFieldState>,
36
36
  }),
@@ -133,7 +133,7 @@ const onLogoVersionSelected = async (
133
133
  const logoDraftAsset = logoStore.getLogoDraftAssetByToken(
134
134
  selectedLogoVersion.token,
135
135
  );
136
- const brandPageMakerStore = useBrandPageMakerStore();
136
+ const _brandPageMakerStore = useBrandPageMakerStore();
137
137
  const uiStore = useUiStore();
138
138
  const pageSettingsStore = useUiPageSettingsStore();
139
139
 
@@ -27,7 +27,7 @@ const props = defineProps<Props>();
27
27
 
28
28
  const emit = defineEmits(['update:model-value']);
29
29
 
30
- const data = reactive<Data>({
30
+ const _data = reactive<Data>({
31
31
  suffix: null,
32
32
  });
33
33
 
@@ -71,7 +71,7 @@ const addPageButtonVariant = computed((): string => {
71
71
  return canAddPages.value ? 'outline' : 'primary';
72
72
  });
73
73
 
74
- const selectedPageName = computed((): string => {
74
+ const _selectedPageName = computed((): string => {
75
75
  return selectedPage.value;
76
76
  });
77
77
 
@@ -23,12 +23,12 @@
23
23
  None
24
24
  </DropdownItem>
25
25
  <DropdownItem
26
- v-for="value of data.dropdownValues"
27
- :key="value"
26
+ v-for="dValue of data.dropdownValues"
27
+ :key="dValue"
28
28
  class="tw-text-black tw-break-all tw-capitalize"
29
- @click="onSelectPersonalisationRole(value as PersonalisationRole)"
29
+ @click="onSelectPersonalisationRole(dValue as PersonalisationRole)"
30
30
  >
31
- {{ value }}
31
+ {{ dValue }}
32
32
  </DropdownItem>
33
33
  </Dropdown>
34
34
  </div>
@@ -278,14 +278,8 @@
278
278
  </div>
279
279
  </template>
280
280
  <script setup lang="ts">
281
- import { ref, computed, watch, onMounted, type PropType } from 'vue';
282
- import {
283
- Button,
284
- TextInput,
285
- Icon,
286
- ButtonGroup,
287
- Toggle,
288
- } from '@designcrowd/fe-shared-lib';
281
+ import { ref, computed, watch, onMounted } from 'vue';
282
+ import { Button, TextInput, Icon, Toggle } from '@designcrowd/fe-shared-lib';
289
283
  import ImageField from '../image-field/ImageField.vue';
290
284
  import ItemsField from '../items-field/ItemsField.vue';
291
285
  import ColorReplacementsField from '../color-replacements-field/ColorReplacementsField.vue';
@@ -19,7 +19,7 @@ import type { UpdateItemValuePayload } from '../../models';
19
19
  import cloneDeep from 'lodash.clonedeep';
20
20
  import { decodeHtmlEntities, escapeContentText } from '@brand-page/utils';
21
21
  import { useSnapshotStore } from '@brand-page-maker/stores';
22
- import { getPlainTextFromRTE, replaceTextInRTE } from '@brand-page-maker/utils';
22
+ import { getPlainTextFromRTE } from '@brand-page-maker/utils';
23
23
  import { isDefaultContentText } from '../../utils';
24
24
 
25
25
  const DEBOUNCE_IN_MS = 250;
@@ -43,8 +43,9 @@ export interface Tab {
43
43
  active: boolean;
44
44
  }
45
45
 
46
- export interface ContentReplaceImageSettings<TContent>
47
- extends ReplaceImageSettingsBase {
46
+ export interface ContentReplaceImageSettings<
47
+ TContent,
48
+ > extends ReplaceImageSettingsBase {
48
49
  setContentMedia: (
49
50
  content: TContent,
50
51
  value: SetContentMediaPayload,
@@ -1,5 +1,4 @@
1
1
  import type { Field, UpdateItemValuePayload } from './models';
2
- import { ESCAPED_NEWLINE_CHARACTER } from '../../constants/ui';
3
2
  import type {
4
3
  ContentSettingsConfig,
5
4
  ContentSettingsMultiField,
@@ -114,6 +114,7 @@ const props = defineProps({
114
114
  type: Function as PropType<() => Promise<DropzoneOptions>>,
115
115
  required: true,
116
116
  },
117
+ // eslint-disable-next-line vue/require-default-prop
117
118
  accept: {
118
119
  type: Function as PropType<
119
120
  (file: DropzoneFile, done: (error?: string | Error) => void) => void
@@ -1,5 +1,5 @@
1
1
  import { setActivePinia, createPinia } from 'pinia';
2
- import { describe, beforeEach, it, expect, vi } from 'vitest';
2
+ import { describe, beforeEach, it, expect } from 'vitest';
3
3
  import { useCartStore } from './cart-settings-store';
4
4
  import { useShopConfigStore } from './shop-settings-store';
5
5
 
@@ -15,6 +15,7 @@ export default defineComponent({
15
15
  required: true,
16
16
  },
17
17
  },
18
+ emits: ['on-select'],
18
19
  data() {
19
20
  return {
20
21
  fontFamilyCategories: Object.values(FONT_FAMILY_CATEGORIES()),
@@ -14,6 +14,7 @@ export default defineComponent({
14
14
  default: undefined,
15
15
  },
16
16
  },
17
+ emits: ['gallery-type-selected'],
17
18
  methods: {
18
19
  onGalleryTypeClick(galleryType: GalleryType) {
19
20
  this.$emit('gallery-type-selected', galleryType);
@@ -190,7 +190,7 @@ export default defineComponent({
190
190
  y1: 0,
191
191
  y2: 1,
192
192
  },
193
- colorStops: newColor.colors.map((c, i) => {
193
+ colorStops: newColor.colors.map((c, _i) => {
194
194
  return {
195
195
  color: c.color,
196
196
  offset: c.pos / 100,
@@ -6,7 +6,6 @@ import {
6
6
  useLogoStore,
7
7
  } from '@brand-page-maker/stores';
8
8
  import { useUiPageSettingsStore } from '@shared/page-settings/store';
9
- import type { ContentItem } from '@shared/content-settings/models';
10
9
  import type { CreateWebsiteByoUploadResult } from '@shared/website-byo-upload/WebsiteByoUploadModels';
11
10
 
12
11
  export interface Tab {
@@ -2,6 +2,7 @@ import { defineComponent } from 'vue';
2
2
  import { useUiLogoSettingsStore } from '../store';
3
3
 
4
4
  export default defineComponent({
5
+ emits: ['on-back'],
5
6
  setup() {
6
7
  const logoSettingsStore = useUiLogoSettingsStore();
7
8
 
@@ -69,14 +69,14 @@ const viewport = computed<ViewportsType>(() => {
69
69
  return brandPageMakerStore.viewport;
70
70
  });
71
71
 
72
- const logoSliderMin = computed(() => {
72
+ const _logoSliderMin = computed(() => {
73
73
  if (viewport.value === VIEWPORTS.mobile) {
74
74
  return LOGO_SLIDER_MOBILE_MIN;
75
75
  }
76
76
  return LOGO_SLIDER_DESKTOP_MIN;
77
77
  });
78
78
 
79
- const logoSliderMax = computed(() => {
79
+ const _logoSliderMax = computed(() => {
80
80
  if (viewport.value === VIEWPORTS.mobile) {
81
81
  return LOGO_SLIDER_MOBILE_MAX;
82
82
  }
@@ -183,7 +183,7 @@ const onNewLogoSelected = async () => {
183
183
  const client = FabricRenderClient.getInstance();
184
184
 
185
185
  // To handle parallel requests
186
- const [_, logoDesignAttributes] = await Promise.all([
186
+ const [__, logoDesignAttributes] = await Promise.all([
187
187
  updateTask(),
188
188
  client.getLogoAttributesByLogoTemplateTokenAsync(
189
189
  data.selectedTemplate.token,
@@ -311,7 +311,7 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
311
311
 
312
312
  this.logoEdits.textObjects = [];
313
313
 
314
- templateMetadata.objects.forEach((o, i) => {
314
+ templateMetadata.objects.forEach((o, _i) => {
315
315
  const matchingDraftObject = draftMetadata?.objects?.find(
316
316
  (d) => d.id === o.id,
317
317
  );