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

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 (231) hide show
  1. package/dist/@types/config/schemas.js +1 -1
  2. package/dist/@types/config/validator.js +34 -27
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +81 -76
  5. package/dist/components/organisms/base/Toaster.vue2.js +11 -10
  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 +15 -9
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +40 -31
  10. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +20 -19
  11. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +14 -11
  12. package/dist/components/organisms/header/EditorActions.vue.js +12 -11
  13. package/dist/components/organisms/header/EditorActions.vue2.js +22 -18
  14. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -12
  15. package/dist/components/organisms/header/LeftSlot.vue2.js +19 -16
  16. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -14
  17. package/dist/components/organisms/header/RightSlot.vue2.js +17 -14
  18. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +12 -11
  19. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +26 -24
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +12 -11
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +44 -41
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +12 -11
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +38 -36
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +21 -18
  25. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +31 -27
  26. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +12 -11
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +32 -30
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +12 -11
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +23 -21
  30. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +9 -8
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -9
  32. package/dist/composables/useActionsApi.js +38 -37
  33. package/dist/composables/useBlocksConfig.js +26 -26
  34. package/dist/composables/useFullStoryBridge.js +9 -8
  35. package/dist/composables/useHtmlCompiler.js +26 -34
  36. package/dist/composables/useHtmlValidator.js +114 -101
  37. package/dist/composables/useHttp.js +30 -30
  38. package/dist/composables/usePartner.js +1 -1
  39. package/dist/composables/useRecommendation.js +15 -14
  40. package/dist/composables/useRibbonOffset.js +15 -15
  41. package/dist/composables/useSave.js +23 -19
  42. package/dist/composables/useStripo.js +48 -53
  43. package/dist/composables/useSyncModuleExtractor.js +29 -31
  44. package/dist/composables/useTimerClone.js +25 -24
  45. package/dist/composables/useTranslations.js +3 -2
  46. package/dist/composables/useValidation.js +8 -7
  47. package/dist/composables/validators/useCouponBlockValidator.js +24 -0
  48. package/dist/composables/validators/useLiquidValidator.js +13 -13
  49. package/dist/config/compiler/recommendationCompilerRules.js +27 -27
  50. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -17
  51. package/dist/config/compiler/utils/recommendationCompilerUtils.js +11 -10
  52. package/dist/config/migrator/checkboxMigrator.js +21 -20
  53. package/dist/config/migrator/couponBlockMigrator.js +19 -18
  54. package/dist/config/migrator/itemsBlockMigrator.js +89 -87
  55. package/dist/config/migrator/radioButtonMigrator.js +63 -42
  56. package/dist/config/migrator/recommendationMigrator.js +109 -106
  57. package/dist/config/migrator/unsubscribeMigrator.js +11 -10
  58. package/dist/enums/unsubscribe.js +19 -18
  59. package/dist/extensions/Blocks/Items/block.js +9 -9
  60. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  61. package/dist/extensions/Blocks/Items/controls/cardComposition.js +97 -89
  62. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  63. package/dist/extensions/Blocks/Items/controls/name/trimming.js +24 -23
  64. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +14 -13
  65. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +47 -44
  66. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  67. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  68. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +40 -38
  69. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  70. package/dist/extensions/Blocks/Items/controls/settingsControl.js +162 -155
  71. package/dist/extensions/Blocks/Items/enums/productEnums.js +14 -9
  72. package/dist/extensions/Blocks/Items/template.js +210 -210
  73. package/dist/extensions/Blocks/RadioButton/template.js +1 -1
  74. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  75. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +133 -128
  76. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +9 -9
  77. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +10 -10
  78. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  79. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +18 -17
  80. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +6 -4
  81. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +90 -82
  82. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  83. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  84. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +36 -35
  85. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +135 -134
  86. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  87. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +10 -10
  88. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  89. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  90. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  91. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  92. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  93. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  94. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  95. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  96. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  97. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +20 -18
  98. package/dist/extensions/Blocks/Recommendation/extension.js +32 -31
  99. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +16 -8
  100. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +64 -54
  101. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +23 -22
  102. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  103. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  104. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  105. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +25 -24
  106. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
  107. package/dist/extensions/Blocks/Recommendation/templates/utils.js +47 -45
  108. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +16 -13
  109. package/dist/extensions/Blocks/Recommendation/validation/requiredFields.js +33 -0
  110. package/dist/extensions/Blocks/Unsubscribe/control.js +13 -11
  111. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +18 -16
  112. package/dist/extensions/Blocks/common-control.js +26 -25
  113. package/dist/extensions/DynamicContent/dynamic-content.js +58 -53
  114. package/dist/guido.css +1 -1
  115. package/dist/library.js +12 -11
  116. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +234 -233
  117. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  118. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  119. package/dist/node_modules/lodash-es/_Set.js +6 -0
  120. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  121. package/dist/node_modules/lodash-es/_Stack.js +18 -0
  122. package/dist/node_modules/lodash-es/_Uint8Array.js +5 -0
  123. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  124. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  125. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +20 -0
  126. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  127. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  128. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  129. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  130. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  131. package/dist/node_modules/lodash-es/_baseFor.js +5 -0
  132. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  133. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  134. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  135. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  136. package/dist/node_modules/lodash-es/_baseIsArguments.js +9 -0
  137. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  138. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  139. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  140. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +12 -0
  141. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  142. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  143. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  144. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  145. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  146. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  147. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  148. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  149. package/dist/node_modules/lodash-es/_baseTimes.js +8 -0
  150. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  151. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  152. package/dist/node_modules/lodash-es/_baseUnary.js +8 -0
  153. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  154. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  155. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  156. package/dist/node_modules/lodash-es/_createBaseFor.js +13 -0
  157. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  158. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  159. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  160. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  161. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  162. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  163. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  164. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  165. package/dist/node_modules/lodash-es/_getValue.js +1 -1
  166. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  167. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  168. package/dist/node_modules/lodash-es/_isIndex.js +8 -0
  169. package/dist/node_modules/lodash-es/_isIterateeCall.js +13 -0
  170. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  171. package/dist/node_modules/lodash-es/_isPrototype.js +8 -0
  172. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  173. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  174. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  175. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  176. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  177. package/dist/node_modules/lodash-es/_nodeUtil.js +11 -0
  178. package/dist/node_modules/lodash-es/_overArg.js +8 -0
  179. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  180. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  181. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  182. package/dist/node_modules/lodash-es/_stackClear.js +7 -0
  183. package/dist/node_modules/lodash-es/_stackDelete.js +7 -0
  184. package/dist/node_modules/lodash-es/_stackGet.js +6 -0
  185. package/dist/node_modules/lodash-es/_stackHas.js +6 -0
  186. package/dist/node_modules/lodash-es/_stackSet.js +17 -0
  187. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  188. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  189. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  190. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  191. package/dist/node_modules/lodash-es/get.js +8 -0
  192. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  193. package/dist/node_modules/lodash-es/identity.js +6 -0
  194. package/dist/node_modules/lodash-es/isArguments.js +10 -0
  195. package/dist/node_modules/lodash-es/isArray.js +4 -0
  196. package/dist/node_modules/lodash-es/isArrayLike.js +8 -0
  197. package/dist/node_modules/lodash-es/isBuffer.js +6 -0
  198. package/dist/node_modules/lodash-es/isLength.js +7 -0
  199. package/dist/node_modules/lodash-es/isObjectLike.js +6 -0
  200. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  201. package/dist/node_modules/lodash-es/isTypedArray.js +7 -0
  202. package/dist/node_modules/lodash-es/keys.js +9 -0
  203. package/dist/node_modules/lodash-es/map.js +11 -0
  204. package/dist/node_modules/lodash-es/property.js +10 -0
  205. package/dist/node_modules/lodash-es/range.js +5 -0
  206. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  207. package/dist/node_modules/lodash-es/stubFalse.js +6 -0
  208. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  209. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  210. package/dist/node_modules/lodash-es/toString.js +7 -0
  211. package/dist/node_modules/valibot/dist/index.js +126 -122
  212. package/dist/services/recommendationApi.js +17 -14
  213. package/dist/services/templateLibraryApi.js +40 -38
  214. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  215. package/dist/src/composables/useHtmlCompiler.d.ts +2 -1
  216. package/dist/src/composables/validators/useCouponBlockValidator.d.ts +3 -0
  217. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  218. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +7 -1
  219. package/dist/src/extensions/Blocks/Recommendation/validation/requiredFields.d.ts +21 -0
  220. package/dist/src/stores/dynamic-content.d.ts +3 -3
  221. package/dist/stores/config.js +81 -25
  222. package/dist/stores/dynamic-content.js +11 -6
  223. package/dist/stores/onboarding.js +1 -1
  224. package/dist/stores/preview.js +9 -6
  225. package/dist/stores/unsubscribe.js +4 -1
  226. package/dist/utils/dateUtil.js +10 -7
  227. package/dist/utils/genericUtil.js +13 -10
  228. package/dist/utils/pairProductVariables.js +89 -87
  229. package/package.json +1 -6
  230. package/dist/enums/displayConditions.js +0 -80
  231. package/dist/src/enums/displayConditions.d.ts +0 -2
@@ -1,32 +1,32 @@
1
- var Y = Object.defineProperty;
2
- var X = (p, f, t) => f in p ? Y(p, f, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[f] = t;
3
- var C = (p, f, t) => X(p, typeof f != "symbol" ? f + "" : f, t);
4
- import { UIElementType as _, UEAttr as $, ModificationDescription as y } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as J } from "../../../common-control.js";
6
- import { DEFAULT_COMPOSITION as H, DEFAULT_VISIBILITY as k } from "../../constants/defaultConfig.js";
7
- import { RecommendationConfigService as Q } from "../../services/configService.js";
8
- import { useRecommendationExtensionStore as Z } from "../../store/recommendation.js";
9
- import { ATTRIBUTE_CELL_CLASS as tt, gridElementRenderer as et, DEFAULT_CELL_PADDING as rt } from "../../templates/grid/elementRenderer.js";
10
- import { listElementRenderer as ot } from "../../templates/list/elementRenderer.js";
11
- import { toDisplayName as st, isDefaultAttribute as it, buildElementRenderer as q } from "../../templates/utils.js";
12
- import { getTableDisplayValue as nt } from "../../utils/tagName.js";
13
- import { getCurrentLayout as lt } from "../main/utils.js";
14
- import { ATTR_PRODUCT_IMAGE as L, ATTR_PRODUCT_NAME as at, ATTR_PRODUCT_PRICE as ct, ATTR_PRODUCT_OLD_PRICE as dt, ATTR_PRODUCT_OMNIBUS_PRICE as ut, ATTR_PRODUCT_OMNIBUS_DISCOUNT as mt, ATTR_PRODUCT_BUTTON as D, ATTR_DATA_CUSTOM_ATTRIBUTES as w, ATTR_CUSTOM_PREFIX as m, BUILT_IN_DEFAULT_ATTRIBUTES as ht } from "../../constants/selectors.js";
15
- const pt = "ui-elements-recommendation-card-composition", T = ".recommendation-attribute-row", N = ".product-card-wrapper > tbody", P = ".product-info-cell > table > tbody", F = "data-card-composition", b = "data-attribute-type", I = "data-visibility", M = {
1
+ var X = Object.defineProperty;
2
+ var J = (p, _, t) => _ in p ? X(p, _, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[_] = t;
3
+ var C = (p, _, t) => J(p, typeof _ != "symbol" ? _ + "" : _, t);
4
+ import { UIElementType as f, UEAttr as $, ModificationDescription as A } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as Q } from "../../../common-control.js";
6
+ import { ATTR_PRODUCT_IMAGE as L, ATTR_PRODUCT_NAME as Z, ATTR_PRODUCT_PRICE as tt, ATTR_PRODUCT_OLD_PRICE as et, ATTR_PRODUCT_OMNIBUS_PRICE as rt, ATTR_PRODUCT_OMNIBUS_DISCOUNT as ot, ATTR_PRODUCT_BUTTON as D, ATTR_DATA_CUSTOM_ATTRIBUTES as k, ATTR_CUSTOM_PREFIX as m, BUILT_IN_DEFAULT_ATTRIBUTES as st } from "../../constants/selectors.js";
7
+ import { DEFAULT_COMPOSITION as q, DEFAULT_VISIBILITY as P } from "../../constants/defaultConfig.js";
8
+ import { RecommendationConfigService as it } from "../../services/configService.js";
9
+ import { useRecommendationExtensionStore as nt } from "../../store/recommendation.js";
10
+ import { ATTRIBUTE_CELL_CLASS as lt, gridElementRenderer as at, DEFAULT_CELL_PADDING as ct } from "../../templates/grid/elementRenderer.js";
11
+ import { listElementRenderer as ut } from "../../templates/list/elementRenderer.js";
12
+ import { toDisplayName as dt, isDefaultAttribute as mt, buildElementRenderer as F } from "../../templates/utils.js";
13
+ import { getTableDisplayValue as ht } from "../../utils/tagName.js";
14
+ import { getCurrentLayout as pt } from "../main/utils.js";
15
+ const _t = "ui-elements-recommendation-card-composition", S = ".recommendation-attribute-row", N = ".product-card-wrapper > tbody", w = ".product-info-cell > table > tbody", M = "data-card-composition", y = "data-attribute-type", I = "data-visibility", x = {
16
16
  ADD_ATTRIBUTE: "addAttribute"
17
17
  }, g = 5, v = "reorderIcon_", h = [
18
18
  { key: L, label: "Product Image" },
19
- { key: at, label: "Product Name" },
20
- { key: ct, label: "Product Price" },
21
- { key: dt, label: "Product Original Price" },
22
- { key: ut, label: "Omnibus Price" },
23
- { key: mt, label: "Omnibus Discount" },
19
+ { key: Z, label: "Product Name" },
20
+ { key: tt, label: "Product Price" },
21
+ { key: et, label: "Product Original Price" },
22
+ { key: rt, label: "Omnibus Price" },
23
+ { key: ot, label: "Omnibus Discount" },
24
24
  { key: D, label: "Product Button" }
25
- ], ft = new Set(h.map((p) => p.key)), A = "customAttr_", O = "deleteAttr_";
26
- class Et extends J {
25
+ ], ft = new Set(h.map((p) => p.key)), T = "customAttr_", E = "deleteAttr_";
26
+ class Nt extends Q {
27
27
  constructor() {
28
28
  super(...arguments);
29
- C(this, "store", Z());
29
+ C(this, "store", nt());
30
30
  C(this, "unsubscribeStore", null);
31
31
  C(this, "eventController", null);
32
32
  /**
@@ -36,7 +36,7 @@ class Et extends J {
36
36
  C(this, "reorderInProgress", !1);
37
37
  }
38
38
  getId() {
39
- return pt;
39
+ return _t;
40
40
  }
41
41
  // ========================================================================
42
42
  // Lifecycle
@@ -48,10 +48,10 @@ class Et extends J {
48
48
  </div>
49
49
  `).join(""), r = Array.from(
50
50
  { length: g },
51
- (l, d) => `
52
- <div data-custom-select-key="${A}${d}" style="display: none;">
51
+ (l, u) => `
52
+ <div data-custom-select-key="${T}${u}" style="display: none;">
53
53
  ${this._GuSelect({
54
- name: `${A}${d}`,
54
+ name: `${T}${u}`,
55
55
  placeholder: this.api.translate("Select Attribute"),
56
56
  options: []
57
57
  })}
@@ -59,32 +59,32 @@ class Et extends J {
59
59
  `
60
60
  ).join(""), e = h.length + g, o = Array.from(
61
61
  { length: e },
62
- (l, d) => `
63
- <div data-reorder-icon-key="${v}${d}" style="display: none;">
64
- <${_.BUTTON}
62
+ (l, u) => `
63
+ <div data-reorder-icon-key="${v}${u}" style="display: none;">
64
+ <${f.BUTTON}
65
65
  class="drag-handle-btn flat-inline flat-white"
66
- ${$.BUTTON.name}="${v}${d}"
66
+ ${$.BUTTON.name}="${v}${u}"
67
67
  >
68
- <${_.ICON}
68
+ <${f.ICON}
69
69
  src="reorder"
70
70
  class="icon-button"
71
- ></${_.ICON}>
72
- </${_.BUTTON}>
71
+ ></${f.ICON}>
72
+ </${f.BUTTON}>
73
73
  </div>
74
74
  `
75
75
  ).join(""), s = Array.from(
76
76
  { length: g },
77
- (l, d) => `
78
- <div data-custom-delete-key="${O}${d}" style="display: none;">
79
- <${_.BUTTON}
77
+ (l, u) => `
78
+ <div data-custom-delete-key="${E}${u}" style="display: none;">
79
+ <${f.BUTTON}
80
80
  class="custom-attr-delete flat-inline flat-white"
81
- ${$.BUTTON.name}="${O}${d}"
81
+ ${$.BUTTON.name}="${E}${u}"
82
82
  >
83
- <${_.ICON}
83
+ <${f.ICON}
84
84
  src="delete"
85
85
  class="icon-button"
86
- ></${_.ICON}>
87
- </${_.BUTTON}>
86
+ ></${f.ICON}>
87
+ </${f.BUTTON}>
88
88
  </div>
89
89
  `
90
90
  ).join(""), i = "https://academy.insiderone.com/docs/new-editor-email-recommendation-block", n = this.api.translate(
@@ -120,7 +120,7 @@ class Et extends J {
120
120
  <div class="orderable-list" data-composition-list></div>
121
121
 
122
122
  ${this._GuButton({
123
- name: M.ADD_ATTRIBUTE,
123
+ name: x.ADD_ATTRIBUTE,
124
124
  label: this.api.translate("Add Attribute"),
125
125
  id: "guido__btn-add-attribute"
126
126
  })}
@@ -150,7 +150,7 @@ class Et extends J {
150
150
  });
151
151
  });
152
152
  for (let t = 0; t < g; t++) {
153
- const r = `${A}${t}`, e = t;
153
+ const r = `${T}${t}`, e = t;
154
154
  this.api.onValueChanged(r, (o) => {
155
155
  this._onCustomAttributeChanged(e, o);
156
156
  });
@@ -161,14 +161,14 @@ class Et extends J {
161
161
  // ========================================================================
162
162
  _readCompositionFromNode() {
163
163
  if (!this.currentNode || !("getAttribute" in this.currentNode))
164
- return [...H];
165
- const t = this.currentNode.getAttribute(F);
166
- return t ? t.split(",").filter(Boolean) : [...H];
164
+ return [...q];
165
+ const t = this.currentNode.getAttribute(M);
166
+ return t ? t.split(",").filter(Boolean) : [...q];
167
167
  }
168
168
  _readCustomAttributesFromNode() {
169
169
  if (!this.currentNode || !("getAttribute" in this.currentNode))
170
170
  return [];
171
- const t = this.currentNode.getAttribute(w);
171
+ const t = this.currentNode.getAttribute(k);
172
172
  if (!t)
173
173
  return [];
174
174
  try {
@@ -180,18 +180,18 @@ class Et extends J {
180
180
  _readVisibilityFromRows() {
181
181
  if (!this.currentNode)
182
182
  return this._getDefaultVisibilities();
183
- const t = Array.from(this.currentNode.querySelectorAll(T)), r = this._extractVisibilityFromRows(t);
183
+ const t = Array.from(this.currentNode.querySelectorAll(S)), r = this._extractVisibilityFromRows(t);
184
184
  return this._mergeWithDefaults(r);
185
185
  }
186
186
  _getDefaultVisibilities() {
187
- return { ...k };
187
+ return { ...P };
188
188
  }
189
189
  _extractVisibilityFromRows(t) {
190
190
  const r = {};
191
191
  return t.forEach((e) => {
192
192
  if (!("getAttribute" in e))
193
193
  return;
194
- const o = e.getAttribute(b), s = e.getAttribute(I);
194
+ const o = e.getAttribute(y), s = e.getAttribute(I);
195
195
  o && s !== null && (r[o] = this._parseVisibilityValue(s));
196
196
  }), r;
197
197
  }
@@ -199,7 +199,7 @@ class Et extends J {
199
199
  return t === "1" || t === "true";
200
200
  }
201
201
  _mergeWithDefaults(t) {
202
- return Object.entries(k).forEach(([r, e]) => {
202
+ return Object.entries(P).forEach(([r, e]) => {
203
203
  r in t || (t[r] = e);
204
204
  }), t;
205
205
  }
@@ -225,7 +225,7 @@ class Et extends J {
225
225
  let i = 0, n = 0;
226
226
  const c = t.map((a) => {
227
227
  if (ft.has(a)) {
228
- const l = h.find((d) => d.key === a);
228
+ const l = h.find((u) => u.key === a);
229
229
  return this._createBuiltInItemHtml(l, n++);
230
230
  }
231
231
  if (a.startsWith(m)) {
@@ -257,8 +257,8 @@ class Et extends J {
257
257
  e.forEach((a) => {
258
258
  const { key: l } = a.dataset;
259
259
  if (l) {
260
- const d = n.get(l) || [];
261
- d.push(a), n.set(l, d);
260
+ const u = n.get(l) || [];
261
+ u.push(a), n.set(l, u);
262
262
  }
263
263
  });
264
264
  const c = /* @__PURE__ */ new Map();
@@ -266,8 +266,8 @@ class Et extends J {
266
266
  const l = n.get(a);
267
267
  if (!l)
268
268
  return;
269
- const d = c.get(a) || 0;
270
- c.set(a, d + 1), l[d] && t.appendChild(l[d]);
269
+ const u = c.get(a) || 0;
270
+ c.set(a, u + 1), l[u] && t.appendChild(l[u]);
271
271
  }), !0;
272
272
  }
273
273
  _createBuiltInItemHtml(t, r) {
@@ -315,7 +315,7 @@ class Et extends J {
315
315
  _initializeCustomSelects(t) {
316
316
  t.length !== 0 && setTimeout(() => {
317
317
  t.forEach((r, e) => {
318
- const o = `${A}${e}`, s = this._getSelectOptions(r, t);
318
+ const o = `${T}${e}`, s = this._getSelectOptions(r, t);
319
319
  this.api.setUIEAttribute(o, $.SELECTPICKER.items, s), this.api.updateValues({ [o]: r });
320
320
  });
321
321
  }, 0);
@@ -339,7 +339,7 @@ class Et extends J {
339
339
  */
340
340
  _moveSelectsIntoItems(t, r) {
341
341
  for (let e = 0; e < r; e++) {
342
- const o = `${A}${e}`, s = t.querySelector(`[data-custom-select-key="${o}"]`), i = t.querySelector(`[data-custom-select-slot="${e}"]`);
342
+ const o = `${T}${e}`, s = t.querySelector(`[data-custom-select-key="${o}"]`), i = t.querySelector(`[data-custom-select-slot="${e}"]`);
343
343
  if (s && i) {
344
344
  const n = s.querySelector("ue-select");
345
345
  n && i.appendChild(n);
@@ -367,7 +367,7 @@ class Et extends J {
367
367
  */
368
368
  _rescueSelectsToStore(t) {
369
369
  for (let r = 0; r < g; r++) {
370
- const e = `${A}${r}`, o = t.querySelector(`[data-custom-select-key="${e}"]`), s = t.querySelector(`[data-custom-select-slot="${r}"]`);
370
+ const e = `${T}${r}`, o = t.querySelector(`[data-custom-select-key="${e}"]`), s = t.querySelector(`[data-custom-select-slot="${r}"]`);
371
371
  if (s) {
372
372
  const i = s.querySelector("ue-select");
373
373
  i && o && o.appendChild(i);
@@ -380,7 +380,7 @@ class Et extends J {
380
380
  */
381
381
  _moveDeleteButtonsIntoItems(t, r) {
382
382
  for (let e = 0; e < r; e++) {
383
- const o = `${O}${e}`, s = t.querySelector(`[data-custom-delete-key="${o}"]`), i = t.querySelector(`[data-custom-delete-slot="${e}"]`);
383
+ const o = `${E}${e}`, s = t.querySelector(`[data-custom-delete-key="${o}"]`), i = t.querySelector(`[data-custom-delete-slot="${e}"]`);
384
384
  if (s && i) {
385
385
  const n = s.querySelector("ue-button");
386
386
  n && i.appendChild(n);
@@ -393,7 +393,7 @@ class Et extends J {
393
393
  */
394
394
  _rescueDeleteButtonsToStore(t) {
395
395
  for (let r = 0; r < g; r++) {
396
- const e = `${O}${r}`, o = t.querySelector(`[data-custom-delete-key="${e}"]`), s = t.querySelector(`[data-custom-delete-slot="${r}"]`);
396
+ const e = `${E}${r}`, o = t.querySelector(`[data-custom-delete-key="${e}"]`), s = t.querySelector(`[data-custom-delete-slot="${r}"]`);
397
397
  if (s) {
398
398
  const i = s.querySelector("ue-button");
399
399
  i && o && o.appendChild(i);
@@ -444,23 +444,24 @@ class Et extends J {
444
444
  _setupDragAndDrop(t, r) {
445
445
  let e = null, o = null;
446
446
  t.addEventListener("dragstart", (s) => {
447
+ var c;
447
448
  const n = s.target.closest(".orderable-item");
448
- n && (e = n, n.classList.add("dragging"), s.dataTransfer?.setData("text/plain", n.dataset.key || ""));
449
+ n && (e = n, n.classList.add("dragging"), (c = s.dataTransfer) == null || c.setData("text/plain", n.dataset.key || ""));
449
450
  }, { signal: r }), t.addEventListener("dragend", () => {
450
- e && e.classList.remove("dragging"), e = null, o?.classList.remove("drag-over"), o = null;
451
+ e && e.classList.remove("dragging"), e = null, o == null || o.classList.remove("drag-over"), o = null;
451
452
  }, { signal: r }), t.addEventListener("dragover", (s) => {
452
453
  s.preventDefault();
453
454
  const n = s.target.closest(".orderable-item"), c = n && n !== e ? n : null;
454
- c !== o && (o?.classList.remove("drag-over"), o = c, o?.classList.add("drag-over"));
455
+ c !== o && (o == null || o.classList.remove("drag-over"), o = c, o == null || o.classList.add("drag-over"));
455
456
  }, { signal: r }), t.addEventListener("drop", (s) => {
456
457
  s.preventDefault();
457
458
  const n = s.target.closest(".orderable-item");
458
459
  if (!n || !e || n === e)
459
460
  return;
460
461
  const c = n.getBoundingClientRect(), a = c.top + c.height / 2;
461
- s.clientY < a ? t.insertBefore(e, n) : t.insertBefore(e, n.nextSibling), o?.classList.remove("drag-over"), o = null, e.classList.remove("dragging");
462
- const d = t.querySelectorAll(".orderable-item"), u = Array.from(d).map((S) => S.dataset.key).filter(Boolean);
463
- this._onReorder(u), e = null;
462
+ s.clientY < a ? t.insertBefore(e, n) : t.insertBefore(e, n.nextSibling), o == null || o.classList.remove("drag-over"), o = null, e.classList.remove("dragging");
463
+ const u = t.querySelectorAll(".orderable-item"), d = Array.from(u).map((b) => b.dataset.key).filter(Boolean);
464
+ this._onReorder(d), e = null;
464
465
  }, { signal: r });
465
466
  }
466
467
  _setupDeleteHandler(t, r) {
@@ -468,7 +469,7 @@ class Et extends J {
468
469
  const s = e.target.closest(".custom-attr-delete");
469
470
  if (!s)
470
471
  return;
471
- const n = s.closest("[data-custom-index]")?.dataset.customIndex;
472
+ const i = s.closest("[data-custom-index]"), n = i == null ? void 0 : i.dataset.customIndex;
472
473
  n !== void 0 && this._onDeleteCustomAttribute(Number(n));
473
474
  }, { signal: r });
474
475
  }
@@ -525,55 +526,56 @@ class Et extends J {
525
526
  }
526
527
  _injectGridAttributeRow(t, r, e, o) {
527
528
  const s = this.currentNode.querySelectorAll(N);
528
- if (!s?.length)
529
+ if (!(s != null && s.length))
529
530
  return;
530
- const i = Q.getConfig(this.currentNode), c = `0 ${Math.floor(i.columnSpacing / 2)}px`, a = this.api.getDocumentModifier(), l = this.store.recommendationProducts.length;
531
- let d = 0;
532
- s.forEach((u) => {
533
- const R = u.querySelector(T)?.querySelectorAll(`.${tt}`)?.length || 1, x = (100 / R).toFixed(2), { bgStyle: V, bgAttr: j } = this._extractSegmentBgFromCard(u), W = o.map((B) => {
531
+ const i = it.getConfig(this.currentNode), c = `0 ${Math.floor(i.columnSpacing / 2)}px`, a = this.api.getDocumentModifier(), l = this.store.recommendationProducts.length;
532
+ let u = 0;
533
+ s.forEach((d) => {
534
+ var U;
535
+ const b = d.querySelector(S), R = ((U = b == null ? void 0 : b.querySelectorAll(`.${lt}`)) == null ? void 0 : U.length) || 1, V = (100 / R).toFixed(2), { bgStyle: j, bgAttr: W } = this._extractSegmentBgFromCard(d), K = o.map((B) => {
534
536
  if (B === e) {
535
- const K = Array.from(
537
+ const z = Array.from(
536
538
  { length: R },
537
- (_t, U) => {
538
- const z = l > 0 ? (d + U) % l : U, G = this._resolveAttributeContent(t, r, z);
539
+ (gt, H) => {
540
+ const G = l > 0 ? (u + H) % l : H, Y = this._resolveAttributeContent(t, r, G);
539
541
  return this._getGridCellHtml(
540
542
  t,
541
- G,
542
- x,
543
+ Y,
543
544
  V,
544
545
  j,
546
+ W,
545
547
  c
546
548
  );
547
549
  }
548
550
  ).join("");
549
- return `<tr class="recommendation-attribute-row" ${b}="${e}" ${I}="1">${K}</tr>`;
551
+ return `<tr class="recommendation-attribute-row" ${y}="${e}" ${I}="1">${z}</tr>`;
550
552
  }
551
- const E = u.querySelector(
552
- `${T}[${b}="${B}"]`
553
+ const O = d.querySelector(
554
+ `${S}[${y}="${B}"]`
553
555
  );
554
- return E && "getOuterHTML" in E ? E.getOuterHTML() : "";
556
+ return O && "getOuterHTML" in O ? O.getOuterHTML() : "";
555
557
  }).join("");
556
- d += R, l > 0 && d >= l && (d = 0), a.modifyHtml(u).setInnerHtml(W);
557
- }), a.apply(new y(`${this.api.translate("Add custom attribute")}: ${r}`));
558
+ u += R, l > 0 && u >= l && (u = 0), a.modifyHtml(d).setInnerHtml(K);
559
+ }), a.apply(new A(`${this.api.translate("Add custom attribute")}: ${r}`));
558
560
  }
559
561
  _injectListAttributeRow(t, r, e, o) {
560
- const s = this.currentNode.querySelectorAll(P);
561
- if (!s?.length)
562
+ const s = this.currentNode.querySelectorAll(w);
563
+ if (!(s != null && s.length))
562
564
  return;
563
565
  const i = o.filter((c) => c !== L && c !== D), n = this.api.getDocumentModifier();
564
566
  s.forEach((c, a) => {
565
- const l = i.map((d) => {
566
- if (d === e) {
567
- const S = this._resolveAttributeContent(t, r, a);
568
- return this._getListRowHtml(t, S, e);
567
+ const l = i.map((u) => {
568
+ if (u === e) {
569
+ const b = this._resolveAttributeContent(t, r, a);
570
+ return this._getListRowHtml(t, b, e);
569
571
  }
570
- const u = c.querySelector(
571
- `${T}[${b}="${d}"]`
572
+ const d = c.querySelector(
573
+ `${S}[${y}="${u}"]`
572
574
  );
573
- return u && "getOuterHTML" in u ? u.getOuterHTML() : "";
575
+ return d && "getOuterHTML" in d ? d.getOuterHTML() : "";
574
576
  }).join("");
575
577
  n.modifyHtml(c).setInnerHtml(l);
576
- }), n.apply(new y(`${this.api.translate("Add custom attribute")}: ${r}`));
578
+ }), n.apply(new A(`${this.api.translate("Add custom attribute")}: ${r}`));
577
579
  }
578
580
  /**
579
581
  * Removes a custom attribute by rebuilding product card content without it.
@@ -583,19 +585,20 @@ class Et extends J {
583
585
  if (!this.currentNode)
584
586
  return;
585
587
  const r = this._getCurrentLayout(), e = this.api.getDocumentModifier();
586
- if (r === "grid")
587
- this.currentNode.querySelectorAll(N)?.forEach((s) => {
588
+ if (r === "grid") {
589
+ const o = this.currentNode.querySelectorAll(N);
590
+ o == null || o.forEach((s) => {
588
591
  const i = this._buildCompositionHtml(s, t);
589
592
  e.modifyHtml(s).setInnerHtml(i);
590
593
  });
591
- else {
592
- const o = t.filter((i) => i !== L && i !== D);
593
- this.currentNode.querySelectorAll(P)?.forEach((i) => {
594
+ } else {
595
+ const o = t.filter((i) => i !== L && i !== D), s = this.currentNode.querySelectorAll(w);
596
+ s == null || s.forEach((i) => {
594
597
  const n = this._buildCompositionHtml(i, o);
595
598
  e.modifyHtml(i).setInnerHtml(n);
596
599
  });
597
600
  }
598
- e.apply(new y(this.api.translate("Remove custom attribute")));
601
+ e.apply(new A(this.api.translate("Remove custom attribute")));
599
602
  }
600
603
  // ========================================================================
601
604
  // DOM Mutation (Block Root Attributes, Reorder)
@@ -608,7 +611,7 @@ class Et extends J {
608
611
  * producing a flicker on the custom attribute dropdowns.
609
612
  */
610
613
  _updateBothAttributes(t, r) {
611
- this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(F, t.join(",")).setAttribute(w, JSON.stringify(r)).apply(new y(this.api.translate("Update card composition")));
614
+ this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(M, t.join(",")).setAttribute(k, JSON.stringify(r)).apply(new A(this.api.translate("Update card composition")));
612
615
  }
613
616
  /**
614
617
  * Reorders attribute rows within each product card based on composition order.
@@ -618,13 +621,13 @@ class Et extends J {
618
621
  if (!this.currentNode)
619
622
  return;
620
623
  const r = this.currentNode.querySelectorAll(N);
621
- if (!r?.length)
624
+ if (!(r != null && r.length))
622
625
  return;
623
626
  const e = this.api.getDocumentModifier();
624
627
  r.forEach((o) => {
625
628
  const s = this._buildCompositionHtml(o, t);
626
629
  e.modifyHtml(o).setInnerHtml(s);
627
- }), e.apply(new y(this.api.translate("Reorder product attributes")));
630
+ }), e.apply(new A(this.api.translate("Reorder product attributes")));
628
631
  }
629
632
  /**
630
633
  * Builds HTML string with attributes ordered according to composition.
@@ -632,7 +635,7 @@ class Et extends J {
632
635
  */
633
636
  _buildCompositionHtml(t, r) {
634
637
  return r.reduce((e, o) => {
635
- const s = t.querySelector(`${T}[${b}="${o}"]`);
638
+ const s = t.querySelector(`${S}[${y}="${o}"]`);
636
639
  return s && "getOuterHTML" in s ? e + s.getOuterHTML() : e;
637
640
  }, "");
638
641
  }
@@ -642,14 +645,14 @@ class Et extends J {
642
645
  _applyVisibilityToBlock(t, r) {
643
646
  if (!this.currentNode)
644
647
  return;
645
- const e = this.currentNode.querySelectorAll(`${T}[${b}="${t}"]`);
646
- if (!e?.length)
648
+ const e = this.currentNode.querySelectorAll(`${S}[${y}="${t}"]`);
649
+ if (!(e != null && e.length))
647
650
  return;
648
651
  const o = r ? "1" : "0", s = r ? this.api.translate("visible") : this.api.translate("hidden"), i = `${this.api.translate("Set visibility")}: ${t} → ${s}`, n = this.api.getDocumentModifier();
649
652
  e.forEach((c) => {
650
- const a = nt(c), l = r ? a : "none";
653
+ const a = ht(c), l = r ? a : "none";
651
654
  n.modifyHtml(c).setStyle("display", l).setAttribute(I, o);
652
- }), n.apply(new y(i));
655
+ }), n.apply(new A(i));
653
656
  }
654
657
  // ========================================================================
655
658
  // Utilities
@@ -670,7 +673,7 @@ class Et extends J {
670
673
  return -1;
671
674
  }
672
675
  _getCurrentLayout() {
673
- return this.store.recommendationConfigs.orientation || lt(this.currentNode);
676
+ return this.store.recommendationConfigs.orientation || pt(this.currentNode);
674
677
  }
675
678
  /**
676
679
  * Extracts background color properties from existing card elements.
@@ -679,20 +682,21 @@ class Et extends J {
679
682
  * Used when injecting new attribute cells to match the card's current background.
680
683
  */
681
684
  _extractSegmentBgFromCard(t) {
685
+ var o;
682
686
  const r = t.querySelector(".product-card-segment");
683
687
  if (r && "getAttribute" in r) {
684
- const s = (r.getAttribute("style") || "").match(/background-color:\s*([^;]+)/);
685
- if (s) {
686
- const i = r.getAttribute("bgcolor") || "";
687
- return { bgStyle: `background-color: ${s[1].trim()};`, bgAttr: i };
688
+ const i = (r.getAttribute("style") || "").match(/background-color:\s*([^;]+)/);
689
+ if (i) {
690
+ const n = r.getAttribute("bgcolor") || "";
691
+ return { bgStyle: `background-color: ${i[1].trim()};`, bgAttr: n };
688
692
  }
689
693
  }
690
- const e = this.currentNode?.querySelector(".product-card-wrapper");
694
+ const e = (o = this.currentNode) == null ? void 0 : o.querySelector(".product-card-wrapper");
691
695
  if (e && "getStyle" in e) {
692
- const o = e.getStyle("background-color");
693
- if (o && o !== "transparent") {
694
- const s = "getAttribute" in e && e.getAttribute("bgcolor") || "";
695
- return { bgStyle: `background-color: ${o};`, bgAttr: s };
696
+ const s = e.getStyle("background-color");
697
+ if (s && s !== "transparent") {
698
+ const i = "getAttribute" in e && e.getAttribute("bgcolor") || "";
699
+ return { bgStyle: `background-color: ${s};`, bgAttr: i };
696
700
  }
697
701
  }
698
702
  return { bgStyle: "", bgAttr: "" };
@@ -722,7 +726,7 @@ class Et extends J {
722
726
  _updateAddButtonState() {
723
727
  const t = this._readCustomAttributesFromNode(), r = t.length >= g, e = new Set(t), o = this._getAddableFilters(), s = o.length > 0 && o.every((i) => e.has(i.attributeName));
724
728
  this.api.setUIEAttribute(
725
- M.ADD_ATTRIBUTE,
729
+ x.ADD_ATTRIBUTE,
726
730
  $.BUTTON.disabled,
727
731
  r || s ? "true" : "false"
728
732
  );
@@ -746,7 +750,7 @@ class Et extends J {
746
750
  * excluding default attributes already covered by built-in toggle items.
747
751
  */
748
752
  _getAddableFilters() {
749
- return Object.values(this.store.filterList).filter((t) => !(t.type === "defaultAttribute" && ht.has(t.attributeName)));
753
+ return Object.values(this.store.filterList).filter((t) => !(t.type === "defaultAttribute" && st.has(t.attributeName)));
750
754
  }
751
755
  /**
752
756
  * Looks up the display name for an attribute from the store's filterList.
@@ -754,36 +758,37 @@ class Et extends J {
754
758
  */
755
759
  _getDisplayNameForAttribute(t) {
756
760
  const r = Object.values(this.store.filterList).find((e) => e.attributeName === t);
757
- return r ? r.displayName : st(t);
761
+ return r ? r.displayName : dt(t);
758
762
  }
759
763
  /**
760
764
  * Resolves the display content for a custom attribute cell.
761
765
  * Uses the real product value from the store when available, falls back to displayName.
762
766
  */
763
767
  _resolveAttributeContent(t, r, e) {
764
- const s = this.store.recommendationProducts[e], i = it(t, this.store.filterList) ? s?.[t] : s?.product_attributes?.[t];
768
+ var n;
769
+ const s = this.store.recommendationProducts[e], i = mt(t, this.store.filterList) ? s == null ? void 0 : s[t] : (n = s == null ? void 0 : s.product_attributes) == null ? void 0 : n[t];
765
770
  return typeof i == "string" ? i : typeof i == "number" ? String(i) : r;
766
771
  }
767
772
  _getGridCellHtml(t, r, e, o = "", s = "", i = "") {
768
- const n = `${m}${t}`, c = q(et, [n], this.store.filterList), a = {
773
+ const n = `${m}${t}`, c = F(at, [n], this.store.filterList), a = {
769
774
  [t]: r,
770
775
  product_attributes: { [t]: r }
771
776
  };
772
777
  let l = c[n](a);
773
778
  return l = l.replace("<td", `<td width="${e}%"`), i && (l = l.replace(
774
- `padding: ${rt}`,
779
+ `padding: ${ct}`,
775
780
  `padding: ${i}`
776
781
  )), o && (l = l.replace(/style="table-layout: fixed;"/, `style="table-layout: fixed; ${o}"`)), s && (l = l.replace(/border="0"/, `border="0" bgcolor="${s}"`)), l;
777
782
  }
778
783
  _getListRowHtml(t, r, e) {
779
- const o = q(ot, [e], this.store.filterList), s = {
784
+ const o = F(ut, [e], this.store.filterList), s = {
780
785
  [t]: r,
781
786
  product_attributes: { [t]: r }
782
787
  }, n = o[e](s).replace(/<tr>/, "").replace(/<\/tr>/, "");
783
- return `<tr class="recommendation-attribute-row" ${b}="${e}" ${I}="1">${n}</tr>`;
788
+ return `<tr class="recommendation-attribute-row" ${y}="${e}" ${I}="1">${n}</tr>`;
784
789
  }
785
790
  }
786
791
  export {
787
- pt as COMPOSITION_CONTROL_BLOCK_ID,
788
- Et as RecommendationCardCompositionControl
792
+ _t as COMPOSITION_CONTROL_BLOCK_ID,
793
+ Nt as RecommendationCardCompositionControl
789
794
  };
@@ -1,19 +1,19 @@
1
1
  import { TextPaddingsBuiltInControl as d, ButtonBackgroundColorBuiltInControl as i, TextFontFamilyBuiltInControl as u, TextStyleBuiltInControl as c, TextSizeBuiltInControl as C, TextColorBuiltInControl as g, TextAlignBuiltInControl as a } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CustomAttributeTextTrimControl as A } from "./textTrim.js";
2
+ import { RecommendationBlockId as l } from "../../constants/blockIds.js";
3
3
  import { RecommendationControlId as e } from "../../constants/controlIds.js";
4
- import { BLOCK_ROOT_SELECTOR as I, ATTR_PRODUCT_ATTR as l } from "../../constants/selectors.js";
5
- import { RecommendationBlockId as s } from "../../constants/blockIds.js";
4
+ import { BLOCK_ROOT_SELECTOR as A, ATTR_PRODUCT_ATTR as s } from "../../constants/selectors.js";
5
+ import { CustomAttributeTextTrimControl as I } from "./textTrim.js";
6
6
  function o(t) {
7
- const r = t.closest(I);
7
+ const r = t.closest(A);
8
8
  if (!r)
9
9
  return [];
10
- const n = t.asElement().getAttribute(l);
10
+ const n = t.asElement().getAttribute(s);
11
11
  if (n) {
12
- const T = `[esd-extension-block-id="${s.CUSTOM_ATTRIBUTE}"][${l}="${n}"]`;
12
+ const T = `[esd-extension-block-id="${l.CUSTOM_ATTRIBUTE}"][${s}="${n}"]`;
13
13
  return r.querySelectorAll(T);
14
14
  }
15
15
  return r.querySelectorAll(
16
- `[esd-extension-block-id="${s.CUSTOM_ATTRIBUTE}"]`
16
+ `[esd-extension-block-id="${l.CUSTOM_ATTRIBUTE}"]`
17
17
  );
18
18
  }
19
19
  const m = class extends a {
@@ -73,9 +73,9 @@ const m = class extends a {
73
73
  fontFamily: O,
74
74
  background: R,
75
75
  paddings: B,
76
- textTrim: A
76
+ textTrim: I
77
77
  };
78
78
  export {
79
79
  p as CustomAttributeControls,
80
- A as CustomAttributeTextTrimControl
80
+ I as CustomAttributeTextTrimControl
81
81
  };