@useinsider/guido 1.0.0-beta.e760ea9 → 1.0.0-beta.e830eab
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 +11 -259
- package/dist/@types/generic.d.ts +0 -8
- package/dist/App.vue.d.ts +1 -1
- package/dist/components/Guido.vue.d.ts +3 -16
- package/dist/components/Guido.vue.js +8 -8
- package/dist/components/Guido.vue2.js +24 -57
- package/dist/components/organisms/header/LeftSlot.vue.js +5 -5
- package/dist/components/organisms/header/LeftSlot.vue2.js +8 -12
- package/dist/components/organisms/header/MiddleSlot.vue.js +1 -1
- package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
- package/dist/components/organisms/header/RightSlot.vue.js +1 -1
- package/dist/components/organisms/header/RightSlot.vue2.js +15 -27
- package/dist/components/organisms/header/ViewOptions.vue.d.ts +1 -1
- package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +1 -1
- package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +1 -1
- package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +1 -1
- package/dist/components/organisms/header/version-history/ViewOptions.vue.d.ts +1 -1
- package/dist/components/organisms/save-template/SaveTemplateModal.vue.d.ts +16 -0
- package/dist/components/organisms/save-template/SaveTemplateModal.vue.js +22 -0
- package/dist/components/organisms/save-template/SaveTemplateModal.vue2.js +79 -0
- package/dist/components/wrappers/ModalWrapper.vue.d.ts +72 -0
- package/dist/components/wrappers/ModalWrapper.vue.js +19 -0
- package/dist/components/wrappers/ModalWrapper.vue2.js +43 -0
- package/dist/composables/useActionsApi.d.ts +0 -1
- package/dist/composables/useActionsApi.js +12 -14
- package/dist/composables/useExport.d.ts +1 -1
- package/dist/composables/useExport.js +20 -35
- package/dist/composables/useSaveAsTemplate.d.ts +7 -0
- package/dist/composables/useSaveAsTemplate.js +44 -0
- package/dist/composables/useStripo.js +29 -41
- package/dist/composables/useTemplateNameValidation.d.ts +13 -0
- package/dist/composables/useTemplateNameValidation.js +57 -0
- package/dist/composables/useTemplates.d.ts +5 -0
- package/dist/composables/useTemplates.js +27 -0
- package/dist/guido.css +1 -1
- package/dist/services/stripoApi.d.ts +1 -2
- package/dist/services/stripoApi.js +7 -27
- package/dist/static/templates/default/index.html.js +5 -0
- package/dist/static/templates/default/style.css.js +119 -0
- package/dist/stores/editor.d.ts +1 -0
- package/dist/stores/editor.js +2 -1
- package/dist/stores/template-categories.d.ts +41 -0
- package/dist/stores/template-categories.js +91 -0
- package/dist/utils/base64.d.ts +2 -0
- package/dist/utils/base64.js +14 -0
- package/package.json +5 -6
- package/dist/_virtual/AddCustomFont.js +0 -4
- package/dist/_virtual/AiAssistantValueType.js +0 -4
- package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
- package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
- package/dist/_virtual/Block.js +0 -4
- package/dist/_virtual/BlockAttributes.js +0 -4
- package/dist/_virtual/BlockCompositionType.js +0 -4
- package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
- package/dist/_virtual/BlockRenderer.js +0 -4
- package/dist/_virtual/BlockType.js +0 -4
- package/dist/_virtual/BlocksPanel.js +0 -4
- package/dist/_virtual/BuiltInControl.js +0 -4
- package/dist/_virtual/BuiltInControlTypes.js +0 -4
- package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
- package/dist/_virtual/ContextAction.js +0 -4
- package/dist/_virtual/ContextActionType.js +0 -4
- package/dist/_virtual/Control.js +0 -4
- package/dist/_virtual/EditorStatePropertyType.js +0 -4
- package/dist/_virtual/Extension.js +0 -4
- package/dist/_virtual/ExtensionBuilder.js +0 -4
- package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
- package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
- package/dist/_virtual/ModificationDescription.js +0 -4
- package/dist/_virtual/PanelPosition.js +0 -4
- package/dist/_virtual/PreviewDeviceMode.js +0 -4
- package/dist/_virtual/SettingsPanelRegistry.js +0 -4
- package/dist/_virtual/SettingsPanelTab.js +0 -4
- package/dist/_virtual/SettingsTab.js +0 -4
- package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
- package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
- package/dist/_virtual/TextColorBuiltInControl.js +0 -4
- package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
- package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
- package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
- package/dist/_virtual/UIElement.js +0 -4
- package/dist/_virtual/UIElementTagRegistry.js +0 -4
- package/dist/_virtual/UIElementType.js +0 -4
- package/dist/_virtual/UIElementsAttributes.js +0 -4
- package/dist/_virtual/index.js +0 -5
- package/dist/_virtual/index2.js +0 -4
- package/dist/composables/useGuidoActions.d.ts +0 -46
- package/dist/composables/useGuidoActions.js +0 -37
- package/dist/composables/useHtmlCompiler.d.ts +0 -4
- package/dist/composables/useHtmlCompiler.js +0 -16
- package/dist/composables/useProvideInject.d.ts +0 -14
- package/dist/composables/useProvideInject.js +0 -17
- package/dist/config/compiler/htmlCompilerRules.d.ts +0 -2
- package/dist/config/compiler/htmlCompilerRules.js +0 -145
- package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
- package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +0 -27
- package/dist/extensions/DynamicContent/dynamic-content.css.js +0 -24
- package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
- package/dist/extensions/DynamicContent/dynamic-content.js +0 -63
- package/dist/extensions/DynamicContent/extension.d.ts +0 -2
- package/dist/extensions/DynamicContent/extension.js +0 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +0 -51
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +0 -52
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +0 -41
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +0 -104
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +0 -13
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +0 -20
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +0 -18
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +0 -32
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +0 -26
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +0 -22
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +0 -18
- package/dist/utils/htmlCompiler.d.ts +0 -12
- package/dist/utils/htmlCompiler.js +0 -70
- /package/dist/mock/api/{default-template.d.ts → template-library.d.ts} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const s = () => {
|
|
2
|
+
const t = async () => {
|
|
3
|
+
const [e, a] = await Promise.all([
|
|
4
|
+
// eslint-disable-next-line import/extensions
|
|
5
|
+
import("../static/templates/default/index.html.js"),
|
|
6
|
+
import("../static/templates/default/style.css.js")
|
|
7
|
+
]);
|
|
8
|
+
return {
|
|
9
|
+
html: e.default,
|
|
10
|
+
css: a.default
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
getDefaultTemplate: t,
|
|
15
|
+
getTemplate: async (e) => {
|
|
16
|
+
switch (e) {
|
|
17
|
+
case "default":
|
|
18
|
+
return t();
|
|
19
|
+
default:
|
|
20
|
+
return t();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
s as useTemplates
|
|
27
|
+
};
|
package/dist/guido.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.version-history-item[data-v-
|
|
1
|
+
.version-history-item[data-v-0e2ff42d]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}[data-v-6a2bde67] .guido__verion-history-view-option-selection-desktop svg,[data-v-6a2bde67] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-6a2bde67] .in-segments-wrapper__button_selected,[data-v-6a2bde67] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-0fff376c] .guido__view-option-selection-desktop svg,[data-v-0fff376c] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-0fff376c] .in-segments-wrapper__button_selected,[data-v-0fff376c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.guido-editor__wrapper[data-v-69c35c60],.guido-editor__container[data-v-69c35c60]{width:100%;height:calc(100vh - 75px)}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { CustomFont
|
|
1
|
+
import type { CustomFont } from '@@/Types/stripo';
|
|
2
2
|
export declare const useStripoApi: () => {
|
|
3
3
|
getToken: () => Promise<string>;
|
|
4
4
|
getCustomFonts: () => Promise<(CustomFont & {
|
|
5
5
|
active: boolean;
|
|
6
6
|
})[]>;
|
|
7
|
-
getDefaultTemplate: () => Promise<Template>;
|
|
8
7
|
};
|
|
@@ -1,45 +1,25 @@
|
|
|
1
|
-
import { useHttp as
|
|
2
|
-
import { useToaster as
|
|
1
|
+
import { useHttp as s } from "../composables/useHttp.js";
|
|
2
|
+
import { useToaster as n } from "../composables/useToaster.js";
|
|
3
3
|
const m = () => {
|
|
4
|
-
const { get:
|
|
4
|
+
const { get: o } = s(), { handleError: r } = n();
|
|
5
5
|
return {
|
|
6
6
|
getToken: async () => {
|
|
7
7
|
try {
|
|
8
|
-
const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await
|
|
8
|
+
const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await o(`/stripo/get-user-token?test=${t}`);
|
|
9
9
|
return e.body.token;
|
|
10
10
|
} catch (t) {
|
|
11
|
-
return
|
|
11
|
+
return r(t, "Failed to fetch token"), "";
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
getCustomFonts: async () => {
|
|
15
15
|
try {
|
|
16
|
-
const { data: t = [] } = await
|
|
16
|
+
const { data: t = [] } = await o("/stripo/get-partner-custom-fonts");
|
|
17
17
|
return t.map((e) => ({
|
|
18
18
|
...e,
|
|
19
19
|
active: !0
|
|
20
20
|
}));
|
|
21
21
|
} catch (t) {
|
|
22
|
-
return
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
getDefaultTemplate: async () => {
|
|
26
|
-
const t = {
|
|
27
|
-
html: "",
|
|
28
|
-
css: "",
|
|
29
|
-
forceRecreate: !0
|
|
30
|
-
};
|
|
31
|
-
try {
|
|
32
|
-
const { data: e } = await r("/stripo/default-template");
|
|
33
|
-
try {
|
|
34
|
-
return {
|
|
35
|
-
...JSON.parse(e),
|
|
36
|
-
forceRecreate: !0
|
|
37
|
-
};
|
|
38
|
-
} catch {
|
|
39
|
-
return t;
|
|
40
|
-
}
|
|
41
|
-
} catch (e) {
|
|
42
|
-
return o(e, "Failed to fetch default template"), t;
|
|
22
|
+
return r(t, "Failed to fetch custom fonts"), [];
|
|
43
23
|
}
|
|
44
24
|
}
|
|
45
25
|
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const t = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1" name="viewport"><meta name="x-apple-disable-message-reformatting"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="telephone=no" name="format-detection"><title></title><!--[if (mso 16)]><style type="text/css">a{text-decoration:none;}</style><![endif]--><!--[if gte mso 9]><style>sup{font-size:100% !important;}</style><![endif]--><!--[if gte mso 9]><noscript><xml><o:OfficeDocumentSettings><o:AllowPNG></o:AllowPNG><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml></noscript><![endif]--><!--[if mso]><xml><w:WordDocument xmlns:w="urn:schemas-microsoft-com:office:word"><w:DontUseAdvancedTypographyReadingMail></w:DontUseAdvancedTypographyReadingMail></w:WordDocument></xml><![endif]--></head><body><div class="es-wrapper-color"> <!--[if gte mso 9]> <v:background xmlns:v="urn:schemas-microsoft-com:vml" fill="t"> <v:fill type="tile" color="#f6f6f6"></v:fill> </v:background> <![endif]--><table class="es-wrapper" width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-email-paddings" valign="top"><table class="es-content esd-header-popover" cellspacing="0" cellpadding="0" align="center"><tbody><tr><td class="esd-stripe" align="center"><table class="es-content-body" width="600" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center"><tbody><tr><td class="esd-structure es-p20" align="left" bgcolor="#91949F" style="background-color: #91949f;"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-container-frame" width="560" valign="top" align="center"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td align="center" class="esd-block-image es-p15" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/logo.png" alt style="display: block;" height="30"></a></td></tr><tr><td class="esd-block-text" align="center"><h2 style="color: #ffffff; font-size: 30px;"><strong>Time for great email design</strong></h2></td></tr><tr><td class="esd-block-text es-m-txt-c es-p10t" align="center"><p style="color: #ffffff;">I'm a new text block ready for your message content.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><table class="es-content" cellspacing="0" cellpadding="0" align="center"><tbody><tr><td class="esd-stripe" align="center"><table class="es-content-body" width="600" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center"><tbody><tr><td class="esd-structure es-p30t es-p20b es-p20r es-p20l" align="left" bgcolor="#F9F9F9" style="background-color: #f9f9f9;"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image es-p30t es-p20r" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="138"></a></td></tr><tr><td align="center" class="esd-block-text es-p10t es-p40b"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td class="esd-structure es-p20t es-p20r es-p20l" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-text"><p style="font-size: 24px; color: #2c3546;"><strong>This is a sample heading</strong><br></p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #2c3546;">I'm a new text block ready for your message content.</p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #959aa3; font-size: 10px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor<br> incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud<br> exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><table class="es-content esd-footer-popover" cellspacing="0" cellpadding="0" align="center"><tbody><tr></tr><tr><td class="esd-stripe" esd-custom-block-id="8631" align="center"><table class="es-footer-body" style="background-color: #ffffff;" width="600" cellspacing="0" cellpadding="0" align="center" bgcolor="#fff"><tbody><tr><td class="esd-structure es-p20t es-p15b es-p20r es-p20l" align="left"> <!--[if mso]><table width="560" cellpadding="0" cellspacing="0"><tr><td width="270" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-left" align="left"><tbody><tr><td width="270" class="es-m-p20b esd-container-frame" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="right" class="esd-block-button"><span class="es-button-border" style="border-radius: 4px; border-color: #5d6980; background: #5d6980; border-width: 1px;"><a href class="es-button" target="_blank" style="color: #ffffff; background: #5d6980; border-color: #5d6980; border-radius: 4px; border-width: 10px 15px;"> Button </a></span></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td><td width="20"></td><td width="270" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-right" align="right"><tbody><tr><td width="270" align="left" class="esd-container-frame"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" class="esd-block-button"><span class="es-button-border" style="border-radius: 4px; border-color: #5d6980; background: #ffffff; border-width: 1px;"><a href class="es-button" target="_blank" style="background: #ffffff; border-color: #ffffff; color: #5d6980; border-radius: 4px; border-width: 10px 15px;"> Button </a></span></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td class="esd-structure es-p30t es-p35b es-p40r es-p40l" align="left" bgcolor="#F9F9F9" style="background-color: #f9f9f9;"> <!--[if mso]><table width="520" cellpadding="0" cellspacing="0"><tr><td width="257" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-left" align="left"><tbody><tr><td width="257" class="es-m-p20b esd-container-frame" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="96"></a></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td><td width="0"></td><td width="263" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-right" align="right"><tbody><tr><td width="263" align="left" class="esd-container-frame"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="96"></a></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td class="esd-structure es-p20t es-p15b es-p20r es-p20l" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" class="esd-block-text"><p>Text</p></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td class="esd-structure es-p20t es-p20b es-p20r es-p20l" align="left" bgcolor="#2C3546" style="background-color: #2c3546;"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-container-frame" width="560" valign="top" align="center"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td align="center" class="esd-block-social" style="font-size:0"><table cellpadding="0" cellspacing="0" class="es-table-not-adapt es-social"><tbody><tr><td align="center" valign="top" class="es-p20r" esd-tmp-icon-type="facebook"><a target="_blank" href="https://facebook.com"><img title="Facebook" src="https://web-image.useinsider.com/email-template/facebook.png" alt="Facebook" width="24" height="24"></a></td><td align="center" valign="top" class="es-p20r" esd-tmp-icon-type="twitter"><a target="_blank" href="https://instagram.com"><img title="Instagram" src="https://web-image.useinsider.com/email-template/instagram.png" alt="Instagram" width="24" height="24"></a></td><td align="center" valign="top" esd-tmp-icon-type="instagram"><a target="_blank" href="https://twitter.com"><img title="Twitter" src="https://web-image.useinsider.com/email-template/twitter.png" alt="Twitter" width="24" height="24"></a></td></tr></tbody></table></td></tr><tr><td align="center" class="esd-block-text es-p20"><p style="font-size: 10px;">ADDRESS LINE, PROVINCE, CITY, COUNTRY - 999999</p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #959aa2; font-size: 10px;">You can <u>unsubscribe</u> from our emails, if you need to.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div></body></html>
|
|
2
|
+
`;
|
|
3
|
+
export {
|
|
4
|
+
t as default
|
|
5
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
const t = `/* CONFIG STYLES Please do not delete and edit CSS styles below */ /* IMPORTANT THIS STYLES MUST BE ON FINAL EMAIL */ #outlook a { padding: 0; }.ExternalClass { width: 100%; }.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; }.es-button { mso-style-priority: 100 !important; text-decoration: none !important; }a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; }.es-desk-hidden { display: none; float: left; overflow: hidden; width: 0; max-height: 0; line-height: 0; mso-hide: all; }/* END OF IMPORTANT */ html, body { width: 100%; font-family: arial, 'helvetica neue', helvetica, sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }table { mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; border-spacing: 0px; }table td, html, body, .es-wrapper { padding: 0; Margin: 0; }.es-content, .es-header, .es-footer { table-layout: fixed !important; width: 100%; }img { display: block; border: 0; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; }table tr { border-collapse: collapse; }p, hr { Margin: 0; }h1, h2, h3, h4, h5 { Margin: 0; line-height: 120%; mso-line-height-rule: exactly; font-family: arial, 'helvetica neue', helvetica, sans-serif; }p, ul li, ol li, a { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; mso-line-height-rule: exactly; }.es-left { float: left; }.es-right { float: right; }.es-p5 { padding: 5px; }.es-p5t { padding-top: 5px; }.es-p5b { padding-bottom: 5px; }.es-p5l { padding-left: 5px; }.es-p5r { padding-right: 5px; }.es-p10 { padding: 10px; }.es-p10t { padding-top: 10px; }.es-p10b { padding-bottom: 10px; }.es-p10l { padding-left: 10px; }.es-p10r { padding-right: 10px; }.es-p15 { padding: 15px; }.es-p15t { padding-top: 15px; }.es-p15b { padding-bottom: 15px; }.es-p15l { padding-left: 15px; }.es-p15r { padding-right: 15px; }.es-p20 { padding: 20px; }.es-p20t { padding-top: 20px; }.es-p20b { padding-bottom: 20px; }.es-p20l { padding-left: 20px; }.es-p20r { padding-right: 20px; }.es-p25 { padding: 25px; }.es-p25t { padding-top: 25px; }.es-p25b { padding-bottom: 25px; }.es-p25l { padding-left: 25px; }.es-p25r { padding-right: 25px; }.es-p30 { padding: 30px; }.es-p30t { padding-top: 30px; }.es-p30b { padding-bottom: 30px; }.es-p30l { padding-left: 30px; }.es-p30r { padding-right: 30px; }.es-p35 { padding: 35px; }.es-p35t { padding-top: 35px; }.es-p35b { padding-bottom: 35px; }.es-p35l { padding-left: 35px; }.es-p35r { padding-right: 35px; }.es-p40 { padding: 40px; }.es-p40t { padding-top: 40px; }.es-p40b { padding-bottom: 40px; }.es-p40l { padding-left: 40px; }.es-p40r { padding-right: 40px; }.es-menu td { border: 0; }.es-menu td a img { display: inline !important; }/* END CONFIG STYLES */ a { text-decoration: underline; }p, ul li, ol li { font-family: arial, 'helvetica neue', helvetica, sans-serif; line-height: 150%; }ul li, ol li { Margin-bottom: 15px; }.es-menu td a { text-decoration: none; display: block; }.es-wrapper { width: 100%; height: 100%; background-image: ; background-repeat: repeat; background-position: center top; }.es-wrapper-color { background-color: #f6f6f6; }.es-header { background-color: transparent; background-image: ; background-repeat: repeat; background-position: center top; }.es-header-body { background-color: transparent; }.es-header-body p, .es-header-body ul li, .es-header-body ol li { color: #333333; font-size: 14px; }.es-header-body a { color: #333333; font-size: 14px; }.es-content-body { background-color: #ffffff; }.es-content-body p, .es-content-body ul li, .es-content-body ol li { color: #333333; font-size: 14px; }.es-content-body a { color: #333333; font-size: 14px; }.es-footer { background-color: transparent; background-image: ; background-repeat: repeat; background-position: center top; }.es-footer-body { background-color: #333333; }.es-footer-body p, .es-footer-body ul li, .es-footer-body ol li { color: #ffffff; font-size: 14px; }.es-footer-body a { color: #ffffff; font-size: 14px; }.es-infoblock, .es-infoblock p, .es-infoblock ul li, .es-infoblock ol li { line-height: 120%; font-size: 12px; color: #cccccc; }.es-infoblock a { font-size: 12px; color: #cccccc; }h1 { font-size: 30px; font-style: normal; font-weight: normal; color: #333333; }h2 { font-size: 24px; font-style: normal; font-weight: normal; color: #333333; }h3 { font-size: 20px; font-style: normal; font-weight: normal; color: #333333; }.es-header-body h1 a, .es-content-body h1 a, .es-footer-body h1 a { font-size: 30px; }.es-header-body h2 a, .es-content-body h2 a, .es-footer-body h2 a { font-size: 24px; }.es-header-body h3 a, .es-content-body h3 a, .es-footer-body h3 a { font-size: 20px; }a.es-button, button.es-button { border-style: solid; border-color: #f0f0f0; border-width: 5px 30px 5px 30px; display: inline-block; background: #f0f0f0; border-radius: 0px; font-size: 16px; font-family: arial, 'helvetica neue', helvetica, sans-serif; font-weight: normal; font-style: normal; line-height: 120%; color: #333333; text-decoration: none; width: auto; text-align: center; }.es-button-border { border-style: solid solid solid solid; border-color: #808080 #808080 #808080 #808080; background: #f0f0f0; border-width: 2px 2px 2px 2px; display: inline-block; border-radius: 0px; width: auto; }.ins-trim-text {
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
text-overflow: ellipsis;
|
|
4
|
+
white-space: nowrap;
|
|
5
|
+
padding-top: 10px;
|
|
6
|
+
padding-bottom: 10px;
|
|
7
|
+
}/* RESPONSIVE STYLES Please do not delete and edit CSS styles below. If you don't need responsive layout, please delete this section. */ @media only screen and (max-width: 600px) {p, ul li, ol li, a { line-height: 150% !important; }h1 { font-size: 30px !important; text-align: center; line-height: 120% !important; }h2 { font-size: 26px !important; text-align: center; line-height: 120% !important; }h3 { font-size: 20px !important; text-align: center; line-height: 120% !important; }.es-header-body h1 a, .es-content-body h1 a, .es-footer-body h1 a { font-size: 30px !important; }.es-header-body h2 a, .es-content-body h2 a, .es-footer-body h2 a { font-size: 26px !important; }.es-header-body h3 a, .es-content-body h3 a, .es-footer-body h3 a { font-size: 20px !important; }.es-menu td a { font-size: 13px !important; }.es-header-body p, .es-header-body ul li, .es-header-body ol li, .es-header-body a { font-size: 16px !important; }.es-content-body p, .es-content-body ul li, .es-content-body ol li, .es-content-body a { font-size: 16px !important; }.es-footer-body p, .es-footer-body ul li, .es-footer-body ol li, .es-footer-body a { font-size: 16px !important; }.es-infoblock p, .es-infoblock ul li, .es-infoblock ol li, .es-infoblock a { font-size: 12px !important; }*[class="gmail-fix"] { display: none !important; }.es-m-txt-c, .es-m-txt-c h1, .es-m-txt-c h2, .es-m-txt-c h3 { text-align: center !important; }.es-m-txt-r, .es-m-txt-r h1, .es-m-txt-r h2, .es-m-txt-r h3 { text-align: right !important; }.es-m-txt-l, .es-m-txt-l h1, .es-m-txt-l h2, .es-m-txt-l h3 { text-align: left !important; }.es-m-txt-r img, .es-m-txt-c img, .es-m-txt-l img { display: inline !important; }.es-button-border { display: block !important; }a.es-button, button.es-button { font-size: 16px !important; display: block !important; border-width: 10px 0px 10px 0px !important; }.es-btn-fw { border-width: 10px 0px !important; text-align: center !important; }.es-adaptive table, .es-btn-fw, .es-btn-fw-brdr, .es-left, .es-right { width: 100% !important; }.ext-product-button,
|
|
8
|
+
.ext-product-price p,
|
|
9
|
+
.ext-product-original-price p,
|
|
10
|
+
.ext-product-omnibus-price p,
|
|
11
|
+
.ext-product-omnibus-discount p {
|
|
12
|
+
width: 100% !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.ext-product-button a {
|
|
16
|
+
max-width: 100% !important;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ext-product-name.ins-vertical p {
|
|
20
|
+
height: 90px !important;
|
|
21
|
+
overflow: hidden !important;
|
|
22
|
+
word-break: break-all !important;
|
|
23
|
+
font-size: 12px !important;
|
|
24
|
+
line-height: 150% !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ext-product-name.ins-vertical {
|
|
28
|
+
height: 100px !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ext-product-omnibus-price.ins-vertical p {
|
|
32
|
+
height: 30px !important;
|
|
33
|
+
overflow: hidden !important;
|
|
34
|
+
word-break: break-all !important;
|
|
35
|
+
font-size: 10px !important;
|
|
36
|
+
line-height: 150% !important;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ext-product-omnibus-price.ins-vertical {
|
|
40
|
+
height: 50px !important;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ext-product-omnibus-discount.ins-vertical p {
|
|
44
|
+
height: 30px !important;
|
|
45
|
+
overflow: hidden !important;
|
|
46
|
+
word-break: break-all !important;
|
|
47
|
+
font-size: 10px !important;
|
|
48
|
+
line-height: 150% !important;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.ext-product-omnibus-discount.ins-vertical {
|
|
52
|
+
height: 50px !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ext-product-name p {
|
|
56
|
+
height: unset !important;
|
|
57
|
+
width: 100% !important;
|
|
58
|
+
overflow: hidden !important;
|
|
59
|
+
font-size: 16px !important;
|
|
60
|
+
line-height: 150% !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ext-product-name {
|
|
64
|
+
height: unset !important;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ext-product-price.ins-vertical p {
|
|
68
|
+
overflow: hidden !important;
|
|
69
|
+
word-break: break-all !important;
|
|
70
|
+
height: 36px !important;
|
|
71
|
+
font-size: 12px !important;
|
|
72
|
+
line-height: 150% !important;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.ext-product-price.ins-vertical {
|
|
76
|
+
height: 56px !important;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.ext-product-original-price.ins-vertical p {
|
|
80
|
+
overflow: hidden !important;
|
|
81
|
+
word-break: break-all !important;
|
|
82
|
+
height: 36px !important;
|
|
83
|
+
font-size: 12px !important;
|
|
84
|
+
line-height: 150% !important;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.ext-product-original-price.ins-vertical {
|
|
88
|
+
height: 56px !important;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.ext-ins-attr.ins-vertical p {
|
|
92
|
+
overflow: hidden !important;
|
|
93
|
+
word-break: break-all !important;
|
|
94
|
+
height: 54px !important;
|
|
95
|
+
font-size: 12px !important;
|
|
96
|
+
line-height: 150% !important;
|
|
97
|
+
width: 100% !important;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.ext-ins-attr.ins-vertical {
|
|
101
|
+
height: 74px !important;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.ext-product-button a.ins-vertical {
|
|
105
|
+
word-break: break-all !important;
|
|
106
|
+
font-size: 12px !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ext-product-image.ins-vertical {
|
|
110
|
+
height: unset !important;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
td.esdev-mso-td.ins-vertical {
|
|
114
|
+
vertical-align: bottom !important;
|
|
115
|
+
}.es-content table, .es-header table, .es-footer table, .es-content, .es-footer, .es-header { width: 100% !important; max-width: 600px !important; }.es-adapt-td { display: block !important; width: 100% !important; }.adapt-img { width: 100% !important; height: auto !important; }.es-m-p0 { padding: 0px !important; }.es-m-p0r { padding-right: 0px !important; }.es-m-p0l { padding-left: 0px !important; }.es-m-p0t { padding-top: 0px !important; }.es-m-p0b { padding-bottom: 0 !important; }.es-m-p20b { padding-bottom: 20px !important; }.es-mobile-hidden, .es-hidden { display: none !important; }.es-desk-hidden { display: table-row !important; width: auto !important; overflow: visible !important; float: none !important; max-height: inherit !important; line-height: inherit !important; }.es-desk-menu-hidden { display: table-cell !important; }table.es-table-not-adapt, .esd-block-html table { width: auto !important; }table.es-social { display: inline-block !important; }table.es-social td { display: inline-block !important; } }/* END RESPONSIVE STYLES */.ext-product-name p { -webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;overflow:hidden !important; }.ext-product-price p { height:26px !important; }
|
|
116
|
+
`;
|
|
117
|
+
export {
|
|
118
|
+
t as default
|
|
119
|
+
};
|
package/dist/stores/editor.d.ts
CHANGED
package/dist/stores/editor.js
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { TemplateCategory } from '@@/Types/save-as-template';
|
|
2
|
+
export interface MappedCategory {
|
|
3
|
+
value: string;
|
|
4
|
+
text: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TemplateCategoriesState {
|
|
7
|
+
categories: TemplateCategory[];
|
|
8
|
+
mappedCategories: MappedCategory[];
|
|
9
|
+
selectedCategories: MappedCategory[];
|
|
10
|
+
loading: boolean;
|
|
11
|
+
loadingCreate: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const useTemplateCategoriesStore: import("pinia").StoreDefinition<"templateCategories", TemplateCategoriesState, {
|
|
14
|
+
getSelectedCategoryIds: (state: {
|
|
15
|
+
categories: {
|
|
16
|
+
id: number;
|
|
17
|
+
name: string;
|
|
18
|
+
partnerId: number;
|
|
19
|
+
isStripo: boolean;
|
|
20
|
+
templatesCount: number;
|
|
21
|
+
}[];
|
|
22
|
+
mappedCategories: {
|
|
23
|
+
value: string;
|
|
24
|
+
text: string;
|
|
25
|
+
}[];
|
|
26
|
+
selectedCategories: {
|
|
27
|
+
value: string;
|
|
28
|
+
text: string;
|
|
29
|
+
}[];
|
|
30
|
+
loading: boolean;
|
|
31
|
+
loadingCreate: boolean;
|
|
32
|
+
} & import("pinia").PiniaCustomStateProperties<TemplateCategoriesState>) => number[];
|
|
33
|
+
}, {
|
|
34
|
+
fetchCategories(): Promise<void>;
|
|
35
|
+
checkCategoryNameExists(name: string): Promise<boolean>;
|
|
36
|
+
createCategory(name: string): Promise<void>;
|
|
37
|
+
setSelectedCategories(categories: MappedCategory[]): void;
|
|
38
|
+
selectCategory(category: MappedCategory): void;
|
|
39
|
+
resetSelection(): void;
|
|
40
|
+
resetStore(): void;
|
|
41
|
+
}>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { useHttp as c } from "../composables/useHttp.js";
|
|
2
|
+
import { useToaster as o } from "../composables/useToaster.js";
|
|
3
|
+
import { defineStore as g } from "pinia";
|
|
4
|
+
const l = () => ({
|
|
5
|
+
categories: [],
|
|
6
|
+
mappedCategories: [],
|
|
7
|
+
selectedCategories: [],
|
|
8
|
+
loading: !1,
|
|
9
|
+
loadingCreate: !1
|
|
10
|
+
}), m = g("templateCategories", {
|
|
11
|
+
state: () => l(),
|
|
12
|
+
getters: {
|
|
13
|
+
getSelectedCategoryIds: (e) => e.selectedCategories.map((s) => parseInt(s.value))
|
|
14
|
+
},
|
|
15
|
+
actions: {
|
|
16
|
+
async fetchCategories() {
|
|
17
|
+
this.loading = !0;
|
|
18
|
+
const { get: e } = c();
|
|
19
|
+
try {
|
|
20
|
+
const t = (await e("/newsletter/template-library/get-template-categories")).data || [];
|
|
21
|
+
this.categories = t, this.mappedCategories = t.map((a) => ({
|
|
22
|
+
value: a.id.toString(),
|
|
23
|
+
text: a.name
|
|
24
|
+
}));
|
|
25
|
+
} catch (s) {
|
|
26
|
+
const { handleError: t } = o();
|
|
27
|
+
t(s, "Error fetching template categories:"), this.categories = [], this.mappedCategories = [];
|
|
28
|
+
} finally {
|
|
29
|
+
this.loading = !1;
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
async checkCategoryNameExists(e) {
|
|
33
|
+
const { get: s } = c();
|
|
34
|
+
try {
|
|
35
|
+
const a = `/newsletter/template-library/category-name-exists?name=${encodeURIComponent(e)}`;
|
|
36
|
+
return (await s(a)).data.status;
|
|
37
|
+
} catch (t) {
|
|
38
|
+
const { handleError: a } = o();
|
|
39
|
+
return a(t, "Error checking category name:"), !1;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
async createCategory(e) {
|
|
43
|
+
this.loadingCreate = !0;
|
|
44
|
+
const { post: s } = c(), { showToaster: t } = o();
|
|
45
|
+
try {
|
|
46
|
+
if (await this.checkCategoryNameExists(e)) {
|
|
47
|
+
t({
|
|
48
|
+
type: "error",
|
|
49
|
+
message: "Category name already exists"
|
|
50
|
+
});
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const r = (await s("/newsletter/template-library/create-category", { name: e })).data;
|
|
54
|
+
if (r) {
|
|
55
|
+
this.categories.push(r);
|
|
56
|
+
const n = {
|
|
57
|
+
value: r.id.toString(),
|
|
58
|
+
text: r.name
|
|
59
|
+
};
|
|
60
|
+
this.mappedCategories.push(n), this.selectedCategories.push(n), t({
|
|
61
|
+
type: "success",
|
|
62
|
+
message: "Category created successfully"
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
} catch (a) {
|
|
66
|
+
const { handleError: i } = o();
|
|
67
|
+
i(a, "Error creating category:");
|
|
68
|
+
} finally {
|
|
69
|
+
this.loadingCreate = !1;
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
setSelectedCategories(e) {
|
|
73
|
+
this.selectedCategories = [...e];
|
|
74
|
+
},
|
|
75
|
+
selectCategory(e) {
|
|
76
|
+
const s = this.selectedCategories.findIndex(
|
|
77
|
+
(t) => t.value === e.value
|
|
78
|
+
);
|
|
79
|
+
s === -1 ? this.selectedCategories.push(e) : this.selectedCategories.splice(s, 1);
|
|
80
|
+
},
|
|
81
|
+
resetSelection() {
|
|
82
|
+
this.selectedCategories = [];
|
|
83
|
+
},
|
|
84
|
+
resetStore() {
|
|
85
|
+
Object.assign(this, l());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export {
|
|
90
|
+
m as useTemplateCategoriesStore
|
|
91
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const c = (e) => {
|
|
2
|
+
try {
|
|
3
|
+
const n = new TextEncoder().encode(e);
|
|
4
|
+
let o = "";
|
|
5
|
+
return n.forEach((r) => {
|
|
6
|
+
o += String.fromCharCode(r);
|
|
7
|
+
}), window.btoa(o);
|
|
8
|
+
} catch {
|
|
9
|
+
return window.btoa(unescape(encodeURIComponent(e)));
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
c as base64EncodeWithSpecialChars
|
|
14
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.e830eab",
|
|
4
4
|
"description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
|
|
5
5
|
"main": "./dist/guido.umd.cjs",
|
|
6
6
|
"module": "./dist/library.js",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
],
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
"import": "./dist/library.js",
|
|
14
|
+
"types": "./dist/components/Guido.vue.d.ts",
|
|
15
|
+
"require": "./dist/components/Guido.vue.js"
|
|
16
16
|
},
|
|
17
17
|
"./style": "./dist/guido.css"
|
|
18
18
|
},
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"start": "vite",
|
|
22
22
|
"build": "vite build && vue-tsc --declaration --emitDeclarationOnly --project tsconfig.app.json",
|
|
23
23
|
"preview": "vite preview",
|
|
24
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
24
25
|
"lint": "NODE_OPTIONS=--max-old-space-size=2048 eslint ./ && bun run type-check",
|
|
25
26
|
"lint:fix": "NODE_OPTIONS=--max-old-space-size=2048 eslint --fix ./",
|
|
26
27
|
"type-check": "vue-tsc --noEmit --project tsconfig.config.json && vue-tsc --noEmit --project tsconfig.app.json"
|
|
@@ -29,7 +30,6 @@
|
|
|
29
30
|
"author": "",
|
|
30
31
|
"license": "ISC",
|
|
31
32
|
"dependencies": {
|
|
32
|
-
"@stripoinc/ui-editor-extensions": "^1.0.6",
|
|
33
33
|
"@useinsider/design-system-vue": "0.14.8",
|
|
34
34
|
"@vuelidate/core": "2.0.3",
|
|
35
35
|
"@vuelidate/validators": "2.0.4",
|
|
@@ -42,7 +42,6 @@
|
|
|
42
42
|
"@cspell/eslint-plugin": "8.17.5",
|
|
43
43
|
"@eslint/eslintrc": "3.3.0",
|
|
44
44
|
"@eslint/js": "8.57.1",
|
|
45
|
-
"@playwright/test": "^1.54.2",
|
|
46
45
|
"@stylistic/eslint-plugin": "3.1.0",
|
|
47
46
|
"@stylistic/eslint-plugin-migrate": "3.1.0",
|
|
48
47
|
"@types/eslint": "8.56.12",
|
package/dist/_virtual/Block.js
DELETED
package/dist/_virtual/Control.js
DELETED