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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/@types/config/schemas.js +1 -1
  2. package/dist/@types/config/validator.js +27 -34
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +76 -81
  5. package/dist/components/organisms/base/Toaster.vue2.js +10 -11
  6. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +12 -12
  7. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue2.js +6 -6
  8. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +9 -15
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +31 -40
  10. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +19 -20
  11. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +11 -14
  12. package/dist/components/organisms/header/EditorActions.vue.js +11 -12
  13. package/dist/components/organisms/header/EditorActions.vue2.js +18 -22
  14. package/dist/components/organisms/header/HeaderWrapper.vue2.js +12 -15
  15. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -19
  16. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -11
  17. package/dist/components/organisms/header/RightSlot.vue2.js +14 -17
  18. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +11 -12
  19. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +20 -22
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +11 -12
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +38 -41
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +11 -12
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +38 -43
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +18 -21
  25. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +27 -31
  26. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +11 -12
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +27 -29
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +11 -12
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +19 -21
  30. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +8 -9
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +9 -10
  32. package/dist/composables/useActionsApi.js +37 -38
  33. package/dist/composables/useBlocksConfig.js +26 -26
  34. package/dist/composables/useFullStoryBridge.js +13 -0
  35. package/dist/composables/useHtmlCompiler.js +34 -26
  36. package/dist/composables/useHtmlValidator.js +101 -109
  37. package/dist/composables/useHttp.js +30 -30
  38. package/dist/composables/usePartner.js +1 -1
  39. package/dist/composables/useRecommendation.js +14 -15
  40. package/dist/composables/useSave.js +21 -22
  41. package/dist/composables/useStripo.js +47 -42
  42. package/dist/composables/useSyncModuleExtractor.js +31 -29
  43. package/dist/composables/useTimerClone.js +24 -25
  44. package/dist/composables/useTranslations.js +23 -16
  45. package/dist/composables/useValidation.js +7 -8
  46. package/dist/composables/validators/useLiquidValidator.js +13 -13
  47. package/dist/config/compiler/recommendationCompilerRules.js +72 -67
  48. package/dist/config/compiler/unsubscribeCompilerRules.js +38 -37
  49. package/dist/config/compiler/utils/recommendationCompilerUtils.js +36 -34
  50. package/dist/config/migrator/checkboxMigrator.js +20 -21
  51. package/dist/config/migrator/couponBlockMigrator.js +18 -19
  52. package/dist/config/migrator/itemsBlockMigrator.js +87 -89
  53. package/dist/config/migrator/radioButtonMigrator.js +12 -13
  54. package/dist/config/migrator/recommendationMigrator.js +107 -110
  55. package/dist/config/migrator/unsubscribeMigrator.js +10 -11
  56. package/dist/enums/displayConditions.js +78 -82
  57. package/dist/enums/extensions/recommendationBlock.js +41 -95
  58. package/dist/enums/unsubscribe.js +35 -30
  59. package/dist/extensions/Blocks/Checkbox/control.js +23 -23
  60. package/dist/extensions/Blocks/Items/block.js +9 -9
  61. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  62. package/dist/extensions/Blocks/Items/controls/cardComposition.js +89 -97
  63. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  64. package/dist/extensions/Blocks/Items/controls/name/trimming.js +23 -24
  65. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +13 -14
  66. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +44 -47
  67. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  68. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  69. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +38 -40
  70. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  71. package/dist/extensions/Blocks/Items/controls/settingsControl.js +155 -162
  72. package/dist/extensions/Blocks/Items/enums/productEnums.js +21 -14
  73. package/dist/extensions/Blocks/Items/template.js +210 -210
  74. package/dist/extensions/Blocks/RadioButton/control.js +15 -15
  75. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +1 -1
  76. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  77. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +128 -133
  78. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +23 -20
  79. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +99 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  81. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +19 -20
  82. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +4 -6
  83. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +84 -90
  84. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  85. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  86. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +35 -36
  87. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +134 -135
  88. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  89. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +27 -57
  90. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  91. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  92. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  93. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  94. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  95. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  96. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  97. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  98. package/dist/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.js +14 -0
  99. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  100. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +18 -20
  101. package/dist/extensions/Blocks/Recommendation/extension.js +31 -32
  102. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +25 -32
  103. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +72 -69
  104. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +22 -23
  105. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  106. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  107. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  108. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +24 -25
  109. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +11 -11
  110. package/dist/extensions/Blocks/Recommendation/templates/utils.js +45 -47
  111. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +17 -14
  112. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +13 -16
  113. package/dist/extensions/Blocks/Unsubscribe/block.js +11 -11
  114. package/dist/extensions/Blocks/Unsubscribe/control.js +11 -13
  115. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +16 -18
  116. package/dist/extensions/Blocks/common-control.js +25 -26
  117. package/dist/extensions/DynamicContent/dynamic-content.js +53 -58
  118. package/dist/guido.css +1 -1
  119. package/dist/library.js +11 -12
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +272 -167
  121. package/dist/node_modules/valibot/dist/index.js +122 -126
  122. package/dist/package.json.js +1 -1
  123. package/dist/services/recommendationApi.js +14 -17
  124. package/dist/services/templateLibraryApi.js +37 -38
  125. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  126. package/dist/src/composables/useActionsApi.d.ts +1 -1
  127. package/dist/src/composables/useFullStoryBridge.d.ts +11 -0
  128. package/dist/src/composables/useHtmlCompiler.d.ts +1 -2
  129. package/dist/src/composables/useTranslations.d.ts +1 -1
  130. package/dist/src/enums/displayConditions.d.ts +1 -5
  131. package/dist/src/enums/extensions/recommendationBlock.d.ts +1 -5
  132. package/dist/src/enums/unsubscribe.d.ts +8 -8
  133. package/dist/src/extensions/Blocks/Recommendation/constants/controlIds.d.ts +1 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +3 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.d.ts +35 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +3 -20
  137. package/dist/src/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.d.ts +29 -0
  138. package/dist/src/stores/dynamic-content.d.ts +3 -3
  139. package/dist/static/styles/components/button.css.js +16 -9
  140. package/dist/static/styles/components/loader.css.js +4 -0
  141. package/dist/static/styles/components/narrow-panel.css.js +52 -0
  142. package/dist/stores/config.js +25 -81
  143. package/dist/stores/dynamic-content.js +6 -11
  144. package/dist/stores/onboarding.js +5 -5
  145. package/dist/stores/preview.js +6 -9
  146. package/dist/stores/unsubscribe.js +1 -4
  147. package/dist/utils/dateUtil.js +7 -10
  148. package/dist/utils/genericUtil.js +10 -13
  149. package/dist/utils/pairProductVariables.js +13 -14
  150. package/package.json +8 -5
  151. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  152. package/dist/node_modules/lodash-es/_Hash.js +0 -20
  153. package/dist/node_modules/lodash-es/_ListCache.js +0 -20
  154. package/dist/node_modules/lodash-es/_Map.js +0 -6
  155. package/dist/node_modules/lodash-es/_MapCache.js +0 -20
  156. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  157. package/dist/node_modules/lodash-es/_Set.js +0 -6
  158. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  159. package/dist/node_modules/lodash-es/_Stack.js +0 -18
  160. package/dist/node_modules/lodash-es/_Symbol.js +0 -5
  161. package/dist/node_modules/lodash-es/_Uint8Array.js +0 -5
  162. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  163. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  164. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +0 -20
  165. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  166. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  167. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  168. package/dist/node_modules/lodash-es/_assocIndexOf.js +0 -10
  169. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  170. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  171. package/dist/node_modules/lodash-es/_baseFor.js +0 -5
  172. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  173. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  174. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  175. package/dist/node_modules/lodash-es/_baseGetTag.js +0 -10
  176. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  177. package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -9
  178. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  179. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  180. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  181. package/dist/node_modules/lodash-es/_baseIsNative.js +0 -16
  182. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -12
  183. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  184. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  185. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  186. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  187. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  188. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  189. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  190. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  191. package/dist/node_modules/lodash-es/_baseTimes.js +0 -8
  192. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  193. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  194. package/dist/node_modules/lodash-es/_baseUnary.js +0 -8
  195. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  196. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  197. package/dist/node_modules/lodash-es/_coreJsData.js +0 -5
  198. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  199. package/dist/node_modules/lodash-es/_createBaseFor.js +0 -13
  200. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  201. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  202. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  203. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  204. package/dist/node_modules/lodash-es/_freeGlobal.js +0 -4
  205. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  206. package/dist/node_modules/lodash-es/_getMapData.js +0 -8
  207. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  208. package/dist/node_modules/lodash-es/_getNative.js +0 -9
  209. package/dist/node_modules/lodash-es/_getRawTag.js +0 -15
  210. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  211. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  212. package/dist/node_modules/lodash-es/_getValue.js +0 -6
  213. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  214. package/dist/node_modules/lodash-es/_hashClear.js +0 -7
  215. package/dist/node_modules/lodash-es/_hashDelete.js +0 -7
  216. package/dist/node_modules/lodash-es/_hashGet.js +0 -13
  217. package/dist/node_modules/lodash-es/_hashHas.js +0 -9
  218. package/dist/node_modules/lodash-es/_hashSet.js +0 -9
  219. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  220. package/dist/node_modules/lodash-es/_isIndex.js +0 -8
  221. package/dist/node_modules/lodash-es/_isIterateeCall.js +0 -13
  222. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  223. package/dist/node_modules/lodash-es/_isKeyable.js +0 -7
  224. package/dist/node_modules/lodash-es/_isMasked.js +0 -11
  225. package/dist/node_modules/lodash-es/_isPrototype.js +0 -8
  226. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  227. package/dist/node_modules/lodash-es/_listCacheClear.js +0 -6
  228. package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -12
  229. package/dist/node_modules/lodash-es/_listCacheGet.js +0 -8
  230. package/dist/node_modules/lodash-es/_listCacheHas.js +0 -7
  231. package/dist/node_modules/lodash-es/_listCacheSet.js +0 -8
  232. package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -13
  233. package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  234. package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -7
  235. package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -7
  236. package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -8
  237. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  238. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  239. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  240. package/dist/node_modules/lodash-es/_nativeCreate.js +0 -5
  241. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  242. package/dist/node_modules/lodash-es/_nodeUtil.js +0 -11
  243. package/dist/node_modules/lodash-es/_objectToString.js +0 -7
  244. package/dist/node_modules/lodash-es/_overArg.js +0 -8
  245. package/dist/node_modules/lodash-es/_root.js +0 -5
  246. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  247. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  248. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  249. package/dist/node_modules/lodash-es/_stackClear.js +0 -7
  250. package/dist/node_modules/lodash-es/_stackDelete.js +0 -7
  251. package/dist/node_modules/lodash-es/_stackGet.js +0 -6
  252. package/dist/node_modules/lodash-es/_stackHas.js +0 -6
  253. package/dist/node_modules/lodash-es/_stackSet.js +0 -17
  254. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  255. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  256. package/dist/node_modules/lodash-es/_toSource.js +0 -17
  257. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  258. package/dist/node_modules/lodash-es/eq.js +0 -6
  259. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  260. package/dist/node_modules/lodash-es/get.js +0 -8
  261. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  262. package/dist/node_modules/lodash-es/identity.js +0 -6
  263. package/dist/node_modules/lodash-es/isArguments.js +0 -10
  264. package/dist/node_modules/lodash-es/isArray.js +0 -4
  265. package/dist/node_modules/lodash-es/isArrayLike.js +0 -8
  266. package/dist/node_modules/lodash-es/isBuffer.js +0 -6
  267. package/dist/node_modules/lodash-es/isFunction.js +0 -12
  268. package/dist/node_modules/lodash-es/isLength.js +0 -7
  269. package/dist/node_modules/lodash-es/isObject.js +0 -7
  270. package/dist/node_modules/lodash-es/isObjectLike.js +0 -6
  271. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  272. package/dist/node_modules/lodash-es/isTypedArray.js +0 -7
  273. package/dist/node_modules/lodash-es/keys.js +0 -9
  274. package/dist/node_modules/lodash-es/map.js +0 -11
  275. package/dist/node_modules/lodash-es/memoize.js +0 -18
  276. package/dist/node_modules/lodash-es/property.js +0 -10
  277. package/dist/node_modules/lodash-es/range.js +0 -5
  278. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  279. package/dist/node_modules/lodash-es/stubFalse.js +0 -6
  280. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  281. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  282. package/dist/node_modules/lodash-es/toString.js +0 -7
@@ -1,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 { getRecommendationFeedSourceMaps 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
  };
@@ -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
- 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,27 +1,27 @@
1
- import { useActionsApi as F } from "./useActionsApi.js";
2
- import { useBlocksConfig as D } from "./useBlocksConfig.js";
3
- import { useConfig as I } from "./useConfig.js";
4
- import { useCustomInterfaceAppearance as P } from "./useCustomInterfaceAppearance.js";
5
- import { useStripoEventHandler as U } from "./useStripoEventHandler.js";
6
- import { useToaster as R } from "./useToaster.js";
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";
7
8
  import { localePatch as q } from "../config/i18n/index.js";
8
- import { getDisplayConditions as x } from "../enums/displayConditions.js";
9
- import { useStripoApi as H } from "../services/stripoApi.js";
10
- import O from "../static/styles/customEditorStyle.css.js";
11
- import { useEditorStore as C } from "../stores/editor.js";
12
- import { dynamicContentToMergeTags as L } from "../utils/genericUtil.js";
13
- import $ from "../package.json.js";
14
- const ie = (E, c) => {
15
- const { features: l, template: h, isFeatureEnabled: u } = I(), { handleError: m } = R(), { getToken: b, getCustomFonts: w, getSyncModulesStatus: k } = H(), { handleEvent: T } = U(), { getStripoBlocksConfig: V } = D(), _ = async (i, n = [], r = !1) => {
16
- var f, y, S;
17
- const e = C(), { html: p, css: a } = i, { baseBlocks: o, extensions: d } = await V(), g = ((f = l.value) == null ? void 0 : f.displayConditions) ?? !0, v = ((y = l.value) == null ? void 0 : y.modulesDisabled) ?? !1, M = ((S = h.value) == null ? void 0 : S.forceRecreate) ?? !1;
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;
18
18
  window.UIEditor.initEditor(
19
19
  document.querySelector("#guido-editor"),
20
20
  {
21
- metadata: E,
21
+ metadata: S,
22
22
  html: p,
23
- css: a,
24
- forceRecreate: M,
23
+ css: d,
24
+ forceRecreate: V,
25
25
  locale: "en",
26
26
  undoButtonSelector: "#guido__undo-button",
27
27
  redoButtonSelector: "#guido__redo-button",
@@ -31,12 +31,12 @@ const ie = (E, c) => {
31
31
  customAppearanceMergetags: !u("liquidSyntax"),
32
32
  customAppearanceMergetagsBorderColor: "#f1f3fe",
33
33
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
34
- customViewStyles: O,
35
- conditionsEnabled: g,
36
- customConditionsEnabled: g,
37
- conditionCategories: x(),
34
+ customViewStyles: H,
35
+ conditionsEnabled: f,
36
+ customConditionsEnabled: f,
37
+ conditionCategories: R,
38
38
  enableXSSSecurity: !0,
39
- modulesDisabled: v,
39
+ modulesDisabled: T,
40
40
  syncModulesEnabled: r,
41
41
  messageSettingsEnabled: !0,
42
42
  displayGmailAnnotations: !0,
@@ -44,6 +44,7 @@ const ie = (E, c) => {
44
44
  displayTitle: !1,
45
45
  displayUTM: !1,
46
46
  selectElementAfterDrop: !0,
47
+ allowedScriptSourceDomains: "https://email-static.useinsider.com https://edge.fullstory.com https://rs.fullstory.com",
47
48
  ...o ? { baseBlocks: o } : {},
48
49
  editorFonts: {
49
50
  showDefaultStandardFonts: !0,
@@ -52,7 +53,7 @@ const ie = (E, c) => {
52
53
  },
53
54
  mergeTags: [
54
55
  {
55
- entries: L(
56
+ entries: O(
56
57
  c.preselectedDynamicContentList,
57
58
  u("liquidSyntax")
58
59
  )
@@ -60,16 +61,16 @@ const ie = (E, c) => {
60
61
  ],
61
62
  async onTokenRefreshRequest(t) {
62
63
  try {
63
- const s = await b();
64
- t(s);
65
- } catch (s) {
66
- m(s, "Failed to refresh token");
64
+ const a = await C();
65
+ t(a);
66
+ } catch (a) {
67
+ m(a, "Failed to refresh token");
67
68
  }
68
69
  },
69
70
  onTemplateLoaded() {
70
71
  try {
71
- const { importCss: t } = P(), { activateCustomViewStyles: s, updateTimerInClonedTemplate: A } = F();
72
- t(), s(), A(), c.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(() => {
73
74
  e.hasChanges = !1;
74
75
  }, 1e3);
75
76
  } catch (t) {
@@ -88,39 +89,43 @@ const ie = (E, c) => {
88
89
  onDataChanged() {
89
90
  e.hasChanges = !0;
90
91
  },
91
- onEvent: T,
92
+ onEvent: w,
92
93
  ignoreClickOutsideSelectors: [
93
94
  "#guido-dynamic-content-modal",
94
95
  ".in-on-board-wrapper",
95
96
  ".in-drawer__container"
96
97
  ],
97
- extensions: d,
98
+ extensions: s,
98
99
  localePatch: q
99
100
  }
100
101
  );
101
102
  }, B = (i) => new Promise((n, r) => {
102
- var d;
103
103
  if (document.getElementById("UiEditorScript")) {
104
104
  i(), n();
105
105
  return;
106
106
  }
107
- const e = $.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");
108
- o.id = "UiEditorScript", o.type = "module", o.src = a, o.onload = () => {
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 = () => {
109
114
  i(), n();
110
115
  }, o.onerror = () => {
111
- r(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
116
+ r(new Error(`Failed to load Stripo UIEditor script from S3: ${d}`));
112
117
  }, document.body.appendChild(o);
113
118
  });
114
119
  return { initPlugin: async (i) => {
115
120
  await B(async () => {
116
- const n = C(), [r, e] = await Promise.all([
117
- w(),
118
- k()
121
+ const n = g(), [r, e] = await Promise.all([
122
+ h(),
123
+ E()
119
124
  ]);
120
- n.syncModulesEnabled = e, await _(i, r, e);
125
+ n.syncModulesEnabled = e, await k(i, r, e);
121
126
  });
122
127
  } };
123
128
  };
124
129
  export {
125
- ie as useStripo
130
+ ne as useStripo
126
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
  };