@designcrowd/library.brand-page 5.17.28 → 5.18.0

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 (380) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CJZpKPNH.js → CreatedOnBrandCrowd-de-de-xmkupPus.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DkIa7iEb.js → CreatedOnBrandCrowd-en-us-Ck7EdTtb.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-CE2p6XHz.js → CreatedOnBrandCrowd-es-es-BC8sJuDH.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BBjOZS3M.js → CreatedOnBrandCrowd-fr-ca-CN-UBe1q.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BBjOZS3M.js → CreatedOnBrandCrowd-fr-fr-CN-UBe1q.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-Dayzl4BZ.js → CreatedOnBrandCrowd-pt-br-CajQyNkx.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-Dayzl4BZ.js → CreatedOnBrandCrowd-pt-pt-CajQyNkx.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-CFzDqfCb.js → CreatedOnDcom-de-de-BRCNMmDq.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-C2jIPBDY.js → CreatedOnDcom-en-us-BzQDtZhc.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-qejpzqho.js → CreatedOnDcom-es-es-D-qAM4Cd.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DMO9Ld7K.js → CreatedOnDcom-fr-ca-CZ1irFOc.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BFWN9qTP.js → CreatedOnDcom-fr-fr-Gb5BCF0N.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CneD3ghF.js → CreatedOnDcom-pt-br-CAQV0q6o.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-Cg1B7s0o.js → CreatedOnDcom-pt-pt-D6tQdQFh.js} +1 -1
  15. package/lib/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.js +2 -2
  16. package/lib/src/brand-page/models/brand-page-context.model.d.ts +0 -2
  17. package/lib/src/brand-page/models/brand-page-context.model.js +1 -11
  18. package/lib/src/brand-page/models/index.d.ts +1 -0
  19. package/lib/src/brand-page/models/index.js +1 -0
  20. package/lib/src/brand-page/utils/color.util.js +23 -3
  21. package/lib/src/brand-page/utils/raygun.util.d.ts +5 -1
  22. package/lib/src/brand-page/utils/raygun.util.js +7 -2
  23. package/lib/src/brand-page/utils/svg-color.util.js +1 -2
  24. package/lib/src/brand-page/utils/view-model.util.js +1 -1
  25. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -31
  26. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -2
  27. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +2 -31
  28. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +0 -14
  29. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -28
  30. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +0 -28
  31. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +0 -28
  32. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +0 -28
  33. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +0 -28
  34. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +0 -28
  35. package/lib/src/brand-page-maker/composables/ai-chat/aiErrorCopy.d.ts +35 -0
  36. package/lib/src/brand-page-maker/composables/ai-chat/aiErrorCopy.js +108 -0
  37. package/lib/src/brand-page-maker/composables/ai-chat/{useAiChat.d.ts → types.d.ts} +5 -13
  38. package/lib/src/brand-page-maker/composables/ai-chat/types.js +1 -0
  39. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +19 -0
  40. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +1 -0
  41. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.d.ts +1 -1
  42. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +488 -82
  43. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +5 -5
  44. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +6 -16
  45. package/lib/src/brand-page-maker/composables/useEventTracker.js +19 -21
  46. package/lib/src/brand-page-maker/constants/sidebar-constant.d.ts +0 -1
  47. package/lib/src/brand-page-maker/constants/sidebar-constant.js +7 -15
  48. package/lib/src/brand-page-maker/convertors/image-aspect-ratio.convertor.js +2 -2
  49. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.js +3 -1
  50. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +30660 -0
  51. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.js +34 -0
  52. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +1 -1
  53. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +0 -28
  54. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +42 -2
  55. package/lib/src/brand-page-maker/stores/index.d.ts +1 -1
  56. package/lib/src/brand-page-maker/stores/index.js +1 -1
  57. package/lib/src/brand-page-maker/stores/user/user-store.js +0 -1
  58. package/lib/src/bundled-translations-CnareLWC.js +175 -0
  59. package/lib/src/bundled-translations.de-DE-2Ys7epLO.js +175 -0
  60. package/lib/src/bundled-translations.es-ES-Cjp-G8rT.js +175 -0
  61. package/lib/src/bundled-translations.fr-CA-CsaW4Oae.js +175 -0
  62. package/lib/src/bundled-translations.fr-FR-DIT2dd8J.js +175 -0
  63. package/lib/src/bundled-translations.pt-BR-BamoBpDW.js +175 -0
  64. package/lib/src/bundled-translations.pt-PT-C9A4hY_e.js +175 -0
  65. package/lib/src/bundles/bundled-translations.de-DE.json +1 -20
  66. package/lib/src/bundles/bundled-translations.es-ES.json +1 -20
  67. package/lib/src/bundles/bundled-translations.fr-CA.json +1 -20
  68. package/lib/src/bundles/bundled-translations.fr-FR.json +1 -20
  69. package/lib/src/bundles/bundled-translations.json +1 -20
  70. package/lib/src/bundles/bundled-translations.pt-BR.json +1 -20
  71. package/lib/src/bundles/bundled-translations.pt-PT.json +1 -20
  72. package/lib/src/clients/ai-assistant-client.d.ts +30 -29
  73. package/lib/src/clients/ai-assistant-client.js +16 -16
  74. package/lib/src/clients/design-template-client.d.ts +0 -2
  75. package/lib/src/clients/design-template-client.js +0 -38
  76. package/lib/src/clients/websocket-gateway-client.d.ts +9 -1
  77. package/lib/src/composables/useTranslate.d.ts +2 -1
  78. package/lib/src/composables/useTranslate.js +2 -1
  79. package/lib/src/constants/ui.d.ts +0 -1
  80. package/lib/src/css/library.brand-page-brandCrowd.min.css +225 -134
  81. package/lib/src/css/library.brand-page-brandPage.min.css +227 -121
  82. package/lib/src/css/library.brand-page-designCom.min.css +225 -134
  83. package/lib/src/css/library.brand-page-preview.min.css +225 -118
  84. package/lib/src/index.d.ts +1 -1
  85. package/lib/src/index.mjs +1 -1
  86. package/lib/src/{lib-33w_DBny.js → lib-CSRUPpSo.js} +30887 -29395
  87. package/lib/src/metadata-builder/ai-metadata-executor.d.ts +21 -0
  88. package/lib/src/metadata-builder/ai-metadata-executor.js +56 -3
  89. package/lib/src/metadata-builder/builders/add-page-builder.d.ts +2 -4
  90. package/lib/src/metadata-builder/builders/add-page-builder.js +5 -8
  91. package/lib/src/metadata-builder/builders/footer-builder.d.ts +11 -0
  92. package/lib/src/metadata-builder/builders/footer-builder.js +151 -0
  93. package/lib/src/metadata-builder/builders/global-styles-builder.d.ts +15 -0
  94. package/lib/src/metadata-builder/builders/global-styles-builder.js +129 -0
  95. package/lib/src/metadata-builder/builders/header-builder.d.ts +11 -0
  96. package/lib/src/metadata-builder/builders/header-builder.js +167 -0
  97. package/lib/src/metadata-builder/builders/rename-page-builder.d.ts +12 -0
  98. package/lib/src/metadata-builder/builders/rename-page-builder.js +49 -0
  99. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.d.ts +2 -0
  100. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +44 -4
  101. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.d.ts +2 -0
  102. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +70 -6
  103. package/lib/src/metadata-builder/builders/section-builders/base-section-builder.d.ts +36 -4
  104. package/lib/src/metadata-builder/builders/section-builders/base-section-builder.js +102 -12
  105. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.d.ts +8 -0
  106. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +50 -0
  107. package/lib/src/metadata-builder/builders/section-builders/button-section-builder.d.ts +2 -0
  108. package/lib/src/metadata-builder/builders/section-builders/button-section-builder.js +5 -1
  109. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.d.ts +2 -0
  110. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +47 -3
  111. package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.d.ts +2 -1
  112. package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.js +5 -2
  113. package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.d.ts +2 -0
  114. package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.js +11 -1
  115. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.d.ts +2 -0
  116. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +52 -13
  117. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.d.ts +2 -0
  118. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +47 -17
  119. package/lib/src/metadata-builder/builders/section-builders/index.d.ts +1 -0
  120. package/lib/src/metadata-builder/builders/section-builders/index.js +1 -0
  121. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.d.ts +2 -0
  122. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +20 -2
  123. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.d.ts +2 -0
  124. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +20 -2
  125. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.d.ts +2 -0
  126. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +36 -2
  127. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.d.ts +2 -0
  128. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +70 -27
  129. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.d.ts +2 -0
  130. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +7 -2
  131. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.d.ts +2 -0
  132. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +91 -26
  133. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.d.ts +2 -0
  134. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +69 -31
  135. package/lib/src/metadata-builder/builders/section-content-factory.d.ts +2 -2
  136. package/lib/src/metadata-builder/builders/section-content-factory.js +8 -2
  137. package/lib/src/metadata-builder/builders/section-field-maps.js +30 -2
  138. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +46 -7
  139. package/lib/src/metadata-builder/builders/section-field-utils.js +86 -62
  140. package/lib/src/metadata-builder/builders/section-rules/about-section.rules.d.ts +2 -0
  141. package/lib/src/metadata-builder/builders/section-rules/about-section.rules.js +20 -0
  142. package/lib/src/metadata-builder/builders/section-rules/add-page.rules.d.ts +7 -0
  143. package/lib/src/metadata-builder/builders/section-rules/add-page.rules.js +8 -0
  144. package/lib/src/metadata-builder/builders/section-rules/banner-section.rules.d.ts +2 -0
  145. package/lib/src/metadata-builder/builders/section-rules/banner-section.rules.js +27 -0
  146. package/lib/src/metadata-builder/builders/section-rules/booking-section.rules.d.ts +2 -0
  147. package/lib/src/metadata-builder/builders/section-rules/booking-section.rules.js +16 -0
  148. package/lib/src/metadata-builder/builders/section-rules/button-section.rules.d.ts +2 -0
  149. package/lib/src/metadata-builder/builders/section-rules/button-section.rules.js +13 -0
  150. package/lib/src/metadata-builder/builders/section-rules/contact-form.rules.d.ts +2 -0
  151. package/lib/src/metadata-builder/builders/section-rules/contact-form.rules.js +16 -0
  152. package/lib/src/metadata-builder/builders/section-rules/divider-section.rules.d.ts +2 -0
  153. package/lib/src/metadata-builder/builders/section-rules/divider-section.rules.js +7 -0
  154. package/lib/src/metadata-builder/builders/section-rules/footer.rules.d.ts +4 -0
  155. package/lib/src/metadata-builder/builders/section-rules/footer.rules.js +5 -0
  156. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.d.ts +6 -0
  157. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.js +26 -0
  158. package/lib/src/metadata-builder/builders/section-rules/header.rules.d.ts +4 -0
  159. package/lib/src/metadata-builder/builders/section-rules/header.rules.js +41 -0
  160. package/lib/src/metadata-builder/builders/section-rules/image-gallery.rules.d.ts +2 -0
  161. package/lib/src/metadata-builder/builders/section-rules/image-gallery.rules.js +10 -0
  162. package/lib/src/metadata-builder/builders/section-rules/images-section.rules.d.ts +2 -0
  163. package/lib/src/metadata-builder/builders/section-rules/images-section.rules.js +31 -0
  164. package/lib/src/metadata-builder/builders/section-rules/mailing-list.rules.d.ts +2 -0
  165. package/lib/src/metadata-builder/builders/section-rules/mailing-list.rules.js +11 -0
  166. package/lib/src/metadata-builder/builders/section-rules/profile.rules.d.ts +2 -0
  167. package/lib/src/metadata-builder/builders/section-rules/profile.rules.js +14 -0
  168. package/lib/src/metadata-builder/builders/section-rules/rename-page.rules.d.ts +7 -0
  169. package/lib/src/metadata-builder/builders/section-rules/rename-page.rules.js +8 -0
  170. package/lib/src/metadata-builder/builders/section-rules/shapes-section.rules.d.ts +2 -0
  171. package/lib/src/metadata-builder/builders/section-rules/shapes-section.rules.js +27 -0
  172. package/lib/src/metadata-builder/builders/section-rules/social-links.rules.d.ts +2 -0
  173. package/lib/src/metadata-builder/builders/section-rules/social-links.rules.js +9 -0
  174. package/lib/src/metadata-builder/builders/section-rules/testimonial-section.rules.d.ts +7 -0
  175. package/lib/src/metadata-builder/builders/section-rules/testimonial-section.rules.js +26 -0
  176. package/lib/src/metadata-builder/builders/section-rules/text-section.rules.d.ts +2 -0
  177. package/lib/src/metadata-builder/builders/section-rules/text-section.rules.js +14 -0
  178. package/lib/src/metadata-builder/builders/shape-color-utils.d.ts +26 -0
  179. package/lib/src/metadata-builder/builders/shape-color-utils.js +52 -0
  180. package/lib/src/metadata-builder/builders/undo-builder.d.ts +48 -0
  181. package/lib/src/metadata-builder/builders/undo-builder.js +58 -0
  182. package/lib/src/metadata-builder/builders/update-content-text-style-builder.js +5 -1
  183. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +15 -4
  184. package/lib/src/metadata-builder/helpers/rte.helpers.js +24 -10
  185. package/lib/src/metadata-builder/metadata-executor.d.ts +2 -1
  186. package/lib/src/metadata-builder/metadata-executor.js +32 -5
  187. package/lib/src/metadata-builder/models.d.ts +26 -1
  188. package/lib/src/metadata-builder/models.js +14 -1
  189. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +144 -0
  190. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +17 -0
  191. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +113 -24
  192. package/lib/src/metadata-builder/parsers/section-tool-arguments.js +5 -1
  193. package/lib/src/metadata-builder/sanitizers/rte-schema-check.d.ts +22 -0
  194. package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +84 -0
  195. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.d.ts +47 -0
  196. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.js +60 -0
  197. package/lib/src/metadata-builder/sanitizers/section-args-validator.d.ts +41 -0
  198. package/lib/src/metadata-builder/sanitizers/section-args-validator.js +274 -0
  199. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +2 -1
  200. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +2 -16
  201. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +0 -1
  202. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +2 -1
  203. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +2 -3
  204. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +0 -4
  205. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +6 -8
  206. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +0 -28
  207. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +2 -1
  208. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +0 -28
  209. package/lib/src/shared/navigation-style-settings/store/index.js +1 -0
  210. package/lib/src/shared/page-navigation/store/page-navigation-store.js +1 -20
  211. package/lib/src/shared/page-navigation/utils/nav-order-utils.d.ts +3 -0
  212. package/lib/src/shared/page-navigation/utils/nav-order-utils.js +20 -0
  213. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +2 -30
  214. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +0 -28
  215. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +2 -43
  216. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +0 -30
  217. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +2 -3
  218. package/lib/src/shared/side-bar/store/side-bar-store.d.ts +0 -12
  219. package/lib/src/shared/side-bar/store/side-bar-store.js +0 -7
  220. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +2 -29
  221. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +2 -1
  222. package/lib/src/utils/build-asset-manifest.d.ts +26 -0
  223. package/lib/src/utils/build-asset-manifest.js +114 -0
  224. package/lib/src/utils/minify-brand-page-metadata.d.ts +49 -1
  225. package/lib/src/utils/minify-brand-page-metadata.js +216 -129
  226. package/package.json +1 -1
  227. package/src/brand-page/components/banner-section/BannerSection.vue +1 -1
  228. package/src/brand-page/components/contact-form/ContactForm.vue +29 -26
  229. package/src/brand-page/components/image-gallery/ImageGalleryModal.mixin.ts +6 -2
  230. package/src/brand-page/components/text-media-section/TextMediaSection.vue +1 -5
  231. package/src/brand-page/models/brand-page-context.model.ts +1 -25
  232. package/src/brand-page/models/index.ts +1 -0
  233. package/src/brand-page/utils/color.util.test.ts +48 -0
  234. package/src/brand-page/utils/color.util.ts +29 -4
  235. package/src/brand-page/utils/raygun.util.ts +11 -2
  236. package/src/brand-page/utils/svg-color.util.ts +1 -3
  237. package/src/brand-page/utils/view-model.util.ts +1 -4
  238. package/src/brand-page-maker/components/ai-text-edit/AiChatbox.vue +2 -2
  239. package/src/brand-page-maker/components/ai-text-edit/AiProgressFeed.vue +162 -0
  240. package/src/brand-page-maker/components/ai-text-edit/TextBubble.vue +57 -5
  241. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.de-DE.json +0 -20
  242. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.es-ES.json +0 -20
  243. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.fr-CA.json +0 -20
  244. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.fr-FR.json +0 -20
  245. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.json +0 -20
  246. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.pt-BR.json +0 -20
  247. package/src/brand-page-maker/components/ai-text-edit/i18n/generate-ai.pt-PT.json +0 -20
  248. package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +1 -2
  249. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.de-DE.json +3 -0
  250. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.es-ES.json +3 -0
  251. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.fr-CA.json +3 -0
  252. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.fr-FR.json +3 -0
  253. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.json +3 -0
  254. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.pt-BR.json +3 -0
  255. package/src/brand-page-maker/components/ai-website-builder/i18n/ai-website-builder.pt-PT.json +3 -0
  256. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +3 -28
  257. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -2
  258. package/src/brand-page-maker/composables/ai-chat/aiErrorCopy.test.ts +229 -0
  259. package/src/brand-page-maker/composables/ai-chat/aiErrorCopy.ts +164 -0
  260. package/src/brand-page-maker/composables/ai-chat/types.ts +49 -0
  261. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +20 -0
  262. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +651 -94
  263. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +9 -9
  264. package/src/brand-page-maker/composables/useEventTracker.ts +31 -25
  265. package/src/brand-page-maker/constants/sidebar-constant.ts +7 -15
  266. package/src/brand-page-maker/convertors/image-aspect-ratio.convertor.ts +2 -2
  267. package/src/brand-page-maker/convertors/text-size-value.convertor.ts +3 -3
  268. package/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.ts +54 -0
  269. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +76 -0
  270. package/src/brand-page-maker/stores/index.ts +1 -1
  271. package/src/brand-page-maker/stores/user/user-store.ts +0 -1
  272. package/src/bundles/bundled-translations.de-DE.json +1 -20
  273. package/src/bundles/bundled-translations.es-ES.json +1 -20
  274. package/src/bundles/bundled-translations.fr-CA.json +1 -20
  275. package/src/bundles/bundled-translations.fr-FR.json +1 -20
  276. package/src/bundles/bundled-translations.json +1 -20
  277. package/src/bundles/bundled-translations.pt-BR.json +1 -20
  278. package/src/bundles/bundled-translations.pt-PT.json +1 -20
  279. package/src/clients/ai-assistant-client.ts +59 -46
  280. package/src/clients/design-template-client.ts +0 -66
  281. package/src/clients/websocket-gateway-client.ts +17 -1
  282. package/src/composables/useTranslate.ts +3 -0
  283. package/src/constants/ui.ts +0 -1
  284. package/src/lib.ts +1 -0
  285. package/src/metadata-builder/ai-metadata-executor.ts +94 -1
  286. package/src/metadata-builder/builders/add-page-builder.ts +9 -13
  287. package/src/metadata-builder/builders/footer-builder.test.ts +76 -0
  288. package/src/metadata-builder/builders/footer-builder.ts +226 -0
  289. package/src/metadata-builder/builders/global-styles-builder.ts +187 -0
  290. package/src/metadata-builder/builders/header-builder.test.ts +106 -0
  291. package/src/metadata-builder/builders/header-builder.ts +254 -0
  292. package/src/metadata-builder/builders/rename-page-builder.ts +79 -0
  293. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +73 -5
  294. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +112 -7
  295. package/src/metadata-builder/builders/section-builders/base-section-builder.ts +149 -11
  296. package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +87 -0
  297. package/src/metadata-builder/builders/section-builders/button-section-builder.ts +6 -1
  298. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +74 -4
  299. package/src/metadata-builder/builders/section-builders/delete-section-builder.ts +15 -1
  300. package/src/metadata-builder/builders/section-builders/divider-section-builder.ts +13 -1
  301. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +91 -31
  302. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +102 -48
  303. package/src/metadata-builder/builders/section-builders/index.ts +1 -0
  304. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +38 -2
  305. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +38 -2
  306. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +55 -3
  307. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +170 -77
  308. package/src/metadata-builder/builders/section-builders/social-links-builder.test.ts +119 -0
  309. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +13 -2
  310. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +178 -57
  311. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +130 -30
  312. package/src/metadata-builder/builders/section-content-factory.ts +15 -2
  313. package/src/metadata-builder/builders/section-field-maps.ts +34 -1
  314. package/src/metadata-builder/builders/section-field-utils.ts +131 -72
  315. package/src/metadata-builder/builders/section-rules/about-section.rules.ts +38 -0
  316. package/src/metadata-builder/builders/section-rules/add-page.rules.ts +17 -0
  317. package/src/metadata-builder/builders/section-rules/banner-section.rules.ts +49 -0
  318. package/src/metadata-builder/builders/section-rules/booking-section.rules.ts +34 -0
  319. package/src/metadata-builder/builders/section-rules/button-section.rules.ts +22 -0
  320. package/src/metadata-builder/builders/section-rules/contact-form.rules.ts +30 -0
  321. package/src/metadata-builder/builders/section-rules/divider-section.rules.ts +17 -0
  322. package/src/metadata-builder/builders/section-rules/footer.rules.ts +21 -0
  323. package/src/metadata-builder/builders/section-rules/global-styles.rules.ts +44 -0
  324. package/src/metadata-builder/builders/section-rules/header.rules.ts +75 -0
  325. package/src/metadata-builder/builders/section-rules/image-gallery.rules.ts +22 -0
  326. package/src/metadata-builder/builders/section-rules/images-section.rules.ts +55 -0
  327. package/src/metadata-builder/builders/section-rules/mailing-list.rules.ts +21 -0
  328. package/src/metadata-builder/builders/section-rules/profile.rules.ts +27 -0
  329. package/src/metadata-builder/builders/section-rules/rename-page.rules.ts +17 -0
  330. package/src/metadata-builder/builders/section-rules/shapes-section.rules.ts +51 -0
  331. package/src/metadata-builder/builders/section-rules/social-links.rules.ts +27 -0
  332. package/src/metadata-builder/builders/section-rules/testimonial-section.rules.ts +48 -0
  333. package/src/metadata-builder/builders/section-rules/text-section.rules.ts +28 -0
  334. package/src/metadata-builder/builders/shape-color-utils.test.ts +115 -0
  335. package/src/metadata-builder/builders/shape-color-utils.ts +75 -0
  336. package/src/metadata-builder/builders/undo-builder.ts +105 -0
  337. package/src/metadata-builder/builders/update-content-text-style-builder.ts +4 -1
  338. package/src/metadata-builder/helpers/rte.helpers.ts +27 -13
  339. package/src/metadata-builder/metadata-executor.ts +42 -2
  340. package/src/metadata-builder/models.ts +39 -1
  341. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +152 -0
  342. package/src/metadata-builder/parsers/section-tool-arguments.ts +138 -24
  343. package/src/metadata-builder/sanitizers/__tests__/section-args-validator.test.ts +659 -0
  344. package/src/metadata-builder/sanitizers/rte-schema-check.ts +99 -0
  345. package/src/metadata-builder/sanitizers/sanitizer-rules.ts +97 -0
  346. package/src/metadata-builder/sanitizers/section-args-validator.ts +445 -0
  347. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +10 -16
  348. package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +0 -1
  349. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +6 -10
  350. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +1 -23
  351. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +0 -15
  352. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +0 -15
  353. package/src/shared/navigation-style-settings/store/index.ts +5 -0
  354. package/src/shared/page-navigation/store/page-navigation-store.ts +4 -31
  355. package/src/shared/page-navigation/utils/nav-order-utils.ts +32 -0
  356. package/src/shared/side-bar/components/SideBar.vue +14 -1
  357. package/src/shared/side-bar/store/side-bar-store.ts +0 -20
  358. package/src/utils/build-asset-manifest.ts +153 -0
  359. package/src/utils/minify-brand-page-metadata.ts +362 -130
  360. package/lib/src/brand-page-maker/composables/ai-chat/useAiChat.js +0 -368
  361. package/lib/src/brand-page-maker/composables/ai-chat/useAiTextEditPrompts.d.ts +0 -18
  362. package/lib/src/brand-page-maker/composables/ai-chat/useAiTextEditPrompts.js +0 -144
  363. package/lib/src/brand-page-maker/stores/ai-thread/ai-thread-store.d.ts +0 -155
  364. package/lib/src/brand-page-maker/stores/ai-thread/ai-thread-store.js +0 -25
  365. package/lib/src/brand-page-maker/utils/mixpanel.util.d.ts +0 -1
  366. package/lib/src/brand-page-maker/utils/mixpanel.util.js +0 -29
  367. package/lib/src/bundled-translations-CNK7l6_v.js +0 -173
  368. package/lib/src/bundled-translations.de-DE-BLE4_y0H.js +0 -173
  369. package/lib/src/bundled-translations.es-ES-thO9osbg.js +0 -173
  370. package/lib/src/bundled-translations.fr-CA-BZkhiNgU.js +0 -173
  371. package/lib/src/bundled-translations.fr-FR-bhDLPKgZ.js +0 -173
  372. package/lib/src/bundled-translations.pt-BR-CI9a5Bq1.js +0 -173
  373. package/lib/src/bundled-translations.pt-PT-DBoErBaq.js +0 -173
  374. package/src/brand-page-maker/components/ai-text-edit/AiTextEdit.vue +0 -154
  375. package/src/brand-page-maker/composables/ai-chat/useAiChat.ts +0 -562
  376. package/src/brand-page-maker/composables/ai-chat/useAiTextEditPrompts.ts +0 -196
  377. package/src/brand-page-maker/stores/ai-thread/ai-thread-store.ts +0 -31
  378. package/src/brand-page-maker/utils/mixpanel.util.ts +0 -42
  379. package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +0 -114
  380. package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +0 -761
@@ -0,0 +1,20 @@
1
+ export const findParentOrderByRouteId = (orders, routeId) => {
2
+ for (const order of orders) {
3
+ if (order.routeId === routeId) {
4
+ return order;
5
+ }
6
+ const found = findParentOrderByRouteId(order.subRoutes, routeId);
7
+ if (found) {
8
+ return found;
9
+ }
10
+ }
11
+ return undefined;
12
+ };
13
+ export const removeOrderByRouteId = (orders, routeId) => {
14
+ return orders
15
+ .filter((order) => order.routeId !== routeId)
16
+ .map((order) => ({
17
+ ...order,
18
+ subRoutes: removeOrderByRouteId(order.subRoutes, routeId),
19
+ }));
20
+ };
@@ -3122,7 +3122,6 @@ declare const _default: import("vue").DefineComponent<{}, {
3122
3122
  maxNumOfPages: number;
3123
3123
  canUseRichTextEditor: boolean;
3124
3124
  canUseGettyVideos: boolean;
3125
- canUseAITextGenerator: boolean;
3126
3125
  canUseGoogleAdsense: boolean;
3127
3126
  googleAdsenseEnabled: boolean;
3128
3127
  }>;
@@ -4591,20 +4590,6 @@ declare const _default: import("vue").DefineComponent<{}, {
4591
4590
  isVariation: boolean;
4592
4591
  isExcluded: boolean;
4593
4592
  } | undefined;
4594
- bp_4572_ai_text_generation_post_purchase?: {
4595
- key: string;
4596
- value: string;
4597
- isControl: boolean;
4598
- isVariation: boolean;
4599
- isExcluded: boolean;
4600
- } | undefined;
4601
- bp_4964_ai_text_generation_improvement?: {
4602
- key: string;
4603
- value: string;
4604
- isControl: boolean;
4605
- isVariation: boolean;
4606
- isExcluded: boolean;
4607
- } | undefined;
4608
4593
  bp_5245_ai_website_assistant?: {
4609
4594
  key: string;
4610
4595
  value: string;
@@ -4683,20 +4668,6 @@ declare const _default: import("vue").DefineComponent<{}, {
4683
4668
  isVariation: boolean;
4684
4669
  isExcluded: boolean;
4685
4670
  } | undefined;
4686
- bp_4572_ai_text_generation_post_purchase?: {
4687
- key: string;
4688
- value: string;
4689
- isControl: boolean;
4690
- isVariation: boolean;
4691
- isExcluded: boolean;
4692
- } | undefined;
4693
- bp_4964_ai_text_generation_improvement?: {
4694
- key: string;
4695
- value: string;
4696
- isControl: boolean;
4697
- isVariation: boolean;
4698
- isExcluded: boolean;
4699
- } | undefined;
4700
4671
  bp_5245_ai_website_assistant?: {
4701
4672
  key: string;
4702
4673
  value: string;
@@ -4847,10 +4818,11 @@ declare const _default: import("vue").DefineComponent<{}, {
4847
4818
  sendTemplateSelectEvent: (templateId: string) => void;
4848
4819
  sendTemplateCategorySelectEvent: (category: string) => void;
4849
4820
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
4821
+ sendAddContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
4822
+ sendRemoveContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
4850
4823
  sendAddContentContinuationEvent: (continuation: string) => void;
4851
4824
  sendUpsellOfferEvent: (upsellType: string) => void;
4852
4825
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
4853
- sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
4854
4826
  sendAiSendPromptEvent: (ctaLocation: string) => void;
4855
4827
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
4856
4828
  };
@@ -3970,20 +3970,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3970
3970
  isVariation: boolean;
3971
3971
  isExcluded: boolean;
3972
3972
  } | undefined;
3973
- bp_4572_ai_text_generation_post_purchase?: {
3974
- key: string;
3975
- value: string;
3976
- isControl: boolean;
3977
- isVariation: boolean;
3978
- isExcluded: boolean;
3979
- } | undefined;
3980
- bp_4964_ai_text_generation_improvement?: {
3981
- key: string;
3982
- value: string;
3983
- isControl: boolean;
3984
- isVariation: boolean;
3985
- isExcluded: boolean;
3986
- } | undefined;
3987
3973
  bp_5245_ai_website_assistant?: {
3988
3974
  key: string;
3989
3975
  value: string;
@@ -4062,20 +4048,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4062
4048
  isVariation: boolean;
4063
4049
  isExcluded: boolean;
4064
4050
  } | undefined;
4065
- bp_4572_ai_text_generation_post_purchase?: {
4066
- key: string;
4067
- value: string;
4068
- isControl: boolean;
4069
- isVariation: boolean;
4070
- isExcluded: boolean;
4071
- } | undefined;
4072
- bp_4964_ai_text_generation_improvement?: {
4073
- key: string;
4074
- value: string;
4075
- isControl: boolean;
4076
- isVariation: boolean;
4077
- isExcluded: boolean;
4078
- } | undefined;
4079
4051
  bp_5245_ai_website_assistant?: {
4080
4052
  key: string;
4081
4053
  value: string;
@@ -70,20 +70,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
70
70
  isVariation: boolean;
71
71
  isExcluded: boolean;
72
72
  } | undefined;
73
- bp_4572_ai_text_generation_post_purchase?: {
74
- key: string;
75
- value: string;
76
- isControl: boolean;
77
- isVariation: boolean;
78
- isExcluded: boolean;
79
- } | undefined;
80
- bp_4964_ai_text_generation_improvement?: {
81
- key: string;
82
- value: string;
83
- isControl: boolean;
84
- isVariation: boolean;
85
- isExcluded: boolean;
86
- } | undefined;
87
73
  bp_5245_ai_website_assistant?: {
88
74
  key: string;
89
75
  value: string;
@@ -300,20 +286,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
300
286
  isVariation: boolean;
301
287
  isExcluded: boolean;
302
288
  } | undefined;
303
- bp_4572_ai_text_generation_post_purchase?: {
304
- key: string;
305
- value: string;
306
- isControl: boolean;
307
- isVariation: boolean;
308
- isExcluded: boolean;
309
- } | undefined;
310
- bp_4964_ai_text_generation_improvement?: {
311
- key: string;
312
- value: string;
313
- isControl: boolean;
314
- isVariation: boolean;
315
- isExcluded: boolean;
316
- } | undefined;
317
289
  bp_5245_ai_website_assistant?: {
318
290
  key: string;
319
291
  value: string;
@@ -392,20 +364,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
392
364
  isVariation: boolean;
393
365
  isExcluded: boolean;
394
366
  } | undefined;
395
- bp_4572_ai_text_generation_post_purchase?: {
396
- key: string;
397
- value: string;
398
- isControl: boolean;
399
- isVariation: boolean;
400
- isExcluded: boolean;
401
- } | undefined;
402
- bp_4964_ai_text_generation_improvement?: {
403
- key: string;
404
- value: string;
405
- isControl: boolean;
406
- isVariation: boolean;
407
- isExcluded: boolean;
408
- } | undefined;
409
367
  bp_5245_ai_website_assistant?: {
410
368
  key: string;
411
369
  value: string;
@@ -552,10 +510,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
552
510
  sendTemplateSelectEvent: (templateId: string) => void;
553
511
  sendTemplateCategorySelectEvent: (category: string) => void;
554
512
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
513
+ sendAddContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
514
+ sendRemoveContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
555
515
  sendAddContentContinuationEvent: (continuation: string) => void;
556
516
  sendUpsellOfferEvent: (upsellType: string) => void;
557
517
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
558
- sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
559
518
  sendAiSendPromptEvent: (ctaLocation: string) => void;
560
519
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
561
520
  };
@@ -82,20 +82,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
82
82
  isVariation: boolean;
83
83
  isExcluded: boolean;
84
84
  } | undefined;
85
- bp_4572_ai_text_generation_post_purchase?: {
86
- key: string;
87
- value: string;
88
- isControl: boolean;
89
- isVariation: boolean;
90
- isExcluded: boolean;
91
- } | undefined;
92
- bp_4964_ai_text_generation_improvement?: {
93
- key: string;
94
- value: string;
95
- isControl: boolean;
96
- isVariation: boolean;
97
- isExcluded: boolean;
98
- } | undefined;
99
85
  bp_5245_ai_website_assistant?: {
100
86
  key: string;
101
87
  value: string;
@@ -174,20 +160,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
174
160
  isVariation: boolean;
175
161
  isExcluded: boolean;
176
162
  } | undefined;
177
- bp_4572_ai_text_generation_post_purchase?: {
178
- key: string;
179
- value: string;
180
- isControl: boolean;
181
- isVariation: boolean;
182
- isExcluded: boolean;
183
- } | undefined;
184
- bp_4964_ai_text_generation_improvement?: {
185
- key: string;
186
- value: string;
187
- isControl: boolean;
188
- isVariation: boolean;
189
- isExcluded: boolean;
190
- } | undefined;
191
163
  bp_5245_ai_website_assistant?: {
192
164
  key: string;
193
165
  value: string;
@@ -324,8 +296,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
324
296
  setSelectedSettingsSection(payload: {
325
297
  sectionName?: string | undefined;
326
298
  }): void;
327
- setAiTextEditContext(payload: import("../store").AiTextEditContext): void;
328
- clearAiTextEditContext(): void;
329
299
  }>;
330
300
  userStore: import("pinia").Store<"brandPageMakerUser", import("@brand-page-maker/stores").UserState, {}, {
331
301
  setUserState(payload: {
@@ -13,8 +13,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13
13
  setSelectedSettingsSection(payload: {
14
14
  sectionName?: string | undefined;
15
15
  }): void;
16
- setAiTextEditContext(payload: import("../store").AiTextEditContext): void;
17
- clearAiTextEditContext(): void;
18
16
  }>;
19
17
  isDesignCom: import("vue").ComputedRef<boolean>;
20
18
  eventTracker: {
@@ -50,10 +48,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
50
48
  sendTemplateSelectEvent: (templateId: string) => void;
51
49
  sendTemplateCategorySelectEvent: (category: string) => void;
52
50
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
51
+ sendAddContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
52
+ sendRemoveContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
53
53
  sendAddContentContinuationEvent: (continuation: string) => void;
54
54
  sendUpsellOfferEvent: (upsellType: string) => void;
55
55
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
56
- sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
57
56
  sendAiSendPromptEvent: (ctaLocation: string) => void;
58
57
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
59
58
  };
@@ -1,19 +1,9 @@
1
1
  import type { SetSelectedTabNamePayload, SideBarTab } from '../models';
2
- export interface AiTextEditContext {
3
- fieldValue: string;
4
- fieldId: string;
5
- fieldName: string;
6
- contentType: string;
7
- maxChars?: number;
8
- textStyle?: BrandPageCssStyle;
9
- index?: number;
10
- }
11
2
  export interface SideBarState {
12
3
  tabs: SideBarTab[];
13
4
  selectedTabName: string;
14
5
  isSwitchingTab: boolean;
15
6
  selectedSettingsSection?: string;
16
- aiTextEditContext?: AiTextEditContext;
17
7
  }
18
8
  export declare const useUiSideBarStore: import("pinia").StoreDefinition<"uiSideBar", SideBarState, {}, {
19
9
  setBrandPageSettingsTabVisibility(payload: {
@@ -23,6 +13,4 @@ export declare const useUiSideBarStore: import("pinia").StoreDefinition<"uiSideB
23
13
  setSelectedSettingsSection(payload: {
24
14
  sectionName?: string;
25
15
  }): void;
26
- setAiTextEditContext(payload: AiTextEditContext): void;
27
- clearAiTextEditContext(): void;
28
16
  }>;
@@ -8,7 +8,6 @@ export const useUiSideBarStore = defineStore('uiSideBar', {
8
8
  selectedTabName: DEFAULT_SIDE_BAR_TABS()[1].name,
9
9
  isSwitchingTab: false,
10
10
  selectedSettingsSection: undefined,
11
- aiTextEditContext: undefined,
12
11
  }),
13
12
  actions: {
14
13
  setBrandPageSettingsTabVisibility(payload) {
@@ -39,11 +38,5 @@ export const useUiSideBarStore = defineStore('uiSideBar', {
39
38
  setSelectedSettingsSection(payload) {
40
39
  this.selectedSettingsSection = payload.sectionName;
41
40
  },
42
- setAiTextEditContext(payload) {
43
- this.aiTextEditContext = payload;
44
- },
45
- clearAiTextEditContext() {
46
- this.aiTextEditContext = undefined;
47
- },
48
41
  },
49
42
  });
@@ -678,20 +678,6 @@ declare const _default: import("vue").DefineComponent<{}, {
678
678
  isVariation: boolean;
679
679
  isExcluded: boolean;
680
680
  } | undefined;
681
- bp_4572_ai_text_generation_post_purchase?: {
682
- key: string;
683
- value: string;
684
- isControl: boolean;
685
- isVariation: boolean;
686
- isExcluded: boolean;
687
- } | undefined;
688
- bp_4964_ai_text_generation_improvement?: {
689
- key: string;
690
- value: string;
691
- isControl: boolean;
692
- isVariation: boolean;
693
- isExcluded: boolean;
694
- } | undefined;
695
681
  bp_5245_ai_website_assistant?: {
696
682
  key: string;
697
683
  value: string;
@@ -770,20 +756,6 @@ declare const _default: import("vue").DefineComponent<{}, {
770
756
  isVariation: boolean;
771
757
  isExcluded: boolean;
772
758
  } | undefined;
773
- bp_4572_ai_text_generation_post_purchase?: {
774
- key: string;
775
- value: string;
776
- isControl: boolean;
777
- isVariation: boolean;
778
- isExcluded: boolean;
779
- } | undefined;
780
- bp_4964_ai_text_generation_improvement?: {
781
- key: string;
782
- value: string;
783
- isControl: boolean;
784
- isVariation: boolean;
785
- isExcluded: boolean;
786
- } | undefined;
787
759
  bp_5245_ai_website_assistant?: {
788
760
  key: string;
789
761
  value: string;
@@ -974,10 +946,11 @@ declare const _default: import("vue").DefineComponent<{}, {
974
946
  sendTemplateSelectEvent: (templateId: string) => void;
975
947
  sendTemplateCategorySelectEvent: (category: string) => void;
976
948
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
949
+ sendAddContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
950
+ sendRemoveContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
977
951
  sendAddContentContinuationEvent: (continuation: string) => void;
978
952
  sendUpsellOfferEvent: (upsellType: string) => void;
979
953
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
980
- sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
981
954
  sendAiSendPromptEvent: (ctaLocation: string) => void;
982
955
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
983
956
  };
@@ -596,10 +596,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
596
596
  sendTemplateSelectEvent: (templateId: string) => void;
597
597
  sendTemplateCategorySelectEvent: (category: string) => void;
598
598
  sendSidebarCategoryClickedEvent: (tabName: string) => void;
599
+ sendAddContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
600
+ sendRemoveContentEvent: (contentType: string, selectLocation?: string | undefined, contentCategory?: string | undefined, triggerType?: string) => void;
599
601
  sendAddContentContinuationEvent: (continuation: string) => void;
600
602
  sendUpsellOfferEvent: (upsellType: string) => void;
601
603
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
602
- sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
603
604
  sendAiSendPromptEvent: (ctaLocation: string) => void;
604
605
  sendAiStopGenerationEvent: (ctaLocation: string) => void;
605
606
  };
@@ -0,0 +1,26 @@
1
+ import type { BrandPageModel } from '../brand-page/models';
2
+ import type { LogoImageModel } from '../brand-page/models/logo.model';
3
+ export interface AssetEntry {
4
+ key: string;
5
+ type: 'logo' | 'image' | 'shape';
6
+ data: string;
7
+ }
8
+ /**
9
+ * Resolve a logo's data for the asset manifest.
10
+ *
11
+ * Priority:
12
+ * 1. Construct a render URL from logoImage (logoDraftToken + variation) — preferred
13
+ * because URLs are lightweight and the pipeline can download the rendered PNG.
14
+ * 2. Fall back to logoImageBase64Url if logoImage is unavailable.
15
+ */
16
+ export declare function resolveLogoData(logoImage: LogoImageModel | undefined, logoImageBase64Url: string | undefined): string | undefined;
17
+ /**
18
+ * Build an asset manifest from the brand page model.
19
+ *
20
+ * Collects unique visual assets (logos, background images, section images)
21
+ * with their resolved data (base64 or URL) and a content hash key.
22
+ * Each asset appears exactly once — deduped by data content.
23
+ * The pipeline uses the key to cache analysis and cross-reference via
24
+ * asset keys embedded in the minified metadata (logoAssetKey, backgroundAssetKey).
25
+ */
26
+ export declare function buildAssetManifest(model: BrandPageModel): Promise<AssetEntry[]>;
@@ -0,0 +1,114 @@
1
+ import { FabricRenderClient } from '../clients/fabric-render-client';
2
+ /**
3
+ * Resolve a logo's data for the asset manifest.
4
+ *
5
+ * Priority:
6
+ * 1. Construct a render URL from logoImage (logoDraftToken + variation) — preferred
7
+ * because URLs are lightweight and the pipeline can download the rendered PNG.
8
+ * 2. Fall back to logoImageBase64Url if logoImage is unavailable.
9
+ */
10
+ export function resolveLogoData(logoImage, logoImageBase64Url) {
11
+ // Try constructing URL from logoImage
12
+ if (logoImage?.logoDraftToken) {
13
+ try {
14
+ const client = FabricRenderClient.getInstance();
15
+ const url = client.getLogoVariationUrlByLogoVariationIndex(logoImage.logoDraftToken, logoImage.logoLastUpdate, logoImage.logoVariation ?? 0, 'png');
16
+ if (url)
17
+ return url;
18
+ }
19
+ catch {
20
+ // FabricRenderClient not initialized — fall through to base64
21
+ }
22
+ }
23
+ // Fallback to base64 if available
24
+ return logoImageBase64Url || undefined;
25
+ }
26
+ /**
27
+ * Hash a string using SHA-256 and return the first 16 hex characters.
28
+ * Uses the Web Crypto API (available in browsers and modern runtimes).
29
+ */
30
+ async function hashData(data) {
31
+ const encoder = new TextEncoder();
32
+ const hashBuffer = await crypto.subtle.digest('SHA-256', encoder.encode(data));
33
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
34
+ return hashArray
35
+ .map((b) => b.toString(16).padStart(2, '0'))
36
+ .join('')
37
+ .slice(0, 16);
38
+ }
39
+ /**
40
+ * Build an asset manifest from the brand page model.
41
+ *
42
+ * Collects unique visual assets (logos, background images, section images)
43
+ * with their resolved data (base64 or URL) and a content hash key.
44
+ * Each asset appears exactly once — deduped by data content.
45
+ * The pipeline uses the key to cache analysis and cross-reference via
46
+ * asset keys embedded in the minified metadata (logoAssetKey, backgroundAssetKey).
47
+ */
48
+ export async function buildAssetManifest(model) {
49
+ const assets = [];
50
+ const hashPromises = [];
51
+ const seenData = new Set();
52
+ const addEntry = (type, data) => {
53
+ if (seenData.has(data))
54
+ return;
55
+ seenData.add(data);
56
+ const entry = { key: '', type, data };
57
+ assets.push(entry);
58
+ hashPromises.push(hashData(data).then((key) => {
59
+ entry.key = key;
60
+ }));
61
+ };
62
+ // --- Logos from header/footer (4 viewports) ---
63
+ const logoSections = [
64
+ model.pageHeaderDesktop,
65
+ model.pageHeaderMobile,
66
+ model.pageFooterDesktop,
67
+ model.pageFooterMobile,
68
+ ];
69
+ for (const section of logoSections) {
70
+ if (!section?.isLogoVisible)
71
+ continue;
72
+ const data = resolveLogoData(section.logoImage, section.logoImageBase64Url);
73
+ if (data)
74
+ addEntry('logo', data);
75
+ }
76
+ // --- Global background image ---
77
+ const bgUrl = model.styles?.backgroundStyles?.backgroundImageUrl;
78
+ if (bgUrl)
79
+ addEntry('image', bgUrl);
80
+ // --- Section content images ---
81
+ for (const page of model.pages || []) {
82
+ for (const content of page.contents || []) {
83
+ const c = content;
84
+ // Top-level image fields (banner, about, image, profile)
85
+ if (c.imageUrl)
86
+ addEntry('image', c.imageUrl);
87
+ if (c.avatarImageUrl)
88
+ addEntry('image', c.avatarImageUrl);
89
+ // items[] — images-section, shapes-section, testimonial-section
90
+ if (Array.isArray(c.items)) {
91
+ for (const item of c.items) {
92
+ if (item.imageUrl)
93
+ addEntry('image', item.imageUrl);
94
+ }
95
+ }
96
+ // images[] — image-gallery
97
+ if (Array.isArray(c.images)) {
98
+ for (const img of c.images) {
99
+ if (img.imageUrl)
100
+ addEntry('image', img.imageUrl);
101
+ }
102
+ }
103
+ // links[] — social-links
104
+ if (Array.isArray(c.links)) {
105
+ for (const link of c.links) {
106
+ if (link.imageUrl)
107
+ addEntry('image', link.imageUrl);
108
+ }
109
+ }
110
+ }
111
+ }
112
+ await Promise.all(hashPromises);
113
+ return assets;
114
+ }
@@ -1,5 +1,47 @@
1
1
  import { type BrandPageModel, type BrandPageType, type NavModel, type PageStyles } from '../brand-page/models';
2
2
  import type { ContentType } from '../brand-page/models/content.model';
3
+ import { type AssetEntry } from './build-asset-manifest';
4
+ type MinifiedFooterSocialLink = {
5
+ imageUrl: string;
6
+ url: string;
7
+ };
8
+ type MinifiedFooter = {
9
+ displayStyle?: string;
10
+ copyrightText?: string;
11
+ isLogoVisible?: boolean;
12
+ logoImageHeight?: string;
13
+ logoImageWidth?: string;
14
+ logoAssetKey?: string;
15
+ socialLinks?: MinifiedFooterSocialLink[];
16
+ };
17
+ type MinifiedHeader = {
18
+ displayStyle?: string;
19
+ isLogoVisible?: boolean;
20
+ logoImageHeight?: string;
21
+ logoImageWidth?: string;
22
+ logoAssetKey?: string;
23
+ backgroundStyle?: {
24
+ backgroundColor?: string;
25
+ };
26
+ navigation?: {
27
+ displayType?: string;
28
+ defaultButtonStyle?: {
29
+ color?: string;
30
+ fontFamily?: string;
31
+ };
32
+ selectedButtonStyle?: {
33
+ color?: string;
34
+ backgroundColor?: string;
35
+ borderColor?: string;
36
+ };
37
+ hamburgerMenuStyle?: {
38
+ iconStyle?: {
39
+ color?: string;
40
+ backgroundColor?: string;
41
+ };
42
+ };
43
+ };
44
+ };
3
45
  type MinifiedContent = {
4
46
  id: string;
5
47
  type: ContentType;
@@ -18,6 +60,12 @@ export interface MinifiedBrandPageMetadata {
18
60
  styles: PageStyles;
19
61
  pages: MinifiedPage[];
20
62
  nav: NavModel;
63
+ footer?: {
64
+ desktop?: MinifiedFooter;
65
+ mobile?: MinifiedFooter;
66
+ };
67
+ pageHeaderDesktop?: MinifiedHeader;
68
+ pageHeaderMobile?: MinifiedHeader;
21
69
  }
22
- export declare const minifyBrandPageMetadata: (model: BrandPageModel) => MinifiedBrandPageMetadata;
70
+ export declare const minifyBrandPageMetadata: (model: BrandPageModel, assets?: AssetEntry[]) => MinifiedBrandPageMetadata;
23
71
  export {};