@useinsider/guido 3.2.0-beta.e01b42a → 3.2.0-beta.e69fb3b

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