@useinsider/guido 1.0.3-beta.c4d9021 → 1.0.3-beta.c600a63
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 +3 -0
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
- package/dist/components/organisms/header/RightSlot.vue2.js +13 -13
- 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 +1 -2
- package/dist/composables/useHtmlCompiler.js +15 -13
- package/dist/composables/useHtmlValidator.js +36 -35
- package/dist/composables/useStripo.js +32 -28
- package/dist/config/compiler/itemsCompilerRules.js +14 -0
- package/dist/enums/defaults.js +5 -4
- package/dist/enums/extensions/recommendationBlock.js +2 -2
- package/dist/enums/onboarding.js +7 -3
- package/dist/extensions/Blocks/Checkbox/block.js +5 -2
- package/dist/extensions/Blocks/Checkbox/control.js +15 -14
- package/dist/extensions/Blocks/Checkbox/template.js +14 -9
- 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/price/priceOrientation.js +92 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
- package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
- package/dist/extensions/Blocks/Items/extension.js +20 -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 +72 -0
- package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
- package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
- package/dist/extensions/Blocks/Items/template.js +195 -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 +76 -0
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -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/iconsRegistry.js +43 -43
- package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
- package/dist/extensions/Blocks/common-control.js +174 -110
- package/dist/extensions/Blocks/controlFactories.js +223 -0
- 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 +31 -26
- package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -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/price/priceOrientation.d.ts +15 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -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 +43 -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 +50 -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/Unsubscribe/block.d.ts +3 -4
- package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
- package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
- package/dist/src/stores/onboarding.d.ts +334 -0
- package/dist/src/utils/pairProductVariables.d.ts +7 -0
- package/dist/static/styles/customEditorStyle.css.js +1 -1
- package/dist/stores/onboarding.js +20 -12
- package/dist/utils/genericUtil.js +16 -17
- package/dist/utils/pairProductVariables.js +136 -0
- package/package.json +6 -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,49 +1,54 @@
|
|
|
1
|
-
import { useHttp as
|
|
2
|
-
import { useToaster as
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { useHttp as l } from "../composables/useHttp.js";
|
|
2
|
+
import { useToaster as u } from "../composables/useToaster.js";
|
|
3
|
+
import { MAX_DEFAULT_TEMPLATE_ID as i } from "../enums/defaults.js";
|
|
4
|
+
const T = () => {
|
|
5
|
+
const { get: o } = l(), { handleError: r } = u();
|
|
5
6
|
return {
|
|
6
7
|
getToken: async () => {
|
|
7
8
|
try {
|
|
8
|
-
const
|
|
9
|
-
return
|
|
10
|
-
} catch (
|
|
11
|
-
return
|
|
9
|
+
const e = Number(localStorage.getItem("ins-guido-test-instance")), { data: a } = await o(`/stripo/get-user-token?test=${e}`);
|
|
10
|
+
return a.body.token;
|
|
11
|
+
} catch (e) {
|
|
12
|
+
return r(e, "Failed to fetch token"), "";
|
|
12
13
|
}
|
|
13
14
|
},
|
|
14
15
|
getCustomFonts: async () => {
|
|
15
16
|
try {
|
|
16
|
-
const { data:
|
|
17
|
-
return
|
|
18
|
-
...
|
|
17
|
+
const { data: e = [] } = await o("/stripo/get-partner-custom-fonts");
|
|
18
|
+
return e.map((a) => ({
|
|
19
|
+
...a,
|
|
19
20
|
active: !0
|
|
20
21
|
}));
|
|
21
|
-
} catch (
|
|
22
|
-
return
|
|
22
|
+
} catch (e) {
|
|
23
|
+
return r(e, "Failed to fetch custom fonts"), [];
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
26
|
getDefaultTemplate: async () => {
|
|
26
|
-
const
|
|
27
|
+
const e = {
|
|
27
28
|
html: "",
|
|
28
29
|
css: "",
|
|
29
30
|
forceRecreate: !0
|
|
30
31
|
};
|
|
31
32
|
try {
|
|
32
|
-
const { data:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
const n = new URLSearchParams(window.location.search).get("default-template"), s = n ? parseInt(n) : 0, c = s >= 1 && s <= i ? s : 0, { data: t } = await o(
|
|
34
|
+
`/stripo/default-template/${c}`
|
|
35
|
+
);
|
|
36
|
+
return console.debug("[getDefaultTemplate]", {
|
|
37
|
+
dataType: typeof t,
|
|
38
|
+
isObject: typeof t == "object",
|
|
39
|
+
hasHtml: t && "html" in t,
|
|
40
|
+
hasCss: t && "css" in t,
|
|
41
|
+
validTemplateId: c
|
|
42
|
+
}), !t || typeof t != "object" || !("html" in t) || !("css" in t) ? (console.debug("[getDefaultTemplate] Validation failed, returning fallback"), e) : {
|
|
43
|
+
...t,
|
|
44
|
+
forceRecreate: !0
|
|
45
|
+
};
|
|
46
|
+
} catch (a) {
|
|
47
|
+
return r(a, "Failed to fetch default template"), e;
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
};
|
|
46
51
|
};
|
|
47
52
|
export {
|
|
48
|
-
|
|
53
|
+
T as useStripoApi
|
|
49
54
|
};
|
|
@@ -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;
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
import { CommonControl } from '../../../common-control';
|
|
3
|
+
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
|
+
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.BUTTON_LINK;
|
|
5
|
+
export declare class ButtonLinkControl extends CommonControl {
|
|
6
|
+
private store;
|
|
7
|
+
getId(): string;
|
|
8
|
+
getTemplate(): string;
|
|
9
|
+
onRender(): void;
|
|
10
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
+
_listenToFormUpdates(): void;
|
|
12
|
+
_onLinkChange(value: string): void;
|
|
13
|
+
_getLink(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
import { CommonControl } from '../../common-control';
|
|
3
|
+
export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-items-card-composition-block";
|
|
4
|
+
export declare class ItemsBlockCardCompositionControl extends CommonControl {
|
|
5
|
+
private store;
|
|
6
|
+
private visibilityState;
|
|
7
|
+
getId(): string;
|
|
8
|
+
getTemplate(): string;
|
|
9
|
+
onRender(): void;
|
|
10
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
+
_getToggleContainer({ name, label }: {
|
|
12
|
+
name: string;
|
|
13
|
+
label: string;
|
|
14
|
+
}): string;
|
|
15
|
+
_initializeToggles(): void;
|
|
16
|
+
_updateTogglesFromState(): void;
|
|
17
|
+
_syncVisibilityFromAttributes(): void;
|
|
18
|
+
/**
|
|
19
|
+
* If itemsType is not BROWSED_ITEMS, show quantity
|
|
20
|
+
* If itemsType is BROWSED_ITEMS, hide quantity
|
|
21
|
+
* and mark it as '0'
|
|
22
|
+
*/
|
|
23
|
+
_handleBrowsedItemsQuantity(): void;
|
|
24
|
+
_applyVisibilityStyles(): void;
|
|
25
|
+
_updateVisibilityAttribute(elementName: string, isVisible: boolean): void;
|
|
26
|
+
_listenToFormUpdates(): void;
|
|
27
|
+
_onProductImageChange(value: boolean): void;
|
|
28
|
+
_onProductNameChange(value: boolean): void;
|
|
29
|
+
_onProductQuantityChange(value: boolean): void;
|
|
30
|
+
_onProductPriceChange(value: boolean): void;
|
|
31
|
+
_onProductOriginalPriceChange(value: boolean): void;
|
|
32
|
+
_onProductButtonChange(value: boolean): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
import { CommonControl } from '../../../common-control';
|
|
3
|
+
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
|
+
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.IMAGE_LINK;
|
|
5
|
+
export declare class ImageLinkControl extends CommonControl {
|
|
6
|
+
private store;
|
|
7
|
+
getId(): string;
|
|
8
|
+
getTemplate(): string;
|
|
9
|
+
onRender(): void;
|
|
10
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
+
_listenToFormUpdates(): void;
|
|
12
|
+
_onLinkChange(value: string): void;
|
|
13
|
+
_getLink(): string;
|
|
14
|
+
}
|