@designcrowd/library.brand-page 5.8.8 → 5.8.9-kp-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 (247) hide show
  1. package/lib/src/brand-page/constants/sections/footer-display.constants.d.ts +1 -1
  2. package/lib/src/brand-page/constants/sections/footer-display.constants.js +4 -3
  3. package/lib/src/brand-page/models/index.d.ts +1 -0
  4. package/lib/src/brand-page/models/styles.model.js +5 -4
  5. package/lib/src/brand-page/models/user-personalisation.model.d.ts +21 -1
  6. package/lib/src/brand-page/models/user-personalisation.model.js +6 -1
  7. package/lib/src/brand-page/utils/personalisation.util.d.ts +2 -0
  8. package/lib/src/brand-page/utils/personalisation.util.js +95 -3
  9. package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +2 -1
  10. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -2
  11. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +24 -22
  12. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +13 -2
  13. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.d.ts +48 -3
  14. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +1580 -139
  15. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +24 -22
  16. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +2 -2
  17. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.js +2 -1
  18. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.js +17 -14
  19. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +38 -38
  20. package/lib/src/brand-page-maker/constants/config-settings-constant.js +564 -555
  21. package/lib/src/brand-page-maker/convertors/align-display-style.convertor.js +3 -2
  22. package/lib/src/brand-page-maker/convertors/button-link-style.convertor.js +5 -4
  23. package/lib/src/brand-page-maker/convertors/display-style.convertor.js +3 -2
  24. package/lib/src/brand-page-maker/convertors/divider-style.convertor.js +4 -3
  25. package/lib/src/brand-page-maker/convertors/gallery-type.convertor.js +4 -3
  26. package/lib/src/brand-page-maker/convertors/image-aspect-ratio.convertor.js +4 -3
  27. package/lib/src/brand-page-maker/convertors/payment-display-type.convertor.js +4 -3
  28. package/lib/src/brand-page-maker/convertors/shape-size-options.convertor.js +4 -3
  29. package/lib/src/brand-page-maker/convertors/shop-aspect-ratio.convertor.js +3 -2
  30. package/lib/src/brand-page-maker/convertors/shop-display-type.convertor.js +4 -3
  31. package/lib/src/brand-page-maker/convertors/social-links-icon-display-style.convertor.js +4 -3
  32. package/lib/src/brand-page-maker/convertors/testimonial-display-style-convertor.js +4 -3
  33. package/lib/src/brand-page-maker/models/content-settings.js +21 -20
  34. package/lib/src/brand-page-maker/models/navigation-style-configs.d.ts +1 -1
  35. package/lib/src/brand-page-maker/models/navigation-style-configs.js +11 -10
  36. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +2 -1
  37. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store-utils.js +1 -1
  38. package/lib/src/brand-page-maker/utils/content-settings.util.js +1 -1
  39. package/lib/src/bundled-translations-CIiqyFfN.js +541 -0
  40. package/lib/src/bundles/bundled-translations.json +498 -0
  41. package/lib/src/composables/useTranslate.d.ts +44 -0
  42. package/lib/src/composables/useTranslate.js +74 -0
  43. package/lib/src/css/library.brand-page-brandCrowd.min.css +25 -25
  44. package/lib/src/css/library.brand-page-brandPage.min.css +25 -25
  45. package/lib/src/css/library.brand-page-designCom.min.css +25 -25
  46. package/lib/src/css/library.brand-page-preview.min.css +25 -25
  47. package/lib/src/index.d.ts +1 -0
  48. package/lib/src/index.mjs +24031 -22411
  49. package/lib/src/lib.js +1 -0
  50. package/lib/src/models/shapeModels.d.ts +1 -0
  51. package/lib/src/plugins/bundle-translations-plugin/bundle-translations-plugin.d.ts +4 -0
  52. package/lib/src/plugins/bundle-translations-plugin/bundle-translations-plugin.js +58 -0
  53. package/lib/src/shared/background-settings/components/background-color/BackgroundColorSettings.mixin.d.ts +2 -1
  54. package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +2 -1
  55. package/lib/src/shared/background-settings/models/background-settings-models.d.ts +0 -1
  56. package/lib/src/shared/background-settings/models/background-settings-models.js +0 -14
  57. package/lib/src/shared/background-settings/store/background-settings-store.d.ts +2 -1
  58. package/lib/src/shared/background-settings/store/background-settings-store.js +2 -1
  59. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +3 -2
  60. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +3 -3
  61. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.js +2 -1
  62. package/lib/src/shared/content-settings/components/color-field/ColorField.mixin.d.ts +2 -1
  63. package/lib/src/shared/content-settings/components/color-field/ColorField.mixin.js +4 -3
  64. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +24 -22
  65. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +2 -2
  66. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +25 -23
  67. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.js +5 -3
  68. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +23 -21
  69. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +22 -20
  70. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +3 -3
  71. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +21 -19
  72. package/lib/src/shared/content-settings/components/image-field/ImageField.mixin.js +4 -1
  73. package/lib/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.mixin.d.ts +1 -1
  74. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.js +7 -6
  75. package/lib/src/shared/content-settings/components/personalisation-role-field/PersonalisationRoleField.mixin.d.ts +21 -19
  76. package/lib/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.mixin.js +8 -5
  77. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +3 -3
  78. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +3 -3
  79. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +3 -3
  80. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +3 -3
  81. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +3 -3
  82. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +21 -19
  83. package/lib/src/shared/content-settings/store/content-settings-store.js +9 -8
  84. package/lib/src/shared/content-settings/utils.js +1 -1
  85. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +8 -1
  86. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +16 -4
  87. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +1 -1
  88. package/lib/src/shared/my-uploads/models.d.ts +1 -0
  89. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +1 -1
  90. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +1 -1
  91. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +26 -24
  92. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.js +8 -2
  93. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +25 -23
  94. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +17 -4
  95. package/lib/src/shared/shape-library/ShapeLibrary.mixin.d.ts +1 -1
  96. package/lib/src/shared/shape-library/ShapeLibrary.mixin.js +15 -3
  97. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +3 -2
  98. package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +6 -5
  99. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +231 -18
  100. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +11 -7
  101. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +8 -2
  102. package/lib/src/shared/template-settings/store/template-settings-store.js +23 -5
  103. package/package.json +2 -1
  104. package/src/brand-page/constants/sections/footer-display.constants.ts +4 -3
  105. package/src/brand-page/models/i18n/index-translation.json +6 -0
  106. package/src/brand-page/models/index.ts +1 -0
  107. package/src/brand-page/models/styles.model.ts +6 -4
  108. package/src/brand-page/models/user-personalisation.model.ts +24 -1
  109. package/src/brand-page/utils/personalisation.util.ts +131 -3
  110. package/src/brand-page-maker/components/action-bar/ActionBar.vue +7 -3
  111. package/src/brand-page-maker/components/action-bar/ActionBarNavigation.vue +9 -3
  112. package/src/brand-page-maker/components/action-bar/i18n/action-bar-translation.json +7 -0
  113. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +1 -0
  114. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +13 -2
  115. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +1583 -139
  116. package/src/brand-page-maker/components/brandpage-settings/BrandPageSettings.vue +29 -18
  117. package/src/brand-page-maker/components/brandpage-settings/i18n/brand-page-settings-translation.json +13 -0
  118. package/src/brand-page-maker/components/color-palette/BpColorPicker.vue +7 -1
  119. package/src/brand-page-maker/components/color-palette/i18n/color-palette-translation.json +5 -0
  120. package/src/brand-page-maker/components/cookie-collection/CookieSettings.vue +41 -16
  121. package/src/brand-page-maker/components/cookie-collection/i18n/cookie-settings-translation.json +7 -0
  122. package/src/brand-page-maker/components/google-analytics/GoogleAnalytics.vue +17 -14
  123. package/src/brand-page-maker/components/google-analytics/i18n/google-analytics-translation.json +7 -0
  124. package/src/brand-page-maker/components/navigation/Navigation.mixin.ts +2 -1
  125. package/src/brand-page-maker/components/navigation/Navigation.vue +4 -0
  126. package/src/brand-page-maker/components/navigation/i18n/navigation-translation.json +7 -0
  127. package/src/brand-page-maker/components/sensitive-content/SensitiveContent.vue +10 -5
  128. package/src/brand-page-maker/components/sensitive-content/i18n/sensitive-settings-translation.json +5 -0
  129. package/src/brand-page-maker/components/seo-settings/SeoPageSettings.vue +18 -11
  130. package/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.ts +17 -14
  131. package/src/brand-page-maker/components/seo-settings/UrlSettings.vue +31 -27
  132. package/src/brand-page-maker/components/seo-settings/i18n/seo-settings-translation.json +34 -0
  133. package/src/brand-page-maker/components/social-share/SocialShare.vue +14 -9
  134. package/src/brand-page-maker/components/social-share/i18n/social-share-translation.json +9 -0
  135. package/src/brand-page-maker/constants/config-settings-constant.ts +825 -806
  136. package/src/brand-page-maker/convertors/align-display-style.convertor.ts +3 -2
  137. package/src/brand-page-maker/convertors/button-link-style.convertor.ts +5 -5
  138. package/src/brand-page-maker/convertors/display-style.convertor.ts +3 -2
  139. package/src/brand-page-maker/convertors/divider-style.convertor.ts +4 -3
  140. package/src/brand-page-maker/convertors/gallery-type.convertor.ts +4 -3
  141. package/src/brand-page-maker/convertors/i18n/converter-translation.json +26 -0
  142. package/src/brand-page-maker/convertors/image-aspect-ratio.convertor.ts +4 -3
  143. package/src/brand-page-maker/convertors/payment-display-type.convertor.ts +4 -3
  144. package/src/brand-page-maker/convertors/shape-size-options.convertor.ts +4 -3
  145. package/src/brand-page-maker/convertors/shop-aspect-ratio.convertor.ts +3 -2
  146. package/src/brand-page-maker/convertors/shop-display-type.convertor.ts +4 -3
  147. package/src/brand-page-maker/convertors/social-links-icon-display-style.convertor.ts +4 -3
  148. package/src/brand-page-maker/convertors/testimonial-display-style-convertor.ts +4 -3
  149. package/src/brand-page-maker/models/content-settings.ts +21 -21
  150. package/src/brand-page-maker/models/i18n/models-translation.json +12 -0
  151. package/src/brand-page-maker/models/navigation-style-configs.ts +12 -11
  152. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +2 -1
  153. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store-utils.ts +1 -1
  154. package/src/brand-page-maker/utils/content-settings.util.ts +1 -1
  155. package/src/bundles/bundled-translations.json +498 -0
  156. package/src/composables/useTranslate.ts +129 -0
  157. package/src/lib.ts +1 -0
  158. package/src/models/shapeModels.ts +1 -0
  159. package/src/plugins/bundle-translations-plugin/bundle-translations-plugin.ts +83 -0
  160. package/src/shared/background-settings/components/BackgroundSettings.vue +188 -30
  161. package/src/shared/background-settings/components/i18n/background-settings-translation.json +12 -0
  162. package/src/shared/background-settings/models/background-settings-models.ts +0 -15
  163. package/src/shared/background-settings/store/background-settings-store.ts +3 -0
  164. package/src/shared/color-picker/components/ColorPicker.mixin.ts +3 -2
  165. package/src/shared/color-picker/components/i18n/color-picker-translation.json +7 -0
  166. package/src/shared/common/SideBarSettingsHeader.vue +17 -21
  167. package/src/shared/common/i18n/common-translation.json +48 -0
  168. package/src/shared/content-settings/components/GenericTextInput.mixin.ts +2 -1
  169. package/src/shared/content-settings/components/color-field/ColorField.mixin.ts +4 -3
  170. package/src/shared/content-settings/components/color-field/i18n/color-field-translation.json +7 -0
  171. package/src/shared/content-settings/components/color-replacements-field/ColorReplacementsField.vue +2 -1
  172. package/src/shared/content-settings/components/color-replacements-field/i18n/color-replacement-field-translation.json +5 -0
  173. package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +2 -2
  174. package/src/shared/content-settings/components/content-settings/ContentSettings.vue +10 -6
  175. package/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.ts +5 -3
  176. package/src/shared/content-settings/components/content-settings/i18n/content-settings-translation.json +180 -0
  177. package/src/shared/content-settings/components/form-fields-field/FormFieldsField.vue +12 -2
  178. package/src/shared/content-settings/components/form-fields-field/i18n/form-fields-translation.json +6 -0
  179. package/src/shared/content-settings/components/i18n/generic-text-input-translation.json +5 -0
  180. package/src/shared/content-settings/components/image-field/ImageField.mixin.ts +4 -1
  181. package/src/shared/content-settings/components/image-field/ImageField.vue +9 -2
  182. package/src/shared/content-settings/components/images-field/ImagesField.vue +17 -3
  183. package/src/shared/content-settings/components/images-field/i18n/images-field-translation.json +9 -0
  184. package/src/shared/content-settings/components/links-field/LinksField.vue +8 -2
  185. package/src/shared/content-settings/components/links-field/i18n/links-field-translation.json +6 -0
  186. package/src/shared/content-settings/components/logo-selection-field/LogoSelection.vue +8 -5
  187. package/src/shared/content-settings/components/logo-selection-field/i18n/logo-selection-translation.json +6 -0
  188. package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.ts +7 -6
  189. package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.vue +9 -4
  190. package/src/shared/content-settings/components/payment-config-field/i18n/payment-config-translation.json +19 -0
  191. package/src/shared/content-settings/components/payment-config-field/payment-link-display-style-field/PaymentImageStyleField.vue +7 -1
  192. package/src/shared/content-settings/components/payment-config-field/support-me-config-field/SupportMeConfigField.vue +16 -4
  193. package/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.mixin.ts +9 -5
  194. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting-translation.json +9 -0
  195. package/src/shared/content-settings/components/shape-field/ShapeField.vue +9 -3
  196. package/src/shared/content-settings/components/shape-field/i18n/shape-field-translation.json +7 -0
  197. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +22 -8
  198. package/src/shared/content-settings/components/testimonial-items-field/i18n/testimonial-items-field-translation.json +12 -0
  199. package/src/shared/content-settings/components/text-field/TextField.vue +7 -1
  200. package/src/shared/content-settings/components/text-field/i18n/text-field-translation.json +5 -0
  201. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +27 -11
  202. package/src/shared/content-settings/components/text-image-field/i18n/text-image-field-translation.json +16 -0
  203. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +8 -2
  204. package/src/shared/content-settings/components/text-items-field/i18n/text-items-field-translation.json +6 -0
  205. package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +14 -10
  206. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field-translation.json +13 -0
  207. package/src/shared/content-settings/components/textarea-field/TextareaField.vue +7 -1
  208. package/src/shared/content-settings/components/textarea-field/i18n/text-area-field-translation.json +5 -0
  209. package/src/shared/content-settings/store/content-settings-store.ts +12 -7
  210. package/src/shared/content-settings/utils.ts +1 -1
  211. package/src/shared/ecommerce-settings/components/product-config-field/ProductConfigOption.vue +2 -1
  212. package/src/shared/ecommerce-settings/components/product-config-field/i18n/product-config-option-translation.json +5 -0
  213. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +19 -4
  214. package/src/shared/logo-settings/components/EditLogoSettings.vue +14 -10
  215. package/src/shared/logo-settings/components/i18n/edit-logo-settings-translation.json +13 -0
  216. package/src/shared/my-uploads/MyMedia.vue +10 -8
  217. package/src/shared/my-uploads/MyUploads.vue +6 -2
  218. package/src/shared/my-uploads/i18n/my-uploads-translation.json +8 -0
  219. package/src/shared/my-uploads/models.ts +1 -0
  220. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +1 -1
  221. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +9 -3
  222. package/src/shared/page-settings/components/page-settings/PageSettings.mixin.ts +9 -2
  223. package/src/shared/page-settings/components/page-settings/PageSettings.vue +11 -8
  224. package/src/shared/page-settings/components/page-settings/i18n/page-settings-translation.json +13 -0
  225. package/src/shared/page-settings/components/page-settings-section-styles/FooterDisplayStyle.vue +3 -2
  226. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +2 -1
  227. package/src/shared/page-settings/components/page-settings-section-styles/HeaderNavigationType.vue +2 -1
  228. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +18 -4
  229. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.vue +15 -10
  230. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section-translation.json +10 -0
  231. package/src/shared/shape-library/ShapeLibrary.mixin.ts +19 -3
  232. package/src/shared/shape-library/ShapeLibrary.vue +7 -3
  233. package/src/shared/style-settings/components/StyleSettings.mixin.ts +6 -7
  234. package/src/shared/style-settings/components/StyleSettings.vue +13 -8
  235. package/src/shared/style-settings/components/i18n/style-settings-translation.json +17 -0
  236. package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +15 -7
  237. package/src/shared/template-settings/components/TemplatesSettings.vue +13 -9
  238. package/src/shared/template-settings/components/i18n/template-settings-translation.json +10 -0
  239. package/src/shared/template-settings/store/template-settings-store.ts +32 -6
  240. package/src/shared/unsplash-library/UnsplashLibrary.vue +13 -8
  241. package/src/shared/unsplash-library/i18n/unsplash-library-translation.json +6 -0
  242. package/lib/src/brand-page-maker/components/cookie-collection/CookieSettings.mixin.d.ts +0 -139
  243. package/lib/src/brand-page-maker/components/cookie-collection/CookieSettings.mixin.js +0 -40
  244. package/lib/src/shared/background-settings/components/BackgroundSettings.mixin.d.ts +0 -226
  245. package/lib/src/shared/background-settings/components/BackgroundSettings.mixin.js +0 -115
  246. package/src/brand-page-maker/components/cookie-collection/CookieSettings.mixin.ts +0 -43
  247. package/src/shared/background-settings/components/BackgroundSettings.mixin.ts +0 -165
@@ -11,5 +11,5 @@ export type FooterDisplayStyle = (typeof FOOTER_DISPLAY)[keyof typeof FOOTER_DIS
11
11
  interface FooterDisplayStyleConfig {
12
12
  option: ButtonGroupOption;
13
13
  }
14
- export declare const FOOTER_DISPLAY_STYLE_CONFIGS: FooterDisplayStyleConfig[];
14
+ export declare const FOOTER_DISPLAY_STYLE_CONFIGS: () => FooterDisplayStyleConfig[];
15
15
  export {};
@@ -1,4 +1,5 @@
1
1
  import { ALIGN_CENTERED, ALIGN_JUSTIFIED } from '../misc.constants';
2
+ import { tr, commonTr } from '../../../composables/useTranslate';
2
3
  export const FOOTER_DISPLAY = {
3
4
  /** @deprecated */
4
5
  ALIGN_CENTERED, // mapped to CENTERED
@@ -7,7 +8,7 @@ export const FOOTER_DISPLAY = {
7
8
  CENTERED: 'centered-menu',
8
9
  JUSTIFIED: 'justified-menu',
9
10
  };
10
- export const FOOTER_DISPLAY_STYLE_CONFIGS = [
11
+ export const FOOTER_DISPLAY_STYLE_CONFIGS = () => [
11
12
  {
12
13
  option: {
13
14
  value: FOOTER_DISPLAY.CENTERED,
@@ -15,7 +16,7 @@ export const FOOTER_DISPLAY_STYLE_CONFIGS = [
15
16
  iconViewBox: '0 0 169 57',
16
17
  dataAttribute: FOOTER_DISPLAY.CENTERED,
17
18
  isSelected: false,
18
- title: 'Centered',
19
+ title: commonTr('centered'),
19
20
  },
20
21
  },
21
22
  {
@@ -25,7 +26,7 @@ export const FOOTER_DISPLAY_STYLE_CONFIGS = [
25
26
  iconViewBox: '0 0 169 57',
26
27
  dataAttribute: FOOTER_DISPLAY.JUSTIFIED,
27
28
  isSelected: false,
28
- title: 'Justified',
29
+ title: commonTr('justified'),
29
30
  },
30
31
  },
31
32
  ];
@@ -277,6 +277,7 @@ export interface TextMediaItem extends ImageItem {
277
277
  export interface TextShapeItem extends TextMediaItem {
278
278
  colorReplacements: ColorReplacement[];
279
279
  mediaType: 'shape';
280
+ aspectRatio?: number | null;
280
281
  }
281
282
  export interface ShapeItem extends ImageItem {
282
283
  colorReplacements: ColorReplacement[];
@@ -1,4 +1,5 @@
1
1
  import { FONT_SIZE_HEADINGS, FONT_SIZE_TITLE, LINE_HEIGHT_HEADINGS, LINE_HEIGHT_TITLE, FONT_SIZE_BODY, LINE_HEIGHT_BODY, DISPLAY_TEXT_TITLE, DISPLAY_TEXT_HEADINGS, DISPLAY_TEXT_BODY, STYLE_THEME_KEYS, FONT_FAMILY_CONFIGS, DEFAULT_FONT_FAMILY_KEY, DISPlAY_TEXT_BUTTONS, } from '../constants';
2
+ import { styleSettingsTr } from '../../composables/useTranslate';
2
3
  export const TEXT_STYLE_TYPES = {
3
4
  titles: 'titles',
4
5
  headings: 'headings',
@@ -81,13 +82,13 @@ export class TextStyles {
81
82
  this.textFontFamily = option.textFontFamily || DEFAULT_FONT_FAMILY_KEY;
82
83
  this.textStyleOptions = option.textStyleOptions
83
84
  ? {
84
- [TEXT_STYLE_TYPES.titles]: new TextStyleOption(TEXT_STYLE_TYPES.titles, DISPLAY_TEXT_TITLE, option.textStyleOptions.titles ||
85
+ [TEXT_STYLE_TYPES.titles]: new TextStyleOption(TEXT_STYLE_TYPES.titles, styleSettingsTr('titles'), option.textStyleOptions.titles ||
85
86
  createDefaultTitlesTextStyleOption()),
86
- [TEXT_STYLE_TYPES.headings]: new TextStyleOption(TEXT_STYLE_TYPES.headings, DISPLAY_TEXT_HEADINGS, option.textStyleOptions.headings ||
87
+ [TEXT_STYLE_TYPES.headings]: new TextStyleOption(TEXT_STYLE_TYPES.headings, styleSettingsTr('headings'), option.textStyleOptions.headings ||
87
88
  createDefaultHeadingsTextStyleOption()),
88
- [TEXT_STYLE_TYPES.paragraphs]: new TextStyleOption(TEXT_STYLE_TYPES.paragraphs, DISPLAY_TEXT_BODY, option.textStyleOptions.paragraphs ||
89
+ [TEXT_STYLE_TYPES.paragraphs]: new TextStyleOption(TEXT_STYLE_TYPES.paragraphs, styleSettingsTr('paragraphs'), option.textStyleOptions.paragraphs ||
89
90
  createDefaultParagraphTextStyleOption()),
90
- [TEXT_STYLE_TYPES.buttons]: new TextStyleOption(TEXT_STYLE_TYPES.buttons, DISPlAY_TEXT_BUTTONS, option.textStyleOptions.buttons ||
91
+ [TEXT_STYLE_TYPES.buttons]: new TextStyleOption(TEXT_STYLE_TYPES.buttons, styleSettingsTr('buttons'), option.textStyleOptions.buttons ||
91
92
  createDefaultButtonTextStyleOption()),
92
93
  }
93
94
  : createDefaultTextStyleOptions();
@@ -23,7 +23,8 @@ export interface UserPersonalisationSection {
23
23
  imageSearchTerms?: string[];
24
24
  imageUrls?: ImageUrl[];
25
25
  shapeSearchTerms?: string[];
26
- shapes?: Shape[];
26
+ mainShapesCollection: ShapeAspectRatioCollection;
27
+ shapes: Shape[];
27
28
  items?: UserPersonalisationItem[];
28
29
  }
29
30
  export interface UserPersonalisationItem {
@@ -49,6 +50,25 @@ export interface Shape {
49
50
  shapeCategoryId: number;
50
51
  shapeCategory: any;
51
52
  }
53
+ export interface ShapeEsModel {
54
+ token: string;
55
+ url: string;
56
+ categories: string[];
57
+ tags: string[];
58
+ enabled: boolean;
59
+ keepColor: boolean;
60
+ enabledToAdmin: boolean;
61
+ }
62
+ export interface ShapeAspectRatioCollection {
63
+ tall: ShapeEsModel[];
64
+ square: ShapeEsModel[];
65
+ wide: ShapeEsModel[];
66
+ }
67
+ export declare enum ShapeAspectRatioCategory {
68
+ Tall = "tall",
69
+ Square = "square",
70
+ Wide = "wide"
71
+ }
52
72
  export type ContentPersonalisationMapping<T extends Content> = {
53
73
  [key in keyof UserPersonalisationSection]?: (keyof T)[];
54
74
  };
@@ -1 +1,6 @@
1
- export {};
1
+ export var ShapeAspectRatioCategory;
2
+ (function (ShapeAspectRatioCategory) {
3
+ ShapeAspectRatioCategory["Tall"] = "tall";
4
+ ShapeAspectRatioCategory["Square"] = "square";
5
+ ShapeAspectRatioCategory["Wide"] = "wide";
6
+ })(ShapeAspectRatioCategory || (ShapeAspectRatioCategory = {}));
@@ -1,4 +1,6 @@
1
+ import { ShapeAspectRatioCategory } from '../models';
1
2
  import type { BrandPageModel, PageModel, PageStyles, UserPersonalisation, UserPersonalisationWithIndices } from '../models';
3
+ export declare const filterPersonalisationByShapesAspectRatio: (personalisation: UserPersonalisationWithIndices, aspectRatio: ShapeAspectRatioCategory | null) => UserPersonalisationWithIndices;
2
4
  export declare const applyUserPersonalisationToBrandPageContentsAsync: (userPersonalisation: UserPersonalisationWithIndices, pages: PageModel[]) => Promise<{
3
5
  pages: PageModel[];
4
6
  isModified: boolean;
@@ -1,6 +1,8 @@
1
1
  import { DEFAULT_PERSONALISATION_MAPPING, PERSONALISATION_MAPPINGS, TEXT_MEDIA_CONTENT_TYPES, } from '../../brand-page-maker/constants/personalisation.constant';
2
- import { BRAND_PAGE_TYPES } from '../models';
2
+ import { BRAND_PAGE_TYPES, ShapeAspectRatioCategory } from '../models';
3
3
  import { getColorReplacementsFromSvgString, getColorReplacementsFromSvgStringServer, } from './svg-color.util';
4
+ const ASPECT_RATIO_LOWER_CUT_OFF = 0.5;
5
+ const ASPECT_RATIO_UPPER_CUT_OFF = 1.5;
4
6
  const getPersonalisationMappingForContentType = (contentType) => {
5
7
  const baseMapping = Object.assign({}, DEFAULT_PERSONALISATION_MAPPING);
6
8
  const contentBasedMapping = PERSONALISATION_MAPPINGS[contentType];
@@ -49,7 +51,21 @@ const getPersonalisationValueAsync = async (section, property, value, brandPageT
49
51
  break;
50
52
  case 'imageSearchTerms':
51
53
  case 'shapeSearchTerms':
52
- if (section.shapes) {
54
+ if (section.mainShapesCollection.tall.length > 0 ||
55
+ section.mainShapesCollection.square.length > 0 ||
56
+ section.mainShapesCollection.wide.length > 0) {
57
+ const aspectRatioCategory = section.mainShapesCollection.tall.length > 0
58
+ ? ShapeAspectRatioCategory.Tall
59
+ : section.mainShapesCollection.square.length > 0
60
+ ? ShapeAspectRatioCategory.Square
61
+ : ShapeAspectRatioCategory.Wide;
62
+ return {
63
+ value: propertyValue[section.shapeIndex %
64
+ section.mainShapesCollection[aspectRatioCategory].length],
65
+ section,
66
+ };
67
+ }
68
+ else if (section.shapes) {
53
69
  return {
54
70
  value: propertyValue[section.shapeIndex % section.shapes.length],
55
71
  section,
@@ -57,7 +73,33 @@ const getPersonalisationValueAsync = async (section, property, value, brandPageT
57
73
  }
58
74
  break;
59
75
  case 'shapes':
60
- if (section.shapes) {
76
+ console.log(section.mainShapesCollection, 'NEW PERSONALISATION');
77
+ if (section.mainShapesCollection.tall.length > 0 ||
78
+ section.mainShapesCollection.square.length > 0 ||
79
+ section.mainShapesCollection.wide.length > 0) {
80
+ const aspectRatioCategory = section.mainShapesCollection.tall.length > 0
81
+ ? ShapeAspectRatioCategory.Tall
82
+ : section.mainShapesCollection.square.length > 0
83
+ ? ShapeAspectRatioCategory.Square
84
+ : ShapeAspectRatioCategory.Wide;
85
+ const shapeUrl = propertyValue[section.shapeIndex %
86
+ section.mainShapesCollection[aspectRatioCategory].length].url;
87
+ const svgResponse = await (await fetch(shapeUrl)).text();
88
+ const colorReplacements = typeof DOMParser !== 'undefined'
89
+ ? getColorReplacementsFromSvgString(svgResponse)
90
+ : getColorReplacementsFromSvgStringServer(svgResponse);
91
+ return {
92
+ value: shapeUrl,
93
+ section: {
94
+ ...section,
95
+ shapeIndex: section.shapeIndex + 1,
96
+ },
97
+ valuesToUpdate: {
98
+ colorReplacements,
99
+ },
100
+ };
101
+ }
102
+ else if (section.shapes) {
61
103
  const shapeUrl = propertyValue[section.shapeIndex % section.shapes.length].url;
62
104
  const svgResponse = await (await fetch(shapeUrl)).text();
63
105
  const colorReplacements = typeof DOMParser !== 'undefined'
@@ -163,6 +205,14 @@ const applyPersonalisationToBrandPageContentsRecursiveAsync = async (personalisa
163
205
  continue;
164
206
  }
165
207
  if (value) {
208
+ if (mappingType === 'text-media-items' &&
209
+ key === 'aspectRatio' &&
210
+ !isNaN(Number(value))) {
211
+ const aspectRatioIndex = Number(value);
212
+ const aspectRatio = getShapeAspectRatioCategory(aspectRatioIndex);
213
+ alert(aspectRatio);
214
+ newPersonalisation = filterPersonalisationByShapesAspectRatio(newPersonalisation, aspectRatio);
215
+ }
166
216
  const { personalisation: updatedPersonalisation, value: personalisationValue, valuesToUpdate: newValuesToUpdate, } = await getPersonalisationValueFromPropertyAsync(key, value, personalisationRole, newPersonalisation, mappingType);
167
217
  newPersonalisation = updatedPersonalisation;
168
218
  if (personalisationValue) {
@@ -204,6 +254,48 @@ const applyPersonalisationToBrandPageContentsRecursiveAsync = async (personalisa
204
254
  }
205
255
  return { newContents, isApplied, newPersonalisation };
206
256
  };
257
+ export const filterPersonalisationByShapesAspectRatio = (personalisation, aspectRatio) => {
258
+ if (!aspectRatio) {
259
+ return personalisation;
260
+ }
261
+ const result = {
262
+ type: personalisation.type,
263
+ };
264
+ for (const sectionKey in personalisation) {
265
+ if (sectionKey === 'type')
266
+ continue;
267
+ const section = personalisation[sectionKey];
268
+ result[sectionKey] = {
269
+ ...section,
270
+ mainShapesCollection: {
271
+ tall: aspectRatio === 'tall'
272
+ ? section.mainShapesCollection?.tall || []
273
+ : [],
274
+ square: aspectRatio === 'square'
275
+ ? section.mainShapesCollection?.square || []
276
+ : [],
277
+ wide: aspectRatio === 'wide'
278
+ ? section.mainShapesCollection?.wide || []
279
+ : [],
280
+ },
281
+ };
282
+ }
283
+ return result;
284
+ };
285
+ const getShapeAspectRatioCategory = (aspectRatio) => {
286
+ if (!aspectRatio) {
287
+ return null;
288
+ }
289
+ else if (aspectRatio < ASPECT_RATIO_LOWER_CUT_OFF) {
290
+ return ShapeAspectRatioCategory.Tall;
291
+ }
292
+ else if (aspectRatio > ASPECT_RATIO_UPPER_CUT_OFF) {
293
+ return ShapeAspectRatioCategory.Wide;
294
+ }
295
+ else {
296
+ return ShapeAspectRatioCategory.Square;
297
+ }
298
+ };
207
299
  export const applyUserPersonalisationToBrandPageContentsAsync = async (userPersonalisation, pages) => {
208
300
  let isModified = false;
209
301
  let currentPersonalisation = userPersonalisation;
@@ -234,10 +234,11 @@ declare const _default: import("vue").DefineComponent<{}, {
234
234
  setBackgroundImageUrl({ backgroundImageUrl, }: {
235
235
  backgroundImageUrl: string;
236
236
  }): void;
237
- addBackgroundShape({ shapeUrl, width, height, }: {
237
+ addBackgroundShape({ shapeUrl, width, height, aspectRatio, }: {
238
238
  shapeUrl: string;
239
239
  width?: number | undefined;
240
240
  height?: number | undefined;
241
+ aspectRatio?: number | undefined;
241
242
  }): void;
242
243
  deleteBackgroundShape({ shapeIndex }: {
243
244
  shapeIndex: number;
@@ -2,11 +2,11 @@ declare const _default: import("vue").DefineComponent<{}, {
2
2
  templates: import("vue").ComputedRef<import("../../stores/admin-logo-settings").AdminPreviewLogoTemplateTemplate[]>;
3
3
  items: import("vue").ComputedRef<{
4
4
  id: string;
5
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
5
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
6
6
  settings: {
7
7
  content: {
8
8
  id: string;
9
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
9
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
10
10
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
11
11
  };
12
12
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -399,7 +399,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
399
399
  contentErrorCount(): number;
400
400
  getContent(state: {
401
401
  addContentOptions: {
402
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
402
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
403
403
  category: string;
404
404
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
405
405
  displayName: string;
@@ -410,11 +410,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
410
410
  }[];
411
411
  items: {
412
412
  id: string;
413
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
413
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
414
414
  settings: {
415
415
  content: {
416
416
  id: string;
417
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
417
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
418
418
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
419
419
  };
420
420
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -436,7 +436,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
436
436
  } & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => import("../../../brand-page").Content | undefined;
437
437
  getFieldSettings(state: {
438
438
  addContentOptions: {
439
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
439
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
440
440
  category: string;
441
441
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
442
442
  displayName: string;
@@ -447,11 +447,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
447
447
  }[];
448
448
  items: {
449
449
  id: string;
450
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
450
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
451
451
  settings: {
452
452
  content: {
453
453
  id: string;
454
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
454
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
455
455
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
456
456
  };
457
457
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -473,7 +473,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
473
473
  } & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string, fieldName: string) => import("../../../shared/content-settings/models").ContentItemFieldSettings | undefined;
474
474
  getItem(state: {
475
475
  addContentOptions: {
476
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
476
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
477
477
  category: string;
478
478
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
479
479
  displayName: string;
@@ -484,11 +484,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
484
484
  }[];
485
485
  items: {
486
486
  id: string;
487
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
487
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
488
488
  settings: {
489
489
  content: {
490
490
  id: string;
491
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
491
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
492
492
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
493
493
  };
494
494
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -510,7 +510,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
510
510
  } & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => import("../../../shared/content-settings/models").ContentItem<any> | undefined;
511
511
  getValue(state: {
512
512
  addContentOptions: {
513
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
513
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
514
514
  category: string;
515
515
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
516
516
  displayName: string;
@@ -521,11 +521,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
521
521
  }[];
522
522
  items: {
523
523
  id: string;
524
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
524
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
525
525
  settings: {
526
526
  content: {
527
527
  id: string;
528
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
528
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
529
529
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
530
530
  };
531
531
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -547,7 +547,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
547
547
  } & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string, fieldName: string) => string | import("../../../brand-page").Content | undefined;
548
548
  getItemState(state: {
549
549
  addContentOptions: {
550
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
550
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
551
551
  category: string;
552
552
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
553
553
  displayName: string;
@@ -558,11 +558,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
558
558
  }[];
559
559
  items: {
560
560
  id: string;
561
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
561
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
562
562
  settings: {
563
563
  content: {
564
564
  id: string;
565
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
565
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
566
566
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
567
567
  };
568
568
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -584,7 +584,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
584
584
  } & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => import("../../../shared/content-settings/models").ContentSettingsItemState;
585
585
  getItemGroupState(state: {
586
586
  addContentOptions: {
587
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
587
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
588
588
  category: string;
589
589
  createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => import("../../../brand-page").Content;
590
590
  displayName: string;
@@ -595,11 +595,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
595
595
  }[];
596
596
  items: {
597
597
  id: string;
598
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
598
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
599
599
  settings: {
600
600
  content: {
601
601
  id: string;
602
- type: "email" | "phone" | "logo" | "general-link" | "profile" | "website" | "image" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
602
+ type: "email" | "phone" | "image" | "logo" | "general-link" | "profile" | "website" | "video" | "text" | "facebook" | "twitter" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
603
603
  personalisationRole?: "email" | "phone" | "profile" | "website" | "about" | "information" | "media" | undefined;
604
604
  };
605
605
  fields: Record<string, import("../../../shared/content-settings/models").ContentItemFieldSettings>;
@@ -654,12 +654,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
654
654
  _setSelectedItemValue({ value: value }: {
655
655
  value: string | null;
656
656
  }): void;
657
- _setSelectedItemImage({ selectedItemId, imageUrl, width, height, colorReplacements, }: {
657
+ _setSelectedItemImage({ selectedItemId, imageUrl, width, height, colorReplacements, aspectRatio, }: {
658
658
  selectedItemId: string | null;
659
659
  imageUrl: string;
660
660
  width?: number | undefined;
661
661
  height?: number | undefined;
662
662
  colorReplacements?: import("../../../brand-page").ColorReplacement[] | undefined;
663
+ aspectRatio?: number | null | undefined;
663
664
  }): void;
664
665
  _setItems({ items }: {
665
666
  items: import("../../../shared/content-settings/models").ContentItem<any>[];
@@ -726,6 +727,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
726
727
  width?: number | undefined;
727
728
  height?: number | undefined;
728
729
  colorReplacements?: import("../../../brand-page").ColorReplacement[] | undefined;
730
+ aspectRatio?: number | null | undefined;
729
731
  }): void;
730
732
  setItems(payload: {
731
733
  items: import("../../../shared/content-settings/models").ContentItem<import("../../../brand-page").Content>[];
@@ -820,7 +822,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
820
822
  }): void;
821
823
  setPageSettingsSectionValue({ sectionName, propName, index, value, merge, viewport, }: {
822
824
  sectionName: "footer" | "header" | "pages";
823
- propName: "copyrightStyle" | "style" | "iconStyle" | "displayStyle" | "backgroundStyle" | "logoImage" | "logoImageStyle" | "isLogoOptional" | "viewport" | "isLogoVisible" | "logoTemplateImage" | "logoImageHeight" | "logoImageWidth" | "navigationStyles" | "navigation" | "logoImageUrl" | "logoDraftToken" | "logoVariation" | "logoImageBase64Url" | "backgroundColorEnabled" | "copyrightText" | "socialLinks" | "textFontFamily";
825
+ propName: "copyrightStyle" | "navigation" | "style" | "iconStyle" | "displayStyle" | "backgroundStyle" | "logoImage" | "logoImageStyle" | "isLogoOptional" | "viewport" | "isLogoVisible" | "logoTemplateImage" | "logoImageHeight" | "logoImageWidth" | "navigationStyles" | "logoImageUrl" | "logoDraftToken" | "logoVariation" | "logoImageBase64Url" | "backgroundColorEnabled" | "copyrightText" | "socialLinks" | "textFontFamily";
824
826
  index?: number | undefined;
825
827
  value: string | number | boolean | BrandPageCssStyle | import("../../../brand-page").LinksItem[] | Partial<import("../../../brand-page").ImageItem> | null | undefined;
826
828
  merge?: boolean | undefined;
@@ -884,8 +886,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
884
886
  _setSearchTerm({ searchTerm }: {
885
887
  searchTerm: string | undefined;
886
888
  }): void;
887
- _setSelectedTabName({ tabName }: {
888
- tabName: "all" | "categories" | "AI";
889
+ _setSelectedTab({ tabName }: {
890
+ tabName: "AI" | "all" | "categories";
889
891
  }): void;
890
892
  _setSelectedCategory({ categoryName, }: {
891
893
  categoryName: string | undefined;
@@ -23,6 +23,7 @@ import { brandPageContentsSampleData } from './__fixtures__/page-content-items';
23
23
  import { setupStoryPinia } from './__fixtures__/store-fixture';
24
24
  import { CONTENT_SETTINGS_CONFIGS, DNS_CONFIGURATION_STATUSES, SIDE_BAR_TAB_NAMES, } from '../../constants';
25
25
  import { BRAND_SITE_TEMPLATE_SAMPLE } from './__fixtures__/brand-site-template.examples';
26
+ import { setLocaleAsync } from '../../../composables/useTranslate';
26
27
  const InitialiseMakerStores = (options) => {
27
28
  const isPrePurchase = !!options.prepurchase;
28
29
  const brandPageContainerStore = useBrandPageContainerStore();
@@ -205,12 +206,17 @@ export const Sample = () => {
205
206
  selectedContentCategory: 'monetize',
206
207
  },
207
208
  },
209
+ show: false,
208
210
  };
209
211
  },
210
212
  template: `
211
- <BrandPageMaker :view-model="viewModel"/>
213
+ <BrandPageMaker v-if="show" :view-model="viewModel"/>
212
214
  `,
213
215
  pinia: setupStoryPinia(),
216
+ async beforeMount() {
217
+ await setLocaleAsync('en-US');
218
+ this.show = true;
219
+ },
214
220
  };
215
221
  };
216
222
  Sample.story = {
@@ -486,12 +492,17 @@ export const SamplePublishedBrandSite = {
486
492
  features: userFeatures,
487
493
  initialCategories: {},
488
494
  },
495
+ show: false,
489
496
  };
490
497
  },
491
498
  template: `
492
- <BrandPageMaker :view-model="viewModel"/>
499
+ <BrandPageMaker v-if="show" :view-model="viewModel"/>
493
500
  `,
494
501
  pinia: setupStoryPinia(),
502
+ async beforeMount() {
503
+ await setLocaleAsync('en-US');
504
+ this.show = true;
505
+ },
495
506
  }),
496
507
  };
497
508
  export const SampleProfile = () => {
@@ -25,19 +25,64 @@ export declare const DIGITAL_CARD_PERSONALIZATION: {
25
25
  profileSection: {
26
26
  name: string;
27
27
  title: string;
28
+ shapes: never[];
29
+ mainShapesCollection: {
30
+ tall: never[];
31
+ square: never[];
32
+ wide: never[];
33
+ };
28
34
  };
29
35
  phoneSection: {
30
36
  url: string;
37
+ shapes: never[];
38
+ mainShapesCollection: {
39
+ tall: never[];
40
+ square: never[];
41
+ wide: never[];
42
+ };
31
43
  };
32
44
  emailSection: {
33
45
  url: string;
46
+ shapes: never[];
47
+ mainShapesCollection: {
48
+ tall: never[];
49
+ square: never[];
50
+ wide: never[];
51
+ };
34
52
  };
35
53
  websiteSection: {
36
54
  url: string;
55
+ shapes: never[];
56
+ mainShapesCollection: {
57
+ tall: never[];
58
+ square: never[];
59
+ wide: never[];
60
+ };
61
+ };
62
+ aboutSection: {
63
+ shapes: never[];
64
+ mainShapesCollection: {
65
+ tall: never[];
66
+ square: never[];
67
+ wide: never[];
68
+ };
69
+ };
70
+ mediaSection: {
71
+ shapes: never[];
72
+ mainShapesCollection: {
73
+ tall: never[];
74
+ square: never[];
75
+ wide: never[];
76
+ };
77
+ };
78
+ informationSection: {
79
+ shapes: never[];
80
+ mainShapesCollection: {
81
+ tall: never[];
82
+ square: never[];
83
+ wide: never[];
84
+ };
37
85
  };
38
- aboutSection: {};
39
- mediaSection: {};
40
- informationSection: {};
41
86
  };
42
87
  export declare const PERSONALISATION_CONTENT: UserPersonalisationContent[];
43
88
  export declare const PUBLISHED_DESIGN_DRAFT_TOKEN = "00000000-0000-0000-0000-000000000000";