@useinsider/guido 1.0.3-beta.63e6005 → 1.0.3-beta.6541b5a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/@types/generic.d.ts +0 -8
  2. package/dist/components/Guido.vue.d.ts +2 -2
  3. package/dist/components/Guido.vue.js +8 -8
  4. package/dist/components/Guido.vue2.js +64 -68
  5. package/dist/components/wrappers/WpDrawer.vue.d.ts +4 -6
  6. package/dist/components/wrappers/WpDrawer.vue.js +4 -6
  7. package/dist/composables/useStripo.js +13 -17
  8. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -19
  9. package/dist/config/migrator/couponBlockMigrator.d.ts +1 -0
  10. package/dist/config/migrator/couponBlockMigrator.js +64 -0
  11. package/dist/config/migrator/index.d.ts +1 -1
  12. package/dist/config/migrator/index.js +7 -7
  13. package/dist/enums/defaults.js +3 -6
  14. package/dist/enums/unsubscribe.d.ts +0 -19
  15. package/dist/enums/unsubscribe.js +6 -39
  16. package/dist/extensions/Blocks/CouponBlock/block.d.ts +11 -0
  17. package/dist/extensions/Blocks/{Unsubscribe/template.js → CouponBlock/block.js} +30 -20
  18. package/dist/extensions/Blocks/{Unsubscribe/tagRegistry.js → CouponBlock/extension.js} +5 -8
  19. package/dist/extensions/Blocks/{Unsubscribe → CouponBlock}/settingsPanel.d.ts +1 -1
  20. package/dist/extensions/Blocks/{Unsubscribe → CouponBlock}/settingsPanel.js +17 -12
  21. package/dist/extensions/Blocks/CouponBlock/template.d.ts +3 -0
  22. package/dist/extensions/Blocks/CouponBlock/template.js +18 -0
  23. package/dist/guido.css +1 -1
  24. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +1 -2
  25. package/dist/static/assets/icons/coupon.svg.js +4 -0
  26. package/dist/stores/unsubscribe.d.ts +5 -183
  27. package/dist/stores/unsubscribe.js +6 -125
  28. package/package.json +1 -1
  29. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -2
  30. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +0 -18
  31. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +0 -16
  32. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -2
  33. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +0 -24
  34. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +0 -64
  35. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -2
  36. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +0 -18
  37. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +0 -108
  38. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -2
  39. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +0 -18
  40. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +0 -12
  41. package/dist/config/migrator/unsubscribeMigrator.d.ts +0 -1
  42. package/dist/config/migrator/unsubscribeMigrator.js +0 -112
  43. package/dist/extensions/Blocks/Unsubscribe/block.d.ts +0 -31
  44. package/dist/extensions/Blocks/Unsubscribe/block.js +0 -144
  45. package/dist/extensions/Blocks/Unsubscribe/control.d.ts +0 -29
  46. package/dist/extensions/Blocks/Unsubscribe/control.js +0 -180
  47. package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +0 -11
  48. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +0 -54
  49. package/dist/extensions/Blocks/Unsubscribe/extension.js +0 -32
  50. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +0 -42
  51. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.d.ts +0 -4
  52. package/dist/extensions/Blocks/Unsubscribe/template.d.ts +0 -12
  53. package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +0 -9
  54. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +0 -11
  55. package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +0 -7
  56. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +0 -6
  57. package/dist/services/unsubscribeApi.d.ts +0 -4
  58. package/dist/services/unsubscribeApi.js +0 -16
  59. /package/dist/extensions/Blocks/{Unsubscribe → CouponBlock}/extension.d.ts +0 -0
@@ -1,50 +1,17 @@
1
- import { useTranslations as e } from "../composables/useTranslations.js";
2
- const s = e(), n = {
1
+ const E = {
3
2
  UNSUBSCRIBE_LINK_TYPE: 1,
4
3
  PREFERENCES_LINK_TYPE: 3
5
- }, S = {
4
+ }, s = {
6
5
  UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
7
6
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
8
7
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
9
8
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
10
- }, N = {
9
+ }, _ = {
11
10
  UNSUBSCRIBE_URL: "https://mail.useinsider.com/user/v1/unsub",
12
11
  PREFERENCES_URL: "https://mail.useinsider.com/user/v1/prefs"
13
- }, _ = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", I = "/email/unsubscribe-pages", E = {
14
- GLOBAL_UNSUBSCRIBE: 1,
15
- GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
16
- SUBSCRIPTION_PREFERENCE_CENTER: 3,
17
- SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
18
- RESUBSCRIBE: 5
19
- }, r = {
20
- [E.GLOBAL_UNSUBSCRIBE]: [
21
- E.GLOBAL_UNSUBSCRIBE,
22
- E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
23
- E.RESUBSCRIBE
24
- ],
25
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: [
26
- E.SUBSCRIPTION_PREFERENCE_CENTER,
27
- E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
28
- ]
29
- }, i = {
30
- [E.GLOBAL_UNSUBSCRIBE]: s("unsubscription-preference.type-global-unsubscribe"),
31
- [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: s("unsubscription-preference.type-global-unsubscription-confirmation"),
32
- [E.RESUBSCRIBE]: s("unsubscription-preference.type-resubscribe"),
33
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: s("unsubscription-preference.type-subscription-preferences-center"),
34
- [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: s("unsubscription-preference.type-subscription-preferences-confirmation")
35
- }, B = {
36
- default: "{{ins-unsubscribe-link}}",
37
- [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
38
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
39
12
  };
40
13
  export {
41
- _ as ACADEMY_LINK,
42
- S as LINK_REGEXES,
43
- n as LINK_TYPES,
44
- B as MERGE_TAGS,
45
- E as PAGE_TYPES,
46
- r as TYPE_COLLECTIONS,
47
- i as TYPE_TRANSLATIONS,
48
- I as UNSUBSCRIBE_PAGES_LINK,
49
- N as URLS
14
+ s as LINK_REGEXES,
15
+ E as LINK_TYPES,
16
+ _ as URLS
50
17
  };
@@ -0,0 +1,11 @@
1
+ import { Block, BlockCompositionType, BlockType } from '@stripoinc/ui-editor-extensions';
2
+ export declare const COUPON_BLOCK_ID = "coupon-block";
3
+ export declare class CouponBlock extends Block {
4
+ getId(): string;
5
+ getIcon(): string;
6
+ getBlockCompositionType(): BlockCompositionType;
7
+ getName(): string;
8
+ getDescription(): string;
9
+ getBlockType(): BlockType;
10
+ getTemplate(): string;
11
+ }
@@ -1,7 +1,9 @@
1
+ import o from "../../../static/assets/icons/coupon.svg.js";
2
+ import { Block as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js";
1
3
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
4
+ import { BlockCompositionType as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
5
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import { BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
6
+ import { BlockType as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
7
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
8
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
9
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
@@ -10,24 +12,32 @@ import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Pop
10
12
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
13
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
14
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- const r = "unsubscribe", e = "{{ins-unsubscribe-link}}", s = `
14
- <${t.BLOCK_TEXT}
15
- class="unsubscribe-block-v2 esd-block-unsubscribe es-p0"
16
- align="center"
17
- data-unsubscribe-page-type=""
18
- data-unsubscribe-page-list=""
19
- >
20
- <p>You can <strong><a
21
- href="${e}"
22
- class="unsubscribe-link"
23
- target="_blank"
24
- data-unsubscribe-link="true"
25
- >${r}</a></strong> from our emails, if you need to.</p>
26
- </${t.BLOCK_TEXT}>
27
- `;
28
- function g() {
29
- return s;
15
+ import { getDefaultTemplate as p } from "./template.js";
16
+ const i = "coupon-block";
17
+ class I extends t {
18
+ getId() {
19
+ return i;
20
+ }
21
+ getIcon() {
22
+ return o;
23
+ }
24
+ getBlockCompositionType() {
25
+ return r.BLOCK;
26
+ }
27
+ getName() {
28
+ return this.api.translate("Coupon Block");
29
+ }
30
+ getDescription() {
31
+ return this.api.translate("Coupon lets you add a coupon code to your message design.");
32
+ }
33
+ getBlockType() {
34
+ return e.BLOCK_TEXT;
35
+ }
36
+ getTemplate() {
37
+ return p();
38
+ }
30
39
  }
31
40
  export {
32
- g as getDefaultTemplate
41
+ i as COUPON_BLOCK_ID,
42
+ I as CouponBlock
33
43
  };
@@ -10,13 +10,10 @@ import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Pop
10
10
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
11
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
12
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { UIElementTagRegistry as i } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js";
14
- import { PREVIEW_UI_ELEMENT_ID as r } from "./elements/preview.js";
15
- class b extends i {
16
- registerUiElements(t) {
17
- t[r] = r;
18
- }
19
- }
13
+ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js";
14
+ import { CouponBlock as t } from "./block.js";
15
+ import { CouponBlockSettings as i } from "./settingsPanel.js";
16
+ const x = new o().addBlock(t).withSettingsPanelRegistry(i).build();
20
17
  export {
21
- b as UnsubscribeTagRegistry
18
+ x as default
22
19
  };
@@ -1,4 +1,4 @@
1
1
  import { SettingsPanelRegistry, SettingsPanelTab } from '@stripoinc/ui-editor-extensions';
2
- export declare class SettingsPanel extends SettingsPanelRegistry {
2
+ export declare class CouponBlockSettings extends SettingsPanelRegistry {
3
3
  registerBlockControls(blockControlsMap: Record<string, SettingsPanelTab[]>): void;
4
4
  }
@@ -2,31 +2,36 @@ import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiA
2
2
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
3
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
4
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import { TextControls as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
5
+ import { TextControls as o, ContainerControls as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
6
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
7
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
8
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
9
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
10
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import { SettingsTab as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
11
+ import { SettingsTab as i } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
12
  import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { SettingsPanelRegistry as i } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js";
14
- import { SettingsPanelTab as m } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js";
15
- import { UNSUBSCRIBE_BLOCK_ID as e } from "./block.js";
16
- import { UNSUBSCRIBE_CONTROL_ID as p } from "./control.js";
17
- class c extends i {
13
+ import { SettingsPanelRegistry as m } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js";
14
+ import { SettingsPanelTab as p } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js";
15
+ import { COUPON_BLOCK_ID as e } from "./block.js";
16
+ class A extends m {
18
17
  registerBlockControls(t) {
19
18
  t[e] = [
20
- new m(
21
- r.SETTINGS,
19
+ new p(
20
+ i.SETTINGS,
22
21
  [
23
- p,
24
- ...Object.values(o)
22
+ o.FONT_FAMILY,
23
+ o.FONT_SIZE,
24
+ o.FORMAT,
25
+ o.FONT_COLOR,
26
+ o.TEXT_BLOCK_BACKGROUND_COLOR,
27
+ o.ALIGN,
28
+ o.LINE_HEIGHT,
29
+ r.EXTERNAL_INDENTS
25
30
  ]
26
31
  )
27
32
  ];
28
33
  }
29
34
  }
30
35
  export {
31
- c as SettingsPanel
36
+ A as CouponBlockSettings
32
37
  };
@@ -0,0 +1,3 @@
1
+ declare const migrationTemplate = "\n <td \n class=\"coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block\" \n esd-extension-block-id=\"coupon-block\"\n >\n <p class=\"ins-title\" contenteditable=\"false\">{@COUPON_CODE}</p>\n </td>\n";
2
+ export declare function getDefaultTemplate(): string;
3
+ export default migrationTemplate;
@@ -0,0 +1,18 @@
1
+ const o = `
2
+ <td class="coupon-block ins-coupon-code esd-block-text coupon-block-v2">
3
+ <p class="ins-title">{@COUPON_CODE}</p>
4
+ </td>`, e = `
5
+ <td
6
+ class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"
7
+ esd-extension-block-id="coupon-block"
8
+ >
9
+ <p class="ins-title" contenteditable="false">{@COUPON_CODE}</p>
10
+ </td>
11
+ `;
12
+ function t() {
13
+ return o;
14
+ }
15
+ export {
16
+ e as default,
17
+ t as getDefaultTemplate
18
+ };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- [data-v-2c168944] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-85d64228],.guido-editor__container[data-v-85d64228]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-85d64228]{height:calc(100vh - 75px)}[data-v-70835920] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-dda47b76] .guido__verion-history-view-option-selection-desktop svg,[data-v-dda47b76] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-dda47b76] .in-segments-wrapper__button_selected,[data-v-dda47b76] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ [data-v-2c168944] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-aca05338],.guido-editor__container[data-v-aca05338]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-aca05338]{height:calc(100vh - 75px)}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
@@ -2,8 +2,7 @@ const t = {
2
2
  name: "name",
3
3
  disabled: "disabled"
4
4
  }, e = {
5
- ...t,
6
- caption: "caption"
5
+ ...t
7
6
  }, s = {
8
7
  ...t,
9
8
  text: "text"
@@ -0,0 +1,4 @@
1
+ const C = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.87939%200C8.56714%200.0576002%209.26998%200.793636%209.82275%201.37305L9.83057%201.38184C9.93483%201.49112%2010.0343%201.5944%2010.1265%201.68652L17.2573%208.79492C18.2493%209.7872%2018.2493%2011.3954%2017.2573%2012.3877L12.396%2017.2471C11.9169%2017.726%2011.2659%2017.9999%2010.6157%2018C9.96563%2017.9999%209.31551%2017.76%208.83643%2017.2471L1.68896%2010.1221C1.58907%2010.0222%201.47548%209.91523%201.35596%209.80273C0.77939%209.26006%200.0584135%208.58144%200.00146484%207.87305L0.00439453%202.15625C-0.0298299%201.57462%200.209988%201.02683%200.620605%200.616211C1.03135%200.20572%201.57981%200%202.16162%200L7.87939%200ZM2.16162%202C2.10648%202%202.07333%202.01007%202.05908%202.01562C2.04707%202.02035%202.04069%202.02432%202.03467%202.03027C2.01884%202.04611%202.00915%202.05957%202.00342%202.06836L2.00439%202.09766L2.00146%207.59277C2.01413%207.61029%202.02975%207.63092%202.04834%207.6543C2.20264%207.84819%202.41884%208.05659%202.72705%208.34668L2.73682%208.35645C2.84844%208.46149%202.9808%208.58586%203.10205%208.70703L3.10303%208.70801L10.2739%2015.8564L10.2983%2015.8818C10.3564%2015.9439%2010.4539%2015.9999%2010.6157%2016C10.7155%2015.9998%2010.8635%2015.9513%2010.9819%2015.833L15.8433%2010.9736C16.054%2010.7626%2016.0536%2010.4212%2015.8433%2010.21L8.71436%203.10352L8.7124%203.10156C8.60329%202.99248%208.49054%202.8737%208.39209%202.77051L8.37549%202.75391C8.08113%202.44536%207.86049%202.21875%207.65479%202.05469C7.62752%202.03295%207.6037%202.01461%207.5835%202L2.16162%202ZM8.16748%209.83301C8.81172%209.18878%209.8571%209.18898%2010.5015%209.83301L10.6265%209.71973C11.2745%209.19135%2012.2304%209.22915%2012.8345%209.83301C13.4787%2010.4772%2013.4795%2011.5226%2012.8354%2012.167C12.8312%2012.1713%2012.8251%2012.1745%2012.8208%2012.1787L11.2085%2013.792C10.818%2014.1825%2010.185%2014.1824%209.79443%2013.792L8.18115%2012.1797C8.1768%2012.1755%208.17178%2012.1713%208.16748%2012.167C7.52346%2011.5226%207.52325%2010.4772%208.16748%209.83301ZM5.00146%204C5.55353%204.00025%206.00146%204.44787%206.00146%205C6.00146%205.55213%205.55353%205.99975%205.00146%206C4.44918%206%204.00146%205.55228%204.00146%205C4.00146%204.44772%204.44918%204%205.00146%204Z'%20fill='%23666666'/%3e%3c/svg%3e";
2
+ export {
3
+ C as default
4
+ };
@@ -1,186 +1,8 @@
1
- import type { UnsubscribePage } from '@@/Types/unsubscribe';
1
+ type UnsubscribePage = {
2
+ type: number;
3
+ };
2
4
  interface StoreState {
3
- templates: UnsubscribePage[];
4
- selectedTemplates: Record<number, number>;
5
- selectedUnsubscribePages: number[];
6
- selectedCollectionType: number;
7
- activeType: number;
8
- pageSelectionUpdateStatus: boolean;
9
- pageSelectionDrawerStatus: boolean;
10
- typeSelectionDrawerStatus: boolean;
11
- isGlobalUnsubscribeDisabled: boolean;
12
- isSubscriptionPreferencesCenterDisabled: boolean;
5
+ selectedUnsubscribePages: UnsubscribePage[];
13
6
  }
14
- export declare const useUnsubscribeStore: import("pinia").StoreDefinition<"unsubscribe", StoreState, {
15
- getSelectedCollection: (state: {
16
- templates: {
17
- id: number;
18
- name: string;
19
- type: number;
20
- isVisible: number;
21
- html: string;
22
- originalHtml: string;
23
- css: string;
24
- thumbnail: string;
25
- createdAt: string;
26
- updatedAt: string;
27
- status: number;
28
- }[];
29
- selectedTemplates: Record<number, number>;
30
- selectedUnsubscribePages: number[];
31
- selectedCollectionType: number;
32
- activeType: number;
33
- pageSelectionUpdateStatus: boolean;
34
- pageSelectionDrawerStatus: boolean;
35
- typeSelectionDrawerStatus: boolean;
36
- isGlobalUnsubscribeDisabled: boolean;
37
- isSubscriptionPreferencesCenterDisabled: boolean;
38
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => number[];
39
- getSelectedTemplateByActiveType: (state: {
40
- templates: {
41
- id: number;
42
- name: string;
43
- type: number;
44
- isVisible: number;
45
- html: string;
46
- originalHtml: string;
47
- css: string;
48
- thumbnail: string;
49
- createdAt: string;
50
- updatedAt: string;
51
- status: number;
52
- }[];
53
- selectedTemplates: Record<number, number>;
54
- selectedUnsubscribePages: number[];
55
- selectedCollectionType: number;
56
- activeType: number;
57
- pageSelectionUpdateStatus: boolean;
58
- pageSelectionDrawerStatus: boolean;
59
- typeSelectionDrawerStatus: boolean;
60
- isGlobalUnsubscribeDisabled: boolean;
61
- isSubscriptionPreferencesCenterDisabled: boolean;
62
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => number;
63
- getTemplatesByActiveType: (state: {
64
- templates: {
65
- id: number;
66
- name: string;
67
- type: number;
68
- isVisible: number;
69
- html: string;
70
- originalHtml: string;
71
- css: string;
72
- thumbnail: string;
73
- createdAt: string;
74
- updatedAt: string;
75
- status: number;
76
- }[];
77
- selectedTemplates: Record<number, number>;
78
- selectedUnsubscribePages: number[];
79
- selectedCollectionType: number;
80
- activeType: number;
81
- pageSelectionUpdateStatus: boolean;
82
- pageSelectionDrawerStatus: boolean;
83
- typeSelectionDrawerStatus: boolean;
84
- isGlobalUnsubscribeDisabled: boolean;
85
- isSubscriptionPreferencesCenterDisabled: boolean;
86
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => {
87
- id: number;
88
- name: string;
89
- type: number;
90
- isVisible: number;
91
- html: string;
92
- originalHtml: string;
93
- css: string;
94
- thumbnail: string;
95
- createdAt: string;
96
- updatedAt: string;
97
- status: number;
98
- }[];
99
- isActiveTypeFirstInCollection: (state: {
100
- templates: {
101
- id: number;
102
- name: string;
103
- type: number;
104
- isVisible: number;
105
- html: string;
106
- originalHtml: string;
107
- css: string;
108
- thumbnail: string;
109
- createdAt: string;
110
- updatedAt: string;
111
- status: number;
112
- }[];
113
- selectedTemplates: Record<number, number>;
114
- selectedUnsubscribePages: number[];
115
- selectedCollectionType: number;
116
- activeType: number;
117
- pageSelectionUpdateStatus: boolean;
118
- pageSelectionDrawerStatus: boolean;
119
- typeSelectionDrawerStatus: boolean;
120
- isGlobalUnsubscribeDisabled: boolean;
121
- isSubscriptionPreferencesCenterDisabled: boolean;
122
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => boolean;
123
- isActiveTypeLastInCollection: (state: {
124
- templates: {
125
- id: number;
126
- name: string;
127
- type: number;
128
- isVisible: number;
129
- html: string;
130
- originalHtml: string;
131
- css: string;
132
- thumbnail: string;
133
- createdAt: string;
134
- updatedAt: string;
135
- status: number;
136
- }[];
137
- selectedTemplates: Record<number, number>;
138
- selectedUnsubscribePages: number[];
139
- selectedCollectionType: number;
140
- activeType: number;
141
- pageSelectionUpdateStatus: boolean;
142
- pageSelectionDrawerStatus: boolean;
143
- typeSelectionDrawerStatus: boolean;
144
- isGlobalUnsubscribeDisabled: boolean;
145
- isSubscriptionPreferencesCenterDisabled: boolean;
146
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => boolean;
147
- hasTemplatesByCollectionType: (state: {
148
- templates: {
149
- id: number;
150
- name: string;
151
- type: number;
152
- isVisible: number;
153
- html: string;
154
- originalHtml: string;
155
- css: string;
156
- thumbnail: string;
157
- createdAt: string;
158
- updatedAt: string;
159
- status: number;
160
- }[];
161
- selectedTemplates: Record<number, number>;
162
- selectedUnsubscribePages: number[];
163
- selectedCollectionType: number;
164
- activeType: number;
165
- pageSelectionUpdateStatus: boolean;
166
- pageSelectionDrawerStatus: boolean;
167
- typeSelectionDrawerStatus: boolean;
168
- isGlobalUnsubscribeDisabled: boolean;
169
- isSubscriptionPreferencesCenterDisabled: boolean;
170
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => Record<number, boolean>;
171
- }, {
172
- $reset(): void;
173
- fetchTemplates(): Promise<void>;
174
- setCollection(collectionType: number): void;
175
- setCollectionWithoutAutoSelection(collectionType: number): void;
176
- setSelectedTemplate(template: number): void;
177
- setNextType(): void;
178
- setPreviousType(): void;
179
- loadSelectedTemplates(templates: number[]): void;
180
- getThumbnailByTemplateId(id: number): string;
181
- getSelectedTemplatesByCollection(type: number): number[];
182
- addUnsubscribePages(pageIds: number[]): void;
183
- removeUnsubscribePages(pageIds: number[]): void;
184
- getSelectedUnsubscribePagesByCollection(collectionType: number): number[];
185
- }>;
7
+ export declare const useUnsubscribeStore: import("pinia").StoreDefinition<"unsubscribe", StoreState, {}, {}>;
186
8
  export {};
@@ -1,128 +1,9 @@
1
- import { TYPE_COLLECTIONS as l, PAGE_TYPES as o } from "../enums/unsubscribe.js";
2
- import { useUnsubscribeApi as p } from "../services/unsubscribeApi.js";
3
- import { defineStore as r } from "pinia";
4
- const a = () => ({
5
- templates: [],
6
- selectedTemplates: {},
7
- selectedUnsubscribePages: [],
8
- selectedCollectionType: o.GLOBAL_UNSUBSCRIBE,
9
- activeType: o.GLOBAL_UNSUBSCRIBE,
10
- pageSelectionUpdateStatus: !1,
11
- pageSelectionDrawerStatus: !1,
12
- typeSelectionDrawerStatus: !1,
13
- isGlobalUnsubscribeDisabled: !1,
14
- isSubscriptionPreferencesCenterDisabled: !1
15
- }), u = r("unsubscribe", {
16
- state: () => a(),
17
- getters: {
18
- getSelectedCollection: (e) => l[e.selectedCollectionType],
19
- getSelectedTemplateByActiveType: (e) => e.selectedTemplates[e.activeType],
20
- getTemplatesByActiveType: (e) => e.templates.filter((t) => t.type === e.activeType),
21
- isActiveTypeFirstInCollection: (e) => {
22
- const t = l[e.selectedCollectionType];
23
- return e.activeType === t[0];
24
- },
25
- isActiveTypeLastInCollection: (e) => {
26
- const t = l[e.selectedCollectionType];
27
- return e.activeType === t[t.length - 1];
28
- },
29
- hasTemplatesByCollectionType: (e) => {
30
- const t = {};
31
- return l[e.selectedCollectionType].forEach((s) => {
32
- t[s] = e.templates.some((i) => i.type === s);
33
- }), t;
34
- }
35
- },
36
- actions: {
37
- $reset() {
38
- const { templates: e, selectedUnsubscribePages: t } = this;
39
- Object.assign(this, {
40
- ...a(),
41
- templates: e,
42
- selectedUnsubscribePages: t
43
- });
44
- },
45
- async fetchTemplates() {
46
- if (this.templates.length)
47
- return;
48
- const { getUnsubscribePages: e } = p(), t = await e();
49
- this.templates = t;
50
- },
51
- setCollection(e) {
52
- this.selectedCollectionType = e;
53
- const t = l[e];
54
- if (t && t.length > 0) {
55
- [this.activeType] = t;
56
- const c = { ...this.selectedTemplates };
57
- t.forEach((s) => {
58
- if (!c[s]) {
59
- const i = this.templates.find((n) => n.type === s);
60
- i && (c[s] = i.id);
61
- }
62
- }), this.selectedTemplates = c;
63
- }
64
- },
65
- setCollectionWithoutAutoSelection(e) {
66
- this.selectedCollectionType = e;
67
- const t = l[e];
68
- t && t.length > 0 && ([this.activeType] = t);
69
- },
70
- setSelectedTemplate(e) {
71
- this.selectedTemplates = {
72
- ...this.selectedTemplates,
73
- [this.activeType]: e
74
- };
75
- },
76
- setNextType() {
77
- const t = this.getSelectedCollection.indexOf(this.activeType) + 1;
78
- t < this.getSelectedCollection.length && (this.activeType = this.getSelectedCollection[t]);
79
- },
80
- setPreviousType() {
81
- const t = this.getSelectedCollection.indexOf(this.activeType) - 1;
82
- t >= 0 && (this.activeType = this.getSelectedCollection[t]);
83
- },
84
- loadSelectedTemplates(e) {
85
- const t = new Map(this.templates.map((s) => [s.id, s.type])), c = { ...this.selectedTemplates };
86
- e.forEach((s) => {
87
- const i = t.get(s);
88
- i !== void 0 && (c[i] = s);
89
- }), this.selectedTemplates = c;
90
- },
91
- getThumbnailByTemplateId(e) {
92
- var t;
93
- return ((t = this.templates.find((c) => c.id === e)) == null ? void 0 : t.thumbnail) ?? "";
94
- },
95
- getSelectedTemplatesByCollection(e) {
96
- const t = l[e], c = [];
97
- return t.forEach((s) => {
98
- this.selectedTemplates[s] && c.push(this.selectedTemplates[s]);
99
- }), c;
100
- },
101
- addUnsubscribePages(e) {
102
- const t = /* @__PURE__ */ new Set([...this.selectedUnsubscribePages, ...e]);
103
- this.selectedUnsubscribePages = Array.from(t);
104
- },
105
- removeUnsubscribePages(e) {
106
- this.selectedUnsubscribePages = this.selectedUnsubscribePages.filter(
107
- (t) => !e.includes(t)
108
- );
109
- },
110
- getSelectedUnsubscribePagesByCollection(e) {
111
- const t = l[e];
112
- if (!t)
113
- return [];
114
- const c = /* @__PURE__ */ new Map();
115
- this.templates.forEach((i) => {
116
- c.set(i.id, i.type);
117
- });
118
- const s = new Set(t);
119
- return this.selectedUnsubscribePages.filter((i) => {
120
- const n = c.get(i);
121
- return n !== void 0 && s.has(n);
122
- });
123
- }
124
- }
1
+ import { defineStore as e } from "pinia";
2
+ const t = () => ({
3
+ selectedUnsubscribePages: []
4
+ }), r = e("unsubscribe", {
5
+ state: () => t()
125
6
  });
126
7
  export {
127
- u as useUnsubscribeStore
8
+ r as useUnsubscribeStore
128
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.3-beta.63e6005",
3
+ "version": "1.0.3-beta.6541b5a",
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",
@@ -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,18 +0,0 @@
1
- import s from "./UnsubscribeBreadcrumb.vue2.js";
2
- /* empty css */
3
- import a from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var o = function() {
5
- var e = this, t = e._self._c, r = e._self._setupProxy;
6
- return t(r.InBreadcrumb, { staticClass: "c-p", attrs: { "without-router": "", "active-tab": r.unsubscribeStore.activeType, "home-icon": !1, list: r.breadcrumbs, routes: [] }, on: { click: r.navigate } });
7
- }, c = [], n = /* @__PURE__ */ a(
8
- s,
9
- o,
10
- c,
11
- !1,
12
- null,
13
- "70835920"
14
- );
15
- const f = n.exports;
16
- export {
17
- f as default
18
- };
@@ -1,16 +0,0 @@
1
- import { defineComponent as o, computed as n } from "vue";
2
- import { TYPE_TRANSLATIONS as s } from "../../../enums/unsubscribe.js";
3
- import { useUnsubscribeStore as c } from "../../../stores/unsubscribe.js";
4
- import { InBreadcrumb as m } from "@useinsider/design-system-vue";
5
- const f = /* @__PURE__ */ o({
6
- __name: "UnsubscribeBreadcrumb",
7
- setup(a) {
8
- const r = c(), t = n(() => r.getSelectedCollection.map((e) => ({ value: e, text: s[e] })));
9
- return { __sfc: !0, unsubscribeStore: r, breadcrumbs: t, navigate: (e) => {
10
- r.activeType = e.value;
11
- }, InBreadcrumb: m };
12
- }
13
- });
14
- export {
15
- f as default
16
- };
@@ -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;