@useinsider/guido 3.2.0-beta.8b0bc0c → 3.2.0-beta.8e8f902

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 (290) hide show
  1. package/README.md +25 -1
  2. package/dist/@types/config/schemas.js +38 -36
  3. package/dist/@types/config/validator.js +34 -27
  4. package/dist/components/Guido.vue.js +4 -4
  5. package/dist/components/Guido.vue2.js +88 -82
  6. package/dist/components/organisms/AutoSaveController.vue.js +17 -0
  7. package/dist/components/organisms/AutoSaveController.vue2.js +13 -0
  8. package/dist/components/organisms/base/Toaster.vue2.js +11 -10
  9. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +12 -12
  10. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue2.js +6 -6
  11. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +15 -9
  12. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +40 -31
  13. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +20 -19
  14. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +14 -11
  15. package/dist/components/organisms/header/AutoSaveToggle.vue.js +22 -0
  16. package/dist/components/organisms/header/AutoSaveToggle.vue2.js +19 -0
  17. package/dist/components/organisms/header/EditorActions.vue.js +12 -11
  18. package/dist/components/organisms/header/EditorActions.vue2.js +22 -18
  19. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -12
  20. package/dist/components/organisms/header/LeftSlot.vue2.js +19 -16
  21. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -14
  22. package/dist/components/organisms/header/RightSlot.vue.js +8 -8
  23. package/dist/components/organisms/header/RightSlot.vue2.js +17 -13
  24. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +12 -11
  25. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +51 -29
  26. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +13 -12
  27. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +44 -40
  28. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +13 -12
  29. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +50 -47
  30. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +21 -18
  31. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +31 -27
  32. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +13 -12
  33. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +35 -44
  34. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +12 -11
  35. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +23 -20
  36. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +9 -8
  37. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -9
  38. package/dist/composables/useActionsApi.js +38 -37
  39. package/dist/composables/useAutoSave.js +71 -0
  40. package/dist/composables/useBlocksConfig.js +26 -26
  41. package/dist/composables/useFullStoryBridge.js +9 -8
  42. package/dist/composables/useHtmlCompiler.js +26 -34
  43. package/dist/composables/useHtmlValidator.js +109 -101
  44. package/dist/composables/useHttp.js +30 -30
  45. package/dist/composables/usePartner.js +1 -1
  46. package/dist/composables/useRecommendation.js +15 -14
  47. package/dist/composables/useRibbonOffset.js +21 -0
  48. package/dist/composables/useSave.js +22 -21
  49. package/dist/composables/useStripo.js +50 -53
  50. package/dist/composables/useSyncModuleExtractor.js +29 -31
  51. package/dist/composables/useTimerClone.js +25 -24
  52. package/dist/composables/useTranslations.js +16 -23
  53. package/dist/composables/useValidation.js +8 -7
  54. package/dist/composables/validators/useLiquidValidator.js +13 -13
  55. package/dist/config/compiler/unsubscribeCompilerRules.js +41 -37
  56. package/dist/config/compiler/utils/recommendationCompilerUtils.js +11 -10
  57. package/dist/config/migrator/checkboxMigrator.js +21 -20
  58. package/dist/config/migrator/couponBlockMigrator.js +19 -18
  59. package/dist/config/migrator/itemsBlockMigrator.js +89 -87
  60. package/dist/config/migrator/radioButtonMigrator.js +13 -12
  61. package/dist/config/migrator/recommendationMigrator.js +109 -106
  62. package/dist/config/migrator/unsubscribeMigrator.js +11 -10
  63. package/dist/enums/onboarding.js +7 -2
  64. package/dist/enums/unsubscribe.js +34 -27
  65. package/dist/extensions/Blocks/Items/block.js +9 -9
  66. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  67. package/dist/extensions/Blocks/Items/controls/cardComposition.js +97 -89
  68. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  69. package/dist/extensions/Blocks/Items/controls/name/trimming.js +24 -23
  70. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +14 -13
  71. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +47 -44
  72. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  73. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  74. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +40 -38
  75. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  76. package/dist/extensions/Blocks/Items/controls/settingsControl.js +162 -155
  77. package/dist/extensions/Blocks/Items/enums/productEnums.js +14 -9
  78. package/dist/extensions/Blocks/Items/template.js +210 -210
  79. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  80. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +133 -128
  81. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +9 -9
  82. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +10 -10
  83. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  84. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +18 -17
  85. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +6 -4
  86. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +90 -82
  87. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  88. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  89. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +36 -35
  90. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +135 -134
  91. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  92. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +10 -10
  93. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  94. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  95. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  96. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  97. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  98. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  99. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  100. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  101. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  102. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +20 -18
  103. package/dist/extensions/Blocks/Recommendation/extension.js +32 -31
  104. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +16 -8
  105. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +56 -55
  106. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +23 -22
  107. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  108. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  109. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  110. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +25 -24
  111. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
  112. package/dist/extensions/Blocks/Recommendation/templates/utils.js +47 -45
  113. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +16 -13
  114. package/dist/extensions/Blocks/Unsubscribe/control.js +13 -11
  115. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +18 -16
  116. package/dist/extensions/Blocks/common-control.js +26 -25
  117. package/dist/extensions/DynamicContent/dynamic-content.js +58 -53
  118. package/dist/guido.css +1 -1
  119. package/dist/library.js +12 -11
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +286 -262
  121. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  122. package/dist/node_modules/lodash-es/_Hash.js +20 -0
  123. package/dist/node_modules/lodash-es/_ListCache.js +20 -0
  124. package/dist/node_modules/lodash-es/_Map.js +6 -0
  125. package/dist/node_modules/lodash-es/_MapCache.js +20 -0
  126. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  127. package/dist/node_modules/lodash-es/_Set.js +6 -0
  128. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  129. package/dist/node_modules/lodash-es/_Stack.js +18 -0
  130. package/dist/node_modules/lodash-es/_Symbol.js +5 -0
  131. package/dist/node_modules/lodash-es/_Uint8Array.js +5 -0
  132. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  133. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  134. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +20 -0
  135. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  136. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  137. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  138. package/dist/node_modules/lodash-es/_assocIndexOf.js +10 -0
  139. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  140. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  141. package/dist/node_modules/lodash-es/_baseFor.js +5 -0
  142. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  143. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  144. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  145. package/dist/node_modules/lodash-es/_baseGetTag.js +10 -0
  146. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  147. package/dist/node_modules/lodash-es/_baseIsArguments.js +9 -0
  148. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  149. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  150. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  151. package/dist/node_modules/lodash-es/_baseIsNative.js +16 -0
  152. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +12 -0
  153. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  154. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  155. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  156. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  157. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  158. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  159. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  160. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  161. package/dist/node_modules/lodash-es/_baseTimes.js +8 -0
  162. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  163. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  164. package/dist/node_modules/lodash-es/_baseUnary.js +8 -0
  165. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  166. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  167. package/dist/node_modules/lodash-es/_coreJsData.js +5 -0
  168. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  169. package/dist/node_modules/lodash-es/_createBaseFor.js +13 -0
  170. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  171. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  172. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  173. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  174. package/dist/node_modules/lodash-es/_freeGlobal.js +4 -0
  175. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  176. package/dist/node_modules/lodash-es/_getMapData.js +8 -0
  177. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  178. package/dist/node_modules/lodash-es/_getNative.js +9 -0
  179. package/dist/node_modules/lodash-es/_getRawTag.js +15 -0
  180. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  181. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  182. package/dist/node_modules/lodash-es/_getValue.js +6 -0
  183. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  184. package/dist/node_modules/lodash-es/_hashClear.js +7 -0
  185. package/dist/node_modules/lodash-es/_hashDelete.js +7 -0
  186. package/dist/node_modules/lodash-es/_hashGet.js +13 -0
  187. package/dist/node_modules/lodash-es/_hashHas.js +9 -0
  188. package/dist/node_modules/lodash-es/_hashSet.js +9 -0
  189. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  190. package/dist/node_modules/lodash-es/_isIndex.js +8 -0
  191. package/dist/node_modules/lodash-es/_isIterateeCall.js +13 -0
  192. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  193. package/dist/node_modules/lodash-es/_isKeyable.js +7 -0
  194. package/dist/node_modules/lodash-es/_isMasked.js +11 -0
  195. package/dist/node_modules/lodash-es/_isPrototype.js +8 -0
  196. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  197. package/dist/node_modules/lodash-es/_listCacheClear.js +6 -0
  198. package/dist/node_modules/lodash-es/_listCacheDelete.js +12 -0
  199. package/dist/node_modules/lodash-es/_listCacheGet.js +8 -0
  200. package/dist/node_modules/lodash-es/_listCacheHas.js +7 -0
  201. package/dist/node_modules/lodash-es/_listCacheSet.js +8 -0
  202. package/dist/node_modules/lodash-es/_mapCacheClear.js +13 -0
  203. package/dist/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  204. package/dist/node_modules/lodash-es/_mapCacheGet.js +7 -0
  205. package/dist/node_modules/lodash-es/_mapCacheHas.js +7 -0
  206. package/dist/node_modules/lodash-es/_mapCacheSet.js +8 -0
  207. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  208. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  209. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  210. package/dist/node_modules/lodash-es/_nativeCreate.js +5 -0
  211. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  212. package/dist/node_modules/lodash-es/_nodeUtil.js +11 -0
  213. package/dist/node_modules/lodash-es/_objectToString.js +7 -0
  214. package/dist/node_modules/lodash-es/_overArg.js +8 -0
  215. package/dist/node_modules/lodash-es/_root.js +5 -0
  216. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  217. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  218. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  219. package/dist/node_modules/lodash-es/_stackClear.js +7 -0
  220. package/dist/node_modules/lodash-es/_stackDelete.js +7 -0
  221. package/dist/node_modules/lodash-es/_stackGet.js +6 -0
  222. package/dist/node_modules/lodash-es/_stackHas.js +6 -0
  223. package/dist/node_modules/lodash-es/_stackSet.js +17 -0
  224. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  225. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  226. package/dist/node_modules/lodash-es/_toSource.js +17 -0
  227. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  228. package/dist/node_modules/lodash-es/eq.js +6 -0
  229. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  230. package/dist/node_modules/lodash-es/get.js +8 -0
  231. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  232. package/dist/node_modules/lodash-es/identity.js +6 -0
  233. package/dist/node_modules/lodash-es/isArguments.js +10 -0
  234. package/dist/node_modules/lodash-es/isArray.js +4 -0
  235. package/dist/node_modules/lodash-es/isArrayLike.js +8 -0
  236. package/dist/node_modules/lodash-es/isBuffer.js +6 -0
  237. package/dist/node_modules/lodash-es/isFunction.js +12 -0
  238. package/dist/node_modules/lodash-es/isLength.js +7 -0
  239. package/dist/node_modules/lodash-es/isObject.js +7 -0
  240. package/dist/node_modules/lodash-es/isObjectLike.js +6 -0
  241. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  242. package/dist/node_modules/lodash-es/isTypedArray.js +7 -0
  243. package/dist/node_modules/lodash-es/keys.js +9 -0
  244. package/dist/node_modules/lodash-es/map.js +11 -0
  245. package/dist/node_modules/lodash-es/memoize.js +18 -0
  246. package/dist/node_modules/lodash-es/property.js +10 -0
  247. package/dist/node_modules/lodash-es/range.js +5 -0
  248. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  249. package/dist/node_modules/lodash-es/stubFalse.js +6 -0
  250. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  251. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  252. package/dist/node_modules/lodash-es/toString.js +7 -0
  253. package/dist/node_modules/valibot/dist/index.js +126 -122
  254. package/dist/package.json.js +1 -1
  255. package/dist/services/recommendationApi.js +17 -14
  256. package/dist/services/templateLibraryApi.js +40 -38
  257. package/dist/src/@types/config/schemas.d.ts +4 -0
  258. package/dist/src/components/Guido.vue.d.ts +1 -1
  259. package/dist/src/components/organisms/AutoSaveController.vue.d.ts +2 -0
  260. package/dist/src/components/organisms/header/AutoSaveToggle.vue.d.ts +2 -0
  261. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -1
  262. package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -1
  263. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  264. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  265. package/dist/src/composables/useAutoSave.d.ts +3 -0
  266. package/dist/src/composables/useConfig.d.ts +2 -0
  267. package/dist/src/composables/useHtmlCompiler.d.ts +2 -1
  268. package/dist/src/composables/useRibbonOffset.d.ts +4 -0
  269. package/dist/src/composables/useSave.d.ts +1 -1
  270. package/dist/src/composables/useTranslations.d.ts +1 -1
  271. package/dist/src/enums/onboarding.d.ts +6 -0
  272. package/dist/src/enums/unsubscribe.d.ts +5 -0
  273. package/dist/src/stores/autosave.d.ts +12 -0
  274. package/dist/src/stores/config.d.ts +18 -0
  275. package/dist/src/stores/dynamic-content.d.ts +3 -3
  276. package/dist/src/stores/editor.d.ts +23 -0
  277. package/dist/src/stores/onboarding.d.ts +4 -0
  278. package/dist/src/utils/timeUtil.d.ts +8 -0
  279. package/dist/stores/autosave.js +17 -0
  280. package/dist/stores/config.js +81 -25
  281. package/dist/stores/dynamic-content.js +11 -6
  282. package/dist/stores/editor.js +3 -1
  283. package/dist/stores/onboarding.js +9 -5
  284. package/dist/stores/preview.js +9 -6
  285. package/dist/stores/unsubscribe.js +4 -1
  286. package/dist/utils/dateUtil.js +10 -7
  287. package/dist/utils/genericUtil.js +13 -10
  288. package/dist/utils/pairProductVariables.js +89 -87
  289. package/dist/utils/timeUtil.js +19 -0
  290. package/package.json +5 -8
@@ -1,91 +1,93 @@
1
- import { useConfig as y } from "../composables/useConfig.js";
2
- import { useHttp as g } from "../composables/useHttp.js";
3
- import { useToaster as f } from "../composables/useToaster.js";
4
- import { useTranslations as T } from "../composables/useTranslations.js";
5
- import { useLiquidValidator as w } from "../composables/validators/useLiquidValidator.js";
6
- import { EditorType as b } from "../enums/defaults.js";
7
- import { useRecommendationExtensionStore as h } from "../extensions/Blocks/Recommendation/store/recommendation.js";
8
- import { useSaveAsTemplateStore as C } from "../stores/save-as-template.js";
1
+ import { useConfig as w } from "../composables/useConfig.js";
2
+ import { useHttp as b } from "../composables/useHttp.js";
3
+ import { useToaster as C } from "../composables/useToaster.js";
4
+ import { useTranslations as h } from "../composables/useTranslations.js";
5
+ import { useLiquidValidator as S } from "../composables/validators/useLiquidValidator.js";
6
+ import { EditorType as v } from "../enums/defaults.js";
7
+ import { useRecommendationExtensionStore as N } from "../extensions/Blocks/Recommendation/store/recommendation.js";
8
+ import { useSaveAsTemplateStore as x } from "../stores/save-as-template.js";
9
9
  import { base64EncodeWithSpecialChars as r } from "../utils/base64.js";
10
- import { useTemplatePreparation as S } from "../utils/templatePreparation.js";
11
- const G = () => {
12
- const { get: o, post: i } = g(), { handleError: s, showToaster: n } = f(), { config: m, isFeatureEnabled: l } = y(), { validateLiquidSyntax: p } = w(), c = T();
10
+ import { useTemplatePreparation as A } from "../utils/templatePreparation.js";
11
+ const $ = () => {
12
+ const { get: n, post: m } = b(), { handleError: o, showToaster: l } = C(), { config: c, isFeatureEnabled: p } = w(), { validateLiquidSyntax: g } = S(), u = h();
13
13
  return {
14
14
  getCategories: async () => {
15
15
  try {
16
- const { data: e = [] } = await o("/newsletter/template-library/get-template-categories");
16
+ const { data: e = [] } = await n("/newsletter/template-library/get-template-categories");
17
17
  return e;
18
18
  } catch (e) {
19
- return s(e, "Failed to fetch template categories"), [];
19
+ return o(e, "Failed to fetch template categories"), [];
20
20
  }
21
21
  },
22
22
  checkTemplateNameAvailability: async (e) => {
23
- const { data: { status: t = !1 } } = await o(
23
+ const { data: { status: t = !1 } } = await n(
24
24
  `/newsletter/template-library/template-name-exists?name=${e}`
25
25
  );
26
26
  return !t;
27
27
  },
28
28
  createCategory: async (e) => {
29
29
  try {
30
- const { data: { id: t } } = await i(
30
+ const { data: { id: t } } = await m(
31
31
  "/newsletter/template-library/create-category",
32
32
  { name: e }
33
33
  );
34
34
  return t.toString();
35
35
  } catch (t) {
36
- return s(t, "Failed to create category"), "";
36
+ return o(t, "Failed to create category"), "";
37
37
  }
38
38
  },
39
39
  createTemplate: async () => {
40
+ var e, t, d, y;
40
41
  try {
41
- const { prepareTemplateDetails: e } = S(), t = C(), a = await e();
42
- if (l("liquidSyntax") && !await p(a.compiledHtml))
42
+ const { prepareTemplateDetails: i } = A(), s = x(), a = await i();
43
+ if (p("liquidSyntax") && !await g(a.compiledHtml))
43
44
  return !1;
44
- const u = {
45
- name: t.getTemplateName,
46
- categories: t.getSelectedCategoryIds,
47
- productId: m.value?.partner?.productType || 0,
48
- editorType: b,
49
- messageType: m.value?.partner?.messageType || 0,
45
+ const f = {
46
+ name: s.getTemplateName,
47
+ categories: s.getSelectedCategoryIds,
48
+ productId: ((t = (e = c.value) == null ? void 0 : e.partner) == null ? void 0 : t.productType) || 0,
49
+ editorType: v,
50
+ messageType: ((y = (d = c.value) == null ? void 0 : d.partner) == null ? void 0 : y.messageType) || 0,
50
51
  content: r(a.compiledHtml),
51
52
  css: r(a.css),
52
53
  unsubscriptionPreferencePageStatus: !1,
53
54
  unsubscriptionPreferencePages: [],
54
55
  recommendationCampaignUrls: r(
55
- h().recommendationCampaignUrls
56
+ N().recommendationCampaignUrls
56
57
  ),
57
58
  recommendationConfigs: r({}),
58
59
  isGuido: !0,
59
60
  // eslint-disable-next-line camelcase
60
- template_engine: l("liquidSyntax") ? 1 : 0,
61
+ template_engine: p("liquidSyntax") ? 1 : 0,
61
62
  stripoConfig: r({
62
63
  editor: "stripo",
63
64
  html: a.rawHtml,
64
- css: a.css
65
+ css: a.css,
66
+ dynamicContentList: a.dynamicContentList
65
67
  })
66
- }, { data: { type: d } } = await i(
68
+ }, { data: { type: T } } = await m(
67
69
  "/newsletter/template-library/create-template",
68
- u
70
+ f
69
71
  );
70
- return d === "alert" ? (n({
71
- message: c(
72
+ return T === "alert" ? (l({
73
+ message: u(
72
74
  "newsletter.template-library-save-alert",
73
- { templateName: t.getTemplateName }
75
+ { templateName: s.getTemplateName }
74
76
  ),
75
77
  type: "alert"
76
- }), !1) : (n({
77
- message: c(
78
+ }), !1) : (l({
79
+ message: u(
78
80
  "newsletter.template-library-save-success",
79
- { templateName: t.getTemplateName }
81
+ { templateName: s.getTemplateName }
80
82
  ),
81
83
  type: "success"
82
84
  }), !0);
83
- } catch (e) {
84
- return s(e, "Failed to create template"), !1;
85
+ } catch (i) {
86
+ return o(i, "Failed to create template"), !1;
85
87
  }
86
88
  }
87
89
  };
88
90
  };
89
91
  export {
90
- G as useTemplateLibraryApi
92
+ $ as useTemplateLibraryApi
91
93
  };
@@ -178,6 +178,8 @@ export declare const FeaturesSchema: v.ObjectSchema<{
178
178
  readonly modulesDisabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
179
179
  /** Enable Liquid template syntax */
180
180
  readonly liquidSyntax: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
181
+ /** Enable autosave (3-min interval + tab-hide). User toggles on/off from the header. */
182
+ readonly autosave: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
181
183
  }, undefined>;
182
184
  /**
183
185
  * Default block types available in Stripo
@@ -501,6 +503,8 @@ export declare const GuidoConfigSchema: v.ObjectSchema<{
501
503
  readonly modulesDisabled: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
502
504
  /** Enable Liquid template syntax */
503
505
  readonly liquidSyntax: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
506
+ /** Enable autosave (3-min interval + tab-hide). User toggles on/off from the header. */
507
+ readonly autosave: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
504
508
  }, undefined>, {}>;
505
509
  /** Block configuration */
506
510
  readonly blocks: v.OptionalSchema<v.ObjectSchema<{
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
11
11
  close: () => void;
12
12
  };
13
13
  hasChanges: import("vue").ComputedRef<boolean>;
14
- saveSilent: () => Promise<Omit<SavedTemplateDetails, "metadata"> | undefined> | undefined;
14
+ saveSilent: () => Promise<Omit<SavedTemplateDetails, "metadata" | "silent"> | undefined> | undefined;
15
15
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
16
16
  "dynamic-content:open": (detail: {
17
17
  text: string;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata"> | undefined> | undefined;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata" | "silent"> | undefined> | undefined;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata"> | undefined> | undefined;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata" | "silent"> | undefined> | undefined;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata"> | undefined> | undefined;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata" | "silent"> | undefined> | undefined;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -34,9 +34,9 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
34
34
  }>>>, {
35
35
  description: string;
36
36
  size: "X-small" | "small" | "medium" | "large";
37
+ closeOnOutsideClick: boolean;
37
38
  footerButtonOptions: FooterButtonGroup;
38
39
  closeButtonStatus: boolean;
39
- closeOnOutsideClick: boolean;
40
40
  footerStatus: boolean;
41
41
  }>;
42
42
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -0,0 +1,3 @@
1
+ type SaveSilent = () => Promise<unknown>;
2
+ export declare const useAutoSave: (saveSilent: SaveSilent) => void;
3
+ export {};
@@ -62,6 +62,7 @@ export declare const useConfig: () => {
62
62
  unsubscribe: boolean;
63
63
  modulesDisabled: boolean;
64
64
  liquidSyntax: boolean;
65
+ autosave: boolean;
65
66
  };
66
67
  blocks: {
67
68
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -159,6 +160,7 @@ export declare const useConfig: () => {
159
160
  unsubscribe: boolean;
160
161
  modulesDisabled: boolean;
161
162
  liquidSyntax: boolean;
163
+ autosave: boolean;
162
164
  } | null>;
163
165
  blocks: import("vue").ComputedRef<{
164
166
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1,3 +1,4 @@
1
+ import type { CompilationResult } from '@@/Types/html-compiler';
1
2
  export declare const useHtmlCompiler: () => {
2
- compileHtml: (html: string) => import("@@/Types/html-compiler").CompilationResult;
3
+ compileHtml: (html: string) => CompilationResult;
3
4
  };
@@ -0,0 +1,4 @@
1
+ export declare const useRibbonOffset: () => {
2
+ ribbonOffset: import("vue").Ref<number>;
3
+ getTopPosition: (baseTop: number) => string;
4
+ };
@@ -1,4 +1,4 @@
1
1
  import type { SavedTemplateDetails } from '@@/Types/stripo';
2
2
  export declare const useSave: () => {
3
- save: (isSilent?: boolean) => Promise<Omit<SavedTemplateDetails, "metadata"> | undefined>;
3
+ save: (suppressEmit?: boolean, silent?: boolean) => Promise<Omit<SavedTemplateDetails, "metadata" | "silent"> | undefined>;
4
4
  };
@@ -1,5 +1,5 @@
1
1
  interface TranslationValues {
2
2
  [key: string]: string | number | boolean;
3
3
  }
4
- export declare const useTranslations: () => (key: string, params?: TranslationValues) => string;
4
+ export declare const useTranslations: () => ((key: string, params?: TranslationValues) => string) & import("lodash").MemoizedFunction;
5
5
  export {};
@@ -3,3 +3,9 @@ export declare const UI_EDITOR_SELECTOR = "ui-editor";
3
3
  export declare const CARD_COMPOSITION_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Card Composition\"]";
4
4
  export declare const SETTINGS_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Settings\"]";
5
5
  export declare const RIBBON_SELECTOR = ".in-ribbons-wrapper";
6
+ export declare const DYNAMIC_CONTENT_BUTTON_SELECTOR = "#guido__btn-add-dynamic-content";
7
+ export declare const AMP_TOGGLE_BUTTON_SELECTOR = ".guido__amp-toggle-html";
8
+ export declare const AMP_TOGGLE_WRAPPER_SELECTOR = ".in-segments-wrapper";
9
+ export declare const HEADER_SELECTOR = "[data-testid=\"guido-header\"]";
10
+ export declare const POPOVER_LEFT_OFFSET = 158;
11
+ export declare const POPOVER_TOP_GAP = 10;
@@ -12,6 +12,11 @@ export declare const URLS: {
12
12
  UNSUBSCRIBE_URL: string;
13
13
  PREFERENCES_URL: string;
14
14
  };
15
+ export declare const PRODUCT_TYPE_URL_SEGMENTS: {
16
+ readonly 60: "email";
17
+ readonly 49: "journey";
18
+ readonly 97: "email";
19
+ };
15
20
  export declare const INSIDER_ID = "iid";
16
21
  export declare const DEFAULT_UNSUBSCRIBE_GROUP: {
17
22
  readonly name: "Global Unsubscribe";
@@ -0,0 +1,12 @@
1
+ export declare const AUTOSAVE_STATUS: {
2
+ readonly IDLE: "idle";
3
+ readonly SAVING: "saving";
4
+ readonly SAVED: "saved";
5
+ readonly ERROR: "error";
6
+ };
7
+ export type AutosaveStatus = typeof AUTOSAVE_STATUS[keyof typeof AUTOSAVE_STATUS];
8
+ export declare const useAutosaveStore: import("pinia").StoreDefinition<"guidoAutosave", {
9
+ isOn: boolean;
10
+ lastSavedAt: Date | null;
11
+ status: AutosaveStatus;
12
+ }, {}, {}>;
@@ -67,6 +67,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
67
67
  unsubscribe: boolean;
68
68
  modulesDisabled: boolean;
69
69
  liquidSyntax: boolean;
70
+ autosave: boolean;
70
71
  };
71
72
  blocks: {
72
73
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -170,6 +171,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
170
171
  unsubscribe: boolean;
171
172
  modulesDisabled: boolean;
172
173
  liquidSyntax: boolean;
174
+ autosave: boolean;
173
175
  };
174
176
  blocks: {
175
177
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -273,6 +275,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
273
275
  unsubscribe: boolean;
274
276
  modulesDisabled: boolean;
275
277
  liquidSyntax: boolean;
278
+ autosave: boolean;
276
279
  };
277
280
  blocks: {
278
281
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -376,6 +379,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
376
379
  unsubscribe: boolean;
377
380
  modulesDisabled: boolean;
378
381
  liquidSyntax: boolean;
382
+ autosave: boolean;
379
383
  };
380
384
  blocks: {
381
385
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -479,6 +483,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
479
483
  unsubscribe: boolean;
480
484
  modulesDisabled: boolean;
481
485
  liquidSyntax: boolean;
486
+ autosave: boolean;
482
487
  };
483
488
  blocks: {
484
489
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -582,6 +587,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
582
587
  unsubscribe: boolean;
583
588
  modulesDisabled: boolean;
584
589
  liquidSyntax: boolean;
590
+ autosave: boolean;
585
591
  };
586
592
  blocks: {
587
593
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -685,6 +691,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
685
691
  unsubscribe: boolean;
686
692
  modulesDisabled: boolean;
687
693
  liquidSyntax: boolean;
694
+ autosave: boolean;
688
695
  };
689
696
  blocks: {
690
697
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -788,6 +795,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
788
795
  unsubscribe: boolean;
789
796
  modulesDisabled: boolean;
790
797
  liquidSyntax: boolean;
798
+ autosave: boolean;
791
799
  };
792
800
  blocks: {
793
801
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -891,6 +899,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
891
899
  unsubscribe: boolean;
892
900
  modulesDisabled: boolean;
893
901
  liquidSyntax: boolean;
902
+ autosave: boolean;
894
903
  };
895
904
  blocks: {
896
905
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -994,6 +1003,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
994
1003
  unsubscribe: boolean;
995
1004
  modulesDisabled: boolean;
996
1005
  liquidSyntax: boolean;
1006
+ autosave: boolean;
997
1007
  };
998
1008
  blocks: {
999
1009
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1097,6 +1107,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1097
1107
  unsubscribe: boolean;
1098
1108
  modulesDisabled: boolean;
1099
1109
  liquidSyntax: boolean;
1110
+ autosave: boolean;
1100
1111
  };
1101
1112
  blocks: {
1102
1113
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1200,6 +1211,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1200
1211
  unsubscribe: boolean;
1201
1212
  modulesDisabled: boolean;
1202
1213
  liquidSyntax: boolean;
1214
+ autosave: boolean;
1203
1215
  };
1204
1216
  blocks: {
1205
1217
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1303,6 +1315,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1303
1315
  unsubscribe: boolean;
1304
1316
  modulesDisabled: boolean;
1305
1317
  liquidSyntax: boolean;
1318
+ autosave: boolean;
1306
1319
  };
1307
1320
  blocks: {
1308
1321
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1406,6 +1419,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1406
1419
  unsubscribe: boolean;
1407
1420
  modulesDisabled: boolean;
1408
1421
  liquidSyntax: boolean;
1422
+ autosave: boolean;
1409
1423
  };
1410
1424
  blocks: {
1411
1425
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1509,6 +1523,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1509
1523
  unsubscribe: boolean;
1510
1524
  modulesDisabled: boolean;
1511
1525
  liquidSyntax: boolean;
1526
+ autosave: boolean;
1512
1527
  };
1513
1528
  blocks: {
1514
1529
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1612,6 +1627,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1612
1627
  unsubscribe: boolean;
1613
1628
  modulesDisabled: boolean;
1614
1629
  liquidSyntax: boolean;
1630
+ autosave: boolean;
1615
1631
  };
1616
1632
  blocks: {
1617
1633
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1715,6 +1731,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1715
1731
  unsubscribe: boolean;
1716
1732
  modulesDisabled: boolean;
1717
1733
  liquidSyntax: boolean;
1734
+ autosave: boolean;
1718
1735
  };
1719
1736
  blocks: {
1720
1737
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1818,6 +1835,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1818
1835
  unsubscribe: boolean;
1819
1836
  modulesDisabled: boolean;
1820
1837
  liquidSyntax: boolean;
1838
+ autosave: boolean;
1821
1839
  };
1822
1840
  blocks: {
1823
1841
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -26,13 +26,13 @@ export declare const useDynamicContentStore: import("pinia").StoreDefinition<"gu
26
26
  selectedDynamicContent: DynamicContent;
27
27
  selectedDynamicContentList: DynamicContent[];
28
28
  }>) => {
29
+ text: string;
29
30
  value: string;
30
- fallback?: string | undefined;
31
- format?: {
31
+ fallback: string | undefined;
32
+ format: {
32
33
  key: string;
33
34
  value: string;
34
35
  } | undefined;
35
- text: string;
36
36
  }[];
37
37
  }, {
38
38
  setSelectedDynamicContent(dynamicContent: DynamicContent): void;
@@ -263,4 +263,27 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
263
263
  templateId: string;
264
264
  syncModulesEnabled: boolean;
265
265
  }>) => boolean;
266
+ isInSaveableState: (state: {
267
+ loadingStatus: boolean;
268
+ isCodeEditorOpen: boolean;
269
+ isSaveAsTemplateDrawerOpen: boolean;
270
+ isVersionHistoryOpen: boolean;
271
+ isPreviewModeOpen: boolean;
272
+ editorVisualMode: string;
273
+ hasChanges: boolean;
274
+ isStripoInitialized: boolean;
275
+ templateId: string;
276
+ syncModulesEnabled: boolean;
277
+ } & import("pinia").PiniaCustomStateProperties<{
278
+ loadingStatus: boolean;
279
+ isCodeEditorOpen: boolean;
280
+ isSaveAsTemplateDrawerOpen: boolean;
281
+ isVersionHistoryOpen: boolean;
282
+ isPreviewModeOpen: boolean;
283
+ editorVisualMode: string;
284
+ hasChanges: boolean;
285
+ isStripoInitialized: boolean;
286
+ templateId: string;
287
+ syncModulesEnabled: boolean;
288
+ }>) => boolean;
266
289
  }, {}>;
@@ -1392,6 +1392,10 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1392
1392
  close(type: OnboardingType): Promise<void>;
1393
1393
  next(type: OnboardingType): void;
1394
1394
  previous(type: OnboardingType): void;
1395
+ updateCardPosition(type: OnboardingType, cardIndex: number, position: {
1396
+ top: string;
1397
+ position: string;
1398
+ }): void;
1395
1399
  setConfig(type: OnboardingType, config: OnboardingCardConfig[]): void;
1396
1400
  onDiscoverNowClicked(): Promise<void>;
1397
1401
  onRemindMeLater(): void;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Formats a Date as local time in 24-hour format.
3
+ * Pass `useTimezone = true` to append the UTC offset and city name — useful when the
4
+ * timestamp must clearly communicate the client's timezone.
5
+ * @example formatLocalTime(date) -> 12:20:02
6
+ * @example formatLocalTime(date, true) -> 12:20:02 (UTC+3 Istanbul)
7
+ */
8
+ export declare const formatLocalTime: (date: Date, useTimezone?: boolean) => string;
@@ -0,0 +1,17 @@
1
+ import { defineStore as e } from "pinia";
2
+ const t = {
3
+ IDLE: "idle",
4
+ SAVING: "saving",
5
+ SAVED: "saved",
6
+ ERROR: "error"
7
+ }, o = e("guidoAutosave", {
8
+ state: () => ({
9
+ isOn: !1,
10
+ lastSavedAt: null,
11
+ status: t.IDLE
12
+ })
13
+ });
14
+ export {
15
+ t as AUTOSAVE_STATUS,
16
+ o as useAutosaveStore
17
+ };