@useinsider/guido 1.0.3-beta.40a19f6 → 1.0.3-beta.413aef4

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 (269) hide show
  1. package/dist/components/Guido.vue.js +7 -7
  2. package/dist/components/Guido.vue2.js +74 -68
  3. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  7. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  9. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  11. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +18 -0
  12. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +16 -0
  13. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +24 -0
  14. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +64 -0
  15. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +18 -0
  16. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +107 -0
  17. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +18 -0
  18. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +12 -0
  19. package/dist/components/wrappers/WpDrawer.vue.js +6 -4
  20. package/dist/composables/useStripo.js +42 -33
  21. package/dist/config/compiler/unsubscribeCompilerRules.js +42 -29
  22. package/dist/config/migrator/couponBlockMigrator.js +32 -32
  23. package/dist/config/migrator/index.js +7 -6
  24. package/dist/config/migrator/unsubscribeMigrator.js +124 -0
  25. package/dist/enums/defaults.js +6 -3
  26. package/dist/enums/extensions/recommendationBlock.js +80 -0
  27. package/dist/enums/unsubscribe.js +43 -6
  28. package/dist/extensions/Blocks/Checkbox/block.js +15 -24
  29. package/dist/extensions/Blocks/Checkbox/control.js +55 -67
  30. package/dist/extensions/Blocks/Checkbox/extension.js +5 -16
  31. package/dist/extensions/Blocks/Checkbox/iconsRegistry.js +18 -0
  32. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +12 -25
  33. package/dist/extensions/Blocks/Checkbox/template.js +5 -16
  34. package/dist/extensions/Blocks/CouponBlock/block.js +14 -24
  35. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -16
  36. package/dist/extensions/Blocks/CouponBlock/iconsRegistry.js +33 -0
  37. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +16 -29
  38. package/dist/extensions/Blocks/CouponBlock/template.js +6 -8
  39. package/dist/extensions/Blocks/RadioButton/block.js +13 -22
  40. package/dist/extensions/Blocks/RadioButton/control.js +40 -52
  41. package/dist/extensions/Blocks/RadioButton/extension.js +4 -15
  42. package/dist/extensions/Blocks/RadioButton/iconsRegistry.js +14 -0
  43. package/dist/extensions/Blocks/RadioButton/settingsPanel.js +13 -26
  44. package/dist/extensions/Blocks/RadioButton/template.js +13 -24
  45. package/dist/extensions/Blocks/Recommendation/block.js +27 -0
  46. package/dist/extensions/Blocks/Recommendation/control.js +277 -0
  47. package/dist/extensions/Blocks/Recommendation/extension.js +10 -0
  48. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  49. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  50. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +32 -0
  51. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  52. package/dist/extensions/Blocks/Recommendation/template.js +200 -0
  53. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  54. package/dist/extensions/Blocks/Unsubscribe/block.js +131 -0
  55. package/dist/extensions/Blocks/Unsubscribe/control.js +167 -0
  56. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +42 -0
  57. package/dist/extensions/Blocks/Unsubscribe/extension.js +21 -0
  58. package/dist/extensions/Blocks/Unsubscribe/iconsRegistry.js +21 -0
  59. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +35 -0
  60. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +42 -0
  61. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.js +10 -0
  62. package/dist/extensions/Blocks/Unsubscribe/template.js +22 -0
  63. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +11 -0
  64. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +6 -0
  65. package/dist/extensions/Blocks/common-control.js +102 -0
  66. package/dist/extensions/DynamicContent/dynamic-content.js +31 -45
  67. package/dist/extensions/DynamicContent/extension.js +6 -18
  68. package/dist/guido.css +1 -1
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +659 -0
  70. package/dist/package.json.js +7 -0
  71. package/dist/services/recommendationApi.js +43 -0
  72. package/dist/services/unsubscribeApi.js +16 -0
  73. package/dist/{@types → src/@types}/generic.d.ts +13 -0
  74. package/dist/{components → src/components}/Guido.vue.d.ts +2 -2
  75. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  76. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  77. package/dist/src/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +2 -0
  78. package/dist/src/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +2 -0
  79. package/dist/src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +2 -0
  80. package/dist/src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +2 -0
  81. package/dist/src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
  82. package/dist/src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  83. package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +6 -4
  84. package/dist/src/config/migrator/index.d.ts +1 -0
  85. package/dist/src/config/migrator/unsubscribeMigrator.d.ts +1 -0
  86. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  87. package/dist/src/enums/unsubscribe.d.ts +38 -0
  88. package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +1 -0
  89. package/dist/src/extensions/Blocks/Checkbox/iconsRegistry.d.ts +4 -0
  90. package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +1 -0
  91. package/dist/src/extensions/Blocks/CouponBlock/iconsRegistry.d.ts +4 -0
  92. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +3 -0
  93. package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +1 -0
  94. package/dist/src/extensions/Blocks/RadioButton/iconsRegistry.d.ts +4 -0
  95. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +10 -0
  96. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +29 -0
  97. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  98. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  99. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +6 -0
  100. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  101. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +32 -0
  102. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +29 -0
  103. package/dist/src/extensions/Blocks/Unsubscribe/elements/preview.d.ts +11 -0
  104. package/dist/src/extensions/Blocks/Unsubscribe/iconsRegistry.d.ts +4 -0
  105. package/dist/src/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +4 -0
  106. package/dist/src/extensions/Blocks/Unsubscribe/tagRegistry.d.ts +4 -0
  107. package/dist/src/extensions/Blocks/Unsubscribe/template.d.ts +12 -0
  108. package/dist/src/extensions/Blocks/Unsubscribe/utils/constants.d.ts +9 -0
  109. package/dist/src/extensions/Blocks/Unsubscribe/utils/utils.d.ts +7 -0
  110. package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +1 -0
  111. package/dist/src/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  112. package/dist/src/extensions/Blocks/_Boilerplate/iconsRegistry.d.ts +4 -0
  113. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  114. package/dist/src/extensions/Blocks/common-control.d.ts +66 -0
  115. package/dist/src/extensions/DynamicContent/extension.d.ts +2 -0
  116. package/dist/src/mock/api/validator.d.ts +2 -0
  117. package/dist/src/services/recommendationApi.d.ts +6 -0
  118. package/dist/src/services/unsubscribeApi.d.ts +4 -0
  119. package/dist/src/stores/config.d.ts +96 -0
  120. package/dist/{stores → src/stores}/editor.d.ts +21 -0
  121. package/dist/src/stores/unsubscribe.d.ts +256 -0
  122. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  123. package/dist/stores/config.js +17 -0
  124. package/dist/stores/editor.js +2 -1
  125. package/dist/stores/unsubscribe.js +126 -6
  126. package/dist/utils/genericUtil.js +8 -7
  127. package/dist/utils/templatePreparation.js +17 -16
  128. package/package.json +8 -3
  129. package/dist/config/migrator/index.d.ts +0 -1
  130. package/dist/enums/unsubscribe.d.ts +0 -15
  131. package/dist/extensions/Blocks/CouponBlock/template.d.ts +0 -3
  132. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +0 -75
  133. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +0 -77
  134. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +0 -123
  135. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +0 -7
  136. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +0 -7
  137. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +0 -12
  138. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +0 -7
  139. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +0 -119
  140. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +0 -7
  141. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +0 -7
  142. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +0 -7
  143. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +0 -12
  144. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +0 -7
  145. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +0 -7
  146. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +0 -7
  147. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +0 -24
  148. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +0 -24
  149. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +0 -11
  150. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +0 -33
  151. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +0 -22
  152. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +0 -40
  153. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +0 -5
  154. package/dist/static/assets/icons/coupon.svg.js +0 -4
  155. package/dist/stores/unsubscribe.d.ts +0 -8
  156. /package/dist/{@types → src/@types}/events.d.ts +0 -0
  157. /package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  158. /package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  159. /package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  160. /package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  161. /package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  162. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  163. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  164. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  165. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  166. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  167. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  168. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  169. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  170. /package/dist/{components/organisms/header/LeftSlot.vue.d.ts → src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts} +0 -0
  171. /package/dist/{components/organisms/header/MiddleSlot.vue.d.ts → src/components/organisms/extensions/recommendation/Filters.vue.d.ts} +0 -0
  172. /package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  173. /package/dist/{components/organisms/header/ViewOptions.vue.d.ts → src/components/organisms/header/LeftSlot.vue.d.ts} +0 -0
  174. /package/dist/{components/organisms/header/version-history/RestoreButton.vue.d.ts → src/components/organisms/header/MiddleSlot.vue.d.ts} +0 -0
  175. /package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  176. /package/dist/{components/organisms/header/version-history → src/components/organisms/header}/ViewOptions.vue.d.ts +0 -0
  177. /package/dist/{components/organisms/onboarding/AMPOnboarding.vue.d.ts → src/components/organisms/header/version-history/RestoreButton.vue.d.ts} +0 -0
  178. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  179. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  180. /package/dist/{components/organisms/onboarding/GenericOnboarding.vue.d.ts → src/components/organisms/header/version-history/ViewOptions.vue.d.ts} +0 -0
  181. /package/dist/{components/organisms/onboarding/NewVersionPopup.vue.d.ts → src/components/organisms/onboarding/AMPOnboarding.vue.d.ts} +0 -0
  182. /package/dist/{components/organisms/onboarding/OnboardingWrapper.vue.d.ts → src/components/organisms/onboarding/GenericOnboarding.vue.d.ts} +0 -0
  183. /package/dist/{components/organisms/onboarding/TextBlockOnboarding.vue.d.ts → src/components/organisms/onboarding/NewVersionPopup.vue.d.ts} +0 -0
  184. /package/dist/{components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts → src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts} +0 -0
  185. /package/dist/{components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts → src/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts} +0 -0
  186. /package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +0 -0
  187. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  188. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  189. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  190. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  191. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  192. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  193. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  194. /package/dist/{composables → src/composables}/useGuidoActions.d.ts +0 -0
  195. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  196. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  197. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  198. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  199. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  200. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  201. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  202. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  203. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  204. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  205. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  206. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  207. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  208. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  209. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  210. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  211. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  212. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  213. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  214. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  215. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  216. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  217. /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
  218. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  219. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  220. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  221. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  222. /package/dist/{enums → src/enums}/onboarding.d.ts +0 -0
  223. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  224. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  225. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  226. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  227. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  228. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  229. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
  230. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  231. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  232. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  233. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/extension.d.ts +0 -0
  234. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  235. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
  236. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  237. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  238. /package/dist/{extensions/DynamicContent → src/extensions/Blocks/Unsubscribe}/extension.d.ts +0 -0
  239. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  240. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  241. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content-modal.d.ts +0 -0
  242. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content.d.ts +0 -0
  243. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  244. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  245. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  246. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  247. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  248. /package/dist/{mock/api/template-library.d.ts → src/mock/api/recommendation.d.ts} +0 -0
  249. /package/dist/{mock/api/unsubscribe.d.ts → src/mock/api/template-library.d.ts} +0 -0
  250. /package/dist/{mock/api/user-modal-state.d.ts → src/mock/api/unsubscribe.d.ts} +0 -0
  251. /package/dist/{mock/api/validator.d.ts → src/mock/api/user-modal-state.d.ts} +0 -0
  252. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  253. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  254. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  255. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  256. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  257. /package/dist/{stores → src/stores}/dynamic-content.d.ts +0 -0
  258. /package/dist/{stores → src/stores}/onboarding.d.ts +0 -0
  259. /package/dist/{stores → src/stores}/preview.d.ts +0 -0
  260. /package/dist/{stores → src/stores}/recommendation.d.ts +0 -0
  261. /package/dist/{stores → src/stores}/save-as-template.d.ts +0 -0
  262. /package/dist/{stores → src/stores}/toaster.d.ts +0 -0
  263. /package/dist/{stores → src/stores}/version-history.d.ts +0 -0
  264. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  265. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  266. /package/dist/{utils → src/utils}/dateUtil.d.ts +0 -0
  267. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  268. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  269. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
@@ -0,0 +1,277 @@
1
+ var _ = Object.defineProperty;
2
+ var R = (o, n, e) => n in o ? _(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e;
3
+ var r = (o, n, e) => R(o, typeof n != "symbol" ? n + "" : n, e);
4
+ import { currencyDecimalCounts as c, currencyOperators as a, currencyLocationMaps as l } from "../../../enums/extensions/recommendationBlock.js";
5
+ import { UEAttr as d } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
+ import { CommonControl as m } from "../common-control.js";
7
+ import { useRecommendationExtensionStore as S } from "./store/recommendation.js";
8
+ const g = "ui-elements-recommendation-block", t = {
9
+ ALGORITHM: "strategy",
10
+ PRODUCT_IDS: "productIds",
11
+ LOCALE: "language",
12
+ CURRENCY: "value",
13
+ CURRENCY_LOCATION: "alignment",
14
+ CURRENCY_SYMBOL: "symbol",
15
+ CURRENCY_THOUSAND_SEPARATOR: "thousandSeparator",
16
+ CURRENCY_DECIMAL_SEPARATOR: "decimalSeparator",
17
+ CURRENCY_DECIMAL_COUNT: "decimalCount",
18
+ FILTERS: "filterStatus",
19
+ PRODUCT_COUNT: "size",
20
+ PRODUCT_IN_ROW: "cardsInRow",
21
+ SHUFFLE_PRODUCTS: "shuffleProducts",
22
+ RESPONSIVE: "unresponsive"
23
+ };
24
+ class p extends m {
25
+ constructor() {
26
+ super(...arguments);
27
+ r(this, "store", S());
28
+ r(this, "storeUnsubscription", () => {
29
+ });
30
+ r(this, "addFilterListener", () => {
31
+ });
32
+ r(this, "addFilterButton", null);
33
+ }
34
+ getId() {
35
+ return g;
36
+ }
37
+ getTemplate() {
38
+ return `
39
+ <div class="recommendation-controls-container">
40
+ ${this._getAlgorithms()}
41
+ ${this._getLanguages()}
42
+ ${this._getCurrency()}
43
+ ${this._getFilterStatus()}
44
+ ${this._getProductLayout()}
45
+ ${this._getShuffleProducts()}
46
+ ${this._getResponsive()}
47
+ </div>
48
+ `;
49
+ }
50
+ async onRender() {
51
+ await Promise.all([
52
+ this.store.fetchRecommendationFilters(),
53
+ this.store.fetchRecommendationCreateData(),
54
+ this.store.fetchRecommendationProducts()
55
+ // TODO: We need to change the location. It's just for testing
56
+ ]), this._listenStateUpdates(), this._initializeSelectItems(), this._setFormValues(), this._listenToFormUpdates();
57
+ }
58
+ onDestroy() {
59
+ var e;
60
+ (e = this.addFilterButton) == null || e.removeEventListener("click", this.addFilterListener), this.storeUnsubscription();
61
+ }
62
+ _setFormValues() {
63
+ const e = this.store.recommendationConfigs;
64
+ this._setProductIdsVisibility(), this.api.updateValues({
65
+ [t.ALGORITHM]: e.strategy,
66
+ [t.PRODUCT_IDS]: e.productIds.join(","),
67
+ [t.CURRENCY]: e.currencySettings.value,
68
+ [t.LOCALE]: e.language,
69
+ [t.CURRENCY_LOCATION]: e.currencySettings.alignment,
70
+ [t.CURRENCY_SYMBOL]: e.currencySettings.symbol,
71
+ [t.CURRENCY_THOUSAND_SEPARATOR]: e.currencySettings.thousandSeparator,
72
+ [t.CURRENCY_DECIMAL_SEPARATOR]: e.currencySettings.decimalSeparator,
73
+ [t.CURRENCY_DECIMAL_COUNT]: e.currencySettings.decimalCount,
74
+ [t.PRODUCT_COUNT]: e.size,
75
+ [t.PRODUCT_IN_ROW]: e.cardsInRow,
76
+ [t.SHUFFLE_PRODUCTS]: e.shuffleProducts,
77
+ [t.RESPONSIVE]: !e.unresponsive
78
+ });
79
+ }
80
+ _initializeSelectItems() {
81
+ const { store: e } = this, s = e.getActivePredictiveAlgorithms, i = e.getLanguages, C = {
82
+ [t.ALGORITHM]: s,
83
+ [t.LOCALE]: i,
84
+ [t.CURRENCY]: e.currencyList,
85
+ [t.CURRENCY_LOCATION]: l,
86
+ [t.CURRENCY_SYMBOL]: e.getCurrencySymbolList,
87
+ [t.CURRENCY_THOUSAND_SEPARATOR]: a,
88
+ [t.CURRENCY_DECIMAL_SEPARATOR]: a,
89
+ [t.CURRENCY_DECIMAL_COUNT]: c,
90
+ [t.PRODUCT_COUNT]: Number(e.recommendationConfigs.size),
91
+ [t.PRODUCT_IN_ROW]: e.recommendationConfigs.cardsInRow,
92
+ [t.SHUFFLE_PRODUCTS]: e.recommendationConfigs.shuffleProducts,
93
+ [t.RESPONSIVE]: !e.recommendationConfigs.unresponsive
94
+ };
95
+ Object.entries(C).forEach(([u, h]) => {
96
+ this.api.setUIEAttribute(u, d.SELECTPICKER.items, h);
97
+ });
98
+ }
99
+ _getAlgorithms() {
100
+ return `
101
+ ${this._GuTwoColumns([
102
+ this._GuLabel({ text: "Recommendation Algorithm" }),
103
+ this._GuSelect({
104
+ name: t.ALGORITHM,
105
+ placeholder: "Select Recommendation Algorithm",
106
+ options: this.store.getActivePredictiveAlgorithms
107
+ }),
108
+ this._GuLabel({ text: "Product Ids", name: `${t.PRODUCT_IDS}_label` }),
109
+ this._GuTextInput({
110
+ name: t.PRODUCT_IDS,
111
+ placeholder: "Enter Product Ids",
112
+ className: "es-180w"
113
+ })
114
+ ])}
115
+ `;
116
+ }
117
+ _getLanguages() {
118
+ return `
119
+ ${this._GuTwoColumns([
120
+ this._GuLabel({ text: "Recommendation Locale" }),
121
+ this._GuSelect({
122
+ name: t.LOCALE,
123
+ placeholder: "Select Recommendation Locale",
124
+ options: this.store.getLanguages
125
+ })
126
+ ])}
127
+ `;
128
+ }
129
+ _getCurrency() {
130
+ return `
131
+ ${this._GuTwoColumns([
132
+ this._GuLabel({ text: "Currency" }),
133
+ this._GuSelect({
134
+ name: t.CURRENCY,
135
+ placeholder: "Select Currency",
136
+ options: this.store.currencyList
137
+ }),
138
+ this._GuLabel({ text: "Currency Location" }),
139
+ this._GuSelect({
140
+ name: t.CURRENCY_LOCATION,
141
+ placeholder: "Select Currency Location",
142
+ options: l
143
+ }),
144
+ this._GuLabel({ text: "Currency Symbol" }),
145
+ this._GuSelect({
146
+ name: t.CURRENCY_SYMBOL,
147
+ placeholder: "Select Currency Symbol",
148
+ options: this.store.getCurrencySymbolList
149
+ }),
150
+ this._GuLabel({ text: "Thousand Separator" }),
151
+ this._GuSelect({
152
+ name: t.CURRENCY_THOUSAND_SEPARATOR,
153
+ placeholder: "Select Thousand Separator",
154
+ options: a
155
+ }),
156
+ this._GuLabel({ text: "Decimal Separator" }),
157
+ this._GuSelect({
158
+ name: t.CURRENCY_DECIMAL_SEPARATOR,
159
+ placeholder: "Select Decimal Separator",
160
+ options: a
161
+ }),
162
+ this._GuLabel({ text: "Decimal Count" }),
163
+ this._GuSelect({
164
+ name: t.CURRENCY_DECIMAL_COUNT,
165
+ placeholder: "Select Decimal Count",
166
+ options: c
167
+ })
168
+ ])}
169
+ `;
170
+ }
171
+ _getProductLayout() {
172
+ return `
173
+ ${this._GuTwoColumns([
174
+ this._GuLabel({ text: "Number of Products" }),
175
+ this._GuCounter({ name: t.PRODUCT_COUNT, maxValue: 9 }),
176
+ this._GuLabel({ text: "Products in One Row" }),
177
+ this._GuCounter({ name: t.PRODUCT_IN_ROW, maxValue: 4 })
178
+ ])}
179
+ `;
180
+ }
181
+ _getFilterStatus() {
182
+ return `
183
+ ${this._GuTwoColumns([
184
+ this._GuLabel({ text: "Filters" }),
185
+ this._GuButton({
186
+ name: t.FILTERS,
187
+ label: "Add Filter",
188
+ id: "guido__btn-add-filter"
189
+ })
190
+ ])}
191
+ `;
192
+ }
193
+ _getShuffleProducts() {
194
+ return `
195
+ ${this._GuTwoColumns([
196
+ this._GuLabel({ text: "Shuffle Recommended Products" }),
197
+ this._GuToggle(t.SHUFFLE_PRODUCTS)
198
+ ])}
199
+ `;
200
+ }
201
+ _getResponsive() {
202
+ return `
203
+ ${this._GuTwoColumns([
204
+ this._GuLabel({ text: "Responsive Block" }),
205
+ this._GuToggle(t.RESPONSIVE)
206
+ ])}
207
+ `;
208
+ }
209
+ _onFilterChange(e) {
210
+ this.currentNode && this.store.$patch({
211
+ filterStatus: e,
212
+ filterSelectionDrawerStatus: e
213
+ });
214
+ }
215
+ _onFilterSelectClick() {
216
+ this.store.$patch({
217
+ filterSelectionDrawerStatus: !0
218
+ });
219
+ }
220
+ _onDataChange(e, s) {
221
+ this.currentNode && this.store.$patch({
222
+ recommendationConfigs: {
223
+ [e]: s
224
+ }
225
+ });
226
+ }
227
+ _onCurrencyConfigChange(e, s) {
228
+ this.currentNode && this.store.$patch({
229
+ recommendationConfigs: {
230
+ currencySettings: {
231
+ [e]: s
232
+ }
233
+ }
234
+ });
235
+ }
236
+ _onCurrencyChange(e) {
237
+ const [, s] = e.split(".");
238
+ this.store.$patch({
239
+ recommendationConfigs: {
240
+ currencySettings: {
241
+ name: s,
242
+ value: s
243
+ }
244
+ }
245
+ });
246
+ }
247
+ _setProductIdsVisibility() {
248
+ const { recommendationConfigs: e } = this.store, s = e.strategy === "manualMerchandising";
249
+ this.api.setVisibility(t.PRODUCT_IDS, s), this.api.setVisibility(`${t.PRODUCT_IDS}_label`, s);
250
+ }
251
+ _listenToFormUpdates() {
252
+ var s;
253
+ this.api.onValueChanged(t.ALGORITHM, (i) => {
254
+ this._onDataChange(t.ALGORITHM, i), this._setProductIdsVisibility();
255
+ }), this.api.onValueChanged(t.PRODUCT_IDS, (i) => this._onDataChange(t.PRODUCT_IDS, i.split(",") || [])), this.api.onValueChanged(t.LOCALE, (i) => this._onDataChange(t.LOCALE, i)), this.api.onValueChanged(t.CURRENCY, (i) => this._onCurrencyChange(i)), [
256
+ t.CURRENCY_LOCATION,
257
+ t.CURRENCY_SYMBOL,
258
+ t.CURRENCY_THOUSAND_SEPARATOR,
259
+ t.CURRENCY_DECIMAL_SEPARATOR,
260
+ t.CURRENCY_DECIMAL_COUNT
261
+ ].forEach((i) => {
262
+ this.api.onValueChanged(i, (C) => this._onCurrencyConfigChange(i, C));
263
+ }), this.api.onValueChanged(t.PRODUCT_COUNT, (i) => this._onDataChange(t.PRODUCT_COUNT, i.toString())), this.api.onValueChanged(t.PRODUCT_IN_ROW, (i) => this._onDataChange(t.PRODUCT_IN_ROW, i)), this.api.onValueChanged(t.SHUFFLE_PRODUCTS, (i) => this._onDataChange(t.SHUFFLE_PRODUCTS, i)), this.api.onValueChanged(t.RESPONSIVE, (i) => this._onDataChange(t.RESPONSIVE, i)), this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), (s = this.addFilterButton) == null || s.addEventListener("click", this.addFilterListener);
264
+ }
265
+ _listenStateUpdates() {
266
+ this.storeUnsubscription = this.store.$subscribe((e) => {
267
+ if ("payload" in e) {
268
+ const s = e.payload.recommendationConfigs;
269
+ s && (this.api.updateValues(s), this.store.fetchRecommendationProducts());
270
+ }
271
+ });
272
+ }
273
+ }
274
+ export {
275
+ g as CONTROL_BLOCK_ID,
276
+ p as RecommendationBlockControl
277
+ };
@@ -0,0 +1,10 @@
1
+ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationBlock as t } from "./block.js";
3
+ import { RecommendationBlockControl as e } from "./control.js";
4
+ import { RecommendationIconsRegistry as n } from "./iconsRegistry.js";
5
+ import i from "./recommendation.css.js";
6
+ import { SettingsPanel as m } from "./settingsPanel.js";
7
+ const f = new o().addBlock(t).withSettingsPanelRegistry(m).addControl(e).addStyles(i).withIconsRegistry(n).build();
8
+ export {
9
+ f as default
10
+ };
@@ -0,0 +1,51 @@
1
+ import { IconsRegistry as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ class t extends e {
3
+ registerIconsSvg(C) {
4
+ C["recommendation-icon"] = `
5
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <path d="M12 6.4C12 6.73137 11.7301 6.99622 11.4011 7.0355C8.92202 7.33143 7 9.44126 7 12C7 14.5587
7
+ 8.92202 16.6686 11.4011 16.9645C11.7301 17.0038 12 17.2686 12 17.6V20.4C12 20.7314 11.7314 21 11.4
8
+ 21H11C10.4477 21 10 20.5523 10 20V19.2422C9.99988 18.3514 8.92291 17.9053 8.29297 18.5352L7.75684
9
+ 19.0713C7.36633 19.4617 6.73328 19.4617 6.34277 19.0713L4.92871 17.6572C4.53829 17.2667 4.53829 16.6337
10
+ 4.92871 16.2432L5.46484 15.707C6.09466 15.0771 5.64858 14.0001 4.75781 14H4C3.44772 14 3 13.5523 3 13L3
11
+ 11C3 10.4477 3.44772 10 4 10H4.75684C5.6476 9.99988 6.09369 8.92291 5.46387 8.29297L4.92871
12
+ 7.75781C4.53829 7.36731 4.53829 6.73426 4.92871 6.34375L6.34375 4.92871C6.73426 4.53829
13
+ 7.36731 4.53829 7.75781 4.92871L8.29297
14
+ 5.46387C8.92291 6.09368 9.99988 5.6476 10 4.75684V4C10 3.44772 10.4477 3 11 3L11.4 3C11.7314 3 12
15
+ 3.26863 12 3.6V6.4ZM13 4C13 3.44786 13.4543 2.98773 13.9893 3.12402C14.1732 3.17098 14.3541 3.23174
16
+ 14.5303 3.30469C15.0156 3.50571 15.4567 3.80044 15.8281 4.17187C16.1996 4.54331 16.4943 4.98442 16.6953
17
+ 5.46973C16.7058 5.49498 16.716 5.52033 16.7259 5.54577C16.8279 5.80746 17.0733 5.9917 17.3531
18
+ 6.01625C17.5539 6.03386 17.7542 6.06671 17.9521 6.11523C18.8954 6.34649 19.723 6.91284 20.2793
19
+ 7.70898C20.8354 8.505 21.0827 9.47631 20.9756 10.4414C20.927 10.8782 20.8065 11.3001 20.6231
20
+ 11.6919C20.5322 11.8861 20.5322 12.112 20.6231 12.3062C20.7962 12.6759 20.9122 13.0708 20.9658
21
+ 13.4775C21.0425 14.0595 20.9901 14.6515 20.8125 15.2109C20.6348 15.7703 20.3358 16.2838 19.9375
22
+ 16.7148C19.5393 17.1457 19.0513 17.4839 18.5078 17.7051C18.1381 17.8555 17.7488 17.9484 17.3532
23
+ 17.9829C17.0734 18.0073 16.8281 18.1917 16.7262 18.4535C16.7162 18.4792 16.7059 18.5048 16.6953
24
+ 18.5303C16.4943 19.0156 16.1996 19.4567 15.8281 19.8281C15.4567 20.1996 15.0156 20.4943 14.5303
25
+ 20.6953C14.3541 20.7683 14.1732 20.829 13.9893 20.876C13.4543 21.0123 13 20.5521 13 20V19.7852C13.0001
26
+ 19.3515 13.365 19.0136 13.7656 18.8477C14.0082 18.7471 14.2284 18.5997 14.4141 18.4141C14.5997 18.2284
27
+ 14.7471 18.0082 14.8477 17.7656C14.9482 17.523 15 17.2626 15 17C15 16.7374 14.9482 16.477 14.8477
28
+ 16.2344C14.7471 15.9918 14.5997 15.7716 14.4141 15.5859C14.2284 15.4003 14.0082 15.2529 13.7656
29
+ 15.1523C13.365 14.9864 13.0001 14.6485 13 14.2148V14C13 13.4479 13.4543 12.9877 13.9893 13.124C14.1732
30
+ 13.171 14.3541 13.2317 14.5303 13.3047C15.0156 13.5057 15.4567 13.8004 15.8281 14.1719C16.1996 14.5433
31
+ 16.4943 14.9844 16.6953 15.4697C16.7632 15.6337 16.8195 15.8017 16.8649 15.9725C16.8686 15.9865 16.881
32
+ 15.9963 16.8955 15.9971C17.1886 16.0123 17.4821 15.9631 17.7539 15.8525C18.0256 15.742 18.2696 15.5729
33
+ 18.4688 15.3574C18.6679 15.1419 18.8174 14.8851 18.9063 14.6055C18.995 14.3259 19.0207 14.0301 18.9824
34
+ 13.7393C18.9441 13.4484 18.8427 13.169 18.6846 12.9219C18.5264 12.6747 18.3156 12.4652 18.0674
35
+ 12.3086C17.6579 12.0502 17.2974 11.626 17.3574 11.1455L17.3721 11.0234C17.4406 10.4755 17.949 10.0755
36
+ 18.4629 10.2773C18.5364 10.3062 18.609 10.3373 18.6807 10.3706C18.811 10.4311 18.9714 10.3635 18.9873
37
+ 10.2207C19.0409 9.73814 18.9177 9.25251 18.6396 8.85449C18.3616 8.45652 17.9481 8.1733 17.4766
38
+ 8.05762C17.3327 8.02235 17.1861 8.00292 17.04 8C16.9439 7.99809 16.8572 8.05928 16.8296 8.15143C16.7913
39
+ 8.27967 16.7467 8.40615 16.6953 8.53027C16.4943 9.01558 16.1996 9.45669 15.8281 9.82812C15.4567 10.1996
40
+ 15.0156 10.4943 14.5303 10.6953C14.3541 10.7683 14.1732 10.829 13.9893 10.876C13.4543 11.0123 13 10.5521
41
+ 13 10V9.78516C13.0001 9.35151 13.365 9.01362 13.7656 8.84766C14.0082 8.74715 14.2284 8.59971 14.4141
42
+ 8.41406C14.5997 8.22841 14.7471 8.00817 14.8477 7.76562C14.9482 7.52297 15 7.26264 15 7C15 6.73736
43
+ 14.9482 6.47703 14.8477 6.23437C14.7471 5.99182 14.5997 5.77159 14.4141 5.58594C14.2284 5.40029 14.0082
44
+ 5.25285 13.7656 5.15234C13.365 4.98638 13.0001 4.64849 13 4.21484V4Z" fill="#666666"/>
45
+ </svg>
46
+ `;
47
+ }
48
+ }
49
+ export {
50
+ t as RecommendationIconsRegistry
51
+ };
@@ -0,0 +1,19 @@
1
+ const n = `/* Utils */
2
+ .es-180w { width: 180px; }
3
+
4
+ /* Recommendation Controls */
5
+ .recommendation-controls-container > .container {
6
+ padding: 16px;
7
+ }
8
+
9
+ .recommendation-controls-container > .container:first-child {
10
+ padding-top: 0;
11
+ }
12
+
13
+ .container:has(.recommendation-controls-container) {
14
+ padding: 0
15
+ }
16
+ `;
17
+ export {
18
+ n as default
19
+ };
@@ -0,0 +1,32 @@
1
+ import { SettingsPanelRegistry as o, SettingsPanelTab as t, SettingsTab as e, ContainerControls as r, TextControls as s } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { BLOCK_ID as T } from "./block.js";
3
+ import { CONTROL_BLOCK_ID as i } from "./control.js";
4
+ class a extends o {
5
+ registerBlockControls(n) {
6
+ n[T] = [
7
+ new t(
8
+ e.SETTINGS,
9
+ [
10
+ i,
11
+ r.EXTERNAL_INDENTS
12
+ ]
13
+ ),
14
+ new t(
15
+ e.STYLES,
16
+ [
17
+ s.TEXT_BLOCK_BACKGROUND_COLOR
18
+ ]
19
+ )
20
+ // TODO: It'll be opened after the card composition is implemented by Stripo team.
21
+ // new SettingsPanelTab(
22
+ // 'Card Composition',
23
+ // [
24
+ // COMPOSITION_CONTROL_BLOCK_ID,
25
+ // ]
26
+ // ).withLabel('Card Composition'),
27
+ ];
28
+ }
29
+ }
30
+ export {
31
+ a as SettingsPanel
32
+ };
@@ -0,0 +1,266 @@
1
+ import { RecommendationFeedSourceMaps as s, PriceAttributes as l } from "../../../../enums/extensions/recommendationBlock.js";
2
+ import { useRecommendationApi as c } from "../../../../services/recommendationApi.js";
3
+ import { defineStore as p } from "pinia";
4
+ import { generateCompleteFilterQuery as m } from "../utils/filterUtil.js";
5
+ const a = c(), d = () => ({
6
+ recommendationCampaignUrls: {},
7
+ recommendationProducts: [],
8
+ recommendationConfigs: {
9
+ cardsInRow: 3,
10
+ currencySettings: {
11
+ name: "USD",
12
+ value: "USD",
13
+ symbol: "USD",
14
+ alignment: "1",
15
+ decimalCount: "2",
16
+ decimalSeparator: ",",
17
+ thousandSeparator: "."
18
+ },
19
+ filters: [
20
+ {
21
+ type: "standardFilter",
22
+ attribute: "product_attributes.rating_star",
23
+ operatorReplace: "=",
24
+ operator: "=",
25
+ innerGroupOperator: "*",
26
+ outerGroupOperator: "*",
27
+ value: "5",
28
+ filterGroup: 1,
29
+ filterNumber: 1,
30
+ isValid: !0
31
+ },
32
+ {
33
+ type: "standardFilter",
34
+ attribute: "gender",
35
+ operatorReplace: "=",
36
+ operator: "=",
37
+ innerGroupOperator: "|",
38
+ outerGroupOperator: "*",
39
+ value: "male",
40
+ filterGroup: 1,
41
+ filterNumber: 2,
42
+ isValid: !0
43
+ },
44
+ {
45
+ type: "standardFilter",
46
+ attribute: "size",
47
+ operatorReplace: "=",
48
+ operator: "=",
49
+ innerGroupOperator: "*",
50
+ outerGroupOperator: "*",
51
+ value: "L",
52
+ filterGroup: 1,
53
+ filterNumber: 3,
54
+ isValid: !0
55
+ },
56
+ {
57
+ type: "standardFilter",
58
+ attribute: "price.USD",
59
+ operatorReplace: ">",
60
+ operator: ">",
61
+ innerGroupOperator: "*",
62
+ outerGroupOperator: "*",
63
+ value: "20",
64
+ filterGroup: 2,
65
+ filterNumber: 1,
66
+ isValid: !0
67
+ },
68
+ {
69
+ type: "standardFilter",
70
+ attribute: "url",
71
+ operatorReplace: "~",
72
+ operator: "~",
73
+ innerGroupOperator: "|",
74
+ outerGroupOperator: "*",
75
+ value: "user",
76
+ filterGroup: 2,
77
+ filterNumber: 2,
78
+ isValid: !0
79
+ },
80
+ {
81
+ type: "standardFilter",
82
+ attribute: "category",
83
+ operatorReplace: "!~",
84
+ operator: "!~",
85
+ innerGroupOperator: "*",
86
+ outerGroupOperator: "|",
87
+ value: "t-shirt",
88
+ filterGroup: 3,
89
+ filterNumber: 1,
90
+ isValid: !0
91
+ },
92
+ {
93
+ type: "standardFilter",
94
+ attribute: "omnibus_price.USD",
95
+ operatorReplace: ">",
96
+ operator: ">",
97
+ innerGroupOperator: "*",
98
+ outerGroupOperator: "|",
99
+ value: "31",
100
+ filterGroup: 3,
101
+ filterNumber: 2,
102
+ isValid: !0
103
+ },
104
+ {
105
+ type: "standardFilter",
106
+ attribute: "omnibus_discount.USD",
107
+ operatorReplace: "<",
108
+ operator: "%3C",
109
+ innerGroupOperator: "|",
110
+ outerGroupOperator: "|",
111
+ value: "20",
112
+ filterGroup: 3,
113
+ filterNumber: 3,
114
+ isValid: !0
115
+ }
116
+ ],
117
+ productIds: ["22", "12"],
118
+ id: 1,
119
+ language: "tr_TR",
120
+ orientation: "vertical",
121
+ recommendedProducts: [],
122
+ sendProductRequestFlag: !1,
123
+ shuffleProducts: !1,
124
+ strategy: "mostPopular",
125
+ textTrimming: !0,
126
+ unresponsive: !1,
127
+ size: "9"
128
+ },
129
+ activePredictiveAlgorithms: [],
130
+ languages: {},
131
+ currencyList: [],
132
+ filterStatus: !1,
133
+ filterSelectionDrawerStatus: !1,
134
+ filterList: {},
135
+ filterGroup: 1
136
+ }), G = p("recommendationExtension", {
137
+ state: () => d(),
138
+ getters: {
139
+ hasFilters: (e) => !!e.recommendationConfigs.filters.length,
140
+ getFilterGroupCount: (e) => {
141
+ const { filters: t } = e.recommendationConfigs;
142
+ return t.length && t[t.length - 1].filterGroup || 0;
143
+ },
144
+ getActivePredictiveAlgorithms: (e) => {
145
+ const t = [];
146
+ return e.activePredictiveAlgorithms.forEach((r) => {
147
+ t.push(...s.filter((i) => i.id === r));
148
+ }), t.map((r) => ({
149
+ text: r.name,
150
+ value: r.key
151
+ }));
152
+ },
153
+ getLanguages: (e) => Object.entries(e.languages).map(([t, r]) => ({
154
+ text: r,
155
+ value: t
156
+ })),
157
+ getCurrencySymbolList: (e) => e.currencyList.map((t) => ({
158
+ text: t.text,
159
+ value: t.text
160
+ })),
161
+ getFilterList: (e) => Object.values(e.filterList).map((t) => {
162
+ const r = t.type === "defaultAttribute", i = l.includes(t.attributeName);
163
+ let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
164
+ return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
165
+ text: t.displayName,
166
+ value: o,
167
+ type: t.attributeType
168
+ };
169
+ }),
170
+ getSelectedFilterGroup: (e) => (t) => [...e.recommendationConfigs.filters].filter((r) => r.filterGroup === t)
171
+ },
172
+ actions: {
173
+ async fetchRecommendationCreateData() {
174
+ if (this.activePredictiveAlgorithms.length)
175
+ return;
176
+ const {
177
+ activePredictiveAlgorithms: e,
178
+ languages: t,
179
+ currencies: r
180
+ } = await a.fetchRecommendationCreateData();
181
+ this.activePredictiveAlgorithms = e, this.languages = t;
182
+ const [i] = r;
183
+ this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
184
+ },
185
+ async fetchRecommendationFilters() {
186
+ const e = await a.fetchRecommendationFilters();
187
+ this.filterList = e;
188
+ },
189
+ addFilterGroup(e) {
190
+ this.recommendationConfigs.filters.push({
191
+ type: "standardFilter",
192
+ attribute: "",
193
+ operatorReplace: "",
194
+ operator: "",
195
+ innerGroupOperator: "",
196
+ outerGroupOperator: "",
197
+ value: "",
198
+ filterNumber: 1,
199
+ isValid: !0,
200
+ filterGroup: e
201
+ });
202
+ },
203
+ updateFilter(e) {
204
+ const t = this.recommendationConfigs.filters.findIndex((r) => r.filterNumber === e.filterNumber && r.filterGroup === e.filterGroup);
205
+ if (t !== -1) {
206
+ const r = [...this.recommendationConfigs.filters];
207
+ r[t] = e, e.value.length && e.operator && e.attribute && e.innerGroupOperator && e.outerGroupOperator ? r[t].isValid = !0 : r[t].isValid = !1, this.$patch({
208
+ recommendationConfigs: {
209
+ filters: r
210
+ }
211
+ });
212
+ }
213
+ },
214
+ deleteFilter(e) {
215
+ const t = [...this.recommendationConfigs.filters].findIndex((r) => r.filterNumber === e.filterNumber && r.filterGroup === e.filterGroup);
216
+ if (t !== -1) {
217
+ const r = [...this.recommendationConfigs.filters];
218
+ r.splice(t, 1), this.$patch({
219
+ recommendationConfigs: {
220
+ filters: r
221
+ }
222
+ });
223
+ }
224
+ },
225
+ addFilter(e) {
226
+ const t = [...this.recommendationConfigs.filters], r = t.findLastIndex((i) => i.filterGroup === e.filterGroup);
227
+ r !== -1 ? t.splice(r + 1, 0, {
228
+ ...e,
229
+ filterNumber: r + 2
230
+ }) : t.push({
231
+ ...e,
232
+ filterNumber: 1
233
+ }), this.$patch({
234
+ recommendationConfigs: {
235
+ filters: t
236
+ }
237
+ });
238
+ },
239
+ generateFilterQuery() {
240
+ return m(this.recommendationConfigs.filters);
241
+ },
242
+ async fetchRecommendationProducts() {
243
+ var i, o, n;
244
+ const e = this.generateFilterQuery(), t = ((i = s.find((u) => u.key === this.recommendationConfigs.strategy)) == null ? void 0 : i.path) || "", r = await a.fetchRecommendationProducts(
245
+ t,
246
+ {
247
+ // TODO: Here will be optimized and filled carefully
248
+ locale: this.recommendationConfigs.language,
249
+ currency: this.recommendationConfigs.currencySettings.value,
250
+ partnerName: ((n = (o = window.GuidoConfig) == null ? void 0 : o.partner) == null ? void 0 : n.partnerName) || "",
251
+ productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
252
+ size: this.recommendationConfigs.size,
253
+ details: !0,
254
+ campaignId: "{campaignId}",
255
+ filter: e
256
+ }
257
+ );
258
+ this.$patch({
259
+ recommendationProducts: r
260
+ });
261
+ }
262
+ }
263
+ });
264
+ export {
265
+ G as useRecommendationExtensionStore
266
+ };