@useinsider/guido 1.0.3-beta.df46976 → 1.0.3-beta.df886ce

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 (444) hide show
  1. package/README.md +143 -3
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +79 -73
  4. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  6. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  7. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  8. package/dist/components/organisms/header/RightSlot.vue2.js +21 -20
  9. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  10. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  11. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +21 -20
  12. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
  13. package/dist/composables/useActionsApi.js +1 -1
  14. package/dist/composables/useBlocksConfig.js +48 -0
  15. package/dist/composables/useGuidoActions.js +19 -9
  16. package/dist/composables/useHtmlCompiler.js +15 -13
  17. package/dist/composables/useHtmlValidator.js +36 -35
  18. package/dist/composables/useStripo.js +54 -58
  19. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  20. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  21. package/dist/config/migrator/index.js +7 -6
  22. package/dist/config/migrator/recommendationMigrator.js +293 -0
  23. package/dist/enums/date.js +4 -14
  24. package/dist/enums/defaults.js +16 -9
  25. package/dist/enums/extensions/recommendationBlock.js +2 -2
  26. package/dist/enums/onboarding.js +7 -2
  27. package/dist/enums/unsubscribe.js +27 -25
  28. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  29. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  30. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  31. package/dist/extensions/Blocks/Checkbox/template.js +14 -9
  32. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  33. package/dist/extensions/Blocks/Items/block.js +67 -0
  34. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  35. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  36. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  37. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  38. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  39. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  40. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  41. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  42. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  43. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +92 -0
  44. package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
  45. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  46. package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
  47. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
  48. package/dist/extensions/Blocks/Items/extension.js +20 -0
  49. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  50. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  51. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  52. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +72 -0
  53. package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
  54. package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
  55. package/dist/extensions/Blocks/Items/template.js +195 -0
  56. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  57. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  58. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  59. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  60. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  61. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  62. package/dist/extensions/Blocks/RadioButton/template.js +18 -9
  63. package/dist/extensions/Blocks/Recommendation/block.js +6 -3
  64. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  65. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  66. package/dist/extensions/Blocks/Recommendation/control.js +69 -40
  67. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  84. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  85. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  86. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  87. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  88. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  89. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  90. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  91. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  92. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  93. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  94. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  95. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  96. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  97. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  98. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  99. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  100. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  101. package/dist/extensions/Blocks/Recommendation/extension.js +42 -7
  102. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  103. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +107 -22
  104. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  105. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  106. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  107. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  108. package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
  109. package/dist/extensions/Blocks/common-control.js +201 -55
  110. package/dist/extensions/Blocks/controlFactories.js +223 -0
  111. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  112. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  113. package/dist/guido.css +1 -1
  114. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +353 -101
  115. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  116. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  117. package/dist/node_modules/lodash-es/_Set.js +6 -0
  118. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  119. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  120. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  121. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  122. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  123. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  124. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  125. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  126. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  127. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  128. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  129. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  130. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  131. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  132. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  133. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  134. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  135. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  136. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  137. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  138. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  139. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  140. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  141. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  142. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  143. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  144. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  145. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  146. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  147. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  148. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  149. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  150. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  151. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  152. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  153. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  154. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  155. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  156. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  157. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  158. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  159. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  160. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  161. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  162. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  163. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  164. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  165. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  166. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  167. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  168. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  169. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  170. package/dist/node_modules/lodash-es/get.js +8 -0
  171. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  172. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  173. package/dist/node_modules/lodash-es/keys.js +9 -0
  174. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  175. package/dist/node_modules/lodash-es/map.js +11 -0
  176. package/dist/node_modules/lodash-es/property.js +10 -0
  177. package/dist/node_modules/lodash-es/range.js +5 -0
  178. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  179. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  180. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  181. package/dist/node_modules/lodash-es/toString.js +7 -0
  182. package/dist/package.json.js +7 -0
  183. package/dist/services/recommendationApi.js +13 -19
  184. package/dist/services/stripoApi.js +1 -1
  185. package/dist/{@types → src/@types}/generic.d.ts +41 -6
  186. package/dist/{components → src/components}/Guido.vue.d.ts +3 -2
  187. package/dist/src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  188. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  189. package/dist/{composables → src/composables}/useGuidoActions.d.ts +9 -0
  190. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  191. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  192. package/dist/src/enums/date.d.ts +4 -0
  193. package/dist/src/enums/onboarding.d.ts +6 -0
  194. package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +1 -0
  195. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +6 -0
  196. package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
  197. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  198. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  199. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  200. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  201. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  202. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  203. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  204. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  205. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  206. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +15 -0
  207. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
  208. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
  209. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
  210. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -0
  211. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  212. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +43 -0
  213. package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
  214. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  215. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  216. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  217. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  218. package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +1 -0
  219. package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +1 -1
  220. package/dist/{extensions → src/extensions}/Blocks/Recommendation/block.d.ts +1 -0
  221. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  222. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  223. package/dist/{extensions → src/extensions}/Blocks/Recommendation/control.d.ts +6 -0
  224. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  225. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  226. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  227. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  228. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  229. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  230. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  231. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  232. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  233. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  234. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  235. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  236. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  237. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  238. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  239. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  240. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  241. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  242. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  243. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  244. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  245. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  246. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  247. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  248. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  249. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  250. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  251. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  252. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  253. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  254. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  255. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  256. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  257. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  258. package/dist/{extensions → src/extensions}/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  259. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  260. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  261. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  262. package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/block.d.ts +3 -4
  263. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  264. package/dist/src/extensions/Blocks/common-control.d.ts +124 -0
  265. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  266. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +13 -0
  267. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +66 -0
  268. package/dist/src/extensions/DynamicContent/extension.d.ts +2 -0
  269. package/dist/{stores → src/stores}/config.d.ts +9 -2
  270. package/dist/{stores → src/stores}/dynamic-content.d.ts +3 -3
  271. package/dist/{stores → src/stores}/editor.d.ts +1 -1
  272. package/dist/{stores → src/stores}/onboarding.d.ts +335 -1
  273. package/dist/{stores → src/stores}/preview.d.ts +1 -1
  274. package/dist/{stores → src/stores}/recommendation.d.ts +1 -1
  275. package/dist/{stores → src/stores}/save-as-template.d.ts +1 -1
  276. package/dist/{stores → src/stores}/toaster.d.ts +1 -1
  277. package/dist/{stores → src/stores}/unsubscribe.d.ts +1 -1
  278. package/dist/{stores → src/stores}/version-history.d.ts +1 -1
  279. package/dist/src/utils/dateUtil.d.ts +22 -0
  280. package/dist/src/utils/environmentUtil.d.ts +5 -0
  281. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  282. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  283. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  284. package/dist/static/styles/customEditorStyle.css.js +5 -0
  285. package/dist/stores/config.js +5 -5
  286. package/dist/stores/dynamic-content.js +2 -2
  287. package/dist/stores/editor.js +1 -1
  288. package/dist/stores/onboarding.js +44 -36
  289. package/dist/stores/preview.js +1 -1
  290. package/dist/stores/recommendation.js +3 -3
  291. package/dist/stores/save-as-template.js +2 -2
  292. package/dist/stores/toaster.js +1 -1
  293. package/dist/stores/unsubscribe.js +1 -1
  294. package/dist/stores/version-history.js +4 -4
  295. package/dist/utils/dateUtil.js +33 -7
  296. package/dist/utils/environmentUtil.js +4 -0
  297. package/dist/utils/genericUtil.js +18 -8
  298. package/dist/utils/pairProductVariables.js +136 -0
  299. package/package.json +10 -3
  300. package/dist/enums/date.d.ts +0 -13
  301. package/dist/enums/onboarding.d.ts +0 -1
  302. package/dist/extensions/Blocks/Checkbox/template.d.ts +0 -6
  303. package/dist/extensions/Blocks/Recommendation/template.d.ts +0 -6
  304. package/dist/extensions/Blocks/Recommendation/template.js +0 -200
  305. package/dist/extensions/Blocks/common-control.d.ts +0 -66
  306. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
  307. package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
  308. package/dist/utils/dateUtil.d.ts +0 -2
  309. package/dist/{@types → src/@types}/events.d.ts +0 -0
  310. package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  311. package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  312. package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  313. package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  314. package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  315. package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  316. package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  317. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  318. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  319. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  320. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  321. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  322. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  323. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
  324. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
  325. package/dist/{components → src/components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
  326. package/dist/{components → src/components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
  327. package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  328. package/dist/{components → src/components}/organisms/header/LeftSlot.vue.d.ts +0 -0
  329. package/dist/{components → src/components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
  330. package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  331. package/dist/{components → src/components}/organisms/header/ViewOptions.vue.d.ts +0 -0
  332. package/dist/{components → src/components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
  333. package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  334. package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  335. package/dist/{components → src/components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
  336. package/dist/{components → src/components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
  337. package/dist/{components → src/components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
  338. package/dist/{components/organisms/onboarding/TextBlockOnboarding.vue.d.ts → src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts} +0 -0
  339. package/dist/{components → src/components}/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -0
  340. package/dist/{components → src/components}/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -0
  341. package/dist/{components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts → src/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts} +0 -0
  342. package/dist/{components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts → src/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts} +0 -0
  343. package/dist/{components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts → src/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts} +0 -0
  344. package/dist/{components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts → src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts} +0 -0
  345. package/dist/{components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts → src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts} +0 -0
  346. package/dist/{components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts → src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts} +0 -0
  347. package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +0 -0
  348. package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +1 -1
  349. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  350. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  351. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  352. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  353. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  354. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  355. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  356. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  357. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  358. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  359. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  360. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  361. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  362. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  363. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  364. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  365. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  366. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  367. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  368. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  369. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  370. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  371. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  372. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  373. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  374. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  375. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  376. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  377. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  378. /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
  379. /package/dist/{config → src/config}/migrator/index.d.ts +0 -0
  380. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  381. /package/dist/{config → src/config}/migrator/unsubscribeMigrator.d.ts +0 -0
  382. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  383. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  384. /package/dist/{enums → src/enums}/extensions/recommendationBlock.d.ts +0 -0
  385. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  386. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  387. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  388. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  389. /package/dist/{enums → src/enums}/unsubscribe.d.ts +0 -0
  390. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  391. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  392. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  393. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  394. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  395. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  396. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  397. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  398. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  399. /package/dist/{extensions/Blocks/RadioButton → src/extensions/Blocks/Items}/extension.d.ts +0 -0
  400. /package/dist/{extensions/Blocks/Recommendation → src/extensions/Blocks/Items}/settingsPanel.d.ts +0 -0
  401. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  402. /package/dist/{extensions/Blocks/Recommendation → src/extensions/Blocks/RadioButton}/extension.d.ts +0 -0
  403. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  404. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  405. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  406. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
  407. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  408. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
  409. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
  410. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
  411. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Unsubscribe}/extension.d.ts +0 -0
  412. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
  413. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Unsubscribe}/settingsPanel.d.ts +0 -0
  414. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
  415. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
  416. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
  417. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
  418. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  419. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  420. /package/dist/{extensions/DynamicContent → src/extensions/Blocks/_Boilerplate}/extension.d.ts +0 -0
  421. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  422. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  423. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  424. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  425. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  426. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  427. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  428. /package/dist/{mock → src/mock}/api/recommendation.d.ts +0 -0
  429. /package/dist/{mock → src/mock}/api/template-library.d.ts +0 -0
  430. /package/dist/{mock → src/mock}/api/unsubscribe.d.ts +0 -0
  431. /package/dist/{mock → src/mock}/api/user-modal-state.d.ts +0 -0
  432. /package/dist/{mock → src/mock}/api/validator.d.ts +0 -0
  433. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  434. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  435. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  436. /package/dist/{services → src/services}/recommendationApi.d.ts +0 -0
  437. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  438. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  439. /package/dist/{services → src/services}/unsubscribeApi.d.ts +0 -0
  440. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  441. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  442. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  443. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  444. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
@@ -5,7 +5,7 @@ const e = {
5
5
  YES: "Yes",
6
6
  NO: "No"
7
7
  }, d = `
8
- <td align="left" class="radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
8
+ <td align="left" class="radio-button radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
9
9
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
10
10
  <tbody>
11
11
  <tr>
@@ -75,12 +75,21 @@ const e = {
75
75
  </tbody>
76
76
  </table>
77
77
  </td>
78
- `, l = `
79
- <td
80
- align="left"
81
- esd-extension-block-id="radio-button-block"
78
+ `, a = `
79
+ <td
80
+ align="left"
81
+ esd-extension-block-id="radio-button-block"
82
82
  esd-handler-name="esd-extension-RadioButtonBlock"
83
- class="radio-button-v2 esd-block-ra esd-radio-button-block esd-extension-block es-p10t es-p10b es-p30r es-p30l"
83
+ class="
84
+ radio-button
85
+ radio-button-v2
86
+ esd-block-ra
87
+ esd-radio-button-block
88
+ esd-extension-block
89
+ es-p10t
90
+ es-p10b
91
+ es-p30r
92
+ es-p30l"
84
93
  >
85
94
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
86
95
  <tbody>
@@ -140,10 +149,10 @@ const e = {
140
149
  </table>
141
150
  </td>
142
151
  `;
143
- function a() {
152
+ function l() {
144
153
  return d.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`).replace("{-{-YES-}-}", `<p path="1">${e.YES}</p>`).replace("{-{-NO-}-}", `<p path="1">${e.NO}</p>`);
145
154
  }
146
155
  export {
147
- l as default,
148
- a as getDefaultTemplate
156
+ a as default,
157
+ l as getDefaultTemplate
149
158
  };
@@ -1,7 +1,10 @@
1
1
  import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { getDefaultTemplate as o } from "./template.js";
2
+ import { getDefaultTemplate as o } from "./templates/blockTemplate.js";
3
3
  const n = "recommendation-block";
4
- class c extends e {
4
+ class m extends e {
5
+ constructor() {
6
+ super();
7
+ }
5
8
  getId() {
6
9
  return n;
7
10
  }
@@ -23,5 +26,5 @@ class c extends e {
23
26
  }
24
27
  export {
25
28
  n as BLOCK_ID,
26
- c as RecommendationBlock
29
+ m as RecommendationBlock
27
30
  };
@@ -0,0 +1,103 @@
1
+ var m = Object.defineProperty;
2
+ var y = (n, o, i) => o in n ? m(n, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[o] = i;
3
+ var a = (n, o, i) => y(n, typeof o != "symbol" ? o + "" : o, i);
4
+ import { ModificationDescription as u } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as b } from "../common-control.js";
6
+ const h = "ui-elements-recommendation-card-composition", s = [
7
+ { key: "productImage", label: "Product Image", visible: !0 },
8
+ { key: "productName", label: "Product Name", visible: !0 },
9
+ { key: "productPrice", label: "Product Price", visible: !0 },
10
+ { key: "productOriginalPrice", label: "Product Original Price", visible: !0 },
11
+ { key: "productButton", label: "Product Button", visible: !0 }
12
+ ];
13
+ class g extends b {
14
+ constructor() {
15
+ super(...arguments);
16
+ a(this, "currentComposition", []);
17
+ a(this, "currentVisibility", {});
18
+ }
19
+ getId() {
20
+ return h;
21
+ }
22
+ getTemplate() {
23
+ const i = s.map((e) => ({
24
+ key: e.key,
25
+ label: e.label,
26
+ content: `
27
+ <div style="display: flex; align-items: center; justify-content: space-between;
28
+ padding: 8px; gap: 8px;">
29
+ <span style="flex: 1;">${e.label}</span>
30
+ ${this._GuToggle(`visibility_${e.key}`)}
31
+ </div>
32
+ `
33
+ }));
34
+ return `
35
+ <div class="container">
36
+ ${this._GuLabel({ text: "Card Element Order & Visibility" })}
37
+ ${this._GuOrderable("cardComposition", i)}
38
+ </div>
39
+ `;
40
+ }
41
+ onRender() {
42
+ this._initializeComposition(), this.api.onValueChanged("cardComposition", (i) => {
43
+ this.currentComposition = i, this._applyCompositionToBlock(i);
44
+ }), s.forEach((i) => {
45
+ this.api.onValueChanged(`visibility_${i.key}`, (e) => {
46
+ this.currentVisibility[i.key] = e, this._applyVisibilityToBlock();
47
+ });
48
+ });
49
+ }
50
+ onTemplateNodeUpdated(i) {
51
+ super.onTemplateNodeUpdated(i), this._initializeComposition();
52
+ }
53
+ /**
54
+ * Initialize the composition order and visibility from the block or use defaults
55
+ */
56
+ _initializeComposition() {
57
+ var p;
58
+ const i = (p = this.currentNode) == null ? void 0 : p.querySelector(".ins-recommendation-v3-block-v2");
59
+ let e = null, l = null;
60
+ if (i && "getAttribute" in i && (e = i.getAttribute("data-card-composition"), l = i.getAttribute("data-card-visibility")), e) {
61
+ const t = e.split(",").filter(Boolean), r = s.map((c) => c.key);
62
+ t.every((c) => r.includes(c)) && t.length > 0 ? this.currentComposition = t : this.currentComposition = r;
63
+ } else
64
+ this.currentComposition = s.map((t) => t.key);
65
+ if (l)
66
+ try {
67
+ const t = JSON.parse(l);
68
+ this.currentVisibility = t;
69
+ } catch {
70
+ this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
71
+ }
72
+ else
73
+ this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
74
+ const d = {
75
+ cardComposition: this.currentComposition
76
+ };
77
+ s.forEach((t) => {
78
+ d[`visibility_${t.key}`] = this.currentVisibility[t.key] ?? !0;
79
+ }), this.api.updateValues(d);
80
+ }
81
+ /**
82
+ * Apply the reordered composition to the block's HTML structure
83
+ */
84
+ _applyCompositionToBlock(i) {
85
+ if (!this.currentNode)
86
+ return;
87
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
88
+ e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", i.join(",")).apply(new u("Stored card composition order"));
89
+ }
90
+ /**
91
+ * Apply visibility changes to the block's HTML structure
92
+ */
93
+ _applyVisibilityToBlock() {
94
+ if (!this.currentNode)
95
+ return;
96
+ const i = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
97
+ i && this.api.getDocumentModifier().modifyHtml(i).setAttribute("data-card-visibility", JSON.stringify(this.currentVisibility)).apply(new u("Stored card visibility settings"));
98
+ }
99
+ }
100
+ export {
101
+ h as COMPOSITION_CONTROL_BLOCK_ID,
102
+ g as RecommendationCardCompositionControl
103
+ };
@@ -0,0 +1,5 @@
1
+ var o = /* @__PURE__ */ ((c) => (c.BUTTON = "recommendation-block-button", c.NAME = "recommendation-block-name", c.PRICE = "recommendation-block-price", c.OLD_PRICE = "recommendation-block-old-price", c.IMAGE = "recommendation-block-image", c))(o || {}), r = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(r || {});
2
+ export {
3
+ o as RecommendationBlockId,
4
+ r as RecommendationControlId
5
+ };
@@ -1,11 +1,14 @@
1
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 = {
2
+ var R = (s, n, e) => n in s ? _(s, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[n] = e;
3
+ var r = (s, n, e) => R(s, typeof n != "symbol" ? n + "" : n, e);
4
+ import { currencyDecimalCounts as l, currencyOperators as c, currencyLocationMaps as h } from "../../../enums/extensions/recommendationBlock.js";
5
+ import { UEAttr as m, ModificationDescription as S } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
+ import { CommonControl as g } from "../common-control.js";
7
+ import { useRecommendationExtensionStore as O } from "./store/recommendation.js";
8
+ import { prepareProductRows as p } from "./templates/blockTemplate.js";
9
+ import { DEFAULT_CARD_COMPOSITION as C, getDefaultProducts as E } from "./templates/templateUtils.js";
10
+ import { useDebounceFn as U } from "../../../node_modules/@vueuse/shared/index.js";
11
+ const L = "ui-elements-recommendation-block", t = {
9
12
  ALGORITHM: "strategy",
10
13
  PRODUCT_IDS: "productIds",
11
14
  LOCALE: "language",
@@ -21,18 +24,21 @@ const g = "ui-elements-recommendation-block", t = {
21
24
  SHUFFLE_PRODUCTS: "shuffleProducts",
22
25
  RESPONSIVE: "unresponsive"
23
26
  };
24
- class p extends m {
27
+ class b extends g {
25
28
  constructor() {
26
29
  super(...arguments);
27
- r(this, "store", S());
30
+ r(this, "store", O());
28
31
  r(this, "storeUnsubscription", () => {
29
32
  });
30
33
  r(this, "addFilterListener", () => {
31
34
  });
32
35
  r(this, "addFilterButton", null);
36
+ r(this, "_debouncedRegenerateProductRows", U(() => {
37
+ this._regenerateProductRows();
38
+ }, 500));
33
39
  }
34
40
  getId() {
35
- return g;
41
+ return L;
36
42
  }
37
43
  getTemplate() {
38
44
  return `
@@ -78,22 +84,22 @@ class p extends m {
78
84
  });
79
85
  }
80
86
  _initializeSelectItems() {
81
- const { store: e } = this, s = e.getActivePredictiveAlgorithms, i = e.getLanguages, C = {
82
- [t.ALGORITHM]: s,
87
+ const { store: e } = this, o = e.getActivePredictiveAlgorithms, i = e.getLanguages, a = {
88
+ [t.ALGORITHM]: o,
83
89
  [t.LOCALE]: i,
84
90
  [t.CURRENCY]: e.currencyList,
85
- [t.CURRENCY_LOCATION]: l,
91
+ [t.CURRENCY_LOCATION]: h,
86
92
  [t.CURRENCY_SYMBOL]: e.getCurrencySymbolList,
87
- [t.CURRENCY_THOUSAND_SEPARATOR]: a,
88
- [t.CURRENCY_DECIMAL_SEPARATOR]: a,
89
- [t.CURRENCY_DECIMAL_COUNT]: c,
93
+ [t.CURRENCY_THOUSAND_SEPARATOR]: c,
94
+ [t.CURRENCY_DECIMAL_SEPARATOR]: c,
95
+ [t.CURRENCY_DECIMAL_COUNT]: l,
90
96
  [t.PRODUCT_COUNT]: Number(e.recommendationConfigs.size),
91
97
  [t.PRODUCT_IN_ROW]: e.recommendationConfigs.cardsInRow,
92
98
  [t.SHUFFLE_PRODUCTS]: e.recommendationConfigs.shuffleProducts,
93
99
  [t.RESPONSIVE]: !e.recommendationConfigs.unresponsive
94
100
  };
95
- Object.entries(C).forEach(([u, h]) => {
96
- this.api.setUIEAttribute(u, d.SELECTPICKER.items, h);
101
+ Object.entries(a).forEach(([u, d]) => {
102
+ this.api.setUIEAttribute(u, m.SELECTPICKER.items, d);
97
103
  });
98
104
  }
99
105
  _getAlgorithms() {
@@ -139,7 +145,7 @@ class p extends m {
139
145
  this._GuSelect({
140
146
  name: t.CURRENCY_LOCATION,
141
147
  placeholder: "Select Currency Location",
142
- options: l
148
+ options: h
143
149
  }),
144
150
  this._GuLabel({ text: "Currency Symbol" }),
145
151
  this._GuSelect({
@@ -151,19 +157,19 @@ class p extends m {
151
157
  this._GuSelect({
152
158
  name: t.CURRENCY_THOUSAND_SEPARATOR,
153
159
  placeholder: "Select Thousand Separator",
154
- options: a
160
+ options: c
155
161
  }),
156
162
  this._GuLabel({ text: "Decimal Separator" }),
157
163
  this._GuSelect({
158
164
  name: t.CURRENCY_DECIMAL_SEPARATOR,
159
165
  placeholder: "Select Decimal Separator",
160
- options: a
166
+ options: c
161
167
  }),
162
168
  this._GuLabel({ text: "Decimal Count" }),
163
169
  this._GuSelect({
164
170
  name: t.CURRENCY_DECIMAL_COUNT,
165
171
  placeholder: "Select Decimal Count",
166
- options: c
172
+ options: l
167
173
  })
168
174
  ])}
169
175
  `;
@@ -217,39 +223,62 @@ class p extends m {
217
223
  filterSelectionDrawerStatus: !0
218
224
  });
219
225
  }
220
- _onDataChange(e, s) {
221
- this.currentNode && this.store.$patch({
226
+ _onDataChange(e, o) {
227
+ this.currentNode && (this.store.$patch({
222
228
  recommendationConfigs: {
223
- [e]: s
229
+ [e]: o
224
230
  }
225
- });
231
+ }), this._debouncedRegenerateProductRows());
232
+ }
233
+ /**
234
+ * Get the current card composition from block data attribute or use default
235
+ */
236
+ _getCardComposition() {
237
+ if (!this.currentNode)
238
+ return C;
239
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
240
+ if (!e || !("getAttribute" in e))
241
+ return C;
242
+ const o = e.getAttribute("data-card-composition");
243
+ return o ? o.split(",").filter(Boolean) : C;
244
+ }
245
+ _regenerateProductRows() {
246
+ if (!this.currentNode || !("querySelector" in this.currentNode))
247
+ return;
248
+ const e = this.currentNode.querySelector(".ins-recommendation-product-container");
249
+ if (!e) {
250
+ console.error("Could not find container table for product rows");
251
+ return;
252
+ }
253
+ const o = this.store.recommendationProducts.length > 0 ? this.store.recommendationProducts : E(), { cardsInRow: i } = this.store.recommendationConfigs, a = this._getCardComposition(), u = p(o, i, a);
254
+ this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(u).apply(new S("Updated product"));
226
255
  }
227
- _onCurrencyConfigChange(e, s) {
256
+ _onCurrencyConfigChange(e, o) {
228
257
  this.currentNode && this.store.$patch({
229
258
  recommendationConfigs: {
230
259
  currencySettings: {
231
- [e]: s
260
+ [e]: o
232
261
  }
233
262
  }
234
263
  });
235
264
  }
236
265
  _onCurrencyChange(e) {
237
- const [, s] = e.split(".");
266
+ const [, o] = e.split(".");
238
267
  this.store.$patch({
239
268
  recommendationConfigs: {
240
269
  currencySettings: {
241
- name: s,
242
- value: s
270
+ name: o,
271
+ value: o
243
272
  }
244
273
  }
245
274
  });
246
275
  }
247
276
  _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);
277
+ const { recommendationConfigs: e } = this.store, o = e.strategy === "manualMerchandising";
278
+ this.api.setVisibility(t.PRODUCT_IDS, o), this.api.setVisibility(`${t.PRODUCT_IDS}_label`, o);
250
279
  }
251
280
  _listenToFormUpdates() {
252
- var s;
281
+ var o;
253
282
  this.api.onValueChanged(t.ALGORITHM, (i) => {
254
283
  this._onDataChange(t.ALGORITHM, i), this._setProductIdsVisibility();
255
284
  }), 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)), [
@@ -259,19 +288,19 @@ class p extends m {
259
288
  t.CURRENCY_DECIMAL_SEPARATOR,
260
289
  t.CURRENCY_DECIMAL_COUNT
261
290
  ].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);
291
+ this.api.onValueChanged(i, (a) => this._onCurrencyConfigChange(i, a));
292
+ }), 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"), (o = this.addFilterButton) == null || o.addEventListener("click", this.addFilterListener);
264
293
  }
265
294
  _listenStateUpdates() {
266
295
  this.storeUnsubscription = this.store.$subscribe((e) => {
267
296
  if ("payload" in e) {
268
- const s = e.payload.recommendationConfigs;
269
- s && (this.api.updateValues(s), this.store.fetchRecommendationProducts());
297
+ const o = e.payload.recommendationConfigs;
298
+ o && (this.api.updateValues(o), this.store.fetchRecommendationProducts());
270
299
  }
271
300
  });
272
301
  }
273
302
  }
274
303
  export {
275
- g as CONTROL_BLOCK_ID,
276
- p as RecommendationBlockControl
304
+ L as CONTROL_BLOCK_ID,
305
+ b as RecommendationBlockControl
277
306
  };
@@ -0,0 +1,13 @@
1
+ import { ButtonAlignBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class c extends t {
4
+ getId() {
5
+ return e.BUTTON_ALIGN;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ c as ButtonAlignControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonBorderBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends t {
4
+ getId() {
5
+ return e.BUTTON_BORDER;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ButtonBorderControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonBorderRadiusBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class i extends t {
4
+ getId() {
5
+ return e.BUTTON_BORDER_RADIUS;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ i as ButtonBorderRadiusControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonColorBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class c extends t {
4
+ getId() {
5
+ return e.BUTTON_COLOR;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ c as ButtonColorControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonFitToContainerBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends o {
4
+ getId() {
5
+ return e.BUTTON_FIT_TO_CONTENT;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ButtonFitToContentControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonFontFamilyBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends o {
4
+ getId() {
5
+ return e.BUTTON_FONT_FAMILY;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ButtonFontFamilyControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class m extends o {
4
+ getId() {
5
+ return e.BUTTON_MARGINS;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ m as ButtonMarginsControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonPaddingsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class i extends o {
4
+ getId() {
5
+ return e.BUTTON_PADDINGS;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ i as ButtonPaddingsControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonTextBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class c extends o {
4
+ getId() {
5
+ return e.BUTTON_TEXT;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ c as ButtonTextControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonTextSizeBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as o, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends e {
4
+ getId() {
5
+ return o.BUTTON_TEXT_SIZE;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ButtonTextSizeControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ButtonTextStyleAndFontColorBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends o {
4
+ getId() {
5
+ return e.BUTTON_TEXT_STYLE_AND_FONT_COLOR;
6
+ }
7
+ getTargetNodes(t) {
8
+ return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ButtonTextStyleAndFontColorControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ImageMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
+ class l extends o {
4
+ getId() {
5
+ return t.IMAGE_MARGINS;
6
+ }
7
+ getTargetNodes(e) {
8
+ return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.IMAGE}"]`);
9
+ }
10
+ }
11
+ export {
12
+ l as ImageMarginsControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ImageSizeBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
+ class s extends o {
4
+ getId() {
5
+ return t.IMAGE_SIZE;
6
+ }
7
+ getTargetNodes(e) {
8
+ return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.IMAGE}"]`);
9
+ }
10
+ }
11
+ export {
12
+ s as ImageSizeControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { TextAlignBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
+ class m extends o {
4
+ getId() {
5
+ return t.NAME_ALIGN;
6
+ }
7
+ getTargetNodes(e) {
8
+ return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.NAME}"]`);
9
+ }
10
+ }
11
+ export {
12
+ m as NameAlignControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { TextBlockBackgroundBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as r } from "../../constants.js";
3
+ class m extends e {
4
+ getId() {
5
+ return t.NAME_BACKGROUND;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${r.NAME}"]`);
9
+ }
10
+ }
11
+ export {
12
+ m as NameBackgroundControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { TextColorBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as r } from "../../constants.js";
3
+ class m extends e {
4
+ getId() {
5
+ return t.NAME_COLOR;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${r.NAME}"]`);
9
+ }
10
+ }
11
+ export {
12
+ m as NameColorControl
13
+ };
@@ -0,0 +1,13 @@
1
+ import { TextFontFamilyBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
+ class d extends e {
4
+ getId() {
5
+ return t.NAME_FONT_FAMILY;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.NAME}"]`);
9
+ }
10
+ }
11
+ export {
12
+ d as NameFontFamilyControl
13
+ };