@useinsider/guido 3.21.2-beta.cfc5be2 → 3.21.2-beta.d9d48aa
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 +9 -1
- package/dist/@types/config/schemas.js +19 -19
- package/dist/components/Guido.vue.js +8 -8
- package/dist/components/Guido.vue2.js +76 -74
- package/dist/components/organisms/unsubscribe/LegacyUnsubscribeConvertedModal.vue.js +17 -0
- package/dist/components/organisms/unsubscribe/LegacyUnsubscribeConvertedModal.vue2.js +30 -0
- package/dist/composables/useBlocksConfig.js +24 -32
- package/dist/composables/useModuleRepair.js +32 -23
- package/dist/config/migrator/index.js +10 -9
- package/dist/config/migrator/legacyUnsubscribeTextMigrator.js +16 -0
- package/dist/enums/academy.js +2 -2
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +92 -93
- package/dist/node_modules/valibot/dist/index.js +261 -297
- package/dist/src/@types/config/schemas.d.ts +4 -4
- package/dist/src/composables/useConfig.d.ts +2 -2
- package/dist/src/composables/useModuleRepair.d.ts +2 -11
- package/dist/src/config/migrator/legacyUnsubscribeTextMigrator.d.ts +1 -0
- package/dist/src/enums/academy.d.ts +1 -1
- package/dist/src/stores/config.d.ts +20 -166
- package/dist/src/stores/editor.d.ts +25 -0
- package/dist/src/utils/legacyUnsubscribeConversion.d.ts +10 -0
- package/dist/stores/config.js +6 -13
- package/dist/stores/editor.js +15 -14
- package/dist/utils/legacyUnsubscribeConversion.js +49 -0
- package/dist/utils/pairProductVariables.js +14 -15
- package/package.json +1 -1
- package/dist/@types/display-condition.js +0 -25
- package/dist/components/organisms/display-conditions/CodeEditorField.vue.js +0 -20
- package/dist/components/organisms/display-conditions/CodeEditorField.vue2.js +0 -30
- package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue.js +0 -30
- package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue2.js +0 -71
- package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.js +0 -34
- package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue2.js +0 -57
- package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue.js +0 -17
- package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue2.js +0 -22
- package/dist/composables/useDisplayConditions.js +0 -102
- package/dist/enums/display-condition.js +0 -12
- package/dist/extensions/DisplayConditions/bridge.js +0 -17
- package/dist/extensions/DisplayConditions/constants.js +0 -17
- package/dist/extensions/DisplayConditions/control.js +0 -178
- package/dist/extensions/DisplayConditions/display-conditions.css.js +0 -201
- package/dist/extensions/DisplayConditions/extension.js +0 -28
- package/dist/extensions/DisplayConditions/iconsRegistry.js +0 -20
- package/dist/extensions/DisplayConditions/library.js +0 -27
- package/dist/extensions/DisplayConditions/settingsPanel.js +0 -17
- package/dist/services/displayConditionApi.js +0 -39
- package/dist/src/@types/display-condition.d.ts +0 -59
- package/dist/src/components/organisms/display-conditions/CodeEditorField.vue.d.ts +0 -43
- package/dist/src/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.d.ts +0 -2
- package/dist/src/components/organisms/display-conditions/DisplayConditionsHost.vue.d.ts +0 -2
- package/dist/src/composables/useDisplayConditions.d.ts +0 -16
- package/dist/src/enums/display-condition.d.ts +0 -15
- package/dist/src/extensions/DisplayConditions/bridge.d.ts +0 -6
- package/dist/src/extensions/DisplayConditions/constants.d.ts +0 -14
- package/dist/src/extensions/DisplayConditions/control.d.ts +0 -23
- package/dist/src/extensions/DisplayConditions/extension.d.ts +0 -2
- package/dist/src/extensions/DisplayConditions/iconsRegistry.d.ts +0 -4
- package/dist/src/extensions/DisplayConditions/library.d.ts +0 -8
- package/dist/src/extensions/DisplayConditions/settingsPanel.d.ts +0 -5
- package/dist/src/mock/api/display-conditions.d.ts +0 -2
- package/dist/src/services/displayConditionApi.d.ts +0 -8
- package/dist/src/stores/display-condition.d.ts +0 -81
- package/dist/src/utils/displayCondition.d.ts +0 -10
- package/dist/src/utils/protectTableText.d.ts +0 -2
- package/dist/stores/display-condition.js +0 -28
- package/dist/utils/displayCondition.js +0 -26
- package/dist/utils/protectTableText.js +0 -22
- /package/dist/src/components/organisms/{display-conditions/DisplayConditionCreateDrawer.vue.d.ts → unsubscribe/LegacyUnsubscribeConvertedModal.vue.d.ts} +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ExtensionBuilder as t } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { APPLIED_DESCRIPTION as o, EMPTY_DESCRIPTION as i } from "./constants.js";
|
|
3
|
-
import { DisplayConditionsControl as e } from "./control.js";
|
|
4
|
-
import n from "./display-conditions.css.js";
|
|
5
|
-
import { DisplayConditionsIconsRegistry as s } from "./iconsRegistry.js";
|
|
6
|
-
import { DisplayConditionsLibrary as d } from "./library.js";
|
|
7
|
-
import { DisplayConditionsSettingsPanel as r } from "./settingsPanel.js";
|
|
8
|
-
const S = new t().addControl(e).withIconsRegistry(s).withSettingsPanelRegistry(r).withExternalDisplayCondition(d).withStyles(n).withLocalization({
|
|
9
|
-
en: {
|
|
10
|
-
Conditions: "Conditions",
|
|
11
|
-
"Display Conditions": "Display Conditions",
|
|
12
|
-
"Add Display Condition": "Add Display Condition",
|
|
13
|
-
"Create New Condition": "Create New Condition",
|
|
14
|
-
"Select Saved Condition": "Select Saved Condition",
|
|
15
|
-
[i]: i,
|
|
16
|
-
[o]: o,
|
|
17
|
-
Edit: "Edit",
|
|
18
|
-
Remove: "Remove",
|
|
19
|
-
"Show More": "Show More",
|
|
20
|
-
"Show Less": "Show Less",
|
|
21
|
-
"Code Before Module": "Code Before Module",
|
|
22
|
-
"Code After Module": "Code After Module",
|
|
23
|
-
"Insider Display Conditions": "Insider Display Conditions"
|
|
24
|
-
}
|
|
25
|
-
}).build();
|
|
26
|
-
export {
|
|
27
|
-
S as default
|
|
28
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IconsRegistry as n } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { CONDITION_ICONS as r } from "./constants.js";
|
|
3
|
-
const h = 'fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"', s = (t, o, e = 1.3) => `
|
|
4
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${t}" viewBox="0 0 ${t} ${t}">
|
|
5
|
-
<path d="${o}" ${h} stroke-width="${e}"/>
|
|
6
|
-
</svg>`;
|
|
7
|
-
class g extends n {
|
|
8
|
-
registerIconsSvg(o) {
|
|
9
|
-
o[r.PLUS] = s(20, "M10 4v12M4 10h12", 1.5), o[r.EDIT] = s(
|
|
10
|
-
20,
|
|
11
|
-
"M3.5 16.5h13M5 12.6 13.1 4.5a1.4 1.4 0 0 1 2 0l.4.4a1.4 1.4 0 0 1 0 2L7.4 15H5v-2.4Z"
|
|
12
|
-
), o[r.TRASH] = s(
|
|
13
|
-
20,
|
|
14
|
-
"M3.5 5.5h13M8 5.5V4h4v1.5M5 5.5l.8 11h8.4l.8-11M8.5 8.5v5M11.5 8.5v5"
|
|
15
|
-
), o[r.CHEVRON] = s(20, "m5 7.5 5 5 5-5", 1.5);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
g as DisplayConditionsIconsRegistry
|
|
20
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { toAppliedCondition as s, parseSource as a } from "../../utils/displayCondition.js";
|
|
2
|
-
import { ExternalDisplayConditionsLibrary as l } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
3
|
-
import { requestDisplayCondition as p } from "./bridge.js";
|
|
4
|
-
class m extends l {
|
|
5
|
-
getCategoryName() {
|
|
6
|
-
return this.api.translate("Insider Display Conditions");
|
|
7
|
-
}
|
|
8
|
-
openExternalDisplayConditionsDialog(o, r, t) {
|
|
9
|
-
const e = s(o), n = a(e) === "inline";
|
|
10
|
-
p(
|
|
11
|
-
{ mode: n ? "edit" : "select", current: n ? e : null },
|
|
12
|
-
{
|
|
13
|
-
onApply: (i) => i ? r(i) : t(),
|
|
14
|
-
onCancel: t
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
getIsContextActionEnabled() {
|
|
19
|
-
return !0;
|
|
20
|
-
}
|
|
21
|
-
getContextActionIndex() {
|
|
22
|
-
return 1;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export {
|
|
26
|
-
m as DisplayConditionsLibrary
|
|
27
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SettingsPanelRegistry as a, SettingsTab as r, SettingsPanelTab as o } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { CONDITION_BLOCK_TYPES as I, BUILT_IN_CONDITION_CONTROLS as O, CONDITIONS_TAB_ID as T, CONDITIONS_CONTROL_ID as N } from "./constants.js";
|
|
3
|
-
class _ extends a {
|
|
4
|
-
// Stripo hands over the map pre-filled with its default tabs, so they are extended, not replaced.
|
|
5
|
-
registerBlockControls(e) {
|
|
6
|
-
I.forEach((i) => {
|
|
7
|
-
const n = e[i] ?? [];
|
|
8
|
-
n.filter((t) => t.getTabId() === String(r.SETTINGS)).forEach((t) => O.forEach((s) => t.deleteControl(s))), e[i] = [
|
|
9
|
-
...n,
|
|
10
|
-
new o(T, [N]).withLabel(this.api.translate("Conditions"))
|
|
11
|
-
];
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export {
|
|
16
|
-
_ as DisplayConditionsSettingsPanel
|
|
17
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { useHttp as p } from "../composables/useHttp.js";
|
|
2
|
-
import { SavedDisplayConditionSchema as y, DisplayConditionListResponseSchema as S } from "../@types/display-condition.js";
|
|
3
|
-
import { parse as r } from "../node_modules/valibot/dist/index.js";
|
|
4
|
-
const s = "/email-proxy/v1/display-conditions", u = 100, P = () => {
|
|
5
|
-
const { get: c, post: m, delete: l } = p(), i = async (t, e) => {
|
|
6
|
-
const o = new URLSearchParams({
|
|
7
|
-
page: String(e),
|
|
8
|
-
limit: String(u),
|
|
9
|
-
sortColumn: "id",
|
|
10
|
-
sortDirection: "desc",
|
|
11
|
-
"filter[syntax]": t
|
|
12
|
-
}), { data: n } = await c(`${s}?${o.toString()}`);
|
|
13
|
-
return r(S, n);
|
|
14
|
-
};
|
|
15
|
-
return { list: async (t) => {
|
|
16
|
-
const e = await i(t, 1), o = await Promise.all(Array.from(
|
|
17
|
-
{ length: Math.max(e.meta.lastPage - 1, 0) },
|
|
18
|
-
(a, d) => i(t, d + 2)
|
|
19
|
-
)), n = [e, ...o].flatMap((a) => a.data);
|
|
20
|
-
return [...new Map(n.map((a) => [a.id, a])).values()];
|
|
21
|
-
}, create: async (t, e) => {
|
|
22
|
-
const { data: o } = await m(s, {
|
|
23
|
-
name: t.name.trim(),
|
|
24
|
-
description: t.description.trim() || null,
|
|
25
|
-
syntax: e,
|
|
26
|
-
method: "codeOnly",
|
|
27
|
-
codeBefore: t.codeBefore,
|
|
28
|
-
codeAfter: t.codeAfter
|
|
29
|
-
});
|
|
30
|
-
return r(y, o.data);
|
|
31
|
-
}, remove: async (t) => {
|
|
32
|
-
await l(`${s}/${t}`);
|
|
33
|
-
} };
|
|
34
|
-
};
|
|
35
|
-
export {
|
|
36
|
-
u as DISPLAY_CONDITIONS_PAGE_LIMIT,
|
|
37
|
-
s as DISPLAY_CONDITIONS_URL,
|
|
38
|
-
P as useDisplayConditionApi
|
|
39
|
-
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import * as v from 'valibot';
|
|
2
|
-
export declare const DisplayConditionSyntaxSchema: v.PicklistSchema<["liquid", "pongo"], undefined>;
|
|
3
|
-
export declare const DisplayConditionMethodSchema: v.PicklistSchema<["codeOnly", "logicBuilder"], undefined>;
|
|
4
|
-
export declare const SavedDisplayConditionSchema: v.ObjectSchema<{
|
|
5
|
-
readonly id: v.NumberSchema<undefined>;
|
|
6
|
-
readonly name: v.StringSchema<undefined>;
|
|
7
|
-
readonly description: v.NullishSchema<v.StringSchema<undefined>, "">;
|
|
8
|
-
readonly syntax: v.PicklistSchema<["liquid", "pongo"], undefined>;
|
|
9
|
-
readonly method: v.PicklistSchema<["codeOnly", "logicBuilder"], undefined>;
|
|
10
|
-
readonly codeBefore: v.StringSchema<undefined>;
|
|
11
|
-
readonly codeAfter: v.NullishSchema<v.StringSchema<undefined>, "">;
|
|
12
|
-
readonly createdAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
13
|
-
}, undefined>;
|
|
14
|
-
export declare const DisplayConditionListResponseSchema: v.ObjectSchema<{
|
|
15
|
-
readonly data: v.ArraySchema<v.ObjectSchema<{
|
|
16
|
-
readonly id: v.NumberSchema<undefined>;
|
|
17
|
-
readonly name: v.StringSchema<undefined>;
|
|
18
|
-
readonly description: v.NullishSchema<v.StringSchema<undefined>, "">;
|
|
19
|
-
readonly syntax: v.PicklistSchema<["liquid", "pongo"], undefined>;
|
|
20
|
-
readonly method: v.PicklistSchema<["codeOnly", "logicBuilder"], undefined>;
|
|
21
|
-
readonly codeBefore: v.StringSchema<undefined>;
|
|
22
|
-
readonly codeAfter: v.NullishSchema<v.StringSchema<undefined>, "">;
|
|
23
|
-
readonly createdAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
24
|
-
}, undefined>, undefined>;
|
|
25
|
-
readonly meta: v.ObjectSchema<{
|
|
26
|
-
readonly totalCount: v.NumberSchema<undefined>;
|
|
27
|
-
readonly perPage: v.NumberSchema<undefined>;
|
|
28
|
-
readonly currentPage: v.NumberSchema<undefined>;
|
|
29
|
-
readonly lastPage: v.NumberSchema<undefined>;
|
|
30
|
-
}, undefined>;
|
|
31
|
-
}, undefined>;
|
|
32
|
-
export type DisplayConditionSyntax = v.InferOutput<typeof DisplayConditionSyntaxSchema>;
|
|
33
|
-
export type DisplayConditionMethod = v.InferOutput<typeof DisplayConditionMethodSchema>;
|
|
34
|
-
export type SavedDisplayCondition = v.InferOutput<typeof SavedDisplayConditionSchema>;
|
|
35
|
-
export type DisplayConditionListResponse = v.InferOutput<typeof DisplayConditionListResponseSchema>;
|
|
36
|
-
export interface DisplayConditionDraft {
|
|
37
|
-
name: string;
|
|
38
|
-
description: string;
|
|
39
|
-
codeBefore: string;
|
|
40
|
-
codeAfter: string;
|
|
41
|
-
}
|
|
42
|
-
export type DisplayConditionSource = 'inline' | 'saved';
|
|
43
|
-
/** Mirrors Stripo's `DisplayCondition`; kept local so Vue code does not import the Stripo package. */
|
|
44
|
-
export interface AppliedDisplayCondition {
|
|
45
|
-
id: number;
|
|
46
|
-
name: string;
|
|
47
|
-
description: string;
|
|
48
|
-
beforeScript: string;
|
|
49
|
-
afterScript: string;
|
|
50
|
-
extraData?: string;
|
|
51
|
-
}
|
|
52
|
-
export type DisplayConditionOpenMode = 'select' | 'create' | 'edit';
|
|
53
|
-
export interface DisplayConditionOpenDetail {
|
|
54
|
-
mode: DisplayConditionOpenMode;
|
|
55
|
-
current: AppliedDisplayCondition | null;
|
|
56
|
-
}
|
|
57
|
-
export interface DisplayConditionApplyDetail {
|
|
58
|
-
condition: AppliedDisplayCondition | null;
|
|
59
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
type __VLS_Props = {
|
|
2
|
-
id: string;
|
|
3
|
-
label: string;
|
|
4
|
-
value: string;
|
|
5
|
-
placeholder?: string;
|
|
6
|
-
error?: string;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
};
|
|
9
|
-
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
10
|
-
placeholder: string;
|
|
11
|
-
error: string;
|
|
12
|
-
disabled: boolean;
|
|
13
|
-
}>, {
|
|
14
|
-
read: () => string;
|
|
15
|
-
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
|
|
16
|
-
input: (value: string) => void;
|
|
17
|
-
}, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
18
|
-
placeholder: string;
|
|
19
|
-
error: string;
|
|
20
|
-
disabled: boolean;
|
|
21
|
-
}>>>, {
|
|
22
|
-
error: string;
|
|
23
|
-
placeholder: string;
|
|
24
|
-
disabled: boolean;
|
|
25
|
-
}>;
|
|
26
|
-
export default _default;
|
|
27
|
-
type __VLS_WithDefaults<P, D> = {
|
|
28
|
-
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
29
|
-
default: D[K];
|
|
30
|
-
}> : P[K];
|
|
31
|
-
};
|
|
32
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
33
|
-
type __VLS_TypePropsToOption<T> = {
|
|
34
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
35
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
36
|
-
} : {
|
|
37
|
-
type: import('vue').PropType<T[K]>;
|
|
38
|
-
required: true;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
type __VLS_PrettifyLocal<T> = {
|
|
42
|
-
[K in keyof T]: T[K];
|
|
43
|
-
} & {};
|
package/dist/src/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
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,2 +0,0 @@
|
|
|
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,16 +0,0 @@
|
|
|
1
|
-
import type { DisplayConditionDraft, DisplayConditionOpenDetail, SavedDisplayCondition } from '@@/Types/display-condition';
|
|
2
|
-
export type DraftField = keyof DisplayConditionDraft;
|
|
3
|
-
export type DraftErrors = Partial<Record<DraftField, string>>;
|
|
4
|
-
export type CreateIntent = 'inline' | 'save';
|
|
5
|
-
export declare const useDisplayConditions: () => {
|
|
6
|
-
syntax: import("vue").ComputedRef<"liquid" | "pongo">;
|
|
7
|
-
handleOpen: (detail: DisplayConditionOpenDetail) => void;
|
|
8
|
-
cancel: () => void;
|
|
9
|
-
loadList: () => Promise<void>;
|
|
10
|
-
validate: (draft: DisplayConditionDraft) => DraftErrors;
|
|
11
|
-
notifyInvalid: () => void;
|
|
12
|
-
createInline: (draft: DisplayConditionDraft) => void;
|
|
13
|
-
createAndSave: (draft: DisplayConditionDraft) => Promise<DraftErrors | null>;
|
|
14
|
-
select: (row: SavedDisplayCondition) => void;
|
|
15
|
-
deleteSaved: (row: SavedDisplayCondition) => Promise<void>;
|
|
16
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare enum DisplayConditionEvent {
|
|
2
|
-
OPEN = "display-condition:open",
|
|
3
|
-
APPLY = "display-condition:apply",
|
|
4
|
-
CANCEL = "display-condition:cancel"
|
|
5
|
-
}
|
|
6
|
-
export declare enum DisplayConditionSourceType {
|
|
7
|
-
INLINE = "inline",
|
|
8
|
-
SAVED = "saved"
|
|
9
|
-
}
|
|
10
|
-
export declare const DISPLAY_CONDITION_LIMITS: {
|
|
11
|
-
readonly NAME_MIN: 2;
|
|
12
|
-
readonly NAME_MAX: 40;
|
|
13
|
-
readonly DESCRIPTION_MAX: 200;
|
|
14
|
-
readonly CODE_MAX: 65535;
|
|
15
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AppliedDisplayCondition, DisplayConditionOpenDetail } from '@@/Types/display-condition';
|
|
2
|
-
export interface ConditionRequestHandlers {
|
|
3
|
-
onApply: (condition: AppliedDisplayCondition | null) => void;
|
|
4
|
-
onCancel?: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare const requestDisplayCondition: (detail: DisplayConditionOpenDetail, handlers: ConditionRequestHandlers) => void;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BlockType } from '@stripoinc/ui-editor-extensions';
|
|
2
|
-
export declare const CONDITIONS_TAB_ID = "conditions";
|
|
3
|
-
export declare const CONDITIONS_CONTROL_ID = "guido-display-conditions-control";
|
|
4
|
-
export declare const MAX_COLLAPSED_LINES = 10;
|
|
5
|
-
export declare const CONDITION_BLOCK_TYPES: readonly [BlockType.STRIPE, BlockType.STRUCTURE, BlockType.CONTAINER];
|
|
6
|
-
export declare const CONDITION_ICONS: {
|
|
7
|
-
readonly PLUS: "guido-display-condition-plus";
|
|
8
|
-
readonly EDIT: "guido-display-condition-edit";
|
|
9
|
-
readonly TRASH: "guido-display-condition-trash";
|
|
10
|
-
readonly CHEVRON: "guido-display-condition-chevron";
|
|
11
|
-
};
|
|
12
|
-
export declare const BUILT_IN_CONDITION_CONTROLS: string[];
|
|
13
|
-
export declare const EMPTY_DESCRIPTION: string;
|
|
14
|
-
export declare const APPLIED_DESCRIPTION: string;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
-
import { CommonControl } from '@@/Extensions/Blocks/common-control';
|
|
3
|
-
export declare class DisplayConditionsControl extends CommonControl {
|
|
4
|
-
private expanded;
|
|
5
|
-
private listeners;
|
|
6
|
-
private resizeObserver;
|
|
7
|
-
private detachOutsideClick;
|
|
8
|
-
getId(): string;
|
|
9
|
-
getTemplate(): string;
|
|
10
|
-
onRender(): void;
|
|
11
|
-
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
12
|
-
onDestroy(): void;
|
|
13
|
-
private getCondition;
|
|
14
|
-
private toggleMenu;
|
|
15
|
-
private listenOutsideClick;
|
|
16
|
-
private openDrawer;
|
|
17
|
-
private applyCondition;
|
|
18
|
-
private wire;
|
|
19
|
-
private teardown;
|
|
20
|
-
private observeCodeSize;
|
|
21
|
-
private paint;
|
|
22
|
-
private collapsedHeight;
|
|
23
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { DisplayCondition, ExternalDisplayConditionSelectedCB } from '@stripoinc/ui-editor-extensions';
|
|
2
|
-
import { ExternalDisplayConditionsLibrary } from '@stripoinc/ui-editor-extensions';
|
|
3
|
-
export declare class DisplayConditionsLibrary extends ExternalDisplayConditionsLibrary {
|
|
4
|
-
getCategoryName(): string;
|
|
5
|
-
openExternalDisplayConditionsDialog(currentCondition: DisplayCondition, successCallback: ExternalDisplayConditionSelectedCB, cancelCallback: () => void): void;
|
|
6
|
-
getIsContextActionEnabled(): boolean;
|
|
7
|
-
getContextActionIndex(): number;
|
|
8
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { SettingsPanelTab as SettingsPanelTabType } from '@stripoinc/ui-editor-extensions';
|
|
2
|
-
import { SettingsPanelRegistry } from '@stripoinc/ui-editor-extensions';
|
|
3
|
-
export declare class DisplayConditionsSettingsPanel extends SettingsPanelRegistry {
|
|
4
|
-
registerBlockControls(blockControlsMap: Record<string, SettingsPanelTabType[]>): void;
|
|
5
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { DisplayConditionDraft, DisplayConditionSyntax, SavedDisplayCondition } from '@@/Types/display-condition';
|
|
2
|
-
export declare const DISPLAY_CONDITIONS_URL = "/email-proxy/v1/display-conditions";
|
|
3
|
-
export declare const DISPLAY_CONDITIONS_PAGE_LIMIT = 100;
|
|
4
|
-
export declare const useDisplayConditionApi: () => {
|
|
5
|
-
list: (syntax: DisplayConditionSyntax) => Promise<SavedDisplayCondition[]>;
|
|
6
|
-
create: (draft: DisplayConditionDraft, syntax: DisplayConditionSyntax) => Promise<SavedDisplayCondition>;
|
|
7
|
-
remove: (id: number) => Promise<void>;
|
|
8
|
-
};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import type { AppliedDisplayCondition, SavedDisplayCondition } from '@@/Types/display-condition';
|
|
2
|
-
export type DisplayConditionView = 'none' | 'create' | 'select';
|
|
3
|
-
export type DisplayConditionListStatus = 'idle' | 'loading' | 'loaded' | 'error';
|
|
4
|
-
interface DisplayConditionState {
|
|
5
|
-
view: DisplayConditionView;
|
|
6
|
-
editing: AppliedDisplayCondition | null;
|
|
7
|
-
list: SavedDisplayCondition[];
|
|
8
|
-
listStatus: DisplayConditionListStatus;
|
|
9
|
-
pendingDelete: SavedDisplayCondition | null;
|
|
10
|
-
}
|
|
11
|
-
export declare const useDisplayConditionStore: import("pinia").StoreDefinition<"guidoDisplayCondition", DisplayConditionState, {
|
|
12
|
-
isCreateOpen: (state: {
|
|
13
|
-
view: DisplayConditionView;
|
|
14
|
-
editing: {
|
|
15
|
-
id: number;
|
|
16
|
-
name: string;
|
|
17
|
-
description: string;
|
|
18
|
-
beforeScript: string;
|
|
19
|
-
afterScript: string;
|
|
20
|
-
extraData?: string | undefined;
|
|
21
|
-
} | null;
|
|
22
|
-
list: {
|
|
23
|
-
id: number;
|
|
24
|
-
name: string;
|
|
25
|
-
description: string;
|
|
26
|
-
syntax: "liquid" | "pongo";
|
|
27
|
-
method: "codeOnly" | "logicBuilder";
|
|
28
|
-
codeBefore: string;
|
|
29
|
-
codeAfter: string;
|
|
30
|
-
createdAt?: string | undefined;
|
|
31
|
-
}[];
|
|
32
|
-
listStatus: DisplayConditionListStatus;
|
|
33
|
-
pendingDelete: {
|
|
34
|
-
id: number;
|
|
35
|
-
name: string;
|
|
36
|
-
description: string;
|
|
37
|
-
syntax: "liquid" | "pongo";
|
|
38
|
-
method: "codeOnly" | "logicBuilder";
|
|
39
|
-
codeBefore: string;
|
|
40
|
-
codeAfter: string;
|
|
41
|
-
createdAt?: string | undefined;
|
|
42
|
-
} | null;
|
|
43
|
-
} & import("pinia").PiniaCustomStateProperties<DisplayConditionState>) => boolean;
|
|
44
|
-
isSelectOpen: (state: {
|
|
45
|
-
view: DisplayConditionView;
|
|
46
|
-
editing: {
|
|
47
|
-
id: number;
|
|
48
|
-
name: string;
|
|
49
|
-
description: string;
|
|
50
|
-
beforeScript: string;
|
|
51
|
-
afterScript: string;
|
|
52
|
-
extraData?: string | undefined;
|
|
53
|
-
} | null;
|
|
54
|
-
list: {
|
|
55
|
-
id: number;
|
|
56
|
-
name: string;
|
|
57
|
-
description: string;
|
|
58
|
-
syntax: "liquid" | "pongo";
|
|
59
|
-
method: "codeOnly" | "logicBuilder";
|
|
60
|
-
codeBefore: string;
|
|
61
|
-
codeAfter: string;
|
|
62
|
-
createdAt?: string | undefined;
|
|
63
|
-
}[];
|
|
64
|
-
listStatus: DisplayConditionListStatus;
|
|
65
|
-
pendingDelete: {
|
|
66
|
-
id: number;
|
|
67
|
-
name: string;
|
|
68
|
-
description: string;
|
|
69
|
-
syntax: "liquid" | "pongo";
|
|
70
|
-
method: "codeOnly" | "logicBuilder";
|
|
71
|
-
codeBefore: string;
|
|
72
|
-
codeAfter: string;
|
|
73
|
-
createdAt?: string | undefined;
|
|
74
|
-
} | null;
|
|
75
|
-
} & import("pinia").PiniaCustomStateProperties<DisplayConditionState>) => boolean;
|
|
76
|
-
}, {
|
|
77
|
-
openCreate(editing?: AppliedDisplayCondition | null): void;
|
|
78
|
-
openSelect(): void;
|
|
79
|
-
close(): void;
|
|
80
|
-
}>;
|
|
81
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { AppliedDisplayCondition, DisplayConditionSource } from '@@/Types/display-condition';
|
|
2
|
-
export declare const parseSource: (condition: AppliedDisplayCondition | null | undefined) => DisplayConditionSource | null;
|
|
3
|
-
type ConditionLike = Omit<AppliedDisplayCondition, 'description'> & {
|
|
4
|
-
description?: string | null;
|
|
5
|
-
};
|
|
6
|
-
export declare const toAppliedCondition: (condition: ConditionLike | null | undefined) => AppliedDisplayCondition | null;
|
|
7
|
-
export declare const nextConditionId: () => number;
|
|
8
|
-
export type CodeField = 'codeBefore' | 'codeAfter';
|
|
9
|
-
export declare const findInvalidCodeFields: (codeBefore: string, codeAfter: string) => CodeField[];
|
|
10
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { defineStore as i } from "pinia";
|
|
2
|
-
const n = i("guidoDisplayCondition", {
|
|
3
|
-
state: () => ({
|
|
4
|
-
view: "none",
|
|
5
|
-
editing: null,
|
|
6
|
-
list: [],
|
|
7
|
-
listStatus: "idle",
|
|
8
|
-
pendingDelete: null
|
|
9
|
-
}),
|
|
10
|
-
getters: {
|
|
11
|
-
isCreateOpen: (e) => e.view === "create",
|
|
12
|
-
isSelectOpen: (e) => e.view === "select"
|
|
13
|
-
},
|
|
14
|
-
actions: {
|
|
15
|
-
openCreate(e = null) {
|
|
16
|
-
this.editing = e, this.view = "create";
|
|
17
|
-
},
|
|
18
|
-
openSelect() {
|
|
19
|
-
this.editing = null, this.view = "select";
|
|
20
|
-
},
|
|
21
|
-
close() {
|
|
22
|
-
this.view = "none", this.pendingDelete = null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
export {
|
|
27
|
-
n as useDisplayConditionStore
|
|
28
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { DisplayConditionSourceType as d } from "../enums/display-condition.js";
|
|
2
|
-
const m = (e) => {
|
|
3
|
-
if (!e)
|
|
4
|
-
return null;
|
|
5
|
-
try {
|
|
6
|
-
return JSON.parse(e.extraData ?? "{}").source === d.INLINE ? "inline" : "saved";
|
|
7
|
-
} catch {
|
|
8
|
-
return "saved";
|
|
9
|
-
}
|
|
10
|
-
}, E = (e) => !e || !(e.name || e.beforeScript || e.afterScript) ? null : { ...e, description: e.description ?? "" };
|
|
11
|
-
let o = 0;
|
|
12
|
-
const w = () => (o = Math.max(Date.now(), o + 1), o), f = /{%-?\s*(\w+)[\s\S]*?-?%}/g, p = /{%[\s\S]*?%}|{{[\s\S]*?}}/g, u = /{%-?\s*(comment|raw)\s*-?%}[\s\S]*?{%-?\s*end\1\s*-?%}/g, l = /* @__PURE__ */ new Set(["if", "unless", "for", "case", "capture", "tablerow", "comment"]), h = /* @__PURE__ */ new Set(["else", "elsif", "elif", "when"]), S = (e) => /{%|%}|{{|}}/.test(e.replace(p, "")), C = (e, c) => {
|
|
13
|
-
const t = /* @__PURE__ */ new Set(), r = [];
|
|
14
|
-
return [["codeBefore", e], ["codeAfter", c]].forEach(([n, i]) => {
|
|
15
|
-
const a = i.replace(u, "");
|
|
16
|
-
S(a) && t.add(n), Array.from(a.matchAll(f), (s) => s[1]).forEach((s) => {
|
|
17
|
-
l.has(s) ? r.push(s) : s.startsWith("end") && l.has(s.slice(3)) ? r.pop() !== s.slice(3) && t.add(n) : h.has(s) && !r.length && t.add(n);
|
|
18
|
-
});
|
|
19
|
-
}), r.length && t.add("codeAfter"), [...t];
|
|
20
|
-
};
|
|
21
|
-
export {
|
|
22
|
-
C as findInvalidCodeFields,
|
|
23
|
-
w as nextConditionId,
|
|
24
|
-
m as parseSource,
|
|
25
|
-
E as toAppliedCondition
|
|
26
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const c = "guido-table-text:", l = new RegExp(`<!--${c}([A-Za-z0-9+/=]*)-->`, "g"), i = /<!--[\s\S]*?-->|\{%[\s\S]*?%\}|<[a-zA-Z/!?](?:[^>"']|"[^"]*"|'[^']*')*>|[^<{]+|[<{]/g, o = /* @__PURE__ */ new Set(["table", "tbody", "thead", "tfoot", "tr"]), T = /* @__PURE__ */ new Set([...o, "td", "th", "caption"]), d = (s) => btoa(unescape(encodeURIComponent(s))), f = (s) => decodeURIComponent(escape(atob(s))), p = (s) => {
|
|
2
|
-
const e = /^<(\/?)([a-zA-Z][\w-]*)/.exec(s);
|
|
3
|
-
return { name: e ? e[2].toLowerCase() : "", closing: e ? e[1] === "/" : !1 };
|
|
4
|
-
};
|
|
5
|
-
function u(s) {
|
|
6
|
-
const e = [];
|
|
7
|
-
let a = !1;
|
|
8
|
-
return s.replace(i, (t) => {
|
|
9
|
-
if (t.startsWith("<!--") || t.startsWith("{%"))
|
|
10
|
-
return t;
|
|
11
|
-
if (t.length > 1 && t.startsWith("<")) {
|
|
12
|
-
const { name: n, closing: r } = p(t);
|
|
13
|
-
return a = T.has(n), a && (r ? e.includes(n) && e.splice(e.lastIndexOf(n)) : e.push(n)), t;
|
|
14
|
-
}
|
|
15
|
-
return a && o.has(e[e.length - 1] ?? "") && t.trim() ? `<!--${c}${d(t)}-->` : t;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
const E = (s) => s.replace(l, (e, a) => f(a));
|
|
19
|
-
export {
|
|
20
|
-
u as protectTableText,
|
|
21
|
-
E as restoreTableText
|
|
22
|
-
};
|