@useinsider/guido 1.0.3-beta.4cf7c41 → 1.0.3-beta.4ef9a2f
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.
- package/README.md +143 -3
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +79 -73
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -11
- package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
- package/dist/composables/useActionsApi.js +1 -1
- package/dist/composables/useBlocksConfig.js +48 -0
- package/dist/composables/useGuidoActions.js +19 -9
- package/dist/composables/useHtmlCompiler.js +15 -13
- package/dist/composables/useHtmlValidator.js +36 -35
- package/dist/composables/useStripo.js +55 -60
- package/dist/config/compiler/itemsCompilerRules.js +14 -0
- package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
- package/dist/enums/defaults.js +19 -11
- package/dist/enums/extensions/recommendationBlock.js +2 -2
- package/dist/enums/onboarding.js +7 -3
- package/dist/enums/unsubscribe.js +27 -25
- package/dist/extensions/Blocks/Checkbox/block.js +5 -2
- package/dist/extensions/Blocks/Checkbox/control.js +15 -14
- package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
- package/dist/extensions/Blocks/Checkbox/template.js +14 -9
- package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
- package/dist/extensions/Blocks/Items/block.js +67 -0
- package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
- package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/index.js +217 -0
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +312 -0
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
- package/dist/extensions/Blocks/Items/enums/productEnums.js +273 -0
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +76 -0
- package/dist/extensions/Blocks/Items/extension.js +19 -0
- package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
- package/dist/extensions/Blocks/Items/items.css.js +23 -0
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +60 -0
- package/dist/extensions/Blocks/Items/settingsPanel.js +131 -0
- package/dist/extensions/Blocks/Items/store/items-block.js +71 -0
- package/dist/extensions/Blocks/Items/template.js +189 -0
- package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +67 -0
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +44 -0
- package/dist/extensions/Blocks/RadioButton/block.js +5 -2
- package/dist/extensions/Blocks/RadioButton/control.js +18 -17
- package/dist/extensions/Blocks/RadioButton/template.js +18 -9
- package/dist/extensions/Blocks/Recommendation/extension.js +4 -4
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +4 -4
- package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
- package/dist/extensions/Blocks/common-control.js +174 -110
- package/dist/extensions/Blocks/controlFactories.js +223 -0
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
- package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +213 -168
- package/dist/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/lodash-es/_SetCache.js +13 -0
- package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
- package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
- package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
- package/dist/node_modules/lodash-es/_arraySome.js +9 -0
- package/dist/node_modules/lodash-es/_baseEach.js +6 -0
- package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
- package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
- package/dist/node_modules/lodash-es/_baseGet.js +11 -0
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
- package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
- package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
- package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
- package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
- package/dist/node_modules/lodash-es/_baseMap.js +11 -0
- package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
- package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
- package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
- package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
- package/dist/node_modules/lodash-es/_baseRange.js +9 -0
- package/dist/node_modules/lodash-es/_baseToString.js +18 -0
- package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
- package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_castPath.js +10 -0
- package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
- package/dist/node_modules/lodash-es/_createRange.js +11 -0
- package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
- package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
- package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
- package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
- package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/lodash-es/_getTag.js +28 -0
- package/dist/node_modules/lodash-es/_hasPath.js +19 -0
- package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
- package/dist/node_modules/lodash-es/_isKey.js +12 -0
- package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
- package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
- package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
- package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
- package/dist/node_modules/lodash-es/_toKey.js +10 -0
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
- package/dist/node_modules/lodash-es/flatMap.js +8 -0
- package/dist/node_modules/lodash-es/get.js +8 -0
- package/dist/node_modules/lodash-es/hasIn.js +8 -0
- package/dist/node_modules/lodash-es/isSymbol.js +9 -0
- package/dist/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/lodash-es/keysIn.js +3 -3
- package/dist/node_modules/lodash-es/map.js +11 -0
- package/dist/node_modules/lodash-es/property.js +10 -0
- package/dist/node_modules/lodash-es/range.js +5 -0
- package/dist/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/lodash-es/toFinite.js +14 -0
- package/dist/node_modules/lodash-es/toNumber.js +22 -0
- package/dist/node_modules/lodash-es/toString.js +7 -0
- package/dist/package.json.js +1 -1
- package/dist/services/recommendationApi.js +13 -19
- package/dist/services/stripoApi.js +28 -22
- package/dist/src/@types/generic.d.ts +36 -6
- package/dist/src/components/Guido.vue.d.ts +3 -2
- package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
- package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
- package/dist/src/composables/useBlocksConfig.d.ts +11 -0
- package/dist/src/composables/useGuidoActions.d.ts +9 -0
- package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
- package/dist/src/enums/defaults.d.ts +1 -0
- package/dist/src/enums/onboarding.d.ts +4 -0
- package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +162 -0
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +49 -0
- package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
- package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +41 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
- package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +44 -0
- package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
- package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
- package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
- package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
- package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
- package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
- package/dist/src/stores/config.d.ts +9 -2
- package/dist/src/stores/dynamic-content.d.ts +3 -3
- package/dist/src/stores/editor.d.ts +1 -1
- package/dist/src/stores/onboarding.d.ts +335 -1
- package/dist/src/stores/preview.d.ts +1 -1
- package/dist/src/stores/recommendation.d.ts +1 -1
- package/dist/src/stores/save-as-template.d.ts +1 -1
- package/dist/src/stores/toaster.d.ts +1 -1
- package/dist/src/stores/unsubscribe.d.ts +1 -1
- package/dist/src/stores/version-history.d.ts +1 -1
- package/dist/src/utils/environmentUtil.d.ts +5 -0
- package/dist/src/utils/genericUtil.d.ts +1 -0
- package/dist/src/utils/pairProductVariables.d.ts +7 -0
- package/dist/static/styles/components/narrow-panel.css.js +10 -0
- package/dist/static/styles/customEditorStyle.css.js +1 -1
- package/dist/stores/config.js +5 -5
- package/dist/stores/dynamic-content.js +2 -2
- package/dist/stores/editor.js +1 -1
- package/dist/stores/onboarding.js +44 -36
- package/dist/stores/preview.js +1 -1
- package/dist/stores/recommendation.js +3 -3
- package/dist/stores/save-as-template.js +2 -2
- package/dist/stores/toaster.js +1 -1
- package/dist/stores/unsubscribe.js +1 -1
- package/dist/stores/version-history.js +4 -4
- package/dist/utils/environmentUtil.js +4 -0
- package/dist/utils/genericUtil.js +18 -8
- package/dist/utils/pairProductVariables.js +136 -0
- package/package.json +4 -4
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import o from "./isArray.js";
|
|
2
|
+
import n from "./isSymbol.js";
|
|
3
|
+
var i = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, s = /^\w*$/;
|
|
4
|
+
function m(r, e) {
|
|
5
|
+
if (o(r))
|
|
6
|
+
return !1;
|
|
7
|
+
var t = typeof r;
|
|
8
|
+
return t == "number" || t == "symbol" || t == "boolean" || r == null || n(r) ? !0 : s.test(r) || !i.test(r) || e != null && r in Object(e);
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
m as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import u from "./_memoizeCapped.js";
|
|
2
|
+
var c = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, d = /\\(\\)?/g, h = u(function(e) {
|
|
3
|
+
var r = [];
|
|
4
|
+
return e.charCodeAt(0) === 46 && r.push(""), e.replace(c, function(a, p, o, t) {
|
|
5
|
+
r.push(o ? t.replace(d, "$1") : p || a);
|
|
6
|
+
}), r;
|
|
7
|
+
});
|
|
8
|
+
export {
|
|
9
|
+
h as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import n from "./toNumber.js";
|
|
2
|
+
var t = 1 / 0, o = 17976931348623157e292;
|
|
3
|
+
function I(r) {
|
|
4
|
+
if (!r)
|
|
5
|
+
return r === 0 ? r : 0;
|
|
6
|
+
if (r = n(r), r === t || r === -t) {
|
|
7
|
+
var i = r < 0 ? -1 : 1;
|
|
8
|
+
return i * o;
|
|
9
|
+
}
|
|
10
|
+
return r === r ? r : 0;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
I as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import n from "./_baseTrim.js";
|
|
2
|
+
import f from "./isObject.js";
|
|
3
|
+
import o from "./isSymbol.js";
|
|
4
|
+
var s = NaN, m = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, e = /^0o[0-7]+$/i, b = parseInt;
|
|
5
|
+
function O(r) {
|
|
6
|
+
if (typeof r == "number")
|
|
7
|
+
return r;
|
|
8
|
+
if (o(r))
|
|
9
|
+
return s;
|
|
10
|
+
if (f(r)) {
|
|
11
|
+
var t = typeof r.valueOf == "function" ? r.valueOf() : r;
|
|
12
|
+
r = f(t) ? t + "" : t;
|
|
13
|
+
}
|
|
14
|
+
if (typeof r != "string")
|
|
15
|
+
return r === 0 ? r : +r;
|
|
16
|
+
r = n(r);
|
|
17
|
+
var i = p.test(r);
|
|
18
|
+
return i || e.test(r) ? b(r.slice(2), i ? 2 : 8) : m.test(r) ? s : +r;
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
O as default
|
|
22
|
+
};
|
package/dist/package.json.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import { useHttp as c } from "../composables/useHttp.js";
|
|
2
2
|
import { URLS as a } from "../enums/extensions/recommendationBlock.js";
|
|
3
|
-
|
|
4
|
-
import { replaceString as s } from "../utils/genericUtil.js";
|
|
5
|
-
const l = () => {
|
|
3
|
+
const R = () => {
|
|
6
4
|
const { get: o } = c();
|
|
7
5
|
return {
|
|
8
6
|
fetchRecommendationCreateData: async () => {
|
|
9
|
-
const e = m();
|
|
10
7
|
try {
|
|
11
|
-
return (await o(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
))).data;
|
|
15
|
-
} catch (t) {
|
|
16
|
-
throw console.error("fetchUserModalState error:", t), t;
|
|
8
|
+
return (await o("/newsletter/recommendations/create-data")).data;
|
|
9
|
+
} catch (e) {
|
|
10
|
+
throw console.error("fetchUserModalState error:", e), e;
|
|
17
11
|
}
|
|
18
12
|
},
|
|
19
13
|
fetchRecommendationFilters: async () => {
|
|
@@ -24,20 +18,20 @@ const l = () => {
|
|
|
24
18
|
throw console.error("fetchRecommendationFilters error:", e), e;
|
|
25
19
|
}
|
|
26
20
|
},
|
|
27
|
-
fetchRecommendationProducts: async (e,
|
|
21
|
+
fetchRecommendationProducts: async (e, n) => {
|
|
28
22
|
try {
|
|
29
|
-
const
|
|
30
|
-
console.debug("🏁 Recommendation API Query:",
|
|
31
|
-
const
|
|
32
|
-
`${a.RECOMMENDATION_API_URL}/v2/${e}?${
|
|
23
|
+
const t = decodeURIComponent(new URLSearchParams(Object.entries(n)).toString());
|
|
24
|
+
console.debug("🏁 Recommendation API Query:", t);
|
|
25
|
+
const r = await o(
|
|
26
|
+
`${a.RECOMMENDATION_API_URL}/v2/${e}?${t}`
|
|
33
27
|
);
|
|
34
|
-
return (
|
|
35
|
-
} catch (
|
|
36
|
-
throw console.error("fetchRecommendationProducts error:",
|
|
28
|
+
return (r == null ? void 0 : r.data) ?? [];
|
|
29
|
+
} catch (t) {
|
|
30
|
+
throw console.error("fetchRecommendationProducts error:", t), t;
|
|
37
31
|
}
|
|
38
32
|
}
|
|
39
33
|
};
|
|
40
34
|
};
|
|
41
35
|
export {
|
|
42
|
-
|
|
36
|
+
R as useRecommendationApi
|
|
43
37
|
};
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { useHttp as
|
|
2
|
-
import { useToaster as
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { useHttp as u } from "../composables/useHttp.js";
|
|
2
|
+
import { useToaster as m } from "../composables/useToaster.js";
|
|
3
|
+
import { MAX_DEFAULT_TEMPLATE_ID as i } from "../enums/defaults.js";
|
|
4
|
+
const y = () => {
|
|
5
|
+
const { get: o } = u(), { handleError: s } = m();
|
|
5
6
|
return {
|
|
6
7
|
getToken: async () => {
|
|
7
8
|
try {
|
|
8
|
-
const t = Number(localStorage.getItem("ins-guido-test-instance")), { data:
|
|
9
|
-
return
|
|
9
|
+
const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: r } = await o(`/stripo/get-user-token?test=${t}`);
|
|
10
|
+
return r.body.token;
|
|
10
11
|
} catch (t) {
|
|
11
|
-
return
|
|
12
|
+
return s(t, "Failed to fetch token"), "";
|
|
12
13
|
}
|
|
13
14
|
},
|
|
14
15
|
getCustomFonts: async () => {
|
|
15
16
|
try {
|
|
16
|
-
const { data: t = [] } = await
|
|
17
|
-
return t.map((
|
|
18
|
-
...
|
|
17
|
+
const { data: t = [] } = await o("/stripo/get-partner-custom-fonts");
|
|
18
|
+
return t.map((r) => ({
|
|
19
|
+
...r,
|
|
19
20
|
active: !0
|
|
20
21
|
}));
|
|
21
22
|
} catch (t) {
|
|
22
|
-
return
|
|
23
|
+
return s(t, "Failed to fetch custom fonts"), [];
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
26
|
getDefaultTemplate: async () => {
|
|
@@ -29,21 +30,26 @@ const m = () => {
|
|
|
29
30
|
forceRecreate: !0
|
|
30
31
|
};
|
|
31
32
|
try {
|
|
32
|
-
const { data: e } = await
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
const c = new URLSearchParams(window.location.search).get("default-template"), n = c ? parseInt(c) : 0, l = n >= 1 && n <= i ? n : 0, { data: e } = await o(
|
|
34
|
+
`/stripo/default-template/${l}`
|
|
35
|
+
);
|
|
36
|
+
let a;
|
|
37
|
+
if (typeof e == "string")
|
|
38
|
+
a = JSON.parse(e);
|
|
39
|
+
else if (e && typeof e == "object" && "html" in e && "css" in e)
|
|
40
|
+
a = e;
|
|
41
|
+
else
|
|
39
42
|
return t;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
return console.debug("guido:default-template", a), {
|
|
44
|
+
...a,
|
|
45
|
+
forceRecreate: !0
|
|
46
|
+
};
|
|
47
|
+
} catch (r) {
|
|
48
|
+
return s(r, "Failed to fetch default template"), t;
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
};
|
|
46
52
|
};
|
|
47
53
|
export {
|
|
48
|
-
|
|
54
|
+
y as useStripoApi
|
|
49
55
|
};
|
|
@@ -6,12 +6,20 @@ type Features = {
|
|
|
6
6
|
dynamicContent?: boolean;
|
|
7
7
|
saveAsTemplate?: boolean;
|
|
8
8
|
versionHistory?: boolean;
|
|
9
|
+
testMessage?: boolean;
|
|
10
|
+
displayConditions?: boolean;
|
|
9
11
|
};
|
|
10
12
|
type Partner = {
|
|
11
13
|
partnerName: string;
|
|
12
14
|
productType: number;
|
|
13
15
|
messageType: number;
|
|
14
16
|
};
|
|
17
|
+
export type GuidoBlockType = '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';
|
|
18
|
+
export type GuidoCustomBlockType = 'dynamic-content' | 'checkbox-block' | 'radio-button-block' | 'recommendation-block' | 'unsubscribe-block' | 'coupon-block' | 'items-block';
|
|
19
|
+
type BlocksConfig = {
|
|
20
|
+
excludeDefaults?: GuidoBlockType[];
|
|
21
|
+
includeCustoms?: GuidoCustomBlockType[];
|
|
22
|
+
};
|
|
15
23
|
export type GuidoConfig = {
|
|
16
24
|
translationsPath: string;
|
|
17
25
|
htmlCompilerRules?: CompilerRule[];
|
|
@@ -22,21 +30,47 @@ export type GuidoConfig = {
|
|
|
22
30
|
partner?: Partner;
|
|
23
31
|
extensions?: Extensions;
|
|
24
32
|
features?: Features;
|
|
33
|
+
blocks?: BlocksConfig;
|
|
34
|
+
backButtonLabel?: string;
|
|
25
35
|
};
|
|
26
36
|
export type TemplateConfig = {
|
|
27
37
|
preselectedDynamicContentList?: DynamicContent[];
|
|
28
38
|
selectedUnsubscribePages?: number[];
|
|
29
39
|
variationId?: string;
|
|
30
40
|
};
|
|
31
|
-
export type
|
|
41
|
+
export type BaseDynamicContent = {
|
|
32
42
|
value: string;
|
|
33
|
-
text: string;
|
|
34
43
|
fallback?: string;
|
|
35
44
|
format?: {
|
|
36
45
|
key: string;
|
|
37
46
|
value: string;
|
|
38
47
|
};
|
|
39
48
|
};
|
|
49
|
+
export type DynamicContent = BaseDynamicContent & {
|
|
50
|
+
text: string;
|
|
51
|
+
};
|
|
52
|
+
export type MergeTag = BaseDynamicContent & {
|
|
53
|
+
label: string;
|
|
54
|
+
selStart?: number;
|
|
55
|
+
selEnd?: number;
|
|
56
|
+
hidden?: boolean;
|
|
57
|
+
};
|
|
58
|
+
export type PositionData = {
|
|
59
|
+
x: number;
|
|
60
|
+
y: number;
|
|
61
|
+
width?: number;
|
|
62
|
+
height?: number;
|
|
63
|
+
};
|
|
64
|
+
export type DynamicContentEvent = {
|
|
65
|
+
attribute: DynamicContent;
|
|
66
|
+
position?: PositionData;
|
|
67
|
+
};
|
|
68
|
+
export type MergeTagClickEvent = {
|
|
69
|
+
position: PositionData;
|
|
70
|
+
element: HTMLElement;
|
|
71
|
+
tagValue: string | null;
|
|
72
|
+
tagLabel: string | null;
|
|
73
|
+
};
|
|
40
74
|
export interface EmailHeader {
|
|
41
75
|
senderName: string;
|
|
42
76
|
subject: string;
|
|
@@ -52,10 +86,6 @@ export interface TooltipOptions {
|
|
|
52
86
|
};
|
|
53
87
|
preventXss?: boolean;
|
|
54
88
|
}
|
|
55
|
-
export type MergeTag = {
|
|
56
|
-
label: string;
|
|
57
|
-
value: string;
|
|
58
|
-
};
|
|
59
89
|
export type TextValueObject = {
|
|
60
90
|
text: string;
|
|
61
91
|
value: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DynamicContent, GuidoConfig, TemplateConfig } from '@@/Types/generic';
|
|
1
|
+
import type { DynamicContent, GuidoConfig, PositionData, TemplateConfig } from '@@/Types/generic';
|
|
2
2
|
import type { SavedTemplateDetails } from '@@/Types/stripo';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
templateId: string;
|
|
@@ -20,13 +20,14 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
|
|
|
20
20
|
hasChanges: import("vue").ComputedRef<boolean>;
|
|
21
21
|
saveSilent: () => Promise<SavedTemplateDetails | undefined> | undefined;
|
|
22
22
|
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
|
|
23
|
-
"dynamic-content:open": (detail: DynamicContent | null) => void;
|
|
23
|
+
"dynamic-content:open": (detail: DynamicContent | null, position?: PositionData | undefined) => void;
|
|
24
24
|
back: () => void;
|
|
25
25
|
"save:start": () => void;
|
|
26
26
|
"save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
|
|
27
27
|
"on-change": (hasChanges: boolean) => void;
|
|
28
28
|
ready: () => void;
|
|
29
29
|
"onboarding:finished": () => void;
|
|
30
|
+
"test-email:click": () => void;
|
|
30
31
|
}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
|
|
31
32
|
export default _default;
|
|
32
33
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -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;
|
|
@@ -32,8 +32,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
|
|
|
32
32
|
closeOnOutsideClick: boolean;
|
|
33
33
|
footerStatus: boolean;
|
|
34
34
|
}>>>, {
|
|
35
|
-
description: string;
|
|
36
35
|
size: "small" | "medium" | "large";
|
|
36
|
+
description: string;
|
|
37
37
|
closeOnOutsideClick: boolean;
|
|
38
38
|
footerButtonOptions: FooterButtonGroup;
|
|
39
39
|
closeButtonStatus: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Extension } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
/**
|
|
3
|
+
* Composable for managing Guido blocks configuration
|
|
4
|
+
* Converts GuidoConfig blocks settings to Stripo-compatible format
|
|
5
|
+
*/
|
|
6
|
+
export declare const useBlocksConfig: () => {
|
|
7
|
+
getStripoBlocksConfig: () => Promise<{
|
|
8
|
+
baseBlocks: Record<string, boolean>;
|
|
9
|
+
extensions: Extension[];
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
@@ -3,9 +3,11 @@ import type { InjectionKey } from 'vue';
|
|
|
3
3
|
export type BackHandler = () => void;
|
|
4
4
|
export type SaveStartHandler = () => void;
|
|
5
5
|
export type SaveCompleteHandler = (template: Omit<SavedTemplateDetails, 'forceRecreate'>) => void;
|
|
6
|
+
export type TestEmailClickHandler = () => void;
|
|
6
7
|
export declare const BACK_KEY: InjectionKey<BackHandler>;
|
|
7
8
|
export declare const SAVE_START_KEY: InjectionKey<SaveStartHandler>;
|
|
8
9
|
export declare const SAVE_COMPLETE_KEY: InjectionKey<SaveCompleteHandler>;
|
|
10
|
+
export declare const TEST_EMAIL_CLICK_KEY: InjectionKey<TestEmailClickHandler>;
|
|
9
11
|
/**
|
|
10
12
|
* Provides Guido action handlers to child components
|
|
11
13
|
*/
|
|
@@ -13,6 +15,7 @@ export declare const provideGuidoActions: (actions: {
|
|
|
13
15
|
onBack: BackHandler;
|
|
14
16
|
onSaveStart: SaveStartHandler;
|
|
15
17
|
onSaveComplete: SaveCompleteHandler;
|
|
18
|
+
onTestEmailClick: TestEmailClickHandler;
|
|
16
19
|
}) => void;
|
|
17
20
|
/**
|
|
18
21
|
* Provides individual Guido action handlers
|
|
@@ -35,6 +38,11 @@ export declare const useSaveStart: () => SaveStartHandler;
|
|
|
35
38
|
* @returns Save complete function
|
|
36
39
|
*/
|
|
37
40
|
export declare const useSaveComplete: () => SaveCompleteHandler;
|
|
41
|
+
/**
|
|
42
|
+
* Hook to use the test email click handler
|
|
43
|
+
* @returns Test email click function
|
|
44
|
+
*/
|
|
45
|
+
export declare const useTestEmailClick: () => TestEmailClickHandler;
|
|
38
46
|
/**
|
|
39
47
|
* Convenience hook to get all Guido actions
|
|
40
48
|
* @returns Object containing all action handlers
|
|
@@ -43,4 +51,5 @@ export declare const useGuidoActions: () => {
|
|
|
43
51
|
back: BackHandler;
|
|
44
52
|
saveStart: SaveStartHandler;
|
|
45
53
|
saveComplete: SaveCompleteHandler;
|
|
54
|
+
testEmailClick: TestEmailClickHandler;
|
|
46
55
|
};
|
|
@@ -8,5 +8,6 @@ export declare const DefaultProductType = "email";
|
|
|
8
8
|
export declare const DefaultUsername = "Guido User";
|
|
9
9
|
export declare const DefaultMessageType: number;
|
|
10
10
|
export declare const EditorType: number;
|
|
11
|
+
export declare const MAX_DEFAULT_TEMPLATE_ID = 13;
|
|
11
12
|
export declare const ProductIds: Record<string, number>;
|
|
12
13
|
export declare const TEST_PARTNER_LIST: string[];
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export declare const SERVICE_HOVER_SELECTORS: string[];
|
|
2
|
+
export declare const UI_EDITOR_SELECTOR = "ui-editor";
|
|
3
|
+
export declare const CARD_COMPOSITION_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Card Composition\"]";
|
|
4
|
+
export declare const SETTINGS_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Settings\"]";
|
|
5
|
+
export declare const RIBBON_SELECTOR = ".in-ribbons-wrapper";
|
|
2
6
|
export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const migrationTemplate = "\n <td
|
|
1
|
+
declare const migrationTemplate = "\n <td\n align=\"left\"\n esd-extension-block-id=\"checkbox-block\"\n class=\"\n checkbox-block\n checkbox-block-v2\n esd-block-checkbox\n esd-checkbox-block\n esd-extension-block es-p20\"\n >\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n <td align=\"left\" width=\"39\" style=\"vertical-align: top\">\n <input type=\"checkbox\">\n </td>\n <td align=\"left\" width=\"816\" style=\"vertical-align: top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n <tr>\n {-{-DESCRIPTION-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n";
|
|
2
2
|
/**
|
|
3
3
|
* @returns The template for the default checkbox block
|
|
4
4
|
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Block, BlockCompositionType, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare const BLOCK_ID = "items-block";
|
|
3
|
+
/**
|
|
4
|
+
* Items Block extension for Stripo email editor.
|
|
5
|
+
*
|
|
6
|
+
* Displays personalized product items (cart items, browsed items, or purchased items)
|
|
7
|
+
* in a configurable card layout with horizontal or vertical orientation.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Multiple product data sources (cart, browsed, purchased)
|
|
11
|
+
* - Configurable card composition (image, name, price, quantity, button)
|
|
12
|
+
* - Orientation control (horizontal/vertical)
|
|
13
|
+
* - Price formatting and currency display options
|
|
14
|
+
* - Product name trimming
|
|
15
|
+
* - Onboarding support
|
|
16
|
+
*/
|
|
17
|
+
export declare class ItemsBlock extends Block {
|
|
18
|
+
getId(): string;
|
|
19
|
+
getIcon(): string;
|
|
20
|
+
getBlockCompositionType(): BlockCompositionType;
|
|
21
|
+
getName(): string;
|
|
22
|
+
getDescription(): string;
|
|
23
|
+
getTemplate(): string;
|
|
24
|
+
allowInnerBlocksDND(): boolean;
|
|
25
|
+
onCreated(node: ImmutableHtmlNode): void;
|
|
26
|
+
onSelect(node: ImmutableHtmlNode): void;
|
|
27
|
+
}
|