@useinsider/guido 3.2.0-beta.565bfaf → 3.2.0-beta.570fb6d

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 (282) hide show
  1. package/dist/@types/config/schemas.js +1 -1
  2. package/dist/@types/config/validator.js +27 -34
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +76 -81
  5. package/dist/components/organisms/base/Toaster.vue2.js +10 -11
  6. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +12 -12
  7. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue2.js +6 -6
  8. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +9 -15
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +31 -40
  10. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +19 -20
  11. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +11 -14
  12. package/dist/components/organisms/header/EditorActions.vue.js +11 -12
  13. package/dist/components/organisms/header/EditorActions.vue2.js +18 -22
  14. package/dist/components/organisms/header/HeaderWrapper.vue2.js +12 -15
  15. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -19
  16. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -11
  17. package/dist/components/organisms/header/RightSlot.vue2.js +14 -17
  18. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +11 -12
  19. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +20 -22
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +11 -12
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +38 -41
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +11 -12
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +38 -43
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +18 -21
  25. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +27 -31
  26. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +11 -12
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +27 -29
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +11 -12
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +19 -21
  30. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +8 -9
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +9 -10
  32. package/dist/composables/useActionsApi.js +37 -38
  33. package/dist/composables/useBlocksConfig.js +26 -26
  34. package/dist/composables/useFullStoryBridge.js +13 -0
  35. package/dist/composables/useHtmlCompiler.js +34 -26
  36. package/dist/composables/useHtmlValidator.js +101 -109
  37. package/dist/composables/useHttp.js +30 -30
  38. package/dist/composables/usePartner.js +1 -1
  39. package/dist/composables/useRecommendation.js +14 -15
  40. package/dist/composables/useSave.js +21 -22
  41. package/dist/composables/useStripo.js +47 -42
  42. package/dist/composables/useSyncModuleExtractor.js +31 -29
  43. package/dist/composables/useTimerClone.js +24 -25
  44. package/dist/composables/useTranslations.js +23 -16
  45. package/dist/composables/useValidation.js +7 -8
  46. package/dist/composables/validators/useLiquidValidator.js +13 -13
  47. package/dist/config/compiler/recommendationCompilerRules.js +72 -67
  48. package/dist/config/compiler/unsubscribeCompilerRules.js +38 -37
  49. package/dist/config/compiler/utils/recommendationCompilerUtils.js +36 -34
  50. package/dist/config/migrator/checkboxMigrator.js +20 -21
  51. package/dist/config/migrator/couponBlockMigrator.js +18 -19
  52. package/dist/config/migrator/itemsBlockMigrator.js +87 -89
  53. package/dist/config/migrator/radioButtonMigrator.js +12 -13
  54. package/dist/config/migrator/recommendationMigrator.js +107 -110
  55. package/dist/config/migrator/unsubscribeMigrator.js +10 -11
  56. package/dist/enums/displayConditions.js +78 -82
  57. package/dist/enums/extensions/recommendationBlock.js +41 -95
  58. package/dist/enums/unsubscribe.js +35 -30
  59. package/dist/extensions/Blocks/Checkbox/control.js +23 -23
  60. package/dist/extensions/Blocks/Items/block.js +9 -9
  61. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  62. package/dist/extensions/Blocks/Items/controls/cardComposition.js +89 -97
  63. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  64. package/dist/extensions/Blocks/Items/controls/name/trimming.js +23 -24
  65. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +13 -14
  66. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +44 -47
  67. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  68. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  69. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +38 -40
  70. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  71. package/dist/extensions/Blocks/Items/controls/settingsControl.js +155 -162
  72. package/dist/extensions/Blocks/Items/enums/productEnums.js +21 -14
  73. package/dist/extensions/Blocks/Items/template.js +210 -210
  74. package/dist/extensions/Blocks/RadioButton/control.js +15 -15
  75. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +1 -1
  76. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  77. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +128 -133
  78. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +23 -20
  79. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +99 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  81. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +19 -20
  82. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +4 -6
  83. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +84 -90
  84. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  85. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  86. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +35 -36
  87. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +134 -135
  88. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  89. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +27 -57
  90. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  91. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  92. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  93. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  94. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  95. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  96. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  97. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  98. package/dist/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.js +14 -0
  99. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  100. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +18 -20
  101. package/dist/extensions/Blocks/Recommendation/extension.js +31 -32
  102. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +25 -32
  103. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +72 -69
  104. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +22 -23
  105. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  106. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  107. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  108. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +24 -25
  109. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +11 -11
  110. package/dist/extensions/Blocks/Recommendation/templates/utils.js +45 -47
  111. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +17 -14
  112. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +13 -16
  113. package/dist/extensions/Blocks/Unsubscribe/block.js +11 -11
  114. package/dist/extensions/Blocks/Unsubscribe/control.js +11 -13
  115. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +16 -18
  116. package/dist/extensions/Blocks/common-control.js +25 -26
  117. package/dist/extensions/DynamicContent/dynamic-content.js +53 -58
  118. package/dist/guido.css +1 -1
  119. package/dist/library.js +11 -12
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +272 -167
  121. package/dist/node_modules/valibot/dist/index.js +122 -126
  122. package/dist/package.json.js +1 -1
  123. package/dist/services/recommendationApi.js +14 -17
  124. package/dist/services/templateLibraryApi.js +37 -38
  125. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  126. package/dist/src/composables/useActionsApi.d.ts +1 -1
  127. package/dist/src/composables/useFullStoryBridge.d.ts +11 -0
  128. package/dist/src/composables/useHtmlCompiler.d.ts +1 -2
  129. package/dist/src/composables/useTranslations.d.ts +1 -1
  130. package/dist/src/enums/displayConditions.d.ts +1 -5
  131. package/dist/src/enums/extensions/recommendationBlock.d.ts +1 -5
  132. package/dist/src/enums/unsubscribe.d.ts +8 -8
  133. package/dist/src/extensions/Blocks/Recommendation/constants/controlIds.d.ts +1 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +3 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.d.ts +35 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +3 -20
  137. package/dist/src/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.d.ts +29 -0
  138. package/dist/src/stores/dynamic-content.d.ts +3 -3
  139. package/dist/static/styles/components/button.css.js +16 -9
  140. package/dist/static/styles/components/loader.css.js +4 -0
  141. package/dist/static/styles/components/narrow-panel.css.js +52 -0
  142. package/dist/stores/config.js +25 -81
  143. package/dist/stores/dynamic-content.js +6 -11
  144. package/dist/stores/onboarding.js +5 -5
  145. package/dist/stores/preview.js +6 -9
  146. package/dist/stores/unsubscribe.js +1 -4
  147. package/dist/utils/dateUtil.js +7 -10
  148. package/dist/utils/genericUtil.js +10 -13
  149. package/dist/utils/pairProductVariables.js +13 -14
  150. package/package.json +8 -5
  151. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  152. package/dist/node_modules/lodash-es/_Hash.js +0 -20
  153. package/dist/node_modules/lodash-es/_ListCache.js +0 -20
  154. package/dist/node_modules/lodash-es/_Map.js +0 -6
  155. package/dist/node_modules/lodash-es/_MapCache.js +0 -20
  156. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  157. package/dist/node_modules/lodash-es/_Set.js +0 -6
  158. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  159. package/dist/node_modules/lodash-es/_Stack.js +0 -18
  160. package/dist/node_modules/lodash-es/_Symbol.js +0 -5
  161. package/dist/node_modules/lodash-es/_Uint8Array.js +0 -5
  162. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  163. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  164. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +0 -20
  165. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  166. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  167. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  168. package/dist/node_modules/lodash-es/_assocIndexOf.js +0 -10
  169. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  170. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  171. package/dist/node_modules/lodash-es/_baseFor.js +0 -5
  172. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  173. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  174. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  175. package/dist/node_modules/lodash-es/_baseGetTag.js +0 -10
  176. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  177. package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -9
  178. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  179. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  180. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  181. package/dist/node_modules/lodash-es/_baseIsNative.js +0 -16
  182. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -12
  183. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  184. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  185. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  186. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  187. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  188. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  189. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  190. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  191. package/dist/node_modules/lodash-es/_baseTimes.js +0 -8
  192. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  193. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  194. package/dist/node_modules/lodash-es/_baseUnary.js +0 -8
  195. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  196. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  197. package/dist/node_modules/lodash-es/_coreJsData.js +0 -5
  198. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  199. package/dist/node_modules/lodash-es/_createBaseFor.js +0 -13
  200. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  201. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  202. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  203. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  204. package/dist/node_modules/lodash-es/_freeGlobal.js +0 -4
  205. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  206. package/dist/node_modules/lodash-es/_getMapData.js +0 -8
  207. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  208. package/dist/node_modules/lodash-es/_getNative.js +0 -9
  209. package/dist/node_modules/lodash-es/_getRawTag.js +0 -15
  210. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  211. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  212. package/dist/node_modules/lodash-es/_getValue.js +0 -6
  213. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  214. package/dist/node_modules/lodash-es/_hashClear.js +0 -7
  215. package/dist/node_modules/lodash-es/_hashDelete.js +0 -7
  216. package/dist/node_modules/lodash-es/_hashGet.js +0 -13
  217. package/dist/node_modules/lodash-es/_hashHas.js +0 -9
  218. package/dist/node_modules/lodash-es/_hashSet.js +0 -9
  219. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  220. package/dist/node_modules/lodash-es/_isIndex.js +0 -8
  221. package/dist/node_modules/lodash-es/_isIterateeCall.js +0 -13
  222. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  223. package/dist/node_modules/lodash-es/_isKeyable.js +0 -7
  224. package/dist/node_modules/lodash-es/_isMasked.js +0 -11
  225. package/dist/node_modules/lodash-es/_isPrototype.js +0 -8
  226. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  227. package/dist/node_modules/lodash-es/_listCacheClear.js +0 -6
  228. package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -12
  229. package/dist/node_modules/lodash-es/_listCacheGet.js +0 -8
  230. package/dist/node_modules/lodash-es/_listCacheHas.js +0 -7
  231. package/dist/node_modules/lodash-es/_listCacheSet.js +0 -8
  232. package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -13
  233. package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  234. package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -7
  235. package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -7
  236. package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -8
  237. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  238. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  239. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  240. package/dist/node_modules/lodash-es/_nativeCreate.js +0 -5
  241. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  242. package/dist/node_modules/lodash-es/_nodeUtil.js +0 -11
  243. package/dist/node_modules/lodash-es/_objectToString.js +0 -7
  244. package/dist/node_modules/lodash-es/_overArg.js +0 -8
  245. package/dist/node_modules/lodash-es/_root.js +0 -5
  246. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  247. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  248. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  249. package/dist/node_modules/lodash-es/_stackClear.js +0 -7
  250. package/dist/node_modules/lodash-es/_stackDelete.js +0 -7
  251. package/dist/node_modules/lodash-es/_stackGet.js +0 -6
  252. package/dist/node_modules/lodash-es/_stackHas.js +0 -6
  253. package/dist/node_modules/lodash-es/_stackSet.js +0 -17
  254. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  255. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  256. package/dist/node_modules/lodash-es/_toSource.js +0 -17
  257. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  258. package/dist/node_modules/lodash-es/eq.js +0 -6
  259. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  260. package/dist/node_modules/lodash-es/get.js +0 -8
  261. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  262. package/dist/node_modules/lodash-es/identity.js +0 -6
  263. package/dist/node_modules/lodash-es/isArguments.js +0 -10
  264. package/dist/node_modules/lodash-es/isArray.js +0 -4
  265. package/dist/node_modules/lodash-es/isArrayLike.js +0 -8
  266. package/dist/node_modules/lodash-es/isBuffer.js +0 -6
  267. package/dist/node_modules/lodash-es/isFunction.js +0 -12
  268. package/dist/node_modules/lodash-es/isLength.js +0 -7
  269. package/dist/node_modules/lodash-es/isObject.js +0 -7
  270. package/dist/node_modules/lodash-es/isObjectLike.js +0 -6
  271. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  272. package/dist/node_modules/lodash-es/isTypedArray.js +0 -7
  273. package/dist/node_modules/lodash-es/keys.js +0 -9
  274. package/dist/node_modules/lodash-es/map.js +0 -11
  275. package/dist/node_modules/lodash-es/memoize.js +0 -18
  276. package/dist/node_modules/lodash-es/property.js +0 -10
  277. package/dist/node_modules/lodash-es/range.js +0 -5
  278. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  279. package/dist/node_modules/lodash-es/stubFalse.js +0 -6
  280. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  281. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  282. package/dist/node_modules/lodash-es/toString.js +0 -7
@@ -1,14 +1,14 @@
1
1
  import { ModificationDescription as p } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationBlockId as m } from "../../constants/blockIds.js";
3
- import { MOBILE_CONTAINER_SELECTOR as P, MOBILE_ROW_SELECTOR as k, CURRENCY_ATTR as y, DESKTOP_CONTAINER_SELECTOR as q, CONTAINER_SELECTOR as $ } from "../../constants/selectors.js";
4
2
  import { RecommendationConfigService as E } from "../../services/configService.js";
5
3
  import { useRecommendationExtensionStore as C } from "../../store/recommendation.js";
6
- import { prepareProductRows as T } from "../../templates/index.js";
7
- import { formatPrice as B } from "../../utils/priceFormatter.js";
8
- import { isTdNode as v } from "../../utils/tagName.js";
9
- import { getDefaultProducts as L, DEFAULT_CARD_COMPOSITION as R, sanitizeImageUrl as j } from "../../templates/utils.js";
4
+ import { prepareProductRows as k } from "../../templates/index.js";
5
+ import { formatPrice as $ } from "../../utils/priceFormatter.js";
6
+ import { isTdNode as B } from "../../utils/tagName.js";
7
+ import { RecommendationBlockId as m } from "../../constants/blockIds.js";
8
+ import { MOBILE_CONTAINER_SELECTOR as P, MOBILE_ROW_SELECTOR as T, CURRENCY_ATTR as y, DESKTOP_CONTAINER_SELECTOR as q, CONTAINER_SELECTOR as v } from "../../constants/selectors.js";
9
+ import { getDefaultProducts as L, DEFAULT_CARD_COMPOSITION as M, sanitizeImageUrl as j } from "../../templates/utils.js";
10
10
  const h = "recommendation-block-v2";
11
- function M(t) {
11
+ function R(t) {
12
12
  if (!t)
13
13
  return null;
14
14
  if ("getAttribute" in t) {
@@ -18,36 +18,36 @@ function M(t) {
18
18
  }
19
19
  return "querySelector" in t ? t.querySelector(`.${h}`) ?? null : null;
20
20
  }
21
- function g(t) {
22
- const e = M(t);
21
+ function b(t) {
22
+ const e = R(t);
23
23
  if (!e || !("getAttribute" in e))
24
24
  return "grid";
25
25
  const o = e.getAttribute("data-layout");
26
26
  return o === "list" || o === "horizontal" ? "list" : "grid";
27
27
  }
28
28
  function _(t) {
29
- const e = M(t);
29
+ const e = R(t);
30
30
  if (!e || !("getAttribute" in e))
31
- return R;
31
+ return M;
32
32
  const o = e.getAttribute("data-card-composition");
33
- return o ? o.split(",").filter(Boolean) : R;
33
+ return o ? o.split(",").filter(Boolean) : M;
34
34
  }
35
- function b(t, e, o) {
35
+ function g(t, e, o) {
36
36
  if (!e || !("childNodes" in e))
37
37
  return !1;
38
- const i = e.childNodes().find(
39
- (l) => "getType" in l && l.getType() === "text"
38
+ const r = e.childNodes().find(
39
+ (c) => "getType" in c && c.getType() === "text"
40
40
  );
41
- return i ? (t.modifyHtml(i).setText(o), !0) : !1;
41
+ return r ? (t.modifyHtml(r).setText(o), !0) : !1;
42
42
  }
43
- function x(t, e) {
43
+ function D(t, e) {
44
44
  return t && t.length > 0 ? t : e.length > 0 ? e : L();
45
45
  }
46
46
  function V(t) {
47
47
  const { currentNode: e, documentModifier: o } = t;
48
48
  if (!e || !("querySelector" in e))
49
49
  return;
50
- const n = e.querySelector(k);
50
+ const n = e.querySelector(T);
51
51
  n && (o.modifyHtml(n).setInnerHtml(""), o.apply(new p("Cleared mobile row content")));
52
52
  }
53
53
  function W(t) {
@@ -55,23 +55,23 @@ function W(t) {
55
55
  currentNode: e,
56
56
  documentModifier: o,
57
57
  products: n,
58
- layout: i,
59
- composition: l
58
+ layout: r,
59
+ composition: c
60
60
  } = t;
61
61
  if (!e || !("querySelector" in e))
62
62
  return;
63
- const r = i ?? g(e), u = E.getConfig(e);
64
- if (r === "list" || !u.mobileLayoutEnabled) {
63
+ const i = r ?? b(e), u = E.getConfig(e);
64
+ if (i === "list" || !u.mobileLayoutEnabled) {
65
65
  V({ currentNode: e, documentModifier: o });
66
66
  return;
67
67
  }
68
- const s = e.querySelector(k);
68
+ const s = e.querySelector(T);
69
69
  if (!s)
70
70
  return;
71
- const c = C(), a = x(n, c.recommendationProducts), f = l ?? _(e), S = `<td><table class="ins-recommendation-product-container ins-recommendation-mobile-container" width="100%" cellpadding="0" cellspacing="0" border="0">${T(a, r, {
71
+ const l = C(), a = D(n, l.recommendationProducts), f = c ?? _(e), S = `<td><table class="ins-recommendation-product-container ins-recommendation-mobile-container" width="100%" cellpadding="0" cellspacing="0" border="0">${k(a, i, {
72
72
  productsPerRow: u.mobileCardsInRow,
73
73
  composition: f,
74
- filterList: c.filterList
74
+ filterList: l.filterList
75
75
  })}</table></td>`;
76
76
  o.modifyHtml(s).setInnerHtml(S), o.apply(new p("Updated mobile product rows"));
77
77
  }
@@ -80,63 +80,63 @@ function G(t) {
80
80
  currentNode: e,
81
81
  documentModifier: o,
82
82
  afterRegenerate: n,
83
- products: i,
84
- layout: l,
85
- composition: r
83
+ products: r,
84
+ layout: c,
85
+ composition: i
86
86
  } = t;
87
87
  if (!e || !("querySelector" in e))
88
88
  return;
89
- const u = e.querySelector(q) ?? e.querySelector($);
89
+ const u = e.querySelector(q) ?? e.querySelector(v);
90
90
  if (!u)
91
91
  return;
92
- const s = C(), c = x(i, s.recommendationProducts), { cardsInRow: a } = s.recommendationConfigs, f = r ?? _(e), d = l ?? g(e), S = T(c, d, {
92
+ const s = C(), l = D(r, s.recommendationProducts), { cardsInRow: a } = s.recommendationConfigs, f = i ?? _(e), d = c ?? b(e), S = k(l, d, {
93
93
  productsPerRow: a,
94
94
  composition: f,
95
95
  filterList: s.filterList
96
96
  });
97
- o.modifyHtml(u).setInnerHtml(S).apply(new p("Updated product")), W(t), n == null || n();
97
+ o.modifyHtml(u).setInnerHtml(S).apply(new p("Updated product")), W(t), n?.();
98
98
  }
99
99
  function I(t, e, o, n) {
100
- const l = `0 ${Math.floor(o / 2)}px`;
101
- let r = !1;
100
+ const c = `0 ${Math.floor(o / 2)}px`;
101
+ let i = !1;
102
102
  return n === "grid" ? Array.from(
103
103
  t.querySelectorAll(".attribute-cell")
104
104
  ).forEach((s) => {
105
- e.modifyHtml(s).setStyle("padding", l), r = !0;
105
+ e.modifyHtml(s).setStyle("padding", c), i = !0;
106
106
  }) : Array.from(
107
107
  t.querySelectorAll(".product-card-wrapper")
108
108
  ).forEach((s) => {
109
- const c = "parentNode" in s ? s.parentNode : null;
110
- c && v(c) && (e.modifyHtml(c).setStyle("padding", l), r = !0);
111
- }), r;
109
+ const l = "parentNode" in s ? s.parentNode : null;
110
+ l && B(l) && (e.modifyHtml(l).setStyle("padding", c), i = !0);
111
+ }), i;
112
112
  }
113
113
  function O(t, e, o) {
114
- const n = `${o}px`, i = Array.from(t.querySelectorAll(".spacer"));
115
- let l = !1;
116
- return i.forEach((r) => {
117
- e.modifyHtml(r).setStyle("height", n), l = !0;
118
- }), l;
114
+ const n = `${o}px`, r = Array.from(t.querySelectorAll(".spacer"));
115
+ let c = !1;
116
+ return r.forEach((i) => {
117
+ e.modifyHtml(i).setStyle("height", n), c = !0;
118
+ }), c;
119
119
  }
120
120
  function Y(t) {
121
121
  const { currentNode: e, documentModifier: o } = t;
122
122
  if (!e)
123
123
  return;
124
- const n = E.getConfig(e), i = g(e);
125
- let l = !1;
126
- const r = e.querySelector(q);
127
- if (r) {
128
- l = I(
129
- r,
124
+ const n = E.getConfig(e), r = b(e);
125
+ let c = !1;
126
+ const i = e.querySelector(q);
127
+ if (i) {
128
+ c = I(
129
+ i,
130
130
  o,
131
131
  n.columnSpacing,
132
- i
132
+ r
133
133
  );
134
- const c = O(
135
- r,
134
+ const l = O(
135
+ i,
136
136
  o,
137
137
  n.rowSpacing
138
138
  );
139
- l = l || c;
139
+ c = c || l;
140
140
  }
141
141
  const u = e.querySelector(P);
142
142
  if (u) {
@@ -144,37 +144,37 @@ function Y(t) {
144
144
  u,
145
145
  o,
146
146
  n.mobileColumnSpacing,
147
- i
147
+ r
148
148
  );
149
- l = l || s;
150
- const c = O(
149
+ c = c || s;
150
+ const l = O(
151
151
  u,
152
152
  o,
153
153
  n.mobileRowSpacing
154
154
  );
155
- l = l || c;
155
+ c = c || l;
156
156
  }
157
- l && o.apply(new p("Reapply spacing after regeneration"));
157
+ c && o.apply(new p("Reapply spacing after regeneration"));
158
158
  }
159
159
  function re(t) {
160
- const { currentNode: e, documentModifier: o, afterRegenerate: n, products: i, layout: l, composition: r } = t;
160
+ const { currentNode: e, documentModifier: o, afterRegenerate: n, products: r, layout: c, composition: i } = t;
161
161
  e && G({
162
162
  currentNode: e,
163
163
  documentModifier: o,
164
- products: i,
165
- layout: l,
166
- composition: r,
164
+ products: r,
165
+ layout: c,
166
+ composition: i,
167
167
  afterRegenerate: () => {
168
168
  setTimeout(() => {
169
169
  Y({ currentNode: e, documentModifier: o });
170
- }, 0), n == null || n();
170
+ }, 0), n?.();
171
171
  }
172
172
  });
173
173
  }
174
174
  function ie(t, e) {
175
175
  return t.length === e ? t : t.length > e ? t.slice(0, e) : [...t, ...L(e - t.length)];
176
176
  }
177
- function D() {
177
+ function x() {
178
178
  const t = C(), { currencySettings: e } = t.recommendationConfigs, o = parseInt(e.decimalCount);
179
179
  return {
180
180
  code: e.value,
@@ -186,35 +186,34 @@ function D() {
186
186
  };
187
187
  }
188
188
  function A(t, e = "price") {
189
- const o = D(), n = t[e], i = (n == null ? void 0 : n[o.code]) ?? Object.values(n ?? {})[0] ?? 0;
190
- return B({
191
- price: i,
189
+ const o = x(), n = t[e], r = n?.[o.code] ?? Object.values(n ?? {})[0] ?? 0;
190
+ return $({
191
+ price: r,
192
192
  currency: o
193
193
  });
194
194
  }
195
195
  function F(t) {
196
- var l, r;
197
- const e = D(), o = ((l = t.original_price) == null ? void 0 : l[e.code]) ?? Object.values(t.original_price ?? {})[0] ?? 0, n = ((r = t.price) == null ? void 0 : r[e.code]) ?? Object.values(t.price ?? {})[0] ?? 0, i = o > 0 ? Math.round((o - n) / o * 100) : 0;
198
- return i > 0 ? `-${i}%` : "0%";
196
+ const e = x(), o = t.original_price?.[e.code] ?? Object.values(t.original_price ?? {})[0] ?? 0, n = t.price?.[e.code] ?? Object.values(t.price ?? {})[0] ?? 0, r = o > 0 ? Math.round((o - n) / o * 100) : 0;
197
+ return r > 0 ? `-${r}%` : "0%";
199
198
  }
200
199
  function H(t) {
201
- const { documentModifier: e, product: o, priceEl: n, oldPriceEl: i, omnibusPriceEl: l, omnibusDiscountEl: r } = t;
200
+ const { documentModifier: e, product: o, priceEl: n, oldPriceEl: r, omnibusPriceEl: c, omnibusDiscountEl: i } = t;
202
201
  let u = !1;
203
202
  if (n && "querySelector" in n) {
204
- const s = n.querySelector("strong") ?? null, c = A(o, "price");
205
- b(e, s, c) && (u = !0);
203
+ const s = n.querySelector("strong") ?? null, l = A(o, "price");
204
+ g(e, s, l) && (u = !0);
206
205
  }
207
- if (i && "querySelector" in i) {
208
- const s = i.querySelector("strong") ?? null, c = A(o, "original_price");
209
- b(e, s, c) && (u = !0);
206
+ if (r && "querySelector" in r) {
207
+ const s = r.querySelector("strong") ?? null, l = A(o, "original_price");
208
+ g(e, s, l) && (u = !0);
210
209
  }
211
- if (l && "querySelector" in l) {
212
- const s = l.querySelector(".omnibus-price-value") ?? null, c = A(o, "original_price");
213
- b(e, s, c) && (u = !0);
210
+ if (c && "querySelector" in c) {
211
+ const s = c.querySelector(".omnibus-price-value") ?? null, l = A(o, "original_price");
212
+ g(e, s, l) && (u = !0);
214
213
  }
215
- if (r && "querySelector" in r) {
216
- const s = r.querySelector(".omnibus-discount-value") ?? null, c = F(o);
217
- b(e, s, c) && (u = !0);
214
+ if (i && "querySelector" in i) {
215
+ const s = i.querySelector(".omnibus-discount-value") ?? null, l = F(o);
216
+ g(e, s, l) && (u = !0);
218
217
  }
219
218
  return u;
220
219
  }
@@ -223,12 +222,12 @@ function K(t) {
223
222
  documentModifier: e,
224
223
  product: o,
225
224
  imageEl: n,
226
- nameEl: i,
227
- priceEl: l,
228
- oldPriceEl: r,
225
+ nameEl: r,
226
+ priceEl: c,
227
+ oldPriceEl: i,
229
228
  omnibusPriceEl: u,
230
229
  omnibusDiscountEl: s,
231
- buttonEl: c
230
+ buttonEl: l
232
231
  } = t;
233
232
  let a = !1;
234
233
  if (n && "querySelector" in n) {
@@ -237,19 +236,19 @@ function K(t) {
237
236
  const d = n.querySelector("a");
238
237
  d && (e.modifyHtml(d).setAttribute("href", o.url), a = !0);
239
238
  }
240
- if (i && "querySelector" in i) {
241
- const f = i.querySelector("strong") ?? null;
242
- b(e, f, o.name) && (a = !0);
239
+ if (r && "querySelector" in r) {
240
+ const f = r.querySelector("strong") ?? null;
241
+ g(e, f, o.name) && (a = !0);
243
242
  }
244
243
  if (H({
245
244
  documentModifier: e,
246
245
  product: o,
247
- priceEl: l,
248
- oldPriceEl: r,
246
+ priceEl: c,
247
+ oldPriceEl: i,
249
248
  omnibusPriceEl: u,
250
249
  omnibusDiscountEl: s
251
- }) && (a = !0), c && "querySelector" in c) {
252
- const f = c.querySelector("a.es-button") || c.querySelector("a");
250
+ }) && (a = !0), l && "querySelector" in l) {
251
+ const f = l.querySelector("a.es-button") || l.querySelector("a");
253
252
  f && (e.modifyHtml(f).setAttribute("href", o.url), a = !0);
254
253
  }
255
254
  return a;
@@ -262,17 +261,17 @@ function w(t, e, o) {
262
261
  return !1;
263
262
  const n = t.querySelectorAll(
264
263
  `[esd-extension-block-id="${m.IMAGE}"]`
265
- ), i = t.querySelectorAll(
264
+ ), r = t.querySelectorAll(
266
265
  `[esd-extension-block-id="${m.NAME}"]`
267
- ), l = t.querySelectorAll(
266
+ ), c = t.querySelectorAll(
268
267
  `[esd-extension-block-id="${m.PRICE}"]`
269
- ), r = t.querySelectorAll(
268
+ ), i = t.querySelectorAll(
270
269
  `[esd-extension-block-id="${m.OLD_PRICE}"]`
271
270
  ), u = t.querySelectorAll(
272
271
  `[esd-extension-block-id="${m.OMNIBUS_PRICE}"]`
273
272
  ), s = t.querySelectorAll(
274
273
  `[esd-extension-block-id="${m.OMNIBUS_DISCOUNT}"]`
275
- ), c = t.querySelectorAll(
274
+ ), l = t.querySelectorAll(
276
275
  `[esd-extension-block-id="${m.BUTTON}"]`
277
276
  ), a = Math.min(n.length, o.length);
278
277
  let f = !1;
@@ -281,12 +280,12 @@ function w(t, e, o) {
281
280
  documentModifier: e,
282
281
  product: o[d],
283
282
  imageEl: n[d] ?? null,
284
- nameEl: i[d] ?? null,
285
- priceEl: l[d] ?? null,
286
- oldPriceEl: r[d] ?? null,
283
+ nameEl: r[d] ?? null,
284
+ priceEl: c[d] ?? null,
285
+ oldPriceEl: i[d] ?? null,
287
286
  omnibusPriceEl: u[d] ?? null,
288
287
  omnibusDiscountEl: s[d] ?? null,
289
- buttonEl: c[d] ?? null
288
+ buttonEl: l[d] ?? null
290
289
  });
291
290
  f = f || S;
292
291
  }
@@ -296,47 +295,47 @@ function le(t) {
296
295
  const { currentNode: e, documentModifier: o, products: n } = t;
297
296
  if (!e || !("querySelectorAll" in e))
298
297
  return !1;
299
- const i = U(e);
300
- if (!("querySelectorAll" in i) || i.querySelectorAll(
298
+ const r = U(e);
299
+ if (!("querySelectorAll" in r) || r.querySelectorAll(
301
300
  `[esd-extension-block-id="${m.IMAGE}"]`
302
301
  ).length !== n.length)
303
302
  return !1;
304
- let r = w(i, o, n);
305
- const u = g(e), s = E.getConfig(e);
303
+ let i = w(r, o, n);
304
+ const u = b(e), s = E.getConfig(e);
306
305
  if (u !== "list" && s.mobileLayoutEnabled && "querySelector" in e) {
307
- const c = e.querySelector(P);
308
- if (c) {
306
+ const l = e.querySelector(P);
307
+ if (l) {
309
308
  const a = w(
310
- c,
309
+ l,
311
310
  o,
312
311
  n
313
312
  );
314
- r = r || a;
313
+ i = i || a;
315
314
  }
316
315
  }
317
- return r && o.apply(new p("Updated product content in-place")), !0;
316
+ return i && o.apply(new p("Updated product content in-place")), !0;
318
317
  }
319
318
  function N(t, e, o) {
320
319
  if (!("querySelectorAll" in t))
321
320
  return !1;
322
321
  const n = t.querySelectorAll(
323
322
  `[esd-extension-block-id="${m.PRICE}"]`
324
- ), i = t.querySelectorAll(
323
+ ), r = t.querySelectorAll(
325
324
  `[esd-extension-block-id="${m.OLD_PRICE}"]`
326
- ), l = t.querySelectorAll(
325
+ ), c = t.querySelectorAll(
327
326
  `[esd-extension-block-id="${m.OMNIBUS_PRICE}"]`
328
- ), r = t.querySelectorAll(
327
+ ), i = t.querySelectorAll(
329
328
  `[esd-extension-block-id="${m.OMNIBUS_DISCOUNT}"]`
330
329
  ), u = Math.min(n.length, o.length);
331
330
  let s = !1;
332
- for (let c = 0; c < u; c++)
331
+ for (let l = 0; l < u; l++)
333
332
  H({
334
333
  documentModifier: e,
335
- product: o[c],
336
- priceEl: n[c] ?? null,
337
- oldPriceEl: i[c] ?? null,
338
- omnibusPriceEl: l[c] ?? null,
339
- omnibusDiscountEl: r[c] ?? null
334
+ product: o[l],
335
+ priceEl: n[l] ?? null,
336
+ oldPriceEl: r[l] ?? null,
337
+ omnibusPriceEl: c[l] ?? null,
338
+ omnibusDiscountEl: i[l] ?? null
340
339
  }) && (s = !0);
341
340
  return s;
342
341
  }
@@ -344,36 +343,36 @@ function ce(t) {
344
343
  const { currentNode: e, documentModifier: o } = t;
345
344
  if (!e || !("querySelectorAll" in e))
346
345
  return !1;
347
- const i = C().recommendationProducts;
348
- if (i.length === 0)
346
+ const r = C().recommendationProducts;
347
+ if (r.length === 0)
349
348
  return !1;
350
- const l = U(e);
351
- let r = N(l, o, i);
352
- const u = g(e), s = E.getConfig(e);
349
+ const c = U(e);
350
+ let i = N(c, o, r);
351
+ const u = b(e), s = E.getConfig(e);
353
352
  if (u !== "list" && s.mobileLayoutEnabled && "querySelector" in e) {
354
- const c = e.querySelector(P);
355
- if (c) {
356
- const a = N(c, o, i);
357
- r = r || a;
353
+ const l = e.querySelector(P);
354
+ if (l) {
355
+ const a = N(l, o, r);
356
+ i = i || a;
358
357
  }
359
358
  }
360
- return r && o.apply(new p("Updated price formatting in-place")), r;
359
+ return i && o.apply(new p("Updated price formatting in-place")), i;
361
360
  }
362
361
  function se(t) {
363
- const { currentNode: e, documentModifier: o, currency: n } = t, i = M(e);
364
- if (!i)
362
+ const { currentNode: e, documentModifier: o, currency: n } = t, r = R(e);
363
+ if (!r)
365
364
  return;
366
- const l = n.alignment === "before" ? "0" : "1", r = (u, s) => {
367
- o.modifyHtml(i).setAttribute(u, s);
365
+ const c = n.alignment === "before" ? "0" : "1", i = (u, s) => {
366
+ o.modifyHtml(r).setAttribute(u, s);
368
367
  };
369
- r(y.CURRENCY, n.code), r(y.SYMBOL, n.symbol), r(y.ALIGNMENT, l), r(y.THOUSAND_SEPARATOR, n.thousandSeparator), r(y.DECIMAL_SEPARATOR, n.decimalSeparator), r(y.DECIMAL_COUNT, n.decimalCount.toString()), o.apply(new p("Update currency attributes"));
368
+ i(y.CURRENCY, n.code), i(y.SYMBOL, n.symbol), i(y.ALIGNMENT, c), i(y.THOUSAND_SEPARATOR, n.thousandSeparator), i(y.DECIMAL_SEPARATOR, n.decimalSeparator), i(y.DECIMAL_COUNT, n.decimalCount.toString()), o.apply(new p("Update currency attributes"));
370
369
  }
371
370
  export {
372
371
  ie as adjustProductsToSize,
373
372
  A as formatProductPrice,
374
- M as getBlockElement,
373
+ R as getBlockElement,
375
374
  _ as getCardComposition,
376
- g as getCurrentLayout,
375
+ b as getCurrentLayout,
377
376
  Y as reapplySpacing,
378
377
  W as regenerateMobileProductRows,
379
378
  G as regenerateProductRows,
@@ -1,36 +1,36 @@
1
1
  import { createPaddingsControl as n, createTextBackgroundColorControl as e, createTextFontFamilyControl as l, createTextStyleControl as C, createTextSizeControl as c, createTextColorControl as a, createTextAlignControl as i } from "../../../controlFactories.js";
2
- import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
- import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
- import { BLOCK_ROOT_SELECTOR as r } from "../../constants/selectors.js";
5
2
  import { NameTextTrimControl as m } from "./textTrim.js";
3
+ import { BLOCK_ROOT_SELECTOR as o } from "../../constants/selectors.js";
4
+ import { RecommendationBlockId as t } from "../../constants/blockIds.js";
5
+ import { RecommendationControlId as r } from "../../constants/controlIds.js";
6
6
  const A = i(
7
- t.NAME_ALIGN,
8
- o.NAME,
9
- r
7
+ r.NAME_ALIGN,
8
+ t.NAME,
9
+ o
10
10
  ), N = a(
11
- t.NAME_COLOR,
12
- o.NAME,
13
- r
11
+ r.NAME_COLOR,
12
+ t.NAME,
13
+ o
14
14
  ), E = c(
15
- t.NAME_SIZE,
16
- o.NAME,
17
- r
15
+ r.NAME_SIZE,
16
+ t.NAME,
17
+ o
18
18
  ), M = C(
19
- t.NAME_STYLE,
20
- o.NAME,
21
- r
19
+ r.NAME_STYLE,
20
+ t.NAME,
21
+ o
22
22
  ), s = l(
23
- t.NAME_FONT_FAMILY,
24
- o.NAME,
25
- r
23
+ r.NAME_FONT_FAMILY,
24
+ t.NAME,
25
+ o
26
26
  ), d = e(
27
- t.NAME_BACKGROUND,
28
- o.NAME,
29
- r
27
+ r.NAME_BACKGROUND,
28
+ t.NAME,
29
+ o
30
30
  ), T = n(
31
- t.NAME_PADDINGS,
32
- o.NAME,
33
- r
31
+ r.NAME_PADDINGS,
32
+ t.NAME,
33
+ o
34
34
  ), p = {
35
35
  align: A,
36
36
  color: N,