@useinsider/guido 3.2.0-beta.78d83bd → 3.2.0-beta.7e0c6bd

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 (265) 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 +49 -31
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +12 -13
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +36 -38
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +12 -13
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +47 -51
  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 +12 -13
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +33 -46
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +11 -12
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +20 -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 +8 -9
  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/useRibbonOffset.js +21 -0
  41. package/dist/composables/useSave.js +21 -22
  42. package/dist/composables/useStripo.js +53 -50
  43. package/dist/composables/useSyncModuleExtractor.js +31 -29
  44. package/dist/composables/useTimerClone.js +24 -25
  45. package/dist/composables/useTranslations.js +23 -16
  46. package/dist/composables/useValidation.js +7 -8
  47. package/dist/composables/validators/useLiquidValidator.js +13 -13
  48. package/dist/config/compiler/unsubscribeCompilerRules.js +17 -19
  49. package/dist/config/compiler/utils/recommendationCompilerUtils.js +10 -11
  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 +106 -109
  55. package/dist/config/migrator/unsubscribeMigrator.js +10 -11
  56. package/dist/enums/onboarding.js +7 -2
  57. package/dist/enums/unsubscribe.js +18 -19
  58. package/dist/extensions/Blocks/Items/block.js +9 -9
  59. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  60. package/dist/extensions/Blocks/Items/controls/cardComposition.js +89 -97
  61. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  62. package/dist/extensions/Blocks/Items/controls/name/trimming.js +23 -24
  63. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +13 -14
  64. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +44 -47
  65. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  66. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  67. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +38 -40
  68. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  69. package/dist/extensions/Blocks/Items/controls/settingsControl.js +155 -162
  70. package/dist/extensions/Blocks/Items/enums/productEnums.js +9 -14
  71. package/dist/extensions/Blocks/Items/template.js +218 -216
  72. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  73. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +128 -133
  74. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +9 -9
  75. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +10 -10
  76. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  77. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +17 -18
  78. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +4 -6
  79. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +82 -90
  80. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  81. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  82. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +35 -36
  83. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +134 -135
  84. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  85. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +10 -10
  86. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  87. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  88. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  89. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  90. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  91. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  92. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  93. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  94. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  95. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +18 -20
  96. package/dist/extensions/Blocks/Recommendation/extension.js +31 -32
  97. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +8 -16
  98. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +55 -56
  99. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +22 -23
  100. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  101. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  102. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  103. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +24 -25
  104. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
  105. package/dist/extensions/Blocks/Recommendation/templates/utils.js +45 -47
  106. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +13 -16
  107. package/dist/extensions/Blocks/Unsubscribe/control.js +11 -13
  108. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +16 -18
  109. package/dist/extensions/Blocks/common-control.js +25 -26
  110. package/dist/extensions/DynamicContent/dynamic-content.js +53 -58
  111. package/dist/guido.css +1 -1
  112. package/dist/library.js +11 -12
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +233 -210
  114. package/dist/node_modules/valibot/dist/index.js +122 -126
  115. package/dist/package.json.js +1 -1
  116. package/dist/services/recommendationApi.js +14 -17
  117. package/dist/services/templateLibraryApi.js +37 -38
  118. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  119. package/dist/src/composables/useHtmlCompiler.d.ts +1 -2
  120. package/dist/src/composables/useRibbonOffset.d.ts +4 -0
  121. package/dist/src/composables/useTranslations.d.ts +1 -1
  122. package/dist/src/enums/onboarding.d.ts +6 -0
  123. package/dist/src/stores/dynamic-content.d.ts +3 -3
  124. package/dist/src/stores/onboarding.d.ts +4 -0
  125. package/dist/stores/config.js +25 -81
  126. package/dist/stores/dynamic-content.js +6 -11
  127. package/dist/stores/onboarding.js +5 -1
  128. package/dist/stores/preview.js +6 -9
  129. package/dist/stores/unsubscribe.js +1 -4
  130. package/dist/utils/dateUtil.js +7 -10
  131. package/dist/utils/genericUtil.js +10 -13
  132. package/dist/utils/pairProductVariables.js +13 -14
  133. package/package.json +8 -5
  134. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  135. package/dist/node_modules/lodash-es/_Hash.js +0 -20
  136. package/dist/node_modules/lodash-es/_ListCache.js +0 -20
  137. package/dist/node_modules/lodash-es/_Map.js +0 -6
  138. package/dist/node_modules/lodash-es/_MapCache.js +0 -20
  139. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  140. package/dist/node_modules/lodash-es/_Set.js +0 -6
  141. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  142. package/dist/node_modules/lodash-es/_Stack.js +0 -18
  143. package/dist/node_modules/lodash-es/_Symbol.js +0 -5
  144. package/dist/node_modules/lodash-es/_Uint8Array.js +0 -5
  145. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  146. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  147. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +0 -20
  148. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  149. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  150. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  151. package/dist/node_modules/lodash-es/_assocIndexOf.js +0 -10
  152. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  153. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  154. package/dist/node_modules/lodash-es/_baseFor.js +0 -5
  155. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  156. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  157. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  158. package/dist/node_modules/lodash-es/_baseGetTag.js +0 -10
  159. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  160. package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -9
  161. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  162. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  163. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  164. package/dist/node_modules/lodash-es/_baseIsNative.js +0 -16
  165. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -12
  166. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  167. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  168. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  169. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  170. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  171. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  172. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  173. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  174. package/dist/node_modules/lodash-es/_baseTimes.js +0 -8
  175. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  176. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  177. package/dist/node_modules/lodash-es/_baseUnary.js +0 -8
  178. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  179. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  180. package/dist/node_modules/lodash-es/_coreJsData.js +0 -5
  181. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  182. package/dist/node_modules/lodash-es/_createBaseFor.js +0 -13
  183. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  184. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  185. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  186. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  187. package/dist/node_modules/lodash-es/_freeGlobal.js +0 -4
  188. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  189. package/dist/node_modules/lodash-es/_getMapData.js +0 -8
  190. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  191. package/dist/node_modules/lodash-es/_getNative.js +0 -9
  192. package/dist/node_modules/lodash-es/_getRawTag.js +0 -15
  193. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  194. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  195. package/dist/node_modules/lodash-es/_getValue.js +0 -6
  196. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  197. package/dist/node_modules/lodash-es/_hashClear.js +0 -7
  198. package/dist/node_modules/lodash-es/_hashDelete.js +0 -7
  199. package/dist/node_modules/lodash-es/_hashGet.js +0 -13
  200. package/dist/node_modules/lodash-es/_hashHas.js +0 -9
  201. package/dist/node_modules/lodash-es/_hashSet.js +0 -9
  202. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  203. package/dist/node_modules/lodash-es/_isIndex.js +0 -8
  204. package/dist/node_modules/lodash-es/_isIterateeCall.js +0 -13
  205. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  206. package/dist/node_modules/lodash-es/_isKeyable.js +0 -7
  207. package/dist/node_modules/lodash-es/_isMasked.js +0 -11
  208. package/dist/node_modules/lodash-es/_isPrototype.js +0 -8
  209. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  210. package/dist/node_modules/lodash-es/_listCacheClear.js +0 -6
  211. package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -12
  212. package/dist/node_modules/lodash-es/_listCacheGet.js +0 -8
  213. package/dist/node_modules/lodash-es/_listCacheHas.js +0 -7
  214. package/dist/node_modules/lodash-es/_listCacheSet.js +0 -8
  215. package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -13
  216. package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  217. package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -7
  218. package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -7
  219. package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -8
  220. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  221. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  222. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  223. package/dist/node_modules/lodash-es/_nativeCreate.js +0 -5
  224. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  225. package/dist/node_modules/lodash-es/_nodeUtil.js +0 -11
  226. package/dist/node_modules/lodash-es/_objectToString.js +0 -7
  227. package/dist/node_modules/lodash-es/_overArg.js +0 -8
  228. package/dist/node_modules/lodash-es/_root.js +0 -5
  229. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  230. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  231. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  232. package/dist/node_modules/lodash-es/_stackClear.js +0 -7
  233. package/dist/node_modules/lodash-es/_stackDelete.js +0 -7
  234. package/dist/node_modules/lodash-es/_stackGet.js +0 -6
  235. package/dist/node_modules/lodash-es/_stackHas.js +0 -6
  236. package/dist/node_modules/lodash-es/_stackSet.js +0 -17
  237. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  238. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  239. package/dist/node_modules/lodash-es/_toSource.js +0 -17
  240. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  241. package/dist/node_modules/lodash-es/eq.js +0 -6
  242. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  243. package/dist/node_modules/lodash-es/get.js +0 -8
  244. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  245. package/dist/node_modules/lodash-es/identity.js +0 -6
  246. package/dist/node_modules/lodash-es/isArguments.js +0 -10
  247. package/dist/node_modules/lodash-es/isArray.js +0 -4
  248. package/dist/node_modules/lodash-es/isArrayLike.js +0 -8
  249. package/dist/node_modules/lodash-es/isBuffer.js +0 -6
  250. package/dist/node_modules/lodash-es/isFunction.js +0 -12
  251. package/dist/node_modules/lodash-es/isLength.js +0 -7
  252. package/dist/node_modules/lodash-es/isObject.js +0 -7
  253. package/dist/node_modules/lodash-es/isObjectLike.js +0 -6
  254. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  255. package/dist/node_modules/lodash-es/isTypedArray.js +0 -7
  256. package/dist/node_modules/lodash-es/keys.js +0 -9
  257. package/dist/node_modules/lodash-es/map.js +0 -11
  258. package/dist/node_modules/lodash-es/memoize.js +0 -18
  259. package/dist/node_modules/lodash-es/property.js +0 -10
  260. package/dist/node_modules/lodash-es/range.js +0 -5
  261. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  262. package/dist/node_modules/lodash-es/stubFalse.js +0 -6
  263. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  264. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  265. package/dist/node_modules/lodash-es/toString.js +0 -7
@@ -1,7 +1,7 @@
1
1
  import { getCsrfToken as H } from "../utils/genericUtil.js";
2
- import { ref as p, computed as T } from "vue";
3
- const k = (b = {}) => {
4
- const h = p(!1), a = p(null), u = p(null), g = T(() => h.value), y = T(() => a.value !== null), v = {
2
+ import { ref as T, computed as h } from "vue";
3
+ const k = (E = {}) => {
4
+ const d = T(!1), n = T(null), l = T(null), b = h(() => d.value), g = h(() => n.value !== null), m = {
5
5
  baseURL: "",
6
6
  timeout: 1e4,
7
7
  retry: 0,
@@ -10,11 +10,11 @@ const k = (b = {}) => {
10
10
  "Content-Type": "application/json",
11
11
  "X-CSRF-TOKEN": H()
12
12
  },
13
- ...b
13
+ ...E
14
14
  }, w = (e, s) => {
15
15
  if (e.startsWith("http://") || e.startsWith("https://"))
16
16
  return e;
17
- const t = s || v.baseURL || "";
17
+ const t = s || m.baseURL || "";
18
18
  return t.endsWith("/") && e.startsWith("/") ? `${t}${e.slice(1)}` : t.endsWith("/") || e.startsWith("/") ? `${t}${e}` : `${t}/${e}`;
19
19
  }, P = (e) => new Promise((s, t) => {
20
20
  setTimeout(() => {
@@ -23,53 +23,53 @@ const k = (b = {}) => {
23
23
  }), x = (e) => new Promise((s) => {
24
24
  setTimeout(s, e);
25
25
  }), i = async (e, s, t, D = {}) => {
26
- a.value = null, h.value = !0, u.value = new AbortController();
27
- const n = { ...v, ...D }, L = w(s, n.baseURL), c = {
26
+ n.value = null, d.value = !0, l.value = new AbortController();
27
+ const a = { ...m, ...D }, L = w(s, a.baseURL), u = {
28
28
  method: e,
29
- headers: { ...n.headers },
30
- signal: u.value.signal,
31
- ...n
29
+ headers: { ...a.headers },
30
+ signal: l.value.signal,
31
+ ...a
32
32
  };
33
- t && ["POST", "PUT", "PATCH"].includes(e) && (t instanceof FormData ? (delete c.headers["Content-Type"], c.body = t) : c.body = JSON.stringify(t));
34
- const E = async (m = 0) => {
33
+ t && ["POST", "PUT", "PATCH"].includes(e) && (t instanceof FormData ? (delete u.headers["Content-Type"], u.body = t) : u.body = JSON.stringify(t));
34
+ const y = async (p = 0) => {
35
35
  try {
36
- const o = [fetch(L, c)];
37
- n.timeout && o.push(P(n.timeout));
36
+ const o = [fetch(L, u)];
37
+ a.timeout && o.push(P(a.timeout));
38
38
  const r = await Promise.race(o);
39
39
  if (!r.ok) {
40
- const O = `HTTP Error: ${r.status} ${r.statusText}`, d = new Error(O);
41
- throw d.status = r.status, d.statusText = r.statusText, d.response = r, d;
40
+ const O = `HTTP Error: ${r.status} ${r.statusText}`, f = new Error(O);
41
+ throw f.status = r.status, f.statusText = r.statusText, f.response = r, f;
42
42
  }
43
- let f;
44
- const l = r.headers.get("content-type");
45
- return l != null && l.includes("application/json") ? f = await r.json() : l != null && l.includes("text/") ? f = await r.text() : f = await r.blob(), {
46
- data: f,
43
+ let c;
44
+ const v = r.headers.get("content-type");
45
+ return v?.includes("application/json") ? c = await r.json() : v?.includes("text/") ? c = await r.text() : c = await r.blob(), {
46
+ data: c,
47
47
  status: r.status,
48
48
  statusText: r.statusText,
49
49
  headers: r.headers
50
50
  };
51
51
  } catch (o) {
52
52
  const r = o instanceof Error && o.name === "AbortError";
53
- if (m < (n.retry || 0) && !r)
54
- return await x(n.retryDelay || 1e3), E(m + 1);
55
- throw o instanceof Error ? o.name === "AbortError" ? a.value = { message: "Request was cancelled" } : a.value = { message: o.message } : a.value = o, o;
53
+ if (p < (a.retry || 0) && !r)
54
+ return await x(a.retryDelay || 1e3), y(p + 1);
55
+ throw o instanceof Error ? o.name === "AbortError" ? n.value = { message: "Request was cancelled" } : n.value = { message: o.message } : n.value = o, o;
56
56
  }
57
57
  };
58
58
  try {
59
- return await E();
59
+ return await y();
60
60
  } finally {
61
- h.value = !1, u.value = null;
61
+ d.value = !1, l.value = null;
62
62
  }
63
63
  }, C = (e, s) => i("GET", e, void 0, s), $ = (e, s, t) => i("POST", e, s, t), R = (e, s, t) => i("PUT", e, s, t), U = (e, s, t) => i("PATCH", e, s, t), A = (e, s) => i("DELETE", e, void 0, s), W = (e) => {
64
- u.value && u.value.abort(e);
64
+ l.value && l.value.abort(e);
65
65
  }, q = () => {
66
- a.value = null;
66
+ n.value = null;
67
67
  };
68
68
  return {
69
69
  // State
70
- loading: g,
71
- error: T(() => a.value),
72
- hasError: y,
70
+ loading: b,
71
+ error: h(() => n.value),
72
+ hasError: g,
73
73
  // Methods
74
74
  request: i,
75
75
  get: C,
@@ -1,6 +1,6 @@
1
1
  import { useConfigStore as i } from "../stores/config.js";
2
- import { ProductType as t } from "../@types/config/schemas.js";
3
2
  import { isTestPartner as o } from "../@types/config/defaults.js";
3
+ import { ProductType as t } from "../@types/config/schemas.js";
4
4
  const T = () => {
5
5
  const e = i(), n = () => e.initialized && e.partnerName ? e.partnerName : window.location.hostname.split(".")[0] || "";
6
6
  return {
@@ -1,20 +1,20 @@
1
- import { RecommendationFeedSourceMaps as g, URLS as p } from "../enums/extensions/recommendationBlock.js";
2
- import { MinDeviceViewport as R, DefaultPadding as b } from "../enums/recommendation.js";
3
- import { useRecommendationExtensionStore as u } from "../extensions/Blocks/Recommendation/store/recommendation.js";
4
- import { generateCompleteFilterQuery as x } from "../extensions/Blocks/Recommendation/utils/filterUtil.js";
5
- import { useConfigStore as I } from "../stores/config.js";
6
- const N = () => ({
1
+ import { RecommendationFeedSourceMaps as f, URLS as g } from "../enums/extensions/recommendationBlock.js";
2
+ import { MinDeviceViewport as p, DefaultPadding as R } from "../enums/recommendation.js";
3
+ import { useRecommendationExtensionStore as m } from "../extensions/Blocks/Recommendation/store/recommendation.js";
4
+ import { generateCompleteFilterQuery as b } from "../extensions/Blocks/Recommendation/utils/filterUtil.js";
5
+ import { useConfigStore as x } from "../stores/config.js";
6
+ const P = () => ({
7
7
  calculateCardWidth: ({
8
8
  mobileLeftPadding: i,
9
9
  mobileRightPadding: n,
10
10
  cardsInRow: o,
11
11
  unresponsive: a
12
12
  }) => {
13
- const r = a ? o : 1, e = i + n + (r - 1) * b;
14
- return (R - e) / r;
13
+ const r = a ? o : 1, e = i + n + (r - 1) * R;
14
+ return (p - e) / r;
15
15
  },
16
16
  getRecommendationCampaignData: (i) => {
17
- const n = u(), o = Number(i), a = n.blockStates[o];
17
+ const n = m(), o = Number(i), a = n.blockStates[o];
18
18
  if (!a)
19
19
  return {
20
20
  textTrimming: !1,
@@ -43,18 +43,17 @@ const N = () => ({
43
43
  };
44
44
  },
45
45
  buildCampaignUrl: (i) => {
46
- var m;
47
- const n = u(), o = I(), a = Number(i), r = n.blockStates[a];
46
+ const n = m(), o = x(), a = Number(i), r = n.blockStates[a];
48
47
  if (!r)
49
48
  return "";
50
- const { recommendationConfigs: e } = r, l = ((m = g.find((s) => s.key === e.strategy)) == null ? void 0 : m.path) || "", t = new URLSearchParams();
49
+ const { recommendationConfigs: e } = r, u = f.find((s) => s.key === e.strategy)?.path || "", t = new URLSearchParams();
51
50
  t.set("locale", e.language), t.set("currency", e.currencySettings.value), t.set("partnerName", o.partnerName), t.set("size", e.size), t.set("details", "true"), t.set("campaignId", o.variationId), e.strategy === "manualMerchandising" ? t.set("productId", e.productIds.join(",")) : e.strategy === "similarViewed" && t.set("productId", "{itemId}"), e.strategy === "userBased" && t.set("userId", "{user_id}");
52
- const f = e.filters.filter((s) => s.isValid), c = x(f);
51
+ const l = e.filters.filter((s) => s.isValid), c = b(l);
53
52
  c && t.set("filter", c), e.shuffleProducts && t.set("shuffle", "true");
54
- const d = `${p.RECOMMENDATION_API_URL}/v2/${l}?${t.toString()}`;
53
+ const d = `${g.RECOMMENDATION_API_URL}/v2/${u}?${t.toString()}`;
55
54
  return n.recommendationCampaignUrls[i] = d, d;
56
55
  }
57
56
  });
58
57
  export {
59
- N as useRecommendation
58
+ P as useRecommendation
60
59
  };
@@ -0,0 +1,21 @@
1
+ import { RIBBON_SELECTOR as u } from "../enums/onboarding.js";
2
+ import { ref as i, onMounted as b, onBeforeUnmount as f } from "vue";
3
+ const d = () => {
4
+ const e = i(0);
5
+ let o = null;
6
+ const t = () => {
7
+ const r = document.querySelector(u)?.offsetHeight ?? 0;
8
+ e.value !== r && (e.value = r);
9
+ }, s = (n) => `${n + e.value}px`;
10
+ return b(() => {
11
+ t(), o = new MutationObserver(t), o.observe(document.body, {
12
+ childList: !0,
13
+ subtree: !0
14
+ });
15
+ }), f(() => {
16
+ o?.disconnect();
17
+ }), { ribbonOffset: e, getTopPosition: s };
18
+ };
19
+ export {
20
+ d as useRibbonOffset
21
+ };
@@ -1,29 +1,28 @@
1
- import { useActionsApi as S } from "./useActionsApi.js";
2
- import { useConfig as V } from "./useConfig.js";
3
- import { useSaveStart as x, useSaveComplete as y } from "./useGuidoActions.js";
4
- import { useSyncModuleExtractor as w } from "./useSyncModuleExtractor.js";
5
- import { useStripoApi as b } from "../services/stripoApi.js";
6
- import { useTemplatePreparation as q } from "../utils/templatePreparation.js";
7
- import { useHtmlValidator as H } from "./useHtmlValidator.js";
8
- import { useLiquidValidator as L } from "./validators/useLiquidValidator.js";
9
- const F = () => {
10
- const o = x(), s = y(), { validateHtml: r } = H(), { validateLiquidSyntax: n } = L(), { callbacks: a, isFeatureEnabled: l } = V(), { extractSyncModuleData: d } = w(), { setSyncModuleUnsubscriptionPages: u } = b(), { editorSave: c } = S();
11
- return { save: async (m = !1) => {
12
- var i;
13
- o();
14
- const { prepareTemplateDetails: p } = q(), t = await p();
15
- if (l("liquidSyntax")) {
16
- if (!await n(t.compiledHtml))
1
+ import { useActionsApi as v } from "./useActionsApi.js";
2
+ import { useConfig as S } from "./useConfig.js";
3
+ import { useSaveStart as V, useSaveComplete as x } from "./useGuidoActions.js";
4
+ import { useSyncModuleExtractor as y } from "./useSyncModuleExtractor.js";
5
+ import { useStripoApi as w } from "../services/stripoApi.js";
6
+ import { useTemplatePreparation as b } from "../utils/templatePreparation.js";
7
+ import { useHtmlValidator as q } from "./useHtmlValidator.js";
8
+ import { useLiquidValidator as H } from "./validators/useLiquidValidator.js";
9
+ const k = () => {
10
+ const e = V(), o = x(), { validateHtml: s } = q(), { validateLiquidSyntax: r } = H(), { callbacks: a, isFeatureEnabled: n } = S(), { extractSyncModuleData: l } = y(), { setSyncModuleUnsubscriptionPages: d } = w(), { editorSave: u } = v();
11
+ return { save: async (c = !1) => {
12
+ e();
13
+ const { prepareTemplateDetails: m } = b(), t = await m();
14
+ if (n("liquidSyntax")) {
15
+ if (!await r(t.compiledHtml))
17
16
  return;
18
- } else if (!await r(t.compiledHtml, t.dynamicContentList, !0))
17
+ } else if (!await s(t.compiledHtml, t.dynamicContentList, !0))
19
18
  return;
20
- if ((i = a.value) != null && i.externalValidation && !await a.value.externalValidation(t))
19
+ if (a.value?.externalValidation && !await a.value.externalValidation(t))
21
20
  return;
22
- await c();
23
- const { unsubscribePayload: f, stripoModules: v } = d(t.rawHtml);
24
- return await u(f), t.modules = v, m || s(t), t;
21
+ await u();
22
+ const { unsubscribePayload: p, stripoModules: f } = l(t.rawHtml);
23
+ return await d(p), t.modules = f, c || o(t), t;
25
24
  } };
26
25
  };
27
26
  export {
28
- F as useSave
27
+ k as useSave
29
28
  };
@@ -1,28 +1,27 @@
1
- import { useActionsApi as D } from "./useActionsApi.js";
2
- import { useBlocksConfig as I } from "./useBlocksConfig.js";
3
- import { useConfig as P } from "./useConfig.js";
4
- import { useCustomInterfaceAppearance as U } from "./useCustomInterfaceAppearance.js";
5
- import { useFullStoryBridge as R } from "./useFullStoryBridge.js";
6
- import { useStripoEventHandler as q } from "./useStripoEventHandler.js";
7
- import { useToaster as x } from "./useToaster.js";
8
- import { localePatch as H } from "../config/i18n/index.js";
9
- import { displayConditions as O } from "../enums/displayConditions.js";
10
- import { useStripoApi as j } from "../services/stripoApi.js";
11
- import L from "../static/styles/customEditorStyle.css.js";
12
- import { useEditorStore as C } from "../stores/editor.js";
13
- import { dynamicContentToMergeTags as $ } from "../utils/genericUtil.js";
14
- import z from "../package.json.js";
15
- const ae = (E, l) => {
16
- const { features: c, template: h, isFeatureEnabled: u } = P(), { handleError: m } = x(), { getToken: w, getCustomFonts: b, getSyncModulesStatus: k } = j(), { handleEvent: B } = q(), { getStripoBlocksConfig: T } = I(), V = async (i, r = [], s = !1) => {
17
- var g, S, y;
18
- const e = C(), { html: p, css: a } = i, { baseBlocks: o, extensions: d } = await T(), f = ((g = c.value) == null ? void 0 : g.displayConditions) ?? !0, F = ((S = c.value) == null ? void 0 : S.modulesDisabled) ?? !1, v = ((y = h.value) == null ? void 0 : y.forceRecreate) ?? !1;
1
+ import { useActionsApi as v } from "./useActionsApi.js";
2
+ import { useBlocksConfig as M } from "./useBlocksConfig.js";
3
+ import { useConfig as A } from "./useConfig.js";
4
+ import { useCustomInterfaceAppearance as D } from "./useCustomInterfaceAppearance.js";
5
+ import { useFullStoryBridge as I } from "./useFullStoryBridge.js";
6
+ import { useStripoEventHandler as P } from "./useStripoEventHandler.js";
7
+ import { useToaster as U } from "./useToaster.js";
8
+ import { localePatch as q } from "../config/i18n/index.js";
9
+ import { displayConditions as R } from "../enums/displayConditions.js";
10
+ import { useStripoApi as x } from "../services/stripoApi.js";
11
+ import H from "../static/styles/customEditorStyle.css.js";
12
+ import { useEditorStore as g } from "../stores/editor.js";
13
+ import { dynamicContentToMergeTags as O } from "../utils/genericUtil.js";
14
+ import j from "../package.json.js";
15
+ const ne = (S, c) => {
16
+ const { features: l, template: y, isFeatureEnabled: u } = A(), { handleError: m } = U(), { getToken: C, getCustomFonts: h, getSyncModulesStatus: E } = x(), { handleEvent: w } = P(), { getStripoBlocksConfig: b } = M(), k = async (i, n = [], r = !1) => {
17
+ const e = g(), { html: p, css: d } = i, { baseBlocks: o, extensions: s } = await b(), f = l.value?.displayConditions ?? !0, T = l.value?.modulesDisabled ?? !1, V = y.value?.forceRecreate ?? !1;
19
18
  window.UIEditor.initEditor(
20
19
  document.querySelector("#guido-editor"),
21
20
  {
22
- metadata: E,
21
+ metadata: S,
23
22
  html: p,
24
- css: a,
25
- forceRecreate: v,
23
+ css: d,
24
+ forceRecreate: V,
26
25
  locale: "en",
27
26
  undoButtonSelector: "#guido__undo-button",
28
27
  redoButtonSelector: "#guido__redo-button",
@@ -32,13 +31,13 @@ const ae = (E, l) => {
32
31
  customAppearanceMergetags: !u("liquidSyntax"),
33
32
  customAppearanceMergetagsBorderColor: "#f1f3fe",
34
33
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
35
- customViewStyles: L,
34
+ customViewStyles: H,
36
35
  conditionsEnabled: f,
37
36
  customConditionsEnabled: f,
38
- conditionCategories: O,
37
+ conditionCategories: R,
39
38
  enableXSSSecurity: !0,
40
- modulesDisabled: F,
41
- syncModulesEnabled: s,
39
+ modulesDisabled: T,
40
+ syncModulesEnabled: r,
42
41
  messageSettingsEnabled: !0,
43
42
  displayGmailAnnotations: !0,
44
43
  displayHiddenPreheader: !1,
@@ -50,28 +49,28 @@ const ae = (E, l) => {
50
49
  editorFonts: {
51
50
  showDefaultStandardFonts: !0,
52
51
  showDefaultNotStandardFonts: !0,
53
- customFonts: r
52
+ customFonts: n
54
53
  },
55
54
  mergeTags: [
56
55
  {
57
- entries: $(
58
- l.preselectedDynamicContentList,
56
+ entries: O(
57
+ c.preselectedDynamicContentList,
59
58
  u("liquidSyntax")
60
59
  )
61
60
  }
62
61
  ],
63
62
  async onTokenRefreshRequest(t) {
64
63
  try {
65
- const n = await w();
66
- t(n);
67
- } catch (n) {
68
- m(n, "Failed to refresh token");
64
+ const a = await C();
65
+ t(a);
66
+ } catch (a) {
67
+ m(a, "Failed to refresh token");
69
68
  }
70
69
  },
71
70
  onTemplateLoaded() {
72
71
  try {
73
- const { importCss: t } = U(), { activateCustomViewStyles: n, updateTimerInClonedTemplate: M } = D(), { injectFullStory: A } = R();
74
- t(), n(), A(), M(), l.onReady(), e.isStripoInitialized = !0, e.loadingStatus = !1, setTimeout(() => {
72
+ const { importCss: t } = D(), { activateCustomViewStyles: a, updateTimerInClonedTemplate: _ } = v(), { injectFullStory: F } = I();
73
+ t(), a(), F(), _(), c.onReady(), e.isStripoInitialized = !0, e.loadingStatus = !1, setTimeout(() => {
75
74
  e.hasChanges = !1;
76
75
  }, 1e3);
77
76
  } catch (t) {
@@ -90,39 +89,43 @@ const ae = (E, l) => {
90
89
  onDataChanged() {
91
90
  e.hasChanges = !0;
92
91
  },
93
- onEvent: B,
92
+ onEvent: w,
94
93
  ignoreClickOutsideSelectors: [
95
94
  "#guido-dynamic-content-modal",
96
95
  ".in-on-board-wrapper",
97
96
  ".in-drawer__container"
98
97
  ],
99
- extensions: d,
100
- localePatch: H
98
+ extensions: s,
99
+ localePatch: q
101
100
  }
102
101
  );
103
- }, _ = (i) => new Promise((r, s) => {
104
- var d;
102
+ }, B = (i) => new Promise((n, r) => {
105
103
  if (document.getElementById("UiEditorScript")) {
106
- i(), r();
104
+ i(), n();
107
105
  return;
108
106
  }
109
- const e = z.guido, a = `https://email-static.useinsider.com/guido/${(d = e == null ? void 0 : e.stripo) == null ? void 0 : d.version}/UIEditor.js`, o = document.createElement("script");
110
- o.id = "UiEditorScript", o.type = "module", o.src = a, o.onload = () => {
111
- i(), r();
107
+ const d = `https://email-static.useinsider.com/guido/${j.guido?.stripo?.version}/UIEditor.js`;
108
+ if (!document.querySelector('link[href="https://email-static.useinsider.com"]')) {
109
+ const s = document.createElement("link");
110
+ s.rel = "preconnect", s.href = "https://email-static.useinsider.com", document.head.appendChild(s);
111
+ }
112
+ const o = document.createElement("script");
113
+ o.id = "UiEditorScript", o.type = "module", o.src = d, o.onload = () => {
114
+ i(), n();
112
115
  }, o.onerror = () => {
113
- s(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
116
+ r(new Error(`Failed to load Stripo UIEditor script from S3: ${d}`));
114
117
  }, document.body.appendChild(o);
115
118
  });
116
119
  return { initPlugin: async (i) => {
117
- await _(async () => {
118
- const r = C(), [s, e] = await Promise.all([
119
- b(),
120
- k()
120
+ await B(async () => {
121
+ const n = g(), [r, e] = await Promise.all([
122
+ h(),
123
+ E()
121
124
  ]);
122
- r.syncModulesEnabled = e, await V(i, s, e);
125
+ n.syncModulesEnabled = e, await k(i, r, e);
123
126
  });
124
127
  } };
125
128
  };
126
129
  export {
127
- ae as useStripo
130
+ ne as useStripo
128
131
  };
@@ -1,45 +1,47 @@
1
- import { UNSUBSCRIBE_SYNC_MODULE_TYPES as T } from "../enums/unsubscribe.js";
2
- import { DATA_ATTRIBUTES as p } from "../extensions/Blocks/Unsubscribe/utils/constants.js";
3
- import { useEditorStore as f } from "../stores/editor.js";
4
- const y = ".esd-synchronizable-module", A = '[esd-extension-block-id="unsubscribe-block"]', _ = "esd-custom-block-id", B = () => {
5
- const d = f();
6
- return { extractSyncModuleData: (E) => {
7
- const S = {
1
+ import { UNSUBSCRIBE_SYNC_MODULE_TYPES as A } from "../enums/unsubscribe.js";
2
+ import { DATA_ATTRIBUTES as E } from "../extensions/Blocks/Unsubscribe/utils/constants.js";
3
+ import { useEditorStore as _ } from "../stores/editor.js";
4
+ const M = ".esd-synchronizable-module", g = '[esd-extension-block-id="unsubscribe-block"]', D = "esd-custom-block-id";
5
+ let S = "", e = null;
6
+ const I = (t) => (t === S && e || (e = new DOMParser().parseFromString(t, "text/html"), S = t), e), L = () => {
7
+ const t = _();
8
+ return { extractSyncModuleData: (m) => {
9
+ const f = {
8
10
  unsubscribePayload: [],
9
11
  stripoModules: []
10
12
  };
11
- if (!d.syncModulesEnabled)
12
- return S;
13
- const b = new DOMParser().parseFromString(E, "text/html").querySelectorAll(y), r = [], s = [];
14
- return b.forEach((o) => {
15
- const t = o.getAttribute(_);
16
- if (!t)
13
+ if (!t.syncModulesEnabled)
14
+ return f;
15
+ const T = I(m).querySelectorAll(M), o = [], n = [];
16
+ return T.forEach((c) => {
17
+ const r = c.getAttribute(D);
18
+ if (!r)
17
19
  return;
18
- const n = o.querySelectorAll(A);
19
- if (n.length === 0) {
20
- s.push(Number(t));
20
+ const u = c.querySelectorAll(g);
21
+ if (u.length === 0) {
22
+ n.push(Number(r));
21
23
  return;
22
24
  }
23
- n.forEach((c) => {
24
- const u = c.getAttribute(p.PAGE_LIST), i = c.getAttribute(p.PAGE_TYPE);
25
- if (!u || !i)
25
+ u.forEach((i) => {
26
+ const l = i.getAttribute(E.PAGE_LIST), a = i.getAttribute(E.PAGE_TYPE);
27
+ if (!l || !a)
26
28
  return;
27
- const m = parseInt(i), a = T[m];
28
- if (!a)
29
+ const y = parseInt(a), p = A[y];
30
+ if (!p)
29
31
  return;
30
- const l = u.split(",").map((e) => parseInt(e.trim())).filter((e) => !Number.isNaN(e));
31
- l.length !== 0 && r.push({
32
- stripoModuleId: t,
33
- unsubscriptionPreferencePages: l,
34
- type: a
32
+ const d = l.split(",").map((s) => parseInt(s.trim())).filter((s) => !Number.isNaN(s));
33
+ d.length !== 0 && o.push({
34
+ stripoModuleId: r,
35
+ unsubscriptionPreferencePages: d,
36
+ type: p
35
37
  });
36
38
  });
37
39
  }), {
38
- unsubscribePayload: r,
39
- stripoModules: s
40
+ unsubscribePayload: o,
41
+ stripoModules: n
40
42
  };
41
43
  } };
42
44
  };
43
45
  export {
44
- B as useSyncModuleExtractor
46
+ L as useSyncModuleExtractor
45
47
  };
@@ -1,11 +1,11 @@
1
- import { useActionsApi as f } from "./useActionsApi.js";
2
- import { useHttp as w } from "./useHttp.js";
3
- import { useToaster as H } from "./useToaster.js";
4
- import { useStripoApi as y } from "../services/stripoApi.js";
5
- const O = () => {
6
- const { handleError: c } = H(), { getToken: u } = y(), { post: d } = w(), { updateHtmlAndCss: l } = f(), s = (t) => /esd-timer-id="(\d+)"/.test(t), i = async (t, e) => {
1
+ import { useActionsApi as d } from "./useActionsApi.js";
2
+ import { useHttp as l } from "./useHttp.js";
3
+ import { useToaster as T } from "./useToaster.js";
4
+ import { useStripoApi as f } from "../services/stripoApi.js";
5
+ const C = () => {
6
+ const { handleError: i } = T(), { getToken: c } = f(), { post: m } = l(), { updateHtmlAndCss: p } = d(), n = (t) => /esd-timer-id="(\d+)"/.test(t), o = async (t, e) => {
7
7
  try {
8
- return (await d(
8
+ return (await m(
9
9
  "https://plugins.stripo.email/api/v1/timers/clone",
10
10
  { html: t },
11
11
  {
@@ -16,38 +16,37 @@ const O = () => {
16
16
  }
17
17
  )).data.html;
18
18
  } catch (r) {
19
- return c(r, "Failed to clone timer IDs"), null;
19
+ return i(r, "Failed to clone timer IDs"), null;
20
20
  }
21
21
  };
22
22
  return {
23
- hasTimerBlocks: s,
24
- cloneTimersInHtml: i,
23
+ hasTimerBlocks: n,
24
+ cloneTimersInHtml: o,
25
25
  cloneTimersOnSave: async (t) => {
26
- if (!s(t))
26
+ if (!n(t))
27
27
  return t;
28
- const e = await u();
29
- return e && await i(t, e) || t;
28
+ const e = await c();
29
+ return e && await o(t, e) || t;
30
30
  },
31
31
  updateTimersOnLoad: async (t) => {
32
- var e, r, o, m;
33
32
  try {
34
- const n = (r = (e = window.UIEditor) == null ? void 0 : e.getHtml) == null ? void 0 : r.call(e);
35
- if (!n || !s(n))
33
+ const e = window.UIEditor?.getHtml?.();
34
+ if (!e || !n(e))
36
35
  return;
37
- const p = await t();
38
- if (!p)
36
+ const a = await t();
37
+ if (!a)
39
38
  return;
40
- const a = await i(n, p);
41
- if (!a || a === n)
39
+ const s = await o(e, a);
40
+ if (!s || s === e)
42
41
  return;
43
- const T = ((m = (o = window.UIEditor) == null ? void 0 : o.getCss) == null ? void 0 : m.call(o)) || "";
44
- l(a, T);
45
- } catch (n) {
46
- c(n, "Failed to update timer blocks");
42
+ const u = window.UIEditor?.getCss?.() || "";
43
+ p(s, u);
44
+ } catch (e) {
45
+ i(e, "Failed to update timer blocks");
47
46
  }
48
47
  }
49
48
  };
50
49
  };
51
50
  export {
52
- O as useTimerClone
51
+ C as useTimerClone
53
52
  };
@@ -1,20 +1,27 @@
1
- import memoize from "../node_modules/lodash-es/memoize.js";
2
- import { ref } from "vue";
3
- import { useConfig } from "./useConfig.js";
4
- const useTranslations = () => {
5
- var o, e;
6
- const { config } = useConfig(), translationsPath = ((e = (o = config.value) == null ? void 0 : o.editor) == null ? void 0 : e.translationsPath) || "window.trans.en", translations = ref(eval(translationsPath)), trans = (n, t) => {
7
- const r = translations.value[n];
8
- return r ? t ? Object.entries(t).reduce(
9
- (s, [i, a]) => s.replace(new RegExp(`{${i}}`, "g"), String(a)),
10
- r
11
- ) : r : (console.warn(`Translation key not found: ${n}`), n);
1
+ import { ref as g } from "vue";
2
+ import { useConfig as h } from "./useConfig.js";
3
+ const v = (r) => r.split(".").filter((t) => t !== "window").reduce(
4
+ (t, l) => {
5
+ if (t !== void 0)
6
+ return t[l];
7
+ },
8
+ window
9
+ ) || {}, T = () => {
10
+ const { config: r } = h(), c = r.value?.editor?.translationsPath || "window.trans.en", a = g(v(c)), t = /* @__PURE__ */ new Map();
11
+ return (n, e) => {
12
+ const o = e && Object.keys(e).length > 0 ? JSON.stringify({ key: n, params: e }) : n, u = t.get(o);
13
+ if (u !== void 0)
14
+ return u;
15
+ const s = a.value[n];
16
+ if (!s)
17
+ return console.warn(`Translation key not found: ${n}`), t.set(o, n), n;
18
+ let i = s;
19
+ return e && (i = Object.entries(e).reduce(
20
+ (f, [d, w]) => f.replace(new RegExp(`{${d}}`, "g"), String(w)),
21
+ s
22
+ )), t.set(o, i), i;
12
23
  };
13
- return memoize(
14
- trans,
15
- (n, t) => !t || Object.keys(t).length === 0 ? n : JSON.stringify({ key: n, params: t })
16
- );
17
24
  };
18
25
  export {
19
- useTranslations
26
+ T as useTranslations
20
27
  };
@@ -1,19 +1,18 @@
1
- import { safeParseAsync as i } from "../node_modules/valibot/dist/index.js";
2
- import { unref as n } from "vue";
3
- function c(o, e) {
1
+ import { safeParseAsync as t } from "../node_modules/valibot/dist/index.js";
2
+ import { unref as a } from "vue";
3
+ function n(s, e) {
4
4
  return {
5
5
  schema: e,
6
6
  validate: async () => {
7
- var s, t, a;
8
- const r = await i(e, n(o), { abortPipeEarly: !0 });
7
+ const r = await t(e, a(s), { abortPipeEarly: !0 });
9
8
  return {
10
9
  ...r,
11
- error: (s = r.issues) == null ? void 0 : s[0],
12
- errorMessage: ((a = (t = r.issues) == null ? void 0 : t[0]) == null ? void 0 : a.message) || ""
10
+ error: r.issues?.[0],
11
+ errorMessage: r.issues?.[0]?.message || ""
13
12
  };
14
13
  }
15
14
  };
16
15
  }
17
16
  export {
18
- c as useAsyncValidation
17
+ n as useAsyncValidation
19
18
  };